KR101262228B1 - 문서기반 악성코드 탐지 장치 및 방법 - Google Patents

문서기반 악성코드 탐지 장치 및 방법 Download PDF

Info

Publication number
KR101262228B1
KR101262228B1 KR1020110048713A KR20110048713A KR101262228B1 KR 101262228 B1 KR101262228 B1 KR 101262228B1 KR 1020110048713 A KR1020110048713 A KR 1020110048713A KR 20110048713 A KR20110048713 A KR 20110048713A KR 101262228 B1 KR101262228 B1 KR 101262228B1
Authority
KR
South Korea
Prior art keywords
document file
behavior analysis
file
document
execution
Prior art date
Application number
KR1020110048713A
Other languages
English (en)
Other versions
KR20120130626A (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 KR1020110048713A priority Critical patent/KR101262228B1/ko
Publication of KR20120130626A publication Critical patent/KR20120130626A/ko
Application granted granted Critical
Publication of KR101262228B1 publication Critical patent/KR101262228B1/ko

Links

Images

Abstract

문서기반 악성코드 탐지 장치는 가상 머신을 통해 운영 체제의 버전, 문서 편집기의 버전 또는 파일 실행 방식에 따라 결정되는 서로 다른 실행 조건들로 문서 파일을 실행하고, 행위 분석 프로그램을 이용하여 실행 조건들에 각각 대응되는 행위 분석 결과들을 수집하며, 행위 분석 결과들을 비교하여 작동 상태가 상이한 행위 분석 결과를 검출한 후, 검출된 행위 분석 결과로부터 문서 파일이 악성코드가 삽입된 악성 문서 파일인지를 판단하여 문서 파일이 악성 문서 파일이면, 검출된 행위 분석 결과에 대응되는 실행 조건을 악성코드의 실행 조건으로 검출한다.

Description

문서기반 악성코드 탐지 장치 및 방법{APPARATUS AND METHOD FOR DETECTING MALIGNANT CODE BASED ON DOCUMENT}
본 발명은 문서기반 악성코드 탐지 장치 및 방법에 관한 것이다. 보다 상세하게, 본 발명은 문서 파일에 삽입된 악성코드를 탐지하기 위한 문서기반 악성코드 탐지 장치 및 방법에 관한 것이다.
최근 응용 프로그램의 보안 취약점(vulnerability)이 증가하고 있으며, 특히 문서 편집기(text editor)의 보안 취약점이 증가하고 있다. 대표적인 문서 편집기는 마이크로소프트 계열, 한글과 컴퓨터 계열, 어도비 아크로뱃(adobe acrobat) 계열 등이 있다.
사용자가 문서 편집기로 악성코드가 삽입된 악성 문서 파일을 열면 사용자 모르게 악성 문서 파일에 삽입된 악성코드가 실행되어 해당 문서 편집기의 보안 취약점을 공격한다. 여기서, 문서 파일에 삽입된 악성코드를 문서기반 악성코드라고도 하며, 문서기반 악성코드는 문서 편집기의 취약점을 이용하여 문서 편집기로 작성된 문서 파일에 삽입된 악성코드를 의미한다.
대표적인 문서 파일에는 마이크로소프트 오피스 계열인 워드 파일, 엑셀 파일, 파워포인트 파일, 한글과 컴퓨터 계열인 한글 파일, 그리고 어도비 아크로뱃 계열인 피디에프 파일 등이 있다. 여기서, 마이크로소프트 오피스 계열의 워드 파일은 "doc", "docx", "docm" 등의 확장자를 가지고, 엑셀 파일은 "xls", "xlsx", "xlsm" 등의 확장자를 가지며, 파워포인트 파일은 "ppt", "pptx", "pptm" 등의 확장자를 가진다. 또한, 한글과 컴퓨터 계열의 한글 파일은 "hwp", "hml" 등의 확장자를 가지며, 어도비 아크로뱃 계열의 피디에프 파일은 "pdf" 등의 확장자를 가진다.
이때, 문서기반 악성코드는 특정 버전의 운영 체제(Operating System, 이하에서는 'OS'라고도 함) 및 특정 버전의 문서 편집기에서 미리 정해진 파일 실행 방식으로 악성 문서 파일을 실행시켰을 때만 동작하는 특성을 가지고 있다. 예를 들어, 운영 체제의 버전은 "Windows XP", " Windows Vista", " Windows 7" 등에 해당할 수 있고, 문서 편집기의 버전은 "MS Word XP", "MS Word 2003", "MS Word 2007", "MS Word 2010" 등에 해당할 수 있다.
예를 들어, 특정 악성 문서 파일에 포함된 악성코드는 특정 버전의 문서 편집기에서 해당 악성 문서 파일을 더블클릭(double click) 하여 열 경우에만 동작하는 특성을 가지며, 다른 버전의 문서 편집기에서 열거나 문서 편집기를 실행시킨 후 파일을 여는 경우는 동작하지 않는 특성을 가진다.
종래에는, 이미 알려진 악성코드에 대한 시그니쳐(signature)를 등록하고, 등록된 시그니쳐와 악성 문서 파일을 비교하여 악성코드를 탐지하였다. 하지만, 알려지지 않은 보안 취약점을 이용한 악성 문서 파일은 시그니쳐(signature)가 등록되어 있지 않아 탐지하지 못하는 문제점이 있다.
본 발명의 목적은, 문서 편집기의 알려지지 않은 보안 취약점을 공격하는 악성코드를 탐지하기 위한 문서기반 악성코드 탐지 장치 및 방법을 제공하는 것이다.
본 발명의 특징에 따른 문서기반 악성코드 탐지 방법은 가상 머신을 통해 운영 체제의 버전, 문서 편집기의 버전 또는 파일 실행 방식에 따라 결정되는 서로 다른 실행 조건들로 문서 파일을 실행하는 단계, 행위 분석 프로그램을 이용하여 실행 조건들에 각각 대응되는 행위 분석 결과들을 수집하는 단계, 행위 분석 결과들을 비교하여 작동 상태가 상이한 행위 분석 결과를 검출하는 단계, 검출된 행위 분석 결과로부터 문서 파일이 악성코드가 삽입된 악성 문서 파일인지를 판단하는 단계, 그리고 문서 파일이 악성 문서 파일인 경우, 검출된 행위 분석 결과에 대응되는 실행 조건을 악성코드의 실행 조건으로 검출하는 단계를 포함한다.
문서 파일을 실행하는 단계는 문서 편집기의 서로 다른 버전들을 복수 개의 가상 머신들로 구동하여 실행 조건들로 문서 파일을 실행한다.
복수 개의 가상 머신들은 운영 체제의 버전 별로 문서 편집기의 서로 다른 버전들이 각각 설치된다.
문서 파일을 실행하는 단계는 복수 개의 가상 머신들을 통해 파일 실행 방식을 변경하여 문서 파일을 실행한다.
파일 실행 방식은 실행된 문서 편집기로 파일을 실행하는 방식, 파일을 더블클릭(double click)하여 실행하는 방식, 프로세스 실행 함수를 이용하여 실행하는 방식 또는 명령 프롬프트를 이용하여 실행하는 방식 중 어느 하나에 해당한다.
행위 분석 결과들은 문서 파일의 실행에 따른 파일, 레지스트리, 프로세스 또는 네트워크 중 하나 이상의 작동 상태를 각각 포함한다.
악성 문서 파일인지를 판단하는 단계는 검출된 행위 분석 결과가 허용되지 않는 작동 상태를 포함하는지를 판단하여 문서 파일이 악성 문서 파일인지를 판단한다.
악성코드의 실행 조건은 검출된 실행 조건에 대응되는 운영 체제의 버전, 문서 편집기의 버전 또는 파일 실행 방식을 따른다.
본 발명의 특징에 따른 문서기반 악성코드 탐지 장치는 가상 머신부, 가상 머신 실행부, 결과 분석부 및 악성코드 식별부를 포함한다. 가상 머신부는 서로 다른 운영 체제들 또는 서로 다른 문서 편집기들이 설치된 복수 개의 가상 머신들을 포함한다. 가상 머신 실행부는 복수 개의 가상 머신들 중에서 문서 파일에 대응되는 문서 편집기가 설치된 가상 머신들을 선택하고, 선택된 가상 머신들이 문서 파일을 실행하도록 선택된 가상 머신들로 문서 파일을 전달한다. 결과 분석부는 선택된 가상 머신들로부터 문서 파일의 실행에 따른 행위 분석 결과들을 수집하고, 행위 분석 결과들을 비교하여 작동 상태가 상이한 행위 분석 결과를 검출한다. 악성코드 식별부는 검출된 행위 분석 결과를 이용하여 문서 파일에 악성코드가 삽입되었는지를 식별한다.
선택된 가상 머신들은 운영 체제들 별로 문서 편집기의 서로 다른 버전들이 설치된다.
선택된 가상 머신들은 서로 다른 파일 실행 방식들에 따라 문서 파일을 실행하고, 행위 분석 프로그램을 이용하여 문서 파일의 실행에 따른 작동 상태를 포함하는 행위 분석 결과들을 생성한다.
파일 실행 방식들은 실행된 문서 편집기로 파일을 실행하는 방식, 파일을 더블클릭(double click)하여 실행하는 방식, 프로세스 실행 함수를 이용하여 실행하는 방식, 및 명령 프롬프트를 이용하여 실행하는 방식을 포함한다.
악성코드 식별부는 문서 파일에 악성코드가 삽입된 경우, 검출된 행위 분석 결과에 대응되는 가상 머신에 설치된 운영 체제의 버전 및 문서 편집기의 버전을 검출하여 악성코드의 실행 조건을 식별한다.
악성코드 식별부는 검출된 행위 분석 결과가 허용되지 아니한 작동 상태를 포함하는지를 판단하여 문서 파일에 악성코드가 삽입되었는지를 식별한다.
본 발명의 특징에 따르면, 운영 체제의 버전, 문서 편집기의 버전 또는 파일 실행 방식에 따른 행위 분석을 통해 특정 버전의 운영 체제, 특정 버전의 문서 편집기 또는 특정한 파일 실행 방식에서만 발생하는 특정 행위를 파악하여 알려지지 않은 악성코드를 탐지할 수 있다.
또한, 본 발명의 특징에 따르면, 가상 머신을 이용하여 운영 체제의 버전, 문서 편집기의 버전 또는 파일 실행 방식에 따른 작동 상태를 분석함으로써, 알려지지 않은 문서 편집기의 보안 취약점을 공격하는 악성코드가 실행되는 조건을 식별할 수 있다.
도 1은 본 발명의 실시 예에 따른 악성코드 탐지 장치의 구성을 도시한 도면이다.
도 2는 본 발명의 실시 예에 따른 가상 머신부의 구성을 도시한 도면이다.
도 3은 본 발명의 실시 예에 따른 행위 분석 결과를 표로 도시한 도면이다.
도 4는 본 발명의 실시 예에 따른 문서기반 악성코드 탐지 방법을 도시한 도면이다.
본 발명을 첨부된 도면을 참고하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 고지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 해당 기술분야에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이제, 도면을 참고하여 본 발명의 실시 예에 따른 문서기반 악성코드 탐지 장치 및 방법에 대해 설명한다.
먼저, 도 1을 참고하여 본 발명의 실시 예에 따른 문서기반 악성코드 탐지 장치에 대해 설명한다.
도 1은 본 발명의 실시 예에 따른 악성코드 탐지 장치의 구성을 도시한 도면이다.
도 1에 도시된 바와 같이, 악성코드 탐지 장치(100)는 확장자 식별부(110), 가상 머신 실행부(120), 가상 머신부(130), 결과 분석부(140), 분석 결과 저장부(150) 및 악성코드 식별부(160)를 포함한다.
확장자 식별부(110)는 입력되는 문서 파일의 확장자를 식별하여 문서 파일의 분석에 이용할 문서 편집기를 결정한다. 예를 들어, 문서 파일의 확장자가 "doc"인 경우, 확장자 식별부(110)는 해당 문서 파일을 분석하기 위한 문서 편집기를 마이크로소프트 오피스 워드 프로그램으로 결정할 수 있다.
가상 머신 실행부(120)는 가상 머신부(130)에 포함된 복수 개의 가상 머신들 중에서 문서 파일의 확장자에 대응되는 문서 편집기의 서로 다른 버전이 설치된 하나 이상의 가상 머신을 선택하고, 선택된 가상 머신으로 문서 파일을 전달한다. 예를 들어, 문서 파일의 확장자가 "doc"인 경우, 가상 머신 실행부(120)는 마이크로소프트 오피스 워드의 XP 버전, 2003 버전, 2007 버전 또는 2010 버전이 설치된 가상 머신을 선택할 수 있다.
가상 머신부(130)는 문서 편집기의 특정 버전이 미리 설치된 복수 개의 가상 머신들을 포함한다. 이때, 문서 편집기의 버전이 다양할수록 다수의 가상 머신들이 필요하다. 예를 들어, 가상 머신부(130)는 마이크로소프트 오피스 워드의 XP 버전이 설치된 가상 머신을 포함할 수 있고, 마이크로소프트 오피스 워드의 2003 버전이 설치된 가상 머신을 포함할 수도 있다.
여기서, 가상 머신부(130)은 운영 체제의 종류 및 버전 별로 문서 편집기의 서로 다른 버전이 설치된 복수 개의 가상 머신들을 포함할 수도 있다. 예를 들어, 가상 머신부(130)는 윈도우의 XP 버전 및 마이크로소프트 오피스 워드의 XP 버전이 설치된 가상 머신을 포함할 수 있고, 그리고 윈도우 Vista 버전 및 마이크로소프트 오피스 워드의 XP 버전이 설치된 가상 머신을 포함할 수도 있다.
가상 머신부(130)에 포함된 복수 개의 가상 머신들 각각은 미리 설치된 문서 편집기를 통해 문서 파일을 실행하고, 미리 설치된 행위 분석 프로그램을 이용하여 문서 파일의 실행에 따른 해당 가상 머신의 작동 상태를 포함하는 행위 분석 결과를 생성할 수 있다. 여기서, 복수 개의 가상 머신들 각각은 문서 파일의 실행에 따른 파일, 레지스트리(registry), 프로세스(process), 네트워크 등의 작동 상태를 로깅(logging)하여 행위 분석 결과를 생성할 수 있다.
가상 머신부(130)에 포함된 복수 개의 가상 머신들 각각은 미리 지정된 파일 실행 방식들에 따라 문서 파일을 실행할 수 있다. 여기서, 복수 개의 가상 머신들 각각은 문서 편집기를 실행 후 실행된 문서 편집기로 파일을 실행하는 제1 파일 실행 방식, 프로세스 실행 함수를 이용하여 함수 인자로 분석 대상 파일명을 전달하여 파일을 실행하는 제2 파일 실행 방식, 그리고 명령 프롬프트를 이용하여 파일을 실행하는 제3 파일 실행 방식에 따라 문서 파일을 실행할 수 있다. 이때, 제2 파일 실행 방식은 프로세스 생성 함수(CreateProcess)를 이용할 수 있다. 또한, 제3 파일 실행 방식은 "cmd.exe /C <문서 파일명>" 형식의 명령 프롬프트를 이용할 수 있으며, 이는 사용자가 파일을 더블클릭(double click)하여 실행하는 방식에 대응될 수 있다.
결과 분석부(140)는 복수 개의 가상 머신들로부터 전달된 행위 분석 결과들을 수집하고, 수집된 행위 분석 결과들을 비교하여 작동 상태가 상이한 행위 분석 결과를 검출한다. 여기서, 결과 분석부(140)는 하나의 문서 파일에 대한 문서 편집기의 버전에 따른 행위 분석 결과들을 비교하여 작동 상태가 상이한 행위 분석 결과를 검출할 수 있다. 이때, 결과 분석부(140)는 행위 분석 결과들에 대한 분석 결과를 분석 결과 저장부(150)로 전달할 수 있다.
분석 결과 저장부(150)는 결과 분석부(140)로부터 행위 분석 결과들에 대한 분석 결과를 전달받아 저장하며, 사용자가 분석 결과를 열람할 수 있는 인터페이스를 제공한다.
악성코드 식별부(160)는 결과 분석부(140)에서 검출된 행위 분석 결과가 허용되지 아니한 작동 상태를 포함하는지 판단하여 해당 문서 파일에 악성코드가 삽입되었는지를 판단하고, 판단결과에 따라 해당 문서 파일을 문서기반 악성코드가 삽입된 악성 문서 파일로 결정할 수 있다. 여기서, 악성코드 식별부(160)는 해당 문서 파일에 악성코드가 삽입되었다고 판단된 경우, 결과 분석부(140)에서 검출된 행위 분석 결과를 이용하여 해당 악성코드가 실행될 수 있는 조건들 즉, 운영체제의 버전, 문서 편집기의 버전 및 파일 실행 방식을 검출할 수 있다. 이때, 악성코드 식별부(160)는 문서 파일의 실행에 따른 작동 상태에 대한 블랙 리스트(black list) 또는 화이트 리스트(white list)를 이용하여 악성코드가 삽입되었는지를 판단할 수 있다.
예를 들어, 마이크로소프트 오피스 워드의 2003 버전에서만 문서 파일을 실행 중에 네트워크 접속 로깅이 존재하는 경우, 악성코드 식별부(160)는 해당 문서 파일이 마이크로소프트 오피스 워드의 2003 버전의 보안 취약점을 공격하는 문서기반 악성코드를 포함하는 악성 문서 파일이라고 결정할 수 있다.
다음, 도 2를 참고하여 본 발명의 실시 예에 따른 가상 머신부에 대해 설명한다.
도 2는 본 발명의 실시 예에 따른 가상 머신부의 구성을 도시한 도면이다.
도 2에 도시된 바와 같이, 가상 머신부(130)는 스케줄러(210), 제1 가상 머신(131), 제2 가상 머신(132) 및 결과 취합부(230)를 포함한다. 여기서, 가상 머신부(130)는 문서 편집기의 버전에 따라 하나 이상의 가상 머신을 더 포함할 수 있다.
스케줄러(210)는 가상 머신 실행부(120)로부터 전달된 문서 파일을 미리 정해진 스케줄에 따라 제1 가상 머신(131) 및 제2 가상 머신(132)으로 전달한다. 여기서, 스케줄러(210)는 문서 파일을 동시에 제1 가상 머신(131) 및 제2 가상 머신(132)으로 전달할 수 있고, 문서 파일을 순차적으로 제1 가상 머신(131) 및 제2 가상 머신(132)으로 전달할 수도 있다.
제1 가상 머신(131)은 스케줄러(210)로부터 전달된 문서 파일을 미리 설치된 문서 편집기의 제1 버전으로 실행하고, 행위 분석 프로그램을 이용하여 문서 편집기의 제1 버전을 통한 문서 파일의 실행에 따른 작동 상태를 분석하여 제1 행위 분석 결과를 생성한다.
제2 가상 머신(132)는 스케줄러(210)로부터 전달된 문서 파일을 미리 설치된 문서 편집기의 제2 버전으로 실행하고, 행위 분석 프로그램을 이용하여 문서 편집기의 제2 버전을 통한 문서 파일의 실행에 따른 작동 상태를 분석하여 제2 행위 분석 결과를 생성한다.
결과 취합부(230)는 제1 가상 머신(131)과 제2 가상 머신(132)에서 생성된 제1 행위 분석 결과 및 제2 행위 분석 결과를 취합하여 취합된 결과를 결과 분석부(140)로 전달한다.
다음, 도 3을 참고하여 본 발명의 실시 예에 따른 결과 분석부에서 작동 상태가 상이한 행위 분석 결과를 검출하는 방법에 대해 설명한다.
도 3은 본 발명의 실시 예에 따른 행위 분석 결과를 표로 도시한 도면이다.
도 3에 도시된 바와 같이, 결과 분석부(140)는 행위 분석 결과표(300)에 따라 작동 상태가 상이한 행위 분석 결과를 검출할 수 있다.
행위 분석 결과표(300)는 운영 체제 버전(310), 문서 편집기 버전(320), 파일 실행 방식(330) 및 분석 결과(340)로 구성된다.
운영 체제 버전(310)은 "Windows XP(SP1)", "Windows XP(SP2)", "Windows Vista" 또는 "Windows 7"으로 구분될 수 있다.
문서 편집기 버전(320)은 "Office XP", "Office 2003" 또는 "Office 2007"로 구분될 수 있다.
파일 실행 방식(330)은 "제1 방식", "제2 방식" 또는 "제3 방식"으로 구분될 수 있다. 여기서, "제1 방식"은 문서 편집기를 실행 후 문서 파일을 여는 방식에 해당하고, "제2 방식"은 프로세스 실행 함수를 이용하여 함수 인자로 분석 대상 파일명을 전달하여 문서 파일을 실행하는 방식에 해당하며, "제3 방식"은 명령 프롬프트를 이용하여 문서 파일을 실행하는 방식에 해당할 수 있다.
결과 분석부(140)는 운영 체제 버전(310)이 "Windows XP(SP1)"이고, 문서 편집기 버전(320)이 "Office XP"이며, 파일 실행 방식(330)이 "제1 방식"인 경우에 분석 결과를 "취약"으로 결정할 수 있다.
결과 분석부(140)는 운영 체제 버전(310)이 "Windows XP(SP1)"이고, 문서 편집기 버전(320)이 "Office XP"이며, 파일 실행 방식(330)이 "제3 방식"인 경우에 분석 결과를 "취약"으로 결정할 수 있다.
결과 분석부(140)는 운영 체제 버전(310)이 "Windows XP(SP2)"이고, 문서 편집기 버전(320)이 "Office XP"이며, 파일 실행 방식(330)이 "제1 방식"인 경우에 분석 결과를 "취약"으로 결정할 수 있다.
결과 분석부(140)는 운영 체제 버전(310)이 "Windows XP(SP2)"이고, 문서 편집기 버전(320)이 "Office XP"이며, 파일 실행 방식(330)이 "제3 방식"인 경우에 분석 결과를 "취약"으로 결정할 수 있다.
다음, 도 4를 참고하여 본 발명의 실시 예에 따른 문서기반 악성코드 탐지 방법에 대해 설명한다.
도 4는 본 발명의 실시 예에 따른 문서기반 악성코드 탐지 방법을 도시한 도면이다.
도 4에 도시된 바와 같이, 먼저, 확장자 식별부(110)는 입력된 문서 파일의 확장자를 식별한다(S100).
다음, 가상 머신 실행부(120)는 가상 머신부(130)에 포함된 복수 개의 가상 머신들 중에서 문서 파일의 확장자에 대응되는 문서 편집기가 설치된 가상 머신들을 선택한다(S110). 이때, 가상 머신 실행부(120)는 문서 파일의 확장자에 대응하여 운영 체제의 버전 별로 해당 문서 편집기의 서로 다른 버전이 설치된 가상 머신들을 선택할 수 있다.
이후, 가상 머신부(130)는 선택된 가상 머신들을 이용하여 서로 다른 실행 조건들로 문서 파일을 실행한다(S120). 여기서, 각 실행 조건은 운영 체제의 버전, 문서 편집기의 버전, 또는 파일 실행 방식에 따라 결정된다.
다음, 가상 머신부(130)는 행위 분석 프로그램을 통해 각 실행 조건에서 문서 파일의 실행에 따른 각 가상 머신의 작동 상태를 포함하는 행위 분석 결과를 생성하여 서로 다른 실행 조건들에 각각 대응되는 행위 분석 결과들을 생성한다(S130).
이후, 결과 분석부(140)는 서로 다른 실행 조건들에 각각 대응되는 행위 분석 결과들을 수집한다(S140).
다음, 결과 분석부(140)는 수집된 행위 분석 결과들을 비교하여 작동 상태가 상이한 행위 분석 결과를 검출한다(S150).
이후, 악성코드 식별부(160)는 검출된 행위 분석 결과가 허용되지 아니한 작동 상태를 포함하는지 판단하여 해당 문서 파일에 악성코드가 삽입되었는지를 판단한다(S160). 여기서, 악성코드 식별부(160)는 검출된 행위 분석 결과가 미리 결정된 화이트 리스트 또는 블랙 리스트에 따라 허용되지 아니한 작동 상태를 포함하고 있는지를 비교할 수 있다. 이때, 악성코드 식별부(160)는 검출된 행위 분석 결과가 허용되지 아니한 작동 상태를 포함하는 경우, 문서 파일을 악성코드가 삽입된 악성 문서 파일로 판단할 수 있다. 또한, 악성코드 식별부(160)는 검출된 행위 분석 결과가 허용되는 작동 상태만을 포함하는 경우, 문서 파일에 악성코드가 삽입되지 않았다고 판단할 수 있다.
S160의 판단결과에 따라, 문서 파일을 악성 문서 파일로 판단하는 경우, 악성코드 식별부(160)는 검출된 행위 분석 결과에 대응되는 실행 조건을 이용하여 악성 문서 파일에 삽입된 악성코드가 실행되는 조건에 해당하는 악성코드 동작 조건을 검출한다(S170). 여기서, 악성코드 동작 조건은 운영 체제의 버전, 문서 편집기의 버전 및 파일 실행 방식을 포함한다. 이때, 악성코드 동작 조건은 검출된 행위 분석 결과의 실행 조건에 대응될 수 있다.
이상에서와 같이 도면과 명세서에서 최적의 실시 예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100: 악성코드 탐지 장치 110: 확장자 식별부
120: 가상 머신 실행부 130: 가상 머신부
131: 제1 가상 머신 132: 제2 가상 머신
140: 결과 분석부 150: 분석 결과 저장부
160: 악성코드 식별부 210: 스케줄러
230: 결과 취합부

Claims (14)

  1. 운영 체제의 버전 별로 문서 편집기의 서로 다른 버전이 설치된 복수 개의 가상 머신들중에서 선택된 하나 이상의 가상 머신이, 입력된 문서 파일을 상기 설치된 문서 편집기를 통해 실행하고 미리 설치된 행위 분석 프로그램을 이용하여 상기 문서 파일의 실행에 따른 해당 가상 머신의 작동 상태를 포함하는 행위 분석 결과를 생성하되, 상기 실행된 문서 편집기로 상기 문서 파일을 실행하는 방식, 프로세스 실행 함수를 이용하여 상기 문서 파일을 실행하는 방식, 및 명령 프롬프트를 이용하여 상기 문서 파일을 실행하는 방식으로 상기 문서 파일을 실행하는 단계;
    상기 행위 분석 프로그램을 이용하여 상기 다수의 파일 실행 방식에 근거한 상기 문서 파일의 실행에 따른 해당 가상 머신의 작동 상태를 포함하는 행위 분석 결과들을 수집하는 단계;
    상기 수집한 행위 분석 결과들을 비교하여 작동 상태가 상이한 행위 분석 결과를 검출하는 단계;
    상기 검출된 행위 분석 결과로부터 상기 문서 파일이 악성코드가 삽입된 악성 문서 파일인지를 판단하는 단계; 및
    상기 문서 파일이 상기 악성 문서 파일인 경우, 상기 검출된 행위 분석 결과를 이용하여 상기 악성코드가 실행될 수 있는 조건을 검출하는 단계를 포함하는 것을 특징으로 하는 문서기반 악성코드 탐지 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 청구항 1에 있어서,
    상기 행위 분석 결과들은
    상기 문서 파일의 실행에 따른 파일, 레지스트리, 프로세스 또는 네트워크 중 하나 이상의 작동 상태를 각각 포함하는 문서기반 악성코드 탐지 방법.
  7. 청구항 6에 있어서,
    상기 악성 문서 파일인지를 판단하는 단계는
    상기 검출된 행위 분석 결과가 허용되지 않는 작동 상태를 포함하는지를 판단하여 상기 문서 파일이 상기 악성 문서 파일인지를 판단하는 문서기반 악성코드 탐지 방법.
  8. 청구항 1에 있어서,
    상기 악성코드가 실행될 수 있는 조건은,
    상기 악성코드가 삽입된 문서 파일을 실행시킨 해당 운영 체제의 버전과 해당 문서 편집기의 버전 및 파일 실행 방식을 포함하는 것을 특징으로 하는 문서기반 악성코드 탐지 방법.
  9. 운영 체제의 버전 별로 문서 편집기의 서로 다른 버전이 설치된 복수 개의 가상 머신들을 포함하고, 상기 복수 개의 가상 머신들 각각은 입력된 문서 파일을 상기 설치된 문서 편집기를 통해 실행하고 미리 설치된 행위 분석 프로그램을 이용하여 상기 문서 파일의 실행에 따른 해당 가상 머신의 작동 상태를 포함하는 행위 분석 결과를 생성하고, 상기 복수 개의 가상 머신들 각각은 상기 실행된 문서 편집기로 상기 문서 파일을 실행하는 방식, 프로세스 실행 함수를 이용하여 상기 문서 파일을 실행하는 방식, 및 명령 프롬프트를 이용하여 상기 문서 파일을 실행하는 방식으로 상기 문서 파일을 실행하는 가상 머신부;
    상기 복수 개의 가상 머신들 중에서 상기 문서 파일의 확장자에 대응되는 문서 편집기가 설치된 가상 머신들을 선택하고, 선택된 가상 머신들이 상기 문서 파일을 실행하도록 상기 선택된 가상 머신들로 상기 문서 파일을 전달하는 가상 머신 실행부;
    상기 선택된 가상 머신들로부터 상기 다수의 파일 실행 방식에 근거한 상기 문서 파일의 실행에 따른 행위 분석 결과들을 수집하고, 상기 행위 분석 결과들을 비교하여 작동 상태가 상이한 행위 분석 결과를 검출하는 결과 분석부; 및
    검출된 상기 행위 분석 결과를 이용하여 상기 문서 파일에 악성코드가 삽입되었는지를 식별하는 악성코드 식별부를 포함하는 것을 특징으로 하는 문서기반 악성코드 탐지 장치.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 청구항 9에 있어서,
    상기 악성코드 식별부는
    상기 문서 파일에 상기 악성코드가 삽입된 경우, 상기 검출된 행위 분석 결과에 대응되는 가상 머신에 설치된 운영 체제의 버전 및 상기 문서 편집기의 버전을 검출하여 상기 악성코드의 실행 조건을 식별하는 문서기반 악성코드 탐지 장치.
  14. 청구항 9에 있어서,
    상기 악성코드 식별부는
    상기 검출된 행위 분석 결과가 허용되지 아니한 작동 상태를 포함하는지를 판단하여 상기 문서 파일에 상기 악성코드가 삽입되었는지를 식별하는 문서기반 악성코드 탐지 장치.
KR1020110048713A 2011-05-23 2011-05-23 문서기반 악성코드 탐지 장치 및 방법 KR101262228B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110048713A KR101262228B1 (ko) 2011-05-23 2011-05-23 문서기반 악성코드 탐지 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110048713A KR101262228B1 (ko) 2011-05-23 2011-05-23 문서기반 악성코드 탐지 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20120130626A KR20120130626A (ko) 2012-12-03
KR101262228B1 true KR101262228B1 (ko) 2013-05-15

Family

ID=47514669

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110048713A KR101262228B1 (ko) 2011-05-23 2011-05-23 문서기반 악성코드 탐지 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101262228B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102162995B1 (ko) * 2018-11-16 2020-10-07 주식회사 베일리테크 가상 및 리얼 머신 기반의 악성코드 탐지 시스템 및 방법
CN111027052A (zh) * 2019-01-31 2020-04-17 深圳市安之天信息技术有限公司 基于应用程序版本虚拟机文档判别方法、装置及存储设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038273A (ja) * 2002-06-28 2004-02-05 Kddi Corp コンピュータウィルス検査装置及び方法、コンピュータプログラム、メールゲートウェイシステム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038273A (ja) * 2002-06-28 2004-02-05 Kddi Corp コンピュータウィルス検査装置及び方法、コンピュータプログラム、メールゲートウェイシステム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DATA-DRIVEN DETECTION OF MALICIOUS DOCUMENT*

Also Published As

Publication number Publication date
KR20120130626A (ko) 2012-12-03

Similar Documents

Publication Publication Date Title
JP5908132B2 (ja) プログラムの脆弱点を用いた攻撃の探知装置および方法
RU2571723C2 (ru) Система и способ для снижения нагрузки на операционную систему при работе антивирусного приложения
Bai et al. A malware detection scheme based on mining format information
EP2955658B1 (en) System and methods for detecting harmful files of different formats
US9336390B2 (en) Selective assessment of maliciousness of software code executed in the address space of a trusted process
EP3039608B1 (en) Hardware and software execution profiling
US8763128B2 (en) Apparatus and method for detecting malicious files
US8042186B1 (en) System and method for detection of complex malware
Lindorfer et al. Lines of malicious code: Insights into the malicious software industry
Zhang et al. Metaaware: Identifying metamorphic malware
KR101122650B1 (ko) 정상 프로세스에 위장 삽입된 악성코드 탐지 장치, 시스템 및 방법
US8621624B2 (en) Apparatus and method for preventing anomaly of application program
KR100942795B1 (ko) 악성프로그램 탐지장치 및 그 방법
US8904536B2 (en) Heuristic method of code analysis
Ghiasi et al. Dynamic VSA: a framework for malware detection based on register contents
EP2515250A1 (en) System and method for detection of complex malware
WO2017086837A1 (ru) Способ обнаружения вредоносных программ и элементов
Karbalaie et al. Semantic malware detection by deploying graph mining
WO2021034740A1 (en) Method, system, and storage medium for security of software components
Han et al. Malware classification methods using API sequence characteristics
Aslan Performance comparison of static malware analysis tools versus antivirus scanners to detect malware
Xu et al. Autovac: Automatically extracting system resource constraints and generating vaccines for malware immunization
Ali et al. Agent-based vs agent-less sandbox for dynamic behavioral analysis
KR101262228B1 (ko) 문서기반 악성코드 탐지 장치 및 방법
Levine et al. A methodology to characterize kernel level rootkit exploits that overwrite the system call table

Legal Events

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

Payment date: 20160328

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170406

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180406

Year of fee payment: 6