KR101421630B1 - 코드 인젝션된 악성코드 탐지 시스템 및 방법 - Google Patents

코드 인젝션된 악성코드 탐지 시스템 및 방법 Download PDF

Info

Publication number
KR101421630B1
KR101421630B1 KR1020130009219A KR20130009219A KR101421630B1 KR 101421630 B1 KR101421630 B1 KR 101421630B1 KR 1020130009219 A KR1020130009219 A KR 1020130009219A KR 20130009219 A KR20130009219 A KR 20130009219A KR 101421630 B1 KR101421630 B1 KR 101421630B1
Authority
KR
South Korea
Prior art keywords
code
malicious
malicious code
code injection
injection area
Prior art date
Application number
KR1020130009219A
Other languages
English (en)
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 KR1020130009219A priority Critical patent/KR101421630B1/ko
Application granted granted Critical
Publication of KR101421630B1 publication Critical patent/KR101421630B1/ko

Links

Images

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
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Storage Device Security (AREA)

Abstract

이 발명은 다수의 실행 프로세스들의 메모리 영역에서 코드 인젝션 영역을 추출하고 추출된 코드 인젝션 영역을 상호 비교하여 코드 인젝션된 악성코드를 탐지하는 시스템 및 방법에 관한 것이다.
이 발명에 따른 코드 인젝션된 악성코드 탐지 시스템은, 컴퓨터 시스템에서 실행중인 프로세스 정보를 수집하는 프로세스정보수집부와, 상기 프로세스정보수집부에서 수집된 프로세스 정보로부터 프로세스별로 실행 가능한 코드 인젝션 영역을 추출하는 코드인젝션영역수집부와, 상기 프로세스별로 수집된 코드 인젝션 영역을 상호 비교하여 적어도 둘 이상의 프로세스에서 추출된 동일한 코드 인젝션 영역을 의심악성코드로 판단하는 코드인젝션영역비교부를 포함한다.

Description

코드 인젝션된 악성코드 탐지 시스템 및 방법 {system and method for detecting code-injected malicious code}
이 발명은 프로세스에 코드 인젝션된 악성코드를 탐지하는 시스템 및 방법에 관한 것으로서, 보다 상세하게는 다수의 실행 프로세스들의 메모리 영역에서 코드 인젝션 영역을 추출하고 추출된 코드 인젝션 영역들의 코드를 상호 비교하여 코드 인젝션된 악성코드를 탐지하는 시스템 및 방법에 관한 것이다.
트로이 목마(trojan)나 제우스(Zeus)와 같은 악성 프로그램은 프로세스에 코드 인젝션(code injection)을 하여 악성 코드를 삽입하고, 그 코드 인젝션된 메모리 영역을 시작주소로 사용하는 스레드를 생성하며, 그 스레드가 구동하여 악성 코드에 대응하는 악의적인 행위를 수행한다. 최근 제우스 프로그램에 의해 사용자 컴퓨터에 삽입된 악성 코드가 컴퓨터에 저장된 은행 거래 계좌와 비밀번호 등의 금융 정보를 해커에게 유출시켜, 해커가 그 금융 정보를 이용하여 중소기업이나 지방자치단체 은행 계정에 접근, 현금을 인출하는 금융 사고가 발생한 바 있다. 이에 이러한 코드 인젝션 기반 악성 코드에 대응하기 위한 방안이 요구되고 있다.
이러한 악성 프로그램은 끊임없이 스스로를 전파하기 위해 주기적으로 컴퓨터시스템의 신규 생성 프로세스에 악성코드를 인젝션하여 신규 생성 프로세스들이 끊임없이 감염된다. 또한, 해커들이 제우스 소스코드를 응용하여 다양한 신종 또는 변종의 악성 코드를 개발하여 유출시키고 있는 바, 다양한 신종 또는 변종의 악성 코드에 대한 시그니처를 모두 수집하기는 불가능하다.
일반적인 안티 바이러스 프로그램은 임의의 검사대상 프로그램의 시그니처와 악성 프로그램의 시그니처를 비교하여, 검사대상 프로그램이 악성인지를 결정한다. 그러나, 이러한 안티 바이러스 기술은 시그니처가 확보되지 않은 신종 또는 변종의 악성 코드를 검출할 수 없는 문제점이 있다. 특히, 트로이 목마나 제우스 같은 악성 프로그램은 변종들이 무수히 많기 때문에 시그니처 방식으로 검출하기는 매우 어렵다.
이러한 문제점을 해결하기 위해, 선행특허 대한민국 공개특허 제2011-0119918호 "정상 프로세스에 위장 삽입된 악성코드 탐지 장치, 시스템 및 방법"에서는, 컴퓨터 시스템 상에서 실행중인 프로세스로부터 생성된 쓰레드 정보를 추출하여 상기 쓰레드와 연관된 코드를 식별하고, 상기 식별된 코드의 악성 여부를 추정하여 상기 악성으로 추정된 코드를 추출하는 악성코드 탐지모듈과, 상기 추출된 코드를 가상 환경에서 실행하여 행위를 분석한 결과에 기반하여 상기 코드를 악성코드로 최종 판단하고 상기 코드의 실행을 강제 종료하는 악성코드 강제 종료모듈을 포함한 악성코드 탐지 시스템이 제안되었다.
이러한 선행특허는 모든 프로세스에 코드 인젝션된 모든 코드에 의해 생성된 쓰레드에 대해 가상 환경에서 실행하여 행위 기반 분석을 하기 때문에 검출하기까지 시간이 오래 걸리는 문제점이 있다. 또한, 코드 인젝션된 정상적인 코드까지도 모두 악성으로 추정하기 때문에 불필요한 검사에 의해 컴퓨터 자원이 낭비되는 문제점이 있다.
다른 선행특허로서, 본 출원의 출원인은 코드 인젝션 기반으로 동작하는 악성 프로그램에 대응하는 방법으로서, 대한민국 등록특허 제1206853호 "네트워크 접근 제어시스템 및 방법"에서, 프로세스의 메모리를 검사하여 코드 인젝션 영역을 기반으로 하는 스레드를 찾고, 네트워크 필터링을 수행하여 네트워크에 접근하는 네트워크 패킷을 탐지하며, 탐지된 네트워크 패킷의 통신 주체가 코드 인젝션 기반 스레드이면 탐지된 네트워크 패킷의 트래픽이 차단되도록 하는 기술을 제안하였다.
그러나, 이 선행특허는 코드 인젝션된 악성 코드가 악의적인 행위를 하는 것을 검출하여 차단하는 것일 뿐, 코드 인젝션된 악성 코드를 찾아낼 수 없는 문제점이 있다.
종래기술의 문제점을 해결하기 위하여 안출된 이 발명의 목적은, 트로이목마나 제우스와 같이 코드 인젝션 기반으로 감염되는 악성 코드를 간단하게 검출하여 수집하는 코드 인젝션된 악성코드 탐지 시스템 및 방법을 제공하기 위한 것이다.
상술한 목적을 달성하기 위한 이 발명에 따른 코드 인젝션된 악성코드 탐지 시스템은, 컴퓨터 시스템에서 실행중인 프로세스 정보를 수집하는 프로세스정보수집부와, 상기 프로세스정보수집부에서 수집된 프로세스 정보로부터 프로세스별로 실행 가능한 코드 인젝션 영역을 추출하는 코드인젝션영역수집부와, 상기 프로세스별로 수집된 코드 인젝션 영역을 상호 비교하여 적어도 둘 이상의 프로세스에서 추출된 동일한 코드 인젝션 영역을 의심악성코드로 판단하는 코드인젝션영역비교부를 포함한 것을 특징으로 한다.
또한, 이 발명에 따른 코드 인젝션된 악성코드 탐지 방법은, 악성코드 탐지 시스템이 컴퓨터 시스템에서 실행중인 프로세스 정보를 수집하는 프로세스정보수집단계와, 상기 악성코드 탐지 시스템이 상기 프로세스정보수집단계에서 수집된 프로세스 정보로부터 프로세스별로 실행 가능한 코드 인젝션 영역을 추출하는 코드인젝션영역수집단계와, 상기 악성코드 탐지 시스템이 상기 프로세스별로 수집된 코드 인젝션 영역을 상호 비교하여 적어도 둘 이상의 프로세스에서 추출된 동일한 코드 인젝션 영역을 의심악성코드로 판단하는 코드인젝션영역비교단계를 포함한 것을 특징으로 한다.
이상과 같이 이 발명에 따르면 컴퓨터 시스템에 실행중인 프로세스에 삽입된 코드 인젝션 영역의 동일 여부를 판단하여 의심악성코드를 추출하고, 해당 의심악성코드가 진짜 악성인지를 검증하기 때문에, 보다 정확하게 코드 인젝션된 악성코드를 탐지할 수 있고, 신종, 변종의 악성코드 소스를 수집할 수 있는 잇점이 있다.
도 1은 이 발명에 따른 코드 인젝션된 악성코드 탐지 시스템을 도시한 구성 블록도이다.
도 2는 이 발명에 따른 코드 인젝션된 악성코드 탐지 방법을 도시한 동작 흐름도이다.
이하, 첨부된 도면을 참조하며 이 발명에 따른 코드 인젝션된 악성코드 탐지 시스템 및 방법에 대해 보다 상세하게 설명한다.
코드 인젝션 기반 악성 프로그램은 스스로를 전파하기 위해, 컴퓨터 시스템의 신규 생성 프로세스에 동일한 악성 코드를 인젝션한다. 즉, 악성 프로그램에 감염된 컴퓨터 시스템에는, 실행 프로세스들 중 다수의 프로세스들의 메모리 영역에 코드 인젝션 영역이 존재하며, 해당 코드 인젝션 영역에 동일한 코드가 저장된다. 이 발명은 이러한 악성 프로그램의 특징을 이용하여 프로세스에 코드 인젝션된 악성코드를 탐지하는 기술을 제안한다.
도 1은 이 발명에 따른 코드 인젝션된 악성코드 탐지 시스템을 도시한 구성 블록도이다.
이 발명에 따른 코드 인젝션된 악성코드 탐지 시스템은, 컴퓨터 시스템에서 실행중인 프로세스 정보를 수집하는 프로세스정보수집부(21)와, 상기 프로세스정보수집부에서 수집된 프로세스에 코드 인젝션된 영역을 탐지하고 상기 코드 인젝션된 영역 중 코드 실행이 가능한 영역을 덤프파일로 추출하는 코드인젝션영역수집부(22)와, 상기 프로세스별로 수집된 덤프파일을 상호 비교하여 적어도 둘 이상 동일한 덤프파일을 의심악성코드로 판단하는 코드인젝션영역비교부(23)와, 상기 의심악성코드의 악성 여부를 검증하는 악성코드검증부(24)를 포함한다. 이 발명에 따른 코드 인젝션된 악성코드 탐지 시스템은, 프로세스정보수집부에서 수집된 프로세스 개수가 임계치 미만이면 페이크(fake) 프로세스를 생성하고 생성된 페이크 프로세스 정보를 상기 코드인젝션영역수집부(22)에게 제공하는 페이크프로세스생성부를 더 포함한다.
프로세스정보수집부(21)는 컴퓨터에서 실행중인 프로세스에 대해 프로세스별로 프로세스구조체를 수집함으로써 프로세스 정보를 수집한다. 프로세스정보수집부(21)가 프로세스별 프로세스 정보를 수집하는 방법으로는, psapi.dll의 EnumProcesses 함수를 사용하여 프로세스를 열거하고 각 프로세스별 프로세스구조체를 수집하는 방법, ZwQuerySystemInformation 함수를 사용하여 프로세스 정보를 획득하여 프로세스별 프로세스구조체를 수집하는 방법, 커널 전역변수인 PspCidTable을 조사하여 프로세스별 프로세스구조체(EProcess)를 수집하는 방법, 커널 전역변수인 PspCidTable을 조사하여 스레드구조체(EThread)를 수집한 후 스레드구조체(EThread)의 프로세스 멤버를 통해서 프로세구조체(EProcess)를 수집하는 방법, 임의의 프로세스의 프로세스구조체(EProcess)의 핸들테이블(HandleTable)을 검사하여 나머지 프로세스별 프로세스구조체(EProcess)를 수집하는 방법, 실행된 프로세스를 관리하는 csrss.exe의 내부 프로세스 정보항목을 수집하는 방법, 프로세스구조체(EProcess)의 메모리 상주 패턴으로 메모리스캔을 통해 프로세스별 프로세스구조체(EProcess)를 수집하는 방법, 스레드구조체(EThread)의 메모리 상주 패턴으로 메모리스캔을 통해 스레드별 스레드구조체(EThread)를 수집한 후 수집된 스레드구조체(EThread)의 프로세스 멤버를 통해서 프로세스별 프로세스구조체(EProcess)를 수집하는 방법 등 다양한 방법이 포함된다.
코드인젝션영역수집부(22)는 프로세스정보수집부(21)에서 수집된 각 프로세스에서 코드 인젝션된 영역을 탐지한다. 코드인젝션영역수집부(22)는 프로세스에 할당된 가상주소공간 정보를 수집하는 가상주소공간정보수집부(22a)와, 수집된 가상주소공간에 코드 인젝션 여부를 조사하는 가상주소공간조사부(22b)를 포함한다.
가상주소공간정보수집부(22a)가 프로세스에 할당된 가상주소공간 정보를 수집하는 방법으로는, 커널레벨(Kernel Level)에서 프로세스구조체(EProcess)의 배드루트(VadRoot) 멤버를 검사하는 방법과, 유저레벨(User Level)에서 VirtualQueryEx 함수 사용하는 방법이 있다. 가상주소공간정보수집부(22a)가 프로세스에 할당된 가상주소공간 정보를 수집하는 방법은 본 출원인의 등록특허 제10-1206853호에 상세하게 설명되어 있다.
가상주소공간조사부(22b)는 가상주소공간정보수집부(22a)에서 수집한 각 가상주소공간의 속성 정보를 이용하여 해당 가상주소공간에 코드 인젝션(code injection)이 되어 있는지를 조사한다. 프로세스에 정상적으로 삽입되어 로드되는 DLL 파일의 경우, 그 DLL 파일에 할당된 가상주소공간의 메모리타입은 매핑 타입(Mapped Type)이고, 프로텍트 플래그값은 실행가능(executable)이다. 한편, 프로세스에 코드 인젝션된 경우, 그 코드 인젝션된 가상주소공간의 메모리타입은 프라이빗 타입(Private Type)이고 프로텍트 플래그값은 실행가능(executable)이다.
따라서, 가상주소공간조사부(22b)는 프로세스에 할당된 가상주소공간들 중 메모리타입이 매핑 타입이 아니라 프라이빗 타입(Private type)이고, 프로텍트 플래그값이 실행가능(executable)이면, 해당 가상주소공간을 코드 인젝션 영역으로 판단한다. 가상주소공간조사부(22b)는 실행 가능한 코드 인젝션 영역으로 판단된 가상주소공간을 덤프파일로 저장한다.
제우스와 같은 악성 프로그램은 임의의 정상 프로세스에 둘 이상의 코드 인젝션을 수행할 수도 있다. 이중 하나는 실제 악성코드가 인젝션된 영역이고 나머지 하나는 악성코드가 인젝된 영역이 모니터링되지 않도록 하기 위한 후킹 우회 코드 영역이다. 따라서, 코드인젝션영역수집부(22)는 하나의 프로세스에 대해 둘 이상의 코드 인젝션 영역별 덤프파일을 저장할 수 있다.
코드인젝션영역비교부(23)는, 코드인젝션영역수집부(22)에서 수집된 덤프파일들을 비교하여 동일한 덤프파일을 찾는다. 여기서, 두 덤프파일이 동일하다 함은 모든 코드가 일치함을 의미하지는 않는다. 이 발명에서는 덤프파일에 대해, 파일 포맷 분석에 의해 모든 섹션 영역을 찾고, 찾아진 섹션(Section) 영역 중 기설정된 특정 조건을 만족하는 섹션 영역, 즉, 메모리 속성이 실행가능(execute)이면서 쓰기(write)가 가능하지 않은 섹션 영역을 찾고, 찾아진 특정 조건의 섹션 영역의 크기가 동일하고, 해당 섹션의 데이터 해쉬값이 동일하면 두 덤프파일이 일치한 것으로 판단한다.
둘 이상의 프로세스에서 동일한 덤프파일이 찾아지면, 그 찾아진 덤프파일에 대응하는 코드 인젝션 영역을 의심악성코드로 설정한다. 실행중인 프로세스에 대해 실행가능한 코드 인젝션 영역을 덤프파일로 저장하지 않고, 직접 비교하여 의심악성코드를 찾을 수도 있다.
앞서 언급하였듯이 제우스와 같은 악성 프로그램은 임의의 정상 프로세스에 둘 이상의 코드 인젝션을 수행할 수도 있는데, 이중 하나만이 실제 악성코드가 인젝션된 영역이다. 그러나, 코드인젝션영역비교부(23)에 따르면 나머지 코드 인젝션 영역도 의심악성코드로 추출된다.
악성코드검증부(24)는 추출된 의심악성코드가 진짜 악성인지 검증하는 작업을 수행한다. 예컨대, 의심악성코드에 악성코드 특징 문자열이 존재하는지를 검증하여 악성인지를 검증할 수도 있고, 의심악성코드의 행위를 분석하여 악의적인 행위를 하는지를 검증할 수도 있다.
한편, 이 발명에 따라 코드 인젝션된 악성코드를 탐지하려면, 컴퓨터 시스템에서 실행중인 프로세스의 개수가 일정 개수 이상이어야 한다. 즉, 실행중인 프로세스들의 코드 인젝션 영역을 상호 비교하여 의심악성코드 영역을 찾기 때문에, 컴퓨터 시스템에서 실행중인 프로세스의 개수가 임계치 이하인 경우에는 의심악성코드 영역을 찾지 못할 수도 있다.
따라서, 페이크프로세스생성부(25)는 프로세스정보수집부(21)에서 수집된 실행 프로세스의 개수가 임계치 미만이면 페이크프로세스를 생성하고 그 생성된 페이크 프로세스 정보를 코드인젝션영역수집부(22)에게 제공한다. 페이크프로세스생성부(25)가 페이크 프로세스를 생성하면, 악성 프로그램이 그 페이크 프로세스에도 악성 코드를 코드 인젝션하기 때문에, 코드인젝션영역수집부(22)는 나머지 실행 프로세스의 코드 인젝션 영역 뿐만 아니라 페이크 프로세스의 코드 인젝션 영역도 수집한다. 이로 인해, 코드인젝션영역비교부(23)에서 상호 비교되는 코드 인젝션 영역(덤프파일)의 개수가 많아져서 보다 정확하게 의심악성코드를 찾아낼 수 있다.
도 2는 이 발명에 따른 코드 인젝션된 악성코드 탐지 방법을 도시한 동작 흐름도이다.
악성코드 탐지 시스템은 컴퓨터 시스템에서 실행중인 프로세스의 정보를 수집한다(S21). 실행중인 프로세스의 개수가 임계치 이상이 아니면(S22), 페이크 프로세스를 생성한다(S23).
단계 S22에서 실행중인 프로세스의 개수가 임계치 이상이거나 단계 S23에서 페이크 프로세스를 생성한 후, 페이크 프로세스를 포함하여 실행중인 프로세스로부터 실행가능한 코드 인젝션 영역을 수집한다(S24).
다음, 수집된 코드 인젝션 영역을 상호 비교하는데, 코드 인젝션 영역 중 실행가능하고 쓰기가 되지 않은 섹션 영역의 크기 및 데이터 해쉬값을 추출하여 상호 비교한다(S25).
단계 S25의 비교 결과, 동일한 코드 인젝션 영역이 존재하면(S26), 그 동일한 코드 인젝션 영역을 의심악성코드로 설정한다(S27). 마지막으로, 단계 S27에서 의심악성코드로 설정된 코드 인젝션 영역이 악성인지를 검증한다(S28).
이상에서 본 발명에 대한 기술사상을 첨부도면과 함께 서술하였지만, 이는 본 발명의 가장 양호한 실시예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 이 기술분야의 통상의 지식을 가진 자라면 누구나 본 발명의 기술사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.
21 : 프로세스정보수집부 22 : 코드인젝션영역수집부
22a : 가상주소공간정보수집부 22b : 가상주소공간조사부
23 : 코드인젝션영역비교부 24 : 악성코드검증부
25 : 페이크프로세스생성부

Claims (13)

  1. 컴퓨터 시스템에서 실행중인 적어도 둘 이상의 프로세스들에 관한 정보를 수집하는 프로세스정보수집부와,
    상기 프로세스정보수집부에서 수집된 상기 적어도 둘 이상의 프로세스들에 관한 정보를 이용하여 상기 적어도 둘 이상의 프로세스들로부터 각각 실행 가능한 코드 인젝션 영역을 추출하는 코드인젝션영역수집부와,
    상기 적어도 둘 이상의 프로세스들로부터 추출된 적어도 둘 이상의 코드 인젝션 영역을 상호 비교하여 동일하면 상기 코드 인젝션 영역의 코드를 의심악성코드로 판단하는 코드인젝션영역비교부를 포함한 것을 특징으로 하는 코드 인젝션된 악성코드 탐지 시스템.
  2. 제 1 항에 있어서, 상기 프로세스정보수집부에서 수집된 프로세스 개수가 임계치 미만이면 페이크 프로세스를 생성하는 페이크프로세스생성부를 더 포함한 것을 특징으로 하는 코드 인젝션된 악성코드 탐지 시스템.
  3. 제 1 항에 있어서, 상기 코드인젝션영역수집부는 상기 프로세스별로 할당된 가상주소공간 정보를 수집하는 가상주소공간정보수집부와, 상기 수집된 가상주소공간에 코드 인젝션 여부를 조사하는 가상주소공간조사부를 포함한 것을 특징으로 하는 코드 인젝션된 악성코드 탐지 시스템.
  4. 제 1 항에 있어서, 상기 코드인젝션영역수집부에서 추출된 코드 인젝션 영역을 덤프파일로 저장하는 것을 특징으로 하는 코드 인젝션된 악성코드 탐지 시스템.
  5. 제 1 항에 있어서, 상기 코드인젝션영역비교부는 상기 적어도 둘 이상의 코드 인젝션 영역에 대해 기설정된 조건의 섹션 영역의 크기 및 데이터 해쉬값이 같으면 상기 적어도 둘 이상의 코드 인젝션 영역이 동일하다고 판단하는 것을 특징으로 하는 코드 인젝션된 악성코드 탐지 시스템.
  6. 제 1 항에 있어서, 상기 의심악성코드의 악성 여부를 검증하는 악성코드검증부를 더 포함한 것을 특징으로 하는 코드 인젝션된 악성코드 탐지 시스템.
  7. 제 6 항에 있어서, 상기 악성코드검증부는 상기 의심악성코드에 악성코드 특징 문자열이 포함되는지를 검증하는 것을 특징으로 하는 코드 인젝션된 악성코드 탐지 시스템.
  8. 제 6 항에 있어서, 상기 악성코드검증부는 상기 의심악성코드의 행위가 악성인지를 검증하는 것을 특징으로 하는 코드 인젝션된 악성코드 탐지 시스템.
  9. 악성코드 탐지 시스템이 컴퓨터 시스템에서 실행중인 적어도 둘 이상의 프로세스들에 관한 정보를 수집하는 프로세스정보수집단계와,
    상기 악성코드 탐지 시스템이 상기 프로세스정보수집단계에서 수집된 상기 적어도 둘 이상의 프로세스들에 관한 정보를 이용하여 상기 적어도 둘 이상의 프로세스들로부터 각각 실행 가능한 코드 인젝션 영역을 추출하는 코드인젝션영역수집단계와,
    상기 악성코드 탐지 시스템이 상기 적어도 둘 이상의 프로세스들로부터 추출된 적어도 둘 이상의 코드 인젝션 영역을 상호 비교하여 동일하면 상기 코드 인젝션 영역의 코드를 의심악성코드로 판단하는 코드인젝션영역비교단계를 포함한 것을 특징으로 하는 코드 인젝션된 악성코드 탐지 방법.
  10. 제 9 항에 있어서, 상기 악성코드 탐지 시스템이 코드인젝션영역비교단계에서 판단된 상기 의심악성코드의 악성 여부를 검증하는 악성코드검증단계를 더 포함한 것을 특징으로 하는 코드 인젝션된 악성코드 탐지 방법.
  11. 제 9 항에 있어서, 상기 악성코드 탐지 시스템이 상기 프로세스정보수집단계에서 수집된 프로세스 개수가 임계치 미만이면 페이크 프로세스를 생성하는 페이크프로세스생성단계를 더 포함한 것을 특징으로 하는 코드 인젝션된 악성코드 탐지 방법.
  12. 제 9 항에 있어서, 상기 악성코드 탐지 시스템이 상기 코드인젝션영역수집단계에서 추출된 코드 인젝션 영역을 덤프파일로 저장하는 것을 특징으로 하는 코드 인젝션된 악성코드 탐지 방법.
  13. 제 9 항에 있어서, 상기 코드인젝션영역비교단계는 상기 적어도 둘 이상의 코드 인젝션 영역에 대해 기설정된 조건의 섹션 영역의 크기 및 데이터 해쉬값이 같으면, 상기 적어도 둘 이상의 코드 인젝션 영역이 동일하다고 판단하는 것을 특징으로 하는 코드 인젝션된 악성코드 탐지 방법.
KR1020130009219A 2013-01-28 2013-01-28 코드 인젝션된 악성코드 탐지 시스템 및 방법 KR101421630B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130009219A KR101421630B1 (ko) 2013-01-28 2013-01-28 코드 인젝션된 악성코드 탐지 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130009219A KR101421630B1 (ko) 2013-01-28 2013-01-28 코드 인젝션된 악성코드 탐지 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101421630B1 true KR101421630B1 (ko) 2014-07-22

Family

ID=51742690

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130009219A KR101421630B1 (ko) 2013-01-28 2013-01-28 코드 인젝션된 악성코드 탐지 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101421630B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101732972B1 (ko) 2015-11-30 2017-05-08 인하대학교 산학협력단 씨앤씨 제우스의 윈도우 api후킹 및 패킷 길이에 기반한 탐지 방법
CN114428957A (zh) * 2021-12-21 2022-05-03 哈尔滨理工大学 一种高准确率的Linux共享内存恶意代码检测方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101057432B1 (ko) 2010-02-23 2011-08-22 주식회사 이세정보 프로세스의 행위 분석을 통한 유해 프로그램을 실시간으로 탐지하고 차단하는 시스템, 방법, 프로그램 및 기록매체
KR101097590B1 (ko) 2011-07-15 2011-12-22 오영광 동적 링크 라이브러리 인젝션 방어 방법
KR101122650B1 (ko) 2010-04-28 2012-03-09 한국전자통신연구원 정상 프로세스에 위장 삽입된 악성코드 탐지 장치, 시스템 및 방법
KR101206853B1 (ko) 2011-06-23 2012-11-30 주식회사 잉카인터넷 네트워크 접근 제어시스템 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101057432B1 (ko) 2010-02-23 2011-08-22 주식회사 이세정보 프로세스의 행위 분석을 통한 유해 프로그램을 실시간으로 탐지하고 차단하는 시스템, 방법, 프로그램 및 기록매체
KR101122650B1 (ko) 2010-04-28 2012-03-09 한국전자통신연구원 정상 프로세스에 위장 삽입된 악성코드 탐지 장치, 시스템 및 방법
KR101206853B1 (ko) 2011-06-23 2012-11-30 주식회사 잉카인터넷 네트워크 접근 제어시스템 및 방법
KR101097590B1 (ko) 2011-07-15 2011-12-22 오영광 동적 링크 라이브러리 인젝션 방어 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101732972B1 (ko) 2015-11-30 2017-05-08 인하대학교 산학협력단 씨앤씨 제우스의 윈도우 api후킹 및 패킷 길이에 기반한 탐지 방법
CN114428957A (zh) * 2021-12-21 2022-05-03 哈尔滨理工大学 一种高准确率的Linux共享内存恶意代码检测方法

Similar Documents

Publication Publication Date Title
US10055585B2 (en) Hardware and software execution profiling
KR101122650B1 (ko) 정상 프로세스에 위장 삽입된 악성코드 탐지 장치, 시스템 및 방법
CN103886252B (zh) 受信进程地址空间中执行的软件代码的恶意性的选择评估
KR102160659B1 (ko) 하드웨어-기반 마이크로-아키텍처 데이터를 이용한 이상 프로그램 실행의 검출
RU2522019C1 (ru) Система и способ обнаружения угроз в коде, исполняемом виртуальной машиной
KR101174751B1 (ko) 커널 콜백 매커니즘을 이용한 악성코드 자동 분석 방법
US8627478B2 (en) Method and apparatus for inspecting non-portable executable files
KR101720686B1 (ko) 시각화 유사도 기반 악성 어플리케이션 감지 장치 및 감지 방법
JP5265061B1 (ja) 悪意のあるファイル検査装置及び方法
US20130152200A1 (en) Predictive Heap Overflow Protection
Ho et al. PREC: practical root exploit containment for android devices
US10826919B2 (en) Methods and cloud-based systems for protecting devices from malwares
Kumara et al. Automated multi-level malware detection system based on reconstructed semantic view of executables using machine learning techniques at VMM
Shan et al. Growing grapes in your computer to defend against malware
CN101964026A (zh) 网页挂马检测方法和***
Rhee et al. Data-centric OS kernel malware characterization
CN105760787A (zh) 用于检测随机存取存储器中的恶意代码的***及方法
Pandey et al. Performance of malware detection tools: A comparison
GB2510701A (en) Detecting malware code injection by determining whether return address on stack thread points to suspicious memory area
KR101421630B1 (ko) 코드 인젝션된 악성코드 탐지 시스템 및 방법
Reeves Autoscopy Jr.: Intrusion detection for embedded control systems
US11263307B2 (en) Systems and methods for detecting and mitigating code injection attacks
KR101880689B1 (ko) 악성코드 진단장치 및 방법
Garcia-Cervigon et al. Browser function calls modeling for banking malware detection
Lu et al. Kernel vulnerability analysis: A survey

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180716

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190715

Year of fee payment: 6