KR20220036063A - 주입 공격형 악성코드 탐지시스템 및 주입 공격형 악성코드 탐지방법 - Google Patents

주입 공격형 악성코드 탐지시스템 및 주입 공격형 악성코드 탐지방법 Download PDF

Info

Publication number
KR20220036063A
KR20220036063A KR1020200118204A KR20200118204A KR20220036063A KR 20220036063 A KR20220036063 A KR 20220036063A KR 1020200118204 A KR1020200118204 A KR 1020200118204A KR 20200118204 A KR20200118204 A KR 20200118204A KR 20220036063 A KR20220036063 A KR 20220036063A
Authority
KR
South Korea
Prior art keywords
entropy
code
thread
injection attack
symbol
Prior art date
Application number
KR1020200118204A
Other languages
English (en)
Other versions
KR102419867B1 (ko
Inventor
최바울
Original Assignee
주식회사 안랩
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 안랩 filed Critical 주식회사 안랩
Priority to KR1020200118204A priority Critical patent/KR102419867B1/ko
Publication of KR20220036063A publication Critical patent/KR20220036063A/ko
Application granted granted Critical
Publication of KR102419867B1 publication Critical patent/KR102419867B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은, 메모리 상에만 존재하여 진단이 어려운 주입 공격형 악성코드 예컨대 다형성 쉘코드를 진단/탐지하는데 있어, 기존의 패턴 기반 탐지 기법에서 벗어나, 탐지 누락 또는 오탐 없이 신뢰도 높게 다형성 쉘코드를 진단/탐지할 수 있는 새로운 기술, 즉 주입 공격형 악성코드 탐지시스템 및 주입 공격형 악성코드 탐지방법을 실현하기 위한 것이다.

Description

주입 공격형 악성코드 탐지시스템 및 주입 공격형 악성코드 탐지방법{SYSTEM AND METHOD TO DETECT INJECTION ATTACK TYPE MALICIOUS CODE}
본 발명은 악성코드를 진단/탐지하기 위한 기술에 관한 것으로, 더욱 상세하게는 메모리 상에만 존재하여 진단이 어려운 주입 공격형 악성코드를 진단/탐지하기 위한 기술에 관한 것이다.
악성 행위를 수행하여 공격을 감행하는 악성코드는, 파일 형태로 배포되어 공격 대상의 사용자 시스템에 침투하는 타입도 있으나, 파일리스(fileless) 형태로 배포되어 사용자 시스템의 메모리 상에만 존재하다가 공격을 감행하는 타입도 있다.
이와 같은 파일리스 형태의 악성코드는, 공격 대상 시스템에서 악의적인 행위를 하기 위해 쉘코드(shellcode)라는 초기 공격 코드를 공격 대상 시스템의 메모리에 주입(injection)하여 공격을 시작한다
그리고, 악성코드는 공격 대상 시스템의 취약점 등을 이용하여 시스템에 대한 실행 제어 권한을 얻고, 메모리에 주입한 쉘코드의 시작 부분을 실행하도록 제어하여 시스템을 탈취/공격한다.
따라서, 방어자는 파일리스 형태의 악성코드의 전술과 같은 공격 행위를 탐지하기 위해 주입된 쉘코드의 패턴(signature) 기반으로 진단/탐지하고, 공격자는 패턴 기반의 탐지를 우회하기 위해 패턴 탐지가 어렵게 쉘코드에 다형성(Polymorphic) 기법을 적용하여 진화하고 있다.
결국, 기존의 패턴 기반 탐지 기법으로는, 다형성을 이용해서 계속 랜덤 생성되는 다형성 쉘코드 패턴에 대응할 수 없는 한계를 갖는다.
이에, 본 발명에서는, 기존의 패턴 기반 탐지 기법에서 벗어나, 메모리 상에만 존재하여 진단이 어려운 주입 공격형 악성코드 예컨대 다형성 쉘코드를 정확도 높게 진단/탐지할 수 있는 방안(기술)을 제안하고자 한다.
본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명에서 도달하고자 하는 목적은, 기존의 패턴 기반 탐지 기법에서 벗어나, 메모리 상에만 존재하여 진단이 어려운 주입 공격형 악성코드 예컨대 다형성 쉘코드를 정확도 높게 진단/탐지할 수 있는 새로운 기술, 즉 주입 공격형 악성코드 탐지시스템 및 주입 공격형 악성코드 탐지방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 제 1 관점에 따른 주입 공격형 악성코드 탐지방법은, 스레드에서 코드가 실행되는 스레드 코드 실행을 감시하는 감시단계; 상기 스레드 코드 실행이 탐지되면, 실행되려는 메모리 상의 스레드 실행 코드의 엔트로피를 측정하는 엔트로피측정단계; 상기 스레드 실행 코드에서 이상 심볼의 출현 여부를 확인한 결과에 따라, 상기 측정한 엔트로피를 보간 처리하는 엔트로피보간단계; 상기 보간 처리한 엔트로피를 근거로, 상기 스레드 실행 코드가 메모리에 주입된 악성 코드인지 여부를 탐지하는 탐지단계를 포함한다.
상기 목적을 달성하기 위한 본 발명의 제 2 관점에 따른 주입 공격형 악성코드 탐지시스템은, 스레드에서 코드가 실행되는 스레드 코드 실행을 감시하는 감시부; 상기 스레드 코드 실행이 탐지되면, 실행되려는 메모리 상의 스레드 실행 코드의 엔트로피를 측정하는 엔트로피측정부; 상기 스레드 실행 코드에서 이상 심볼의 출현 여부를 확인한 결과에 따라, 상기 측정한 엔트로피를 보간 처리하는 엔트로피보간부; 상기 보간 처리한 엔트로피를 근거로 상기 스레드 실행 코드기 메모리에 주입된 악성 코드인지 여부를 탐지하는 탐지부를 포함한다.
본 발명의 실시예들에 따르면, 파일이 존재하지 않고 메모리 상에서만 동작하는 쉘코드 특히 다형성 쉘코드의 경우 엔트로피가 높다는 점에 착안하여, 엔트로피를 이용한 새로운 주입 공격형 악성코드(예: 쉘코드) 탐지 기법을 실현하며, 특히 쉘코드의 엔트로피가 정상 엔트로피로 탐지되는 등의 탐지 누락 또는 오탐을 회피하기 위해 유연한 엔트로비 보간 방식을 적용하여 보다 신뢰도 높은 탐지 기법을 실현하고 있다.
이로 인해, 본 발명에 따르면, 메모리 상에만 존재하여 진단이 어려운 주입 공격형 악성코드 예컨대 다형성 쉘코드를 진단/탐지하는데 있어, 기존의 패턴 기반 탐지 기법에서 벗어나, 탐지 누락 또는 오탐 없이 신뢰도 높게 진단/탐지할 수 있는 효과를 도출할 수 있다.
도 1은 본 발명의 일 실시예에 따른 주입 공격형 악성코드 탐지시스템의 구성을 보여주는 구성도이다.
도 2 내지 도 4는 본 발명에서 다형성 쉘코드의 엔트로피를 보간 처리되는 개념을 보여주는 예시 테이블이다.
도 5는 본 발명의 일 실시예에 따른 주입 공격형 악성코드 탐지방법이 동작하는 실시예를 보여주는 흐름 예시도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명에 대하여 설명한다.
본 발명은, 메모리 상에만 존재하여 진단이 어려운 주입 공격형 악성코드를 진단/탐지하기 위한 기술에 관한 것이다.
악성 행위를 수행하여 공격을 감행하는 악성코드는, 파일 형태로 배포되어 공격 대상의 사용자 시스템에 침투하는 타입도 있으나, 파일리스(fileless) 형태로 배포되어 사용자 시스템의 메모리 상에만 존재하다가 공격을 감행하는 타입도 있다.
이와 같은 파일리스 형태의 악성코드는, 공격 대상 시스템에서 악의적인 행위를 하기 위해 쉘코드(shellcode)라는 초기 공격 코드를 공격 대상 시스템의 메모리에 주입(injection)하여 공격을 시작한다
그리고, 악성코드는 공격 대상 시스템의 취약점 등을 이용하여 시스템에 대한 실행 제어 권한을 얻고, 메모리에 주입한 쉘코드의 시작 부분을 실행하도록 제어하여 시스템을 탈취/공격한다.
따라서, 방어자는 파일리스 형태의 악성코드의 전술과 같은 공격 행위를 탐지하기 위해 주입된 쉘코드의 패턴(signature) 기반으로 진단/탐지하고, 공격자는 패턴 기반의 탐지를 우회하기 위해 패턴 탐지가 어렵게 쉘코드에 다형성(Polymorphic) 기법을 적용하여 진화하고 있다.
결국, 기존의 패턴 기반 탐지 기법으로는, 다형성을 이용해서 계속 랜덤 생성되는 다형성 쉘코드 패턴에 대응할 수 없는 한계를 갖는다.
이에, 본 발명에서는, 기존의 패턴 기반 탐지 기법에서 벗어나, 메모리 상에만 존재하여 진단이 어려운 주입 공격형 악성코드 예컨대 다형성 쉘코드를 정확도 높게 진단/탐지할 수 있는 방안(기술)을 제안하고자 한다.
보다 정확히는, 본 발명에서는, 악성코드가 메모리 상에서 사용자 환경에 침투하기 위해 쉘코드를 주입한 공격 행위를 탐지하는 새로운 방식의 탐지 기법을 제안하며, 특히 엔트로피를 이용하는 탐지 기법을 제안하고자 한다.
엔트로피는 정보량을 의미하고, bit 로 표현한다.
정상적인 코드의 엔트로피 보다 엔트로피가 높다는 것은 불확실성이 높다는 것을 의미하고, 정상적인 코드 형태와 다르다는 것을 의미한다.
스레드가 다형성이 적용된 형태의 쉘코드를 실행한다고 가정하면, 정상적인 코드와는 다른 형태를 띠며 높은 엔트로피를 갖게 될 것이다.
이에, 본 발명에서는, 다형성 쉘코드의 엔트로피가 높다는 점에 착안하여, 다형성의 쉘코드를 효과적인 탐지하기 위해 엔트로피를 이용하는 탐지 기법을 제안한다.
즉, 본 발명은, 문서나 스크립트 등의 파일 형태에 포함된 쉘코드가 아닌, 파일이 존재하지 않고 메모리 상에서만 동작하는 쉘코드 특히 다형성 쉘코드를 탐지할 수 있는 기법을 제안한다는 특징을 갖는다.
보다 구체적으로, 본 발명에서는 제안하는 탐지 기법을 실현할 수 있는 주입 공격형 악성코드 탐지시스템(100, 또는 탐지장치)를 구현해내고자 한다.
도 1은, 본 발명의 일 실시예에 따른 주입 공격형 악성코드 탐지시스템(100)의 구성을 보여주고 있다.
본 발명에 따른 주입 공격형 악성코드 탐지시스템(100)는, 악성코드에 의해 공격 대상이 될 수 있는 독립된 사용자 시스템에 탑재/설치되는 것이 바람직하다.
이러한 본 발명의 주입 공격형 악성코드 탐지시스템(100)는, 사용자 시스템에 설치되는 어플리케이션, 또는 프로그램, 또는 엔진 형태일 수 있다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 주입 공격형 악성코드 탐지시스템(100)는, 감시부(110), 엔트로피처리부(120), 탐지부(130)를 포함하여 구성될 수 있다.
더 나아가, 주입 공격형 악성코드 탐지시스템(100)는, 엔트로피처리부(120)를 엔트로피측정부(126) 및 엔트로피보간부(128)로 구분하여 구성될 수 있다.
결국, 도 1에 도시된 본 발명의 주입 공격형 악성코드 탐지시스템(100)는, 전술한 구성을 기반으로 본 발명에서 제안하는 탐지 기법, 즉 기존의 패턴 기반 탐지 기법에서 벗어나, 파일이 존재하지 않고 메모리 상에서만 동작하는 쉘코드 특히 다형성 쉘코드를 정확도 높게 진단/탐지할 수 있는 새로운 방식의 기술을 실현할 수 있다.
이하에서는, 본 발명에서 제안하는 기술을 실현하기 위한 주입 공격형 악성코드 탐지시스템(100) 내 각 구성에 대해 보다 구체적으로 설명하기로 한다.
감시부(110)는, 스레드에서 코드가 실행되는 스레드 코드 실행을 감시하는 기능을 담당한다.
구체적으로 설명하면, 감시부(110)는, 스레드에서 코드가 실행되는 시작 시점을 감시하는 방식으로, 스레드 코드 실행을 감시/탐지할 수 있다.
스레드 코드의 실행의 감시/탐지는 악성코드의 쉘코드가 메모리에 주입 (injection)된 후 실행(execution)되는 시점을 탐지하기 위한 것을 의미하며, 스레드 생성(create), 스레드 재개(resume), 비동기 작업 요청(apc) 등을 포함하여 스레드를 실행시킬 수 있는 여러 가지 실행 방식을 감지/탐지하는 것을 의미한다.
그리고, 감시부(110)의 스레드 코드 실행 감시/탐지는 윈도우 유저 / 커널 내에서 통지(notify) 기법과 후킹(hook) 매커니즘 등을 통해 전달 받아 실현될 수 있다.
엔트로피처리부(120)는, 본 발명의 제안 방안 즉 새롭게 제안하는 탐지 기법의 핵심으로서, 스레드 코드 실행이 탐지되면, 실행되려는 메모리 상의 스레드 실행 코드의 엔트로피를 측정 및 보간하는 기능을 담당한다.
구체적으로, 엔트로피처리부(120)는 엔트로피측정부(126) 및 엔트로피보간부(128)로 구분될 수 있다.
엔트로피측정부(126)는, 스레드 코드 실행이 탐지되면, 실행되려는 메모리 상의 스레드 실행 코드의 엔트로피를 측정하는 기능을 담당한다.
구체적으로 설명하면, 엔트로피측정부(126)는, 감시부(110)의 감시에 따라 스레드 코드 실행이 탐지되면, 메모리 상에서 실행되려는 스레드 실행 코드의 심볼을 추출 및 추출한 심볼에 대한 엔트로피를 측정할 수 있다.
구체적인 일 실시예에 따르면, 엔트로피측정부(126)는, 메모리 상에서 실행되려는 스레드 실행 코드의 시작 부분 심볼을 추출할 수 있다.
여기서, 스레드 실행 코드의 시작 부분 심볼을 추출하는 이유는, 스레드 코드의 앞 쪽(예: 앞 0~100바이트)에 후술할 이상 심볼이 출현(존재)하는 경우 악성일 가능성 높기 때문이다.
한편, 메모리 상에서 실행되는 스레드 코드는, 바이트 코드로서 오피코드(opcode) 명령과 오퍼랜드(operand) 인자로 해석되어 실행된다.
여기서, 오퍼랜드는 인자 부분으로서 고정되지 않는 값이 사용되므로, 엔트로피 측정 결과에 영향을 줄 수 있다.
이에, 엔트로피측정부(126)는, 메모리 상에서 실행되려는 스레드 실행 코드의 오피코드(opcode) 명령/오퍼랜드(operand) 인자 중 오피코드 즉 시작 부분의 오피코드를 디스어셈블하여 심볼로 추출할 수 있다(122).
그리고, 엔트로피측정부(126)는, 추출한 심볼을 이용하여, 엔트로피를 측정한다.
일 실시예에 따르면, 엔트로피측정부(126)는, 앞서 추출한 바 있는 시작 부분의 오피코드로 이루어진 심볼 배열을 이용하여, 측정 공식 예컨대 새넌 엔트로피 공식(이하, 수학식 1)을 통해 엔트로피를 측정할 수 있다(124).
[수학식 1]
l(x) = -logP(x)
여기서 P는 심볼의 확률을 의미한다. 물론, 본 발명에서는, 새넌 엔트로피 공식 이외의 다른 다양한 측정 공식을 활용하여 엔트로피를 측정할 수 있으며, 측정 공식에 제한을 두지 않을 것이다.
엔트로피보간부(128)는, 금번 스레드 실행 코드에서 이상 심볼의 출현 여부를 확인한 결과에 따라, 금번 측정한 엔트로피를 보간 처리하는 기능을 담당한다.
구체적으로, 엔트로피보간부(128)는, 엔트로피측정부(126)에서 추출한 스레드 실행 코드의 시작 부분(오피코드) 심볼에서 이상 심볼의 출현 여부를 확인하고, 그 결과에 따라 엔트로피측정부(126)에서 측정한 엔트로피를 보간 처리할 수 있다.
정상적인 스레드 시작 코드의 심볼 엔트로피가 3.5~3.7 bit(이하, 정상 엔트로피 기준값의 허용 범위)라고 가정했을 때, 다형성 쉘코드에서 사용된 심볼 중 정상적인 스레드 시작 코드에서 나올 수 없는 명령(이상 심볼)이 있다 하더라도, 그 이상 심볼의 출현 빈도 자체가 적어 정보량이 적을 경우 정상적인 스레드 시작 코드의 심볼 엔트로피와 유사하게 3~4bit 사이로 측정될 수도 있다.
즉, 금번 스레드 실행 코드가 쉘코드(또는 다형성 쉘코드)인 경우라도, 심볼을 이용하여 엔트로피측정부(126)에서 측정한 엔트로피가 정상 엔트로피 기준값의 허용 범위(예: 3.5~3.7 bit)에 속하는 상황이 생길 수 있는 것이다.
이러한 상황에서도 쉘코드(또는 다형성 쉘코드)를 정확히 진단/탐지하기 위해, 본 발명에서는 엔트로피보간부(128)를 구성하고 있다.
보다 구체적인 실시예를 설명하면, 엔트로피보간부(128)는, 정상 검증된 다수의 스레드 시작 코드 데이터를 근거로 정의한 심볼 테이블을 사용하여, 금번 스레드 실행 코드에서 이상 심볼의 출현 여부를 확인할 수 있다.
예를 들면, 본 발명의 주입 공격형 악성코드 탐지시스템(100)에서는, 정상 검증된 다수(예: 수십만개 이상)의 스레드 시작 코드 데이터에서 정상적인 스레드 시작 코드가 사용한 유니크한 심볼들로 이루어진 심볼 테이블을 기 정의할 수 있다.
이러한 심볼 테이블은, 주기적 또는 정해진 이벤트 시점 마다 새롭게 갱신되어, 최신 심볼 테이블로서 관리/유지될 수 있다.
이에, 엔트로피보간부(128)는, 기 정의한 심볼 테이블을 사용하여, 엔트로피측정부(126)에서 추출한 금번 스레드 실행 코드의 시작 부분 심볼에서 심볼 테이블에 포함되지 않은 심볼이 출현하는지 판단함으로써, 이상 심볼의 출현 여부를 확인할 수 있다.
즉, 엔트로피보간부(128)는, 금번 스레드 실행 코드의 시작 부분 심볼에서 심볼 테이블에 포함되지 않은 심볼이 출현한다면, 해당 심볼을 이상 심볼로 판단/확인하는 것이다.
이후, 엔트로피보간부(128)는, 엔트로피측정부(126)에서 추출한 금번 스레드 실행 코드의 시작 부분 심볼에서 이상 심볼의 출현 여부를 확인한 결과에 따라, 엔트로피측정부(126)에서 측정한 엔트로피를 보간 처리한다.
즉, 엔트로피보간부(128)는, 이상 심볼의 출현 여부를 확인한 결과 이상 심볼이 출현된다면, 이상 심볼의 출현 빈도가 낮더라도 그 엔트로피가 정상 엔트로피 기준값의 허용 범위(예: 3.5~3.7 bit)에 속하는 상황이 발생하지 않도록, 엔트로피측정부(126)에서 측정한 엔트로피를 보간(증가) 처리해야 한다.
구체적인 실시예를 설명하면, 엔트로피보간부(128)는, 금번 스레드 실행 코드의 시작 부분 심볼에서 이상 심볼이 출현되는 빈도 및 엔트로피측정부(126)에서 앞서 측정한 엔트로피에 따라 상이한 가중치를 적용하여, 앞서 측정한 엔트로피를 보간 처리할 수 있다.
예를 들면, 엔트로피보간부(128)는, 금번 스레드 실행 코드의 시작 부분 심볼에서 이상 심볼 출현이 확인되면, 엔트로피측정부(126)에서 앞서 측정한 엔트로피를 기준으로, 스레드 실행 코드 즉 스레드 실행 코드의 시작 부분 심볼에서 이상 심볼이 출현되는 빈도가 낮은 경우에 그 빈도가 높은 경우 보다 큰 가중치를 적용하는 방식으로, 보간 증가치를 상대적으로 크게 할 수 있다.
이렇게 되면, 금번 스레드 실행 코드가 쉘코드(또는 다형성 쉘코드)인 경우를 가정할 때, 이상 심볼의 출현 빈도가 낮을수록 심볼을 이용하여 엔트로피측정부(126)에서 측정한 엔트로피가 정상 엔트로피 기준값의 허용 범위(예: 3.5~3.7 bit)에 속할 가능성이 높을 것이나, 보간 증가치를 상대적으로 크게 하여 쉘코드(또는 다형성 쉘코드) 엔트로피가 정상 엔트로피 기준값의 허용 범위(예: 3.5~3.7 bit)에 속할 가능성을 낮출 수 있다.
반대로, 엔트로피보간부(128)는, 금번 스레드 실행 코드의 시작 부분 심볼에서 이상 심볼 출현이 확인되면, 엔트로피측정부(126)에서 앞서 측정한 엔트로피를 기준으로, 스레드 실행 코드 즉 스레드 실행 코드의 시작 부분 심볼에서 이상 심볼이 출현되는 빈도가 높은 경우에 그 빈도가 낮은 경우 보다 작은 가중치를 적용하는 방식으로, 보간 증가치를 상대적으로 작게 할 수 있다.
이렇게 되면, 금번 스레드 실행 코드가 쉘코드(또는 다형성 쉘코드)인 경우를 가정할 때, 이상 심볼의 출현 빈도가 높을수록 심볼을 이용하여 엔트로피측정부(126)에서 측정한 엔트로피가 정상 엔트로피 기준값의 허용 범위(예: 3.5~3.7 bit)에 속할 가능성이 충분히 낮아지므로, 보간 증가치를 그에 맞게 작은 값으로 유연하게 사용할 수 있다.
물론, 엔트로피보간부(128)는, 이상 심볼의 출현 여부를 확인한 결과 이상 심볼이 출현하지 않는다면, 엔트로피측정부(126)에서 측정한 엔트로피를 보간(증가) 처리하지 않거나 보간값을 0으로 하여 보간 처리할 수 있다.
도 2 내지 도 4에서는, 본 발명에서 다형성 쉘코드의 엔트로피를 보간 처리되는 개념을 예시 테이블로서 보여주고 있다.
도 2 및 도 3은, 다형성 스레드 시작 부분의 바이트코드인 "D9C0BF439FAC24D97424F4582BC966B9370283C004317815033B8A4ED1EE3F6299F4B8FA720C39FD8ABF6FABDD55E70C88C059D92221A694FF613E2EBB4D1EB9" 에 대해, 심볼 추출 과정을 보여주고 있다.
즉, 본 발명의 실시예에서는, 다형성 스레드 시작 부분의 바이트 코드 중 디스어셈블을 통해 시작 부분의 오피코드 심볼 만을 추출하며, 이렇게 되면 도 3과 같은 심볼 배열 "D9 BF D9 58 2B 66 83 31 03 8A EE 3F 62 0C FD 8A E7 88 59 D9 21 2E"을 얻을 수 있다.
이처럼 얻어진 심볼 배열 "D9 BF D9 58 2B 66 83 31 03 8A EE 3F 62 0C FD 8A E7 88 59 D9 21 2E"을 이용하여, 새넌 엔트로피 공식을 통해 엔트로피를 측정하면, 4.15 bit 를 얻을 수 있다.
도 3에서 알 수 있듯이, 심볼 배열에는 다형성을 위해 사용하는 오피코드인 d9 fld, d9 fnstenv와 같이, 정상적인 스레드 시작 코드에서는 사용되지 않는 심볼들이 포함되어 있다.
즉, 본 발명에서는, 66 mov, 58 pop, 2b sub 등과 같은 일반적인 오피코드(심볼 테이블 기반)와 달리, 정상적인 스레드 시작 코드에서는 사용되지 않는 심볼은 이상 심볼로 분류/이상 심볼 출현으로 확인하고, 이상 심볼의 출현 빈도 및 측정한 엔트로피(수치)에 따라 적정한 가중치를 적용하여 엔트로피를 보간하는 증가치를 유연하게 함으로써, 동적으로 보간되는 엔트로피를 얻을 수 있다.
도 4는, 본 발명에서, 전술에 따라 다형성 스레드 시작 코드 심볼의 엔트로피(측정 엔트로피, entropy) 및 보간 처리된 엔트로피(entropy 2), 그리고 이때 적용되는 가중치(weight)의 관계를 보여주고 있다.
도 4를 참조하면, 도 2 및 도 3에서 언급한 다형성 쉘코드의 경우, 추출한 심볼 배열의 엔트로피(entropy) 4.15 bit 에 가중치 0.82가 적용되는 보간 처리에 의해, 보간 엔트로피(entropy 2) 5.29bit를 얻을 수 있음을 알 수 있다.
탐지부(130)는, 엔트로피보간부(128)에서 보간 처리한 엔트로피를 근거로, 금번 스레드 실행 코드가 메모리에 주입된 악성 코드 예컨대 쉘코드(또는 다형성 쉘코드)인지 여부를 탐지하는 기능을 담당한다.
구체적으로, 탐지부(130)는, 엔트로피보간부(128)에서 보간 처리한 엔트로피(entropy 2)와 정상 엔트로피 기준값을 비교하여 기 정의된 허용 범위 즉 정상 엔트로피 기준값의 허용 범위(예: 3.5~3.7 bit)를 벗어나는 경우, 금번 스레드 실행 코드를 메모리에 주입된 악성 코드 예컨대 쉘코드(또는 다형성 쉘코드)로 탐지할 수 있다.
이상 설명한 바와 같이, 본 발명의 주입 공격형 악성코드 탐지시스템(100)에서는, 파일이 존재하지 않고 메모리 상에서만 동작하는 쉘코드 특히 다형성 쉘코드의 경우 엔트로피가 높다는 점에 착안하여, 엔트로피를 이용한 새로운 주입 공격형 악성코드(예: 쉘코드) 탐지 기법을 실현하며, 특히 쉘코드의 엔트로피가 정상 엔트로피로 탐지되는 등의 탐지 누락 또는 오탐을 회피하기 위해 유연한 엔트로비 보간 방식을 적용하여 보다 신뢰도 높은 탐지 기법을 실현하고 있다.
이로써, 본 발명에 따르면, 메모리 상에만 존재하여 진단이 어려운 주입 공격형 악성코드 예컨대 다형성 쉘코드를 진단/탐지하는데 있어, 기존의 패턴 기반 탐지 기법에서 벗어나, 탐지 누락 또는 오탐 없이 신뢰도 높게 진단/탐지할 수 있는 효과를 도출할 수 있다.
이하에서는, 도 5를 참조하여, 본 발명의 주입 공격형 악성코드 탐지방법이 동작하는 구체적인 일 실시예를 설명하겠다.
설명의 편의 상, 본 발명의 주입 공격형 악성코드 탐지방법이 수행되는 동작 주체로서 주입 공격형 악성코드 탐지시스템(100)를 언급하여 설명하겠다.
본 발명의 주입 공격형 악성코드 탐지방법에 따르면, 주입 공격형 악성코드 탐지시스템(100)는, 스레드에서 코드가 실행되는 스레드 코드 실행을 감시한다(S10).
구체적으로 설명하면, 본 발명의 주입 공격형 악성코드 탐지방법에 따르면, 주입 공격형 악성코드 탐지시스템(100)는, 스레드에서 코드가 실행되는 시작 시점을 감시하는 방식으로, 스레드 코드 실행을 감시/탐지할 수 있다.
본 발명의 주입 공격형 악성코드 탐지방법에 따르면, 주입 공격형 악성코드 탐지시스템(100)는, S10단계의 감시에 따라 스레드 코드 실행이 탐지되면, 메모리 상에서 실행되려는 스레드 실행 코드의 심볼을 추출한다(S20).
구체적으로, 본 발명의 주입 공격형 악성코드 탐지방법에 따르면, 주입 공격형 악성코드 탐지시스템(100)는, 메모리 상에서 실행되려는 스레드 실행 코드의 시작 부분 심볼을 추출할 수 있고, 특히 오피코드(opcode) 명령/오퍼랜드(operand) 인자 중 오피코드 즉 시작 부분의 오피코드를 디스어셈블하여 심볼로 추출할 수 있다(S20).
그리고, 본 발명의 주입 공격형 악성코드 탐지방법에 따르면, 주입 공격형 악성코드 탐지시스템(100)는, S20단계에서 추출한 심볼을 이용하여, 엔트로피를 측정한다(S30).
일 실시예에 따르면, 주입 공격형 악성코드 탐지시스템(100)는, 앞서 추출한 바 있는 시작 부분의 오피코드로 이루어진 심볼 배열을 이용하여, 측정 공식 예컨대 새넌 엔트로피 공식(수학식 1)을 통해 엔트로피를 측정할 수 있다.
한편, 본 발명의 주입 공격형 악성코드 탐지방법에 따르면, 주입 공격형 악성코드 탐지시스템(100)는, S20단계에서 추출한 스레드 실행 코드의 시작 부분(오피코드) 심볼에서 이상 심볼의 출현 여부를 확인하고, 그 결과에 따라 S30단계에서 측정한 엔트로피를 보간 처리할 수 있다(S40,S50).
보다 구체적인 실시예를 설명하면, 주입 공격형 악성코드 탐지시스템(100)는, 정상 검증된 다수의 스레드 시작 코드 데이터를 근거로 정의한 심볼 테이블을 사용하여, 금번 스레드 실행 코드에서 이상 심볼의 출현 여부를 확인할 수 있다(S40).
예를 들면, 본 발명의 주입 공격형 악성코드 탐지시스템(100)에서는, 정상 검증된 다수(예: 수십만개 이상)의 스레드 시작 코드 데이터에서 정상적인 스레드 시작 코드가 사용한 유니크한 심볼들로 이루어진 심볼 테이블을 기 정의할 수 있다.
이에, 주입 공격형 악성코드 탐지시스템(100)는, 기 정의한 심볼 테이블을 사용하여, S20단계에서 추출한 금번 스레드 실행 코드의 시작 부분 심볼에서 심볼 테이블에 포함되지 않은 심볼이 출현하는지 판단함으로써, 이상 심볼의 출현 여부를 확인할 수 있다.
즉, 주입 공격형 악성코드 탐지시스템(100)는, 금번 스레드 실행 코드의 시작 부분 심볼에서 심볼 테이블에 포함되지 않은 심볼이 출현한다면, 해당 심볼을 이상 심볼로 판단/확인하는 것이다.
이후, 주입 공격형 악성코드 탐지시스템(100)는, S40단계에서 이상 심볼의 출현 여부를 확인한 결과에 따라, S30단계에서 측정한 엔트로피를 보간 처리한다(S50).
즉, 주입 공격형 악성코드 탐지시스템(100)는, 이상 심볼의 출현 여부를 확인한 결과 이상 심볼이 출현된다면, 이상 심볼의 출현 빈도가 낮더라도 그 엔트로피가 정상 엔트로피 기준값의 허용 범위(예: 3.5~3.7 bit)에 속하는 상황이 발생하지 않도록, S30단계에서 측정한 엔트로피를 보간(증가) 처리해야 한다.
구체적인 실시예를 설명하면, 주입 공격형 악성코드 탐지시스템(100)는, 금번 스레드 실행 코드의 시작 부분 심볼에서 이상 심볼이 출현되는 빈도 및 S30단계에서 측정한 엔트로피에 따라 상이한 가중치를 적용하여, 앞서 측정한 엔트로피를 보간 처리할 수 있다.
예를 들면, 주입 공격형 악성코드 탐지시스템(100)는, 금번 스레드 실행 코드의 시작 부분 심볼에서 이상 심볼 출현이 확인되면, S30단계에서 측정한 엔트로피를 기준으로, 스레드 실행 코드 즉 스레드 실행 코드의 시작 부분 심볼에서 이상 심볼이 출현되는 빈도가 낮은 경우에 그 빈도가 높은 경우 보다 큰 가중치를 적용하는 방식으로, 보간 증가치를 상대적으로 크게 할 수 있다.
이렇게 되면, 금번 스레드 실행 코드가 쉘코드(또는 다형성 쉘코드)인 경우를 가정할 때, 이상 심볼의 출현 빈도가 낮을수록 심볼을 이용하여 S30단계에서 측정한 엔트로피가 정상 엔트로피 기준값의 허용 범위(예: 3.5~3.7 bit)에 속할 가능성이 높을 것이나, 보간 증가치를 상대적으로 크게 하여 쉘코드(또는 다형성 쉘코드) 엔트로피가 정상 엔트로피 기준값의 허용 범위(예: 3.5~3.7 bit)에 속할 가능성을 낮출 수 있다.
반대로, 주입 공격형 악성코드 탐지시스템(100)는, 금번 스레드 실행 코드의 시작 부분 심볼에서 이상 심볼 출현이 확인되면, S30단계에서 측정한 엔트로피를 기준으로, 스레드 실행 코드 즉 스레드 실행 코드의 시작 부분 심볼에서 이상 심볼이 출현되는 빈도가 높은 경우에 그 빈도가 낮은 경우 보다 작은 가중치를 적용하는 방식으로, 보간 증가치를 상대적으로 작게 할 수 있다.
이렇게 되면, 금번 스레드 실행 코드가 쉘코드(또는 다형성 쉘코드)인 경우를 가정할 때, 이상 심볼의 출현 빈도가 높을수록 심볼을 이용하여 S30단계에서 측정한 엔트로피가 정상 엔트로피 기준값의 허용 범위(예: 3.5~3.7 bit)에 속할 가능성이 충분히 낮아지므로, 보간 증가치를 그에 맞게 작은 값으로 유연하게 사용할 수 있다.
물론, 주입 공격형 악성코드 탐지시스템(100)는, 이상 심볼의 출현 여부를 확인한 결과 이상 심볼이 출현하지 않는다면, S30단계에서 측정한 엔트로피를 보간(증가) 처리하지 않거나 보간값을 0으로 하여 보간 처리할 수 있다.
이후, 본 발명의 주입 공격형 악성코드 탐지방법에 따르면, 주입 공격형 악성코드 탐지시스템(100)는, S50단계에서 보간 처리한 엔트로피를 근거로, 금번 스레드 실행 코드가 메모리에 주입된 악성 코드 예컨대 쉘코드(또는 다형성 쉘코드)인지 여부를 탐지한다.
구체적으로, 주입 공격형 악성코드 탐지시스템(100)는, S50단계에서 보간 처리한 엔트로피(entropy 2)와 정상 엔트로피 기준값을 비교하여 기 정의된 허용 범위 즉 정상 엔트로피 기준값의 허용 범위(예: 3.5~3.7 bit)를 벗어나는 경우(S60 Yes), 금번 스레드 실행 코드를 메모리에 주입된 악성 코드 예컨대 쉘코드(또는 다형성 쉘코드)로 탐지할 수 있다(S70).
한편, 주입 공격형 악성코드 탐지시스템(100)는, S50단계에서 보간 처리한 엔트로피(entropy 2)와 정상 엔트로피 기준값을 비교하여 기 정의된 허용 범위 즉 정상 엔트로피 기준값의 허용 범위(예: 3.5~3.7 bit)를 벗어나지 않는 경우(S60 NO), 금번 스레드 실행 코드를 정상 스레드 코드로 탐지할 수 있다(S80).
본 발명의 주입 공격형 악성코드 탐지방법에 따르면, 주입 공격형 악성코드 탐지시스템(100)는, 탐지시스템(100)의 탐지 기능이 오프되지 않는 한(S90 No), 전술의 S10단계 및 그 이후 단계들을 반복하여 수행할 것이다.
이상, 설명한 바와 같이, 본 발명의 주입 공격형 악성코드 탐지방법은, 파일이 존재하지 않고 메모리 상에서만 동작하는 쉘코드 특히 다형성 쉘코드의 경우 엔트로피가 높다는 점에 착안하여, 엔트로피를 이용한 새로운 주입 공격형 악성코드(예: 쉘코드) 탐지 기법을 실현하며, 특히 쉘코드의 엔트로피가 정상 엔트로피로 탐지되는 등의 탐지 누락 또는 오탐을 회피하기 위해 유연한 엔트로비 보간 방식을 적용하여 보다 신뢰도 높은 탐지 기법을 실현하고 있다.
이로써, 본 발명에 따르면, 메모리 상에만 존재하여 진단이 어려운 주입 공격형 악성코드 예컨대 다형성 쉘코드를 진단/탐지하는데 있어, 기존의 패턴 기반 탐지 기법에서 벗어나, 탐지 누락 또는 오탐 없이 신뢰도 높게 진단/탐지할 수 있는 효과를 도출할 수 있다.
본 발명의 실시예에 따르는 주입 공격형 악성코드 탐지방법은, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
100 : 주입 공격형 악성코드 탐지시스템
110 : 감시부 120 : 엔트로피처리부
126 : 엔트로피측정부 128 : 엔트로피보간부
130 : 탐지부

Claims (11)

  1. 스레드에서 코드가 실행되는 스레드 코드 실행을 감시하는 감시단계;
    상기 스레드 코드 실행이 탐지되면, 실행되려는 메모리 상의 스레드 실행 코드의 엔트로피를 측정하는 엔트로피측정단계;
    상기 스레드 실행 코드에서 이상 심볼의 출현 여부를 확인한 결과에 따라, 상기 측정한 엔트로피를 보간 처리하는 엔트로피보간단계;
    상기 보간 처리한 엔트로피를 근거로, 상기 스레드 실행 코드가 메모리에 주입된 악성 코드인지 여부를 탐지하는 탐지단계를 포함하는 것을 특징으로 하는 주입 공격형 악성코드 탐지방법.
  2. 제 1 항에 있어서,
    상기 엔트로피측정단계는,
    상기 스레드 코드 실행이 탐지되면, 실행되려는 메모리 상의 스레드 실행 코드의 시작 부분 심볼을 추출하는 단계,
    상기 추출한 심볼을 이용하여, 엔트로피를 측정하는 단계를 포함하는 것을 특징으로 하는 주입 공격형 악성코드 탐지방법.
  3. 제 1 항에 있어서,
    상기 엔트로피보간단계는,
    정상 검증된 다수의 스레드 시작 코드 데이터를 근거로 정의한 심볼 테이블을 사용하여, 상기 스레드 실행 코드에서 이상 심볼의 출현 여부를 확인하는 것을 특징으로 하는 주입 공격형 악성코드 탐지방법.
  4. 제 3 항에 있어서,
    상기 엔트로피보간단계는,
    상기 스레드 실행 코드에서 이상 심볼이 출현되는 빈도 및 상기 측정한 엔트로피에 따라 상이한 가중치를 적용하여, 상기 측정한 엔트로피를 보간 처리하는 것을 특징으로 하는 주입 공격형 악성코드 탐지방법.
  5. 제 3 항에 있어서,
    상기 엔트로피보간단계는,
    동일한 이상 심볼이, 상기 스레드 실행 코드에서 출현되는 빈도가 낮을수록 상기 빈도가 높은 경우 보다 큰 가중치를 적용하는 것을 특징으로 하는 주입 공격형 악성코드 탐지방법.
  6. 제 1 항에 있어서,
    상기 탐지단계는,
    상기 보간 처리한 엔트로피와 정상 엔트로피 기준값을 비교하여 기 정의된 허용 범위를 벗어나는 경우, 상기 스레드 실행 코드를 메모리에 주입된 악성 코드로 탐지하는 것을 특징으로 하는 주입 공격형 악성코드 탐지방법.
  7. 스레드에서 코드가 실행되는 스레드 코드 실행을 감시하는 감시부;
    상기 스레드 코드 실행이 탐지되면, 실행되려는 메모리 상의 스레드 실행 코드의 엔트로피를 측정하는 엔트로피측정부;
    상기 스레드 실행 코드에서 이상 심볼의 출현 여부를 확인한 결과에 따라, 상기 측정한 엔트로피를 보간 처리하는 엔트로피보간부;
    상기 보간 처리한 엔트로피를 근거로 상기 스레드 실행 코드기 메모리에 주입된 악성 코드인지 여부를 탐지하는 탐지부를 포함하는 것을 특징으로 하는 주입 공격형 악성코드 탐지시스템.
  8. 제 7 항에 있어서,
    상기 엔트로피측정부는,
    상기 스레드 코드 실행이 탐지되면, 실행되려는 메모리 상의 스레드 실행 코드의 시작 부분 심볼을 추출하고,
    상기 추출한 심볼을 이용하여, 엔트로피를 측정하는 것을 특징으로 하는 주입 공격형 악성코드 탐지시스템.
  9. 제 7 항에 있어서,
    상기 엔트로피보간부는,
    정상 검증된 다수의 스레드 시작 코드 데이터를 근거로 정의한 심볼 테이블을 사용하여, 상기 스레드 실행 코드에서 이상 심볼의 출현 여부를 확인하는 것을 특징으로 하는 주입 공격형 악성코드 탐지시스템.
  10. 제 9 항에 있어서,
    상기 엔트로피보간부는,
    상기 스레드 실행 코드에서 이상 심볼이 출현되는 빈도 및 상기 측정한 엔트로피에 따라 상이한 가중치를 적용하여, 상기 측정한 엔트로피를 보간 처리하는 것을 특징으로 하는 주입 공격형 악성코드 탐지시스템.
  11. 제 1 항 내지 제 6 항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
KR1020200118204A 2020-09-15 2020-09-15 주입 공격형 악성코드 탐지시스템 및 주입 공격형 악성코드 탐지방법 KR102419867B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200118204A KR102419867B1 (ko) 2020-09-15 2020-09-15 주입 공격형 악성코드 탐지시스템 및 주입 공격형 악성코드 탐지방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200118204A KR102419867B1 (ko) 2020-09-15 2020-09-15 주입 공격형 악성코드 탐지시스템 및 주입 공격형 악성코드 탐지방법

Publications (2)

Publication Number Publication Date
KR20220036063A true KR20220036063A (ko) 2022-03-22
KR102419867B1 KR102419867B1 (ko) 2022-07-13

Family

ID=80992396

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200118204A KR102419867B1 (ko) 2020-09-15 2020-09-15 주입 공격형 악성코드 탐지시스템 및 주입 공격형 악성코드 탐지방법

Country Status (1)

Country Link
KR (1) KR102419867B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170033115A (ko) * 2015-09-16 2017-03-24 주식회사 안랩 인젝션 탐지 방법 및 이에 적용되는 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170033115A (ko) * 2015-09-16 2017-03-24 주식회사 안랩 인젝션 탐지 방법 및 이에 적용되는 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Hui Yin et al, "A malware variants detection methodology with an opcode-based feature learning method and a fast density-based clustering algorithm"(2020.02.) *

Also Published As

Publication number Publication date
KR102419867B1 (ko) 2022-07-13

Similar Documents

Publication Publication Date Title
US8621624B2 (en) Apparatus and method for preventing anomaly of application program
US8627478B2 (en) Method and apparatus for inspecting non-portable executable files
EP3039608B1 (en) Hardware and software execution profiling
KR101122650B1 (ko) 정상 프로세스에 위장 삽입된 악성코드 탐지 장치, 시스템 및 방법
US8627458B2 (en) Detecting malicious computer program activity using external program calls with dynamic rule sets
KR101212553B1 (ko) 악성 파일 검사 장치 및 방법
US20150302191A1 (en) Program execution apparatus and program analysis apparatus
CN105103158A (zh) 剖析代码执行
CN104506495A (zh) 一种智能化网络apt攻击威胁分析方法
CN113632432B (zh) 一种攻击行为的判定方法、装置及计算机存储介质
US8646076B1 (en) Method and apparatus for detecting malicious shell codes using debugging events
US20170099322A1 (en) Method and system for modifying messages based on user-defined communication model
CA3202448A1 (en) Protecting against memory deserialization attacks
US20230376587A1 (en) Online command injection attacks identification
KR20220036063A (ko) 주입 공격형 악성코드 탐지시스템 및 주입 공격형 악성코드 탐지방법
EP4160455A1 (en) Behavior analysis based on finite-state machine for malware detection
Noman et al. Design and implementation of a security analysis tool that detects and eliminates code caves in windows applications
KR101489142B1 (ko) 클라이언트시스템 및 클라이언트시스템의 동작 방법
Hsiao et al. Combining dynamic passive analysis and active fingerprinting for effective bot malware detection in virtualized environments
KR101754964B1 (ko) 악성 행위 탐지 방법 및 시스템
EP3661149A1 (en) Test system and method for data analytics
WO2021080602A1 (en) Malware identification
WO2024043882A1 (en) System and method for pattern-based detection and mitigation of zero-day vulnerability exploitation
US8429744B1 (en) Systems and methods for detecting malformed arguments in a function by hooking a generic object
KR101898997B1 (ko) 악성코드 진단 시스템 및 악성코드 진단 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right