KR20130078960A - 오피스 프로그램의 취약점을 이용한 악성코드의 행위기반 진단 및 차단방법 - Google Patents
오피스 프로그램의 취약점을 이용한 악성코드의 행위기반 진단 및 차단방법 Download PDFInfo
- Publication number
- KR20130078960A KR20130078960A KR1020120000151A KR20120000151A KR20130078960A KR 20130078960 A KR20130078960 A KR 20130078960A KR 1020120000151 A KR1020120000151 A KR 1020120000151A KR 20120000151 A KR20120000151 A KR 20120000151A KR 20130078960 A KR20130078960 A KR 20130078960A
- Authority
- KR
- South Korea
- Prior art keywords
- malicious code
- document file
- office
- file
- monitoring
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/629—Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Virology (AREA)
- Bioethics (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 오피스 프로그램(MS Office, 아래한글, Acrobat Reader 등)의 취약점을 이용하여 문서에 삽입된 악성코드를 악성파일의 패턴 기반이 아닌 악성코드의 행위 기반으로 진단 및 차단하는 방법에 관한 것이다. 본 발명은 악성코드의 패턴을 인식하는 것이 아니라, 오피스 프로그램의 취약점을 공격하는 악성코드의 행위를 탐지하고 이를 차단하는 악성코드의 행위기반 진단 및 차단방법을 제공하는 데에 목적이 있다. 상술한 목적을 달성하기 위한 본 발명은 오피스 프로그램의 실행을 감시하는 오피스 프로그램 감시부; 상기 오피스 프로그램에서 자식 프로세스를 실행하는 것을 감시하는 자식 프로세스 감시부; 상기 오피스 프로그램에서 실행파일을 생성하는 것을 감시하는 실행파일 생성 감시부; 상기 오피스 프로그램에서 네트워크를 사용하는 것을 감시하는 네트워크 사용 감시부; 및 상기 자식 프로세스 감시부, 실행파일 생성 감시부 및 네트워크 사용 감시부에서 탐지된 행위가 사전에 등록된 행위인지 판단하여 사전에 등록된 행위가 아닌 경우 악성코드로 판단하는 악성코드 탐지부;를 포함하는 악성코드 탐지모듈을 제공한다. 본 발명에 의하면 백신 프로그램(Anti-Virus) 등의 보안프로그램에 패턴이 알려지지 않은 악성코드에 대해서도 악성코드의 행위를 탐지하여 대응이 가능하며, 특히 APT 공격에 대해 대응할 수 있는 효과가 있다.
Description
본 발명은 오피스 프로그램(MS Office, 아래한글, Acrobat Reader 등)의 취약점을 이용하여 문서에 삽입된 악성코드를 악성파일의 패턴 기반이 아닌 악성코드의 행위 기반으로 진단 및 차단하는 방법에 관한 것이다.
오피스 프로그램이란, 마이크로소프트 오피스(MS Office), 아래한글, 어도비 아크로뱃(Adobe Acrobat)과 같이 회사나 학교에서 주로 사용되는 문서나 스프레드 시트작성 소프트웨어을 말한다. 오피스 프로그램의 취약점을 이용한 악성코드란 정상파일로 보이는 문서파일에 악성코드를 삽입하여 사용자가 이를 열람하는 경우 사용자가 인식하지 못하는 사이에 악성코드가 실행되어 사용자의 컴퓨터는 물론 같은 네트워크상의 컴퓨터에도 악성코드를 감염시켜 컴퓨터의 오작동을 일으키는 악성코드를 말한다. 이러한 악성코드는 또 다른 악성코드를 다운로드 하거나, 문서파일에 포함된 실행파일을 하드디스크에 드롭(Drop)하는 행위, 다운로드 및 드롭 된 파일을 실행하거나 인젝션(Injection)하는 행위 등을 하게 된다.
악성코드가 삽입된 문서를 열람하는 경우 문서는 정상적으로 열람 되며, 해당 컴퓨터가 해당 보안 취약점에 대한 보안 패치가 되지 않은 경우 실행 경고창 등이 보이지 않고 백그라운드 프로세스로 악성코드가 실행되기 때문에 사용자는 악성코드에 감염되었는지 인지하지 못하는 특징이 있다.
이러한 악성코드는 오피스 프로그램의 취약점을 이용하기 때문에, 악성코드가 공격하는 취약점에 대한 보안패치가 아직 발표되지 않았다면(Zero-Day 취약점인 경우) 사용자의 컴퓨터에 최신 보안패치가 업데이트되어 있는 경우에도 악성코드에 감염될 수 있다. 최근 이슈가 되고 있는 APT(Advanced Persistent Threat) 공격에 오피스 프로그램의 취약점을 이용한 악성코드가 사용될 가능성이 높지만, 공격이 이루어지기 전에 악성코드 샘플 확보가 어려운 APT 공격의 특성상 패턴기반 진단방법으로는 오피스 프로그램의 취약점에 대응하는데 한계가 있으며 행위기반 탐지기법이 절실하게 요구되는 상황이다.
상술한 문제를 해결하기 위한 본 발명은 악성코드의 패턴을 인식하는 것이 아니라, 오피스 프로그램의 취약점을 이용하는 악성코드의 행위를 탐지하고 이를 차단하는 오피스 프로그램의 취약점을 이용하는 악성코드의 행위기반 진단 및 차단방법을 제공하는 데에 목적이 있다.
본 발명이 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 본 발명의 기재로부터 당해 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상술한 목적을 달성하기 위한 본 발명은 오피스 프로그램의 실행을 감시하는 오피스 프로그램 감시부; 상기 오피스 프로그램에서 자식 프로세스를 실행하는 것을 감시하는 자식 프로세스 감시부; 상기 오피스 프로그램에서 실행파일을 생성하는 것을 감시하는 실행파일 생성 감시부; 상기 오피스 프로그램에서 네트워크를 사용하는 것을 감시하는 네트워크 사용 감시부; 및 상기 자식 프로세스 감시부, 실행파일 생성 감시부 및 네트워크 사용 감시부에서 탐지된 행위가 사전에 등록된 행위인지 판단하여 사전에 등록된 행위가 아닌 경우 악성코드로 판단하는 악성코드 탐지부;를 포함하는 악성코드 탐지모듈을 제공한다.
본 발명은 상기 악성코드 탐지모듈에 있어서, 상기 오피스 프로그램이 문서파일을 열람(Open)할 경우, 상기 오피스 프로그램의 프로세스 아이디(PID), 스레드 아이디(TID), 열람한 상기 문서 파일의 경로(Path), 상기 문서 파일을 열람한 시간을 포함하는 문서파일 정보를 문서파일 리스트에 저장하는 문서 정보 저장부; 및 상기 악성코드가 탐지된 경우, 상기 문서파일 리스트에서 상기 악성코드가 탐지된 프로세스 아이디 또는 스레드 아이디를 검색하여 악성코드가 포함된 문서파일을 탐지하는 악성코드 문서파일 탐지부;를 포함하는 악성코드 탐지모듈을 제공한다.
본 발명은 상기 악성코드 탐지모듈을 이용한 악성코드 차단모듈에 있어서, 상기 악성코드가 탐지된 경우, 상기 악성코드가 탐지된 프로세스 또는 스레드를 종료하여 상기 악성코드를 차단하는 악성코드 차단부;을 포함하는 것을 특징으로 하는 악성코드 차단모듈을 제공한다.
본 발명은 오피스 프로그램의 실행을 감시하는 1단계; 상기 오피스 프로그램에서 자식 프로세스의 실행, 실행파일의 생성 및 네트워크의 사용을 감시하는 2단계; 및 상기 자식 프로세스의 실행, 실행파일의 생성 및 네트워크의 사용이 사전에 등록된 행위인지 판단하여 사전에 등록된 행위가 아닌 경우 악성코드로 판단하는 3단계;를 포함하는 악성코드 탐지방법을 제공한다.
본 발명은 상기 악성코드 탐지방법에 있어서, 상기 1단계 이후에 상기 오피스 프로그램이 문서파일을 열람(Open)할 경우, 상기 오피스 프로그램의 프로세스 아이디(PID), 스레드 아이디(TID), 열람한 상기 문서 파일의 경로(Path), 상기 문서 파일을 열람한 시간을 포함하는 문서파일 정보를 문서파일 리스트에 저장하는 단계; 및 상기 3단계에서 상기 악성코드가 탐지된 경우, 상기 문서파일 리스트에서 상기 악성코드가 탐지된 프로세스 아이디 또는 스레드 아이디를 검색하여 악성코드가 포함된 문서파일을 탐지하는 단계;를 포함하는 악성코드 탐지방법을 제공한다.
본 발명은 상기 악성코드 탐지방법을 이용하여 악성코드를 차단하는 방법에 있어서, 상기 3단계에서 상기 악성코드가 탐지된 경우, 상기 악성코드가 탐지된 프로세스 또는 스레드를 종료하여 상기 악성코드를 차단하는 단계;를 포함하는 것을 특징으로 하는 악성코드 차단방법을 제공한다.
본 발명에 의하면 백신 프로그램(Anti-Virus) 등의 보안프로그램에 패턴이 알려지지 않은 악성코드에 대해서도 악성코드의 행위를 탐지하여 대응이 가능하며, 특히 APT 공격에 대해 대응할 수 있는 효과가 있다.
또한, 본 발명은 악성코드의 특정 행위를 차단하는 행위기반 기술이기 때문에 오피스 프로그램의 취약점에 대한 패치가 이루어지기 전에 Zero-Day 취약점에 대한 악성코드의 차단이 가능하며, 일단 오피스 프로그램의 취약점을 이용한 악성코드에 감염되면 다수의 다른 악성코드가 다운로드 되는 경향이 있으므로, 본 발명으로 오피스 프로그램의 취약점을 이용하는 악성코드를 차단하면 다수의 일반 악성코드 감염을 사전에 방지하는 효과가 있다.
도1은 오피스 프로그램이 자식 프로세스를 실행하는 모습의 예시도
도2는 본 발명의 악성코드 탐지모듈의 구성요소를 나타낸 도면
도3은 본 발명의 악성코드 문서파일 탐지모듈을 포함하는 악성코드 탐지모듈의 구성요소를 나타낸 도면
도4는 본 발명의 악성코드 차단모듈의 구성요소를 나타낸 도면
도5는 수행 주체별로 악성코드의 발생부터 탐지 및 차단 과정을 나타낸 도면
도6은 본 발명의 악성코드 탐지방법의 플로차트를 나타낸 도면
도7은 본 발명의 악성코드 문서파일 탐지방법을 포함하는 악성코드 탐지방법의 플로차트를 나타낸 도면
도8은 본 발명의 악성코드 차단방법의 플로차트를 나타낸 도면
도2는 본 발명의 악성코드 탐지모듈의 구성요소를 나타낸 도면
도3은 본 발명의 악성코드 문서파일 탐지모듈을 포함하는 악성코드 탐지모듈의 구성요소를 나타낸 도면
도4는 본 발명의 악성코드 차단모듈의 구성요소를 나타낸 도면
도5는 수행 주체별로 악성코드의 발생부터 탐지 및 차단 과정을 나타낸 도면
도6은 본 발명의 악성코드 탐지방법의 플로차트를 나타낸 도면
도7은 본 발명의 악성코드 문서파일 탐지방법을 포함하는 악성코드 탐지방법의 플로차트를 나타낸 도면
도8은 본 발명의 악성코드 차단방법의 플로차트를 나타낸 도면
일반적인 오피스 프로그램의 취약점을 이용한 악성코드는 다음과 같은 경로로 전파된다. ① 공격자(Attacker)는 MS Office, 아래한글, Acrobat 등의 문서 작성 프로그램을 포함하는 오피스 프로그램의 보안 취약점을 이용(Exploit)하도록 악의적으로 만들어진 문서파일(악성코드)를 작성한다. 이러한 문서파일은 타겟이 되는 취약점에 따라 해당 오피스 프로그램에서 지원하는 형식의 파일(doc, hwp, pdf 파일 등)로 작성될 수 있다. ② 공격자는 정상 파일인 것처럼 위장한 이메일에 악성코드를 첨부하여 피공격자(Victim)에게 전송한다. ③ 피공격자는 이메일에 첨부된 문서파일 악성코드를 다운로드하거나 열람한다. ④ 피공격자의 컴퓨터가 해당 보안 취약점에 대한 보안 패치가 되지 않은 경우, 첨부된 문서파일이 오피스 프로그램에 의해 열람(Open)되는 순간 백그라운드로 악성코드가 실행되며, 실행 경고창 등이 보여지지 않기 때문에 사용자는 이를 알아채지 못한다. 악성코드에 의해 실행되는 행위는 주로 또 다른 악성코드를 다운로드(Download)하거나, 문서파일에 포함된 실행파일을 하드디스크에 드롭(Drop)하는 행위, 다운로드 또는 드롭한 파일을 실행하거나 인젝션(Injection)하는 행위 등이다.
사용자가 보안관리를 철저히 하지 않은 경우는 물론, 악성코드가 공격하는 오피스 프로그램의 취약점에 대한 보안패치가 아직 발표되지 않은 Zero-Day 취약점을 공격하는 경우에는 사용자가 컴퓨터에 최신 보안패치를 업데이트한 경우에도 악성코드에 감염될 수 있다.
상술한 바와 같이 기존의 악성코드의 파일패턴을 인식하여 차단하는 보안 프로그램의 경우 악성코드가 배포되고 감염된 후 해당 악성코드의 샘플을 수집하기 전까지는 해당 악성코드에 대해서 무방비로 노출되게 된다. 본 발명은 이러한 문제를 해결하기 위하여 악성코드 파일의 패턴이 아닌 악성코드가 감염과정에서 수행하는 세 가지 특징적인 행위를 탐지하여 악성코드가 발견되면 이를 차단하여 오피스 프로그램의 취약점을 이용하는 악성코드를 해당 악성코드의 파일 패턴을 모른다 하더라도 탐지하고 차단할 수 있다.
본 발명의 일실시예는 오피스 프로그램의 실행을 감시하는 오피스 프로그램 감시부(110), 상기 오피스 프로그램에서 자식 프로세스를 실행하는 것을 감시하는 자식 프로세스 감시부(120), 상기 오피스 프로그램에서 실행파일을 생성하는 것을 감시하는 실행파일 생성 감시부(130), 상기 오피스 프로그램에서 네트워크를 사용하는 것을 감시하는 네트워크 사용 감시부(140) 및 상기 자식 프로세스 감시부(120), 실행파일 생성 감시부(130) 및 네트워크 사용 감시부(140)에서 탐지된 행위가 사전에 등록된 행위인지 판단하여 사전에 등록된 행위가 아닌 경우 악성코드로 판단하는 악성코드 탐지부(150)를 포함하는 악성코드 탐지모듈(100)을 제공한다.
오피스 프로그램 감시부(110)는 오피스 프로그램이 실행될 경우 오피스 프로그램의 취약점을 이용한 악성코드 탐지를 시작한다. 오피스 프로그램 감시부(110)는 프로세스 콜백 함수, API(Application Protocal Interface) 후킹(Hooking) 모듈 등을 통하여 구현될 수 있다. 콜백 함수는 호출될 함수를 알려 주어 다른 프로그램 또는 다른 모듈에서 함수를 호출하게 하는 방법을 말한다. 일반적으로 운영체제(OS)가 호출할 애플리케이션의 함수를 지정해 특정한 사건 또는 메시지가 발생했을 때 호출되도록 지정할 수 있다. 본 실시예에서 사용하는 콜백 함수는 프로세스나 스레드의 생성시에 함수를 호출하여 프로세스의 실행을 감시하거나 레지스트리 변경시에 함수를 호출하여 레지스트리의 변경을 감시한다. API 후킹이란 Win32 애플리케이션에서 사용하는 API를 가로챈 후 가로챈 데이터의 내용을 보거나 또는 그 API를 호출하지 못하도록 하는 것을 말한다.
오피스 프로그램의 취약점을 이용한 악성코드가 감염되는 과정에는 세 가지 특징적인 행위가 관여하며, 오피스 프로그램을 통해서 이러한 특징적인 행위를 수행하게 된다. 이 세 가지 행위는 프로세스 실행시도, 실행파일 생성, 네트워크 사용 시도이며 본 발명에서는 오피스 프로그램으로부터 시도되는 상기 세 가지 행위를 자식 프로세스 감시부(120), 실행파일 생성 감시부(130) 및 네트워크 사용 감시부(140)를 통하여 탐지하게 된다.
자식 프로세스 감시부(120)는 오피스 프로그램에서 자식 프로세스를 실행하는 행위(CreateProcess)를 감시한다. 자식 프로세스 감시부(120)는 운영체제(OS)에 실행 파일을 생성하거나 열람(Open)하는 행위를 탐지할 수 있는 파일 시스템 필터 드라이버를 이용하여 구현할 수 있다. 파일 시스템 필터 드라이버는 파일 시스템 또는 다른 파일 시스템 필터 드라이버에 대한 요청을 가로챈다. 필터 드라이버는 이러한 요청을 원래 의도했던 대상에 도달하기 전에 가로챔으로써 이 대상이 제공하는 기능을 확장하거나 교체할 수 있다.
도1에는 오피스 프로그램 프로세스(hwp.exe, WinWord.exe 등)에서 자식 프로세스를 실행하는 행위(CreateProcess)를 나타내고 있다. EXCEL.EXE, POWERPNT.EXE, WINWORD.EXE의 각각의 오피스 프로그램 프로세스에서 calc.exe라는 자식 프로세스를 실행하는 것을 알 수 있다. 이러한 자식 프로세스를 실행하는 행위(CreateProcess)는 자식 프로세스 감시부(120)를 통하여 실시간으로 탐지된다.
실행파일 생성 감시부(130)는 오피스 프로그램에서 실행파일(PE파일)을 생성하는 행위를 감시한다. 실행파일을 생성하기 위해서는 시스템을 통하여 파일을 기록하여야 하기 때문에, 실행파일 생성 감시부(130)는 파일 시스템 필터 드라이버를 통하여 구현할 수 있다.
네트워크 사용 감시부(140)는 오피스 프로그램에서 HTTP 등 네트워크 사용시도가 있을 경우 이를 감시하는 기능을 한다. 네트워크 사용 감시부(140)는 TDI(Transport Driver Interface) 드라이버를 이용하여 구현할 수 있다.
악성코드 탐지부(150)는 자식 프로세스 감시부(120), 실행파일 생성 감시부(130), 네트워크 사용 감시부(140)에서 오피스 프로그램의 행위가 탐지된 경우, 정상적인 행위로 사전에 등록한 행위가 아닌 경우 악성코드로 판단한다. 일반적인 보안 프로그램은 파일이나 폴더기반으로 화이트 리스트(White List)를 작성하여 해당 영역에서 일어난 악성코드 의심 행위를 허용하는 방식으로 운영되지만, 본 발명은 특정한 행위를 정상적인 행위로 등록하는 행위기반의 화이트 리스트를 운영하게 된다. 오피스 프로그램에서 수행되는 정상적인 자식 프로세스 생성, 실행파일 생성 및 네트워크 사용은 그 종류가 한정되므로, 해당하는 몇 가지 행위만 화이트 리스트에 추가하면 그 외의 행위에 대해서는 광범위하게 악성코드의 행위로 판단하여 검출하게 된다. 실제로 해당 모듈을 테스트해본 결과 높은 정확도로 Zero-Day 취약점을 공격하는 악성코드를 파일패턴 없이도 탐지해 내는 현저한 효과가 나타났다.
본 발명에 적용된 행위기반의 화이트 리스트는 다음과 같다. 하기의 %WINDIR%은 윈도우 운영체제의 디렉토리, %PROGRAMFILES%는 설치 프로그램의 디렉토리를 뜻하며, 실행파일에 경로가 없는 프로세스는 해당 파일의 위치가 고정되지 않는 프로세스이다.
오피스 프로그램에서 수행되는 정상적인 프로세스의 실행으로는 ① 오피스 프로그램의 관련 프로세스가 %WINDIR%\spool\drivers 경로의 파일들을 실행하는 경우, ② 오피스 프로그램의 관련 프로세스가 %WINDIR%\splwow64 경로의 프로세스들을 실행하는 경우, ③ 오피스 프로그램 중 마이크로소프트 오피스(MS Office) 관련 프로세스가 clview.exe를 실행하는 경우, ④ 오피스 프로그램 관련 프로세스가 dw20.exe를 실행하는 경우, ⑤ 오피스 프로그램 중 아래아 한글 관련 프로세스가 hjimesv.exe를 실행하는 경우, ⑥ 오피스 프로그램 중 마이크로소프트 오피스(MS Office) 관련 프로세스가 offlb.exe를 실행하는 경우, ⑦ 오피스 프로그램 관련 프로세스가 자기 자신을 실행하는 경우, ⑧ 오피스 프로그램 중 Adobe 관련 프로세스가 %PROGRAMFILES%\ADOBE 아래 모든 파일을 실행하는 경우를 포함한다. ①②의 경우는 정상적인 프린터 스풀 작업 프로세스이고, ③의 경우는 정상적인 오피스 도움말 프로세스이고, ④의 경우 정상적인 윈도우 오류 보고 프로세스이고, ⑤⑥⑦⑧의 경우 정상적인 해당 프로그램의 작업 프로세스에 해당한다.
오피스 프로그램에서 수행되는 정상적인 실행파일의 생성(DROP)으로는 ① 오피스 프로그램 중 Adobe 관련 프로세스가 %PROGRAMFILES%\ADOBE 아래 파일을 생성하는 경우, ② 오피스 프로그램 관련 프로세스가 자기 실행파일과 동일한 디렉토리에 파일을 생성하는 경우를 포함한다.
오피스 프로그램에서 수행되는 정상적인 네트워크 사용의 패턴은 아직 알려진바 없으나 추후의 연구에 의해서 특정한 패턴이 발견될 경우 화이트 리스트에 포함될 수 있다.
상술한 화이트 리스트에 포함되는 행위는 이에 한정되는 것은 아니며, 현재까지 알려진 행위 이외에 정상적인 행위로 발견되면 화이트 리스트에 추가될 수 있고, 상기 화이트 리스트를 이용하는 악성코드가 발견될 경우 화이트 리스트에서 제외될 수 있다.
본 발명의 일실시예는 상기 오피스 프로그램이 문서파일을 열람(Open)할 경우, 상기 오피스 프로그램의 프로세스 아이디(PID), 스레드 아이디(TID), 열람한 상기 문서 파일의 경로(Path), 상기 문서 파일을 열람한 시간을 포함하는 문서파일 정보를 문서파일 리스트에 저장하는 문서 정보 저장부(210) 및 상기 악성코드가 탐지된 경우, 상기 문서파일 리스트에서 상기 악성코드가 탐지된 프로세스 아이디 또는 스레드 아이디를 검색하여 악성코드가 포함된 문서파일을 탐지하는 악성코드 문서파일 탐지부(220)를 포함하는 악성코드 탐지모듈(100, 200)을 제공한다.
악성코드 감염 행위가 탐지된 경우, 패턴기반의 보안 프로그램과 연계하여 해당 악성코드를 차단하기 위해서는 문서 파일의 샘플 확보가 필수적이다. 행위기판의 악성코드 탐지만을 이용할 경우 악성코드를 탐지하는 것은 가능하지만, 해당 악성코드가 정확히 어떤 악성코드인지는 알기 어렵기 때문에 패턴기반의 보안 프로그램과의 연계는 중요한 의미를 가진다.
악성코드에 의해 실행이 차단된 실행파일(EXE 파일)이나 드롭이 탐지된 악성 DLL 파일이 아닌 악성코드가 포함된 원본 문서파일(HWP, DOC, PDF 등의 파일)의 샘플을 확보하기 위해서 문서정보를 저장하고, 악성코드가 탐지된 경우 미리 기록된 문서정보를 통해서 문서파일을 탐지하는 기능이 필요하다.
문서 정보 저장부(210)는 오피스 프로그램이 문서파일을 열람(Open)할 경우, 상기 오피스 프로그램의 프로세스 아이디(PID), 스레드 아이디(TID), 열람한 상기 문서 파일의 경로(Path), 상기 문서 파일을 열람한 시간을 포함하는 문서파일 정보를 문서파일 리스트에 저장하는 기능을 하고, 문서파일 탐지부(220)는 악성코드가 탐지된 경우, 상기 문서파일 리스트에서 상기 악성코드가 탐지된 프로세스 아이디 또는 스레드 아이디를 검색하여 악성코드가 포함된 문서파일을 탐지하는 기능을 한다. 오피스 프로그램에서의 파일실행 행위, 실행파일 생성행위, 다운로드 행위 등이 탐지되면 문서파일 리스트에서 해당 프로세스 혹은 스레드에서 마지막으로 열람한 파일을 검색한다. 파일이 발견될 경우 해당 파일이 악성코드가 된다.
본 발명의 일실시예는 상기 악성코드 탐지모듈(100, 200)을 이용한 악성코드 차단모듈에 있어서, 상기 악성코드가 탐지된 경우, 상기 악성코드가 탐지된 프로세스 또는 스레드를 종료하여 상기 악성코드를 차단하는 악성코드 차단부(310)을 포함하는 것을 특징으로 하는 악성코드 차단모듈(300)을 제공한다.
문서정보 저장부(210)에서 악성코드 차단에 필요한 프로세스 아이디 및 스레드 아이디를 문서정보 리스트에 저장하였으므로, 악성코드 차단부(310)는 해당 프로세스 아이디 또는 스레드 아이디를 이용하여 프로세스 또는 스레드를 차단할 수 있다. 개별적으로 악성코드의 프로세스 아이디 또는 스레드 아이디를 검사하여 차단할 수도 있으니 이미 구현된 문서정보 리스트를 이용하는 것이 바람직하다.
도5에는 수행 주체별로 악성코드의 발생부터 탐지 및 차단에 이르는 과정이 나타나 있다.
본 발명의 일실시예는 오피스 프로그램의 실행을 감시하는 1단계, 상기 오피스 프로그램에서 자식 프로세스의 실행, 실행파일의 생성 및 네트워크의 사용을 감시하는 2단계 및 상기 자식 프로세스의 실행, 실행파일의 생성 및 네트워크의 사용이 사전에 등록된 행위인지 판단하여 사전에 등록된 행위가 아닌 경우 악성코드로 판단하는 3단계를 포함하는 악성코드 탐지방법을 제공한다.
도6을 참조하여 본실시예의 수행과정을 설명하면, 오피스 프로그램이 실행되고, 오피스 프로그램에서 문서를 열람하는 경우, 악성코드의 세 가지 특징적인 행위인 자식 프로세스의 실행, 실행파일의 생성 및 네트워크의 사용을 감시하기 시작한다. 해당 행위가 탐지되면 정상행위로 등록(화이트리스트에 등록)된 행위인지 판단하여 화이트리스트에 등록된 행위가 아니라면 악성코드로 판단하고 탐지한다.
본 발명의 일실시예는 상기 악성코드 탐지방법에 있어서, 상기 1단계 이후에 상기 오피스 프로그램이 문서파일을 열람(Open)할 경우, 상기 오피스 프로그램의 프로세스 아이디(PID), 스레드 아이디(TID), 열람한 상기 문서 파일의 경로(Path), 상기 문서 파일을 열람한 시간을 포함하는 문서파일 정보를 문서파일 리스트에 저장하는 단계 및 상기 3단계에서 상기 악성코드가 탐지된 경우, 상기 문서파일 리스트에서 상기 악성코드가 탐지된 프로세스 아이디 또는 스레드 아이디를 검색하여 악성코드가 포함된 문서파일을 탐지하는 단계를 포함하는 악성코드 탐지방법을 제공한다.
도7을 참조하여 본실시예의 수행과정을 설명하면, 문서파일이 열람되는 경우 악성코드의 세 가지 특징적인 행위를 감시하는 것과는 별개로, 해당 오피스 프로그램의 프로세스 아이디, 스레드 아이디, 문서 파일의 경로를 포함하는 문서파일 정보를 문서파일 리스트에 저장한다. 악성코드 탐지 과정 중 악성코드가 탐지되면 문서파일 리스트에서 최근에 열람된 문서파일을 검색하여 해당 문서파일을 악성코드의 원본문서로 판단하여 탐지한다.
본 발명의 일실시예는 상기 악성코드 탐지방법을 이용하여 악성코드를 차단하는 방법에 있어서, 상기 3단계에서 상기 악성코드가 탐지된 경우, 상기 악성코드가 탐지된 프로세스 또는 스레드를 종료하여 상기 악성코드를 차단하는 단계를 포함하는 것을 특징으로 하는 악성코드 차단방법을 제공한다.
본 실시예의 수행과정은 이미 상술한 바와 같으므로 통상의 지식을 가진자라면 상술한 내용을 통하여 용이하게 이해할 수 있을 것이다.
본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있다.
100: 악성코드 탐지모듈
110: 오피스 프로그램 감시부
120: 자식 프로세스 감시부
130: 실행파일 생성 감시부
140: 네트워크 사용 감시부
150: 악성코드 탐지부
200: 문서파일 탐지모듈
210: 문서정보 저장부
220: 문서파일 탐지부
300: 악성코드 차단 모듈
310: 악성코드 차단부
110: 오피스 프로그램 감시부
120: 자식 프로세스 감시부
130: 실행파일 생성 감시부
140: 네트워크 사용 감시부
150: 악성코드 탐지부
200: 문서파일 탐지모듈
210: 문서정보 저장부
220: 문서파일 탐지부
300: 악성코드 차단 모듈
310: 악성코드 차단부
Claims (6)
- 오피스 프로그램의 실행을 감시하는 오피스 프로그램 감시부;
상기 오피스 프로그램에서 자식 프로세스를 실행하는 것을 감시하는 자식 프로세스 감시부;
상기 오피스 프로그램에서 실행파일을 생성하는 것을 감시하는 실행파일 생성 감시부;
상기 오피스 프로그램에서 네트워크를 사용하는 것을 감시하는 네트워크 사용 감시부; 및
상기 자식 프로세스 감시부, 실행파일 생성 감시부 및 네트워크 사용 감시부에서 탐지된 행위가 사전에 등록된 행위인지 판단하여 사전에 등록된 행위가 아닌 경우 악성코드로 판단하는 악성코드 탐지부;를 포함하는 악성코드 탐지모듈.
- 제 1항에 있어서,
상기 오피스 프로그램이 문서파일을 열람(Open)할 경우, 상기 오피스 프로그램의 프로세스 아이디(PID), 스레드 아이디(TID), 열람한 상기 문서 파일의 경로(Path), 상기 문서 파일을 열람한 시간을 포함하는 문서파일 정보를 문서파일 리스트에 저장하는 문서 정보 저장부; 및
상기 악성코드가 탐지된 경우, 상기 문서파일 리스트에서 상기 악성코드가 탐지된 프로세스 아이디 또는 스레드 아이디를 검색하여 악성코드가 포함된 문서파일을 탐지하는 악성코드 문서파일 탐지부;를 포함하는 악성코드 탐지모듈.
- 제 2항의 악성코드 탐지모듈을 이용한 악성코드 차단모듈에 있어서,
상기 악성코드가 탐지된 경우, 상기 악성코드가 탐지된 프로세스 또는 스레드를 종료하여 상기 악성코드를 차단하는 악성코드 차단부;을 포함하는 것을 특징으로 하는 악성코드 차단모듈.
- 오피스 프로그램의 실행을 감시하는 1단계;
상기 오피스 프로그램에서 자식 프로세스의 실행, 실행파일의 생성 및 네트워크의 사용을 감시하는 2단계; 및
상기 자식 프로세스의 실행, 실행파일의 생성 및 네트워크의 사용이 사전에 등록된 행위인지 판단하여 사전에 등록된 행위가 아닌 경우 악성코드로 판단하는 3단계;를 포함하는 악성코드 탐지방법.
- 제 4항에 있어서,
상기 1단계 이후에 상기 오피스 프로그램이 문서파일을 열람(Open)할 경우, 상기 오피스 프로그램의 프로세스 아이디(PID), 스레드 아이디(TID), 열람한 상기 문서 파일의 경로(Path), 상기 문서 파일을 열람한 시간을 포함하는 문서파일 정보를 문서파일 리스트에 저장하는 단계; 및
상기 3단계에서 상기 악성코드가 탐지된 경우, 상기 문서파일 리스트에서 상기 악성코드가 탐지된 프로세스 아이디 또는 스레드 아이디를 검색하여 악성코드가 포함된 문서파일을 탐지하는 단계;를 포함하는 악성코드 탐지방법.
- 제 5항의 악성코드 탐지방법을 이용하여 악성코드를 차단하는 방법에 있어서,
상기 3단계에서 상기 악성코드가 탐지된 경우, 상기 악성코드가 탐지된 프로세스 또는 스레드를 종료하여 상기 악성코드를 차단하는 단계;를 포함하는 것을 특징으로 하는 악성코드 차단방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120000151A KR20130078960A (ko) | 2012-01-02 | 2012-01-02 | 오피스 프로그램의 취약점을 이용한 악성코드의 행위기반 진단 및 차단방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120000151A KR20130078960A (ko) | 2012-01-02 | 2012-01-02 | 오피스 프로그램의 취약점을 이용한 악성코드의 행위기반 진단 및 차단방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20130078960A true KR20130078960A (ko) | 2013-07-10 |
Family
ID=48991803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120000151A KR20130078960A (ko) | 2012-01-02 | 2012-01-02 | 오피스 프로그램의 취약점을 이용한 악성코드의 행위기반 진단 및 차단방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20130078960A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102560431B1 (ko) * | 2022-09-21 | 2023-07-27 | 시큐레터 주식회사 | 자식 프로세스의 악성 행위를 검사하기 위한 방법 및 이를 위한 장치 |
-
2012
- 2012-01-02 KR KR1020120000151A patent/KR20130078960A/ko not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102560431B1 (ko) * | 2022-09-21 | 2023-07-27 | 시큐레터 주식회사 | 자식 프로세스의 악성 행위를 검사하기 위한 방법 및 이를 위한 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10984097B2 (en) | Methods and apparatus for control and detection of malicious content using a sandbox environment | |
US10893068B1 (en) | Ransomware file modification prevention technique | |
EP3039608B1 (en) | Hardware and software execution profiling | |
US12079340B2 (en) | Cloud based just in time memory analysis for malware detection | |
JP6829718B2 (ja) | 複数のソフトウェアエンティティにわたって悪意あるビヘイビアを追跡するためのシステムおよび方法 | |
JP5908132B2 (ja) | プログラムの脆弱点を用いた攻撃の探知装置および方法 | |
RU2645268C2 (ru) | Сложное классифицирование для выявления вредоносных программ | |
KR101626424B1 (ko) | 가상 머신 모니터 기반 안티 악성 소프트웨어 보안 시스템 및 방법 | |
EP3732571B1 (en) | Detection of exploitative program code | |
US7665139B1 (en) | Method and apparatus to detect and prevent malicious changes to tokens | |
US20130067577A1 (en) | Malware scanning | |
US11042633B2 (en) | Methods for protecting software hooks, and related computer security systems and apparatus | |
US7607173B1 (en) | Method and apparatus for preventing rootkit installation | |
WO2015113052A1 (en) | Detecting and preventing execution of software exploits | |
KR101086203B1 (ko) | 악성 프로세스의 행위를 판단하여 사전에 차단하는 악성프로세스 사전차단 시스템 및 방법 | |
Wyss et al. | Wolf at the door: Preventing install-time attacks in npm with latch | |
CN107330328B (zh) | 防御病毒攻击的方法、装置及服务器 | |
JP2010262609A (ja) | 効率的なマルウェアの動的解析手法 | |
JP5326063B1 (ja) | デバッグイベントを用いた悪意のあるシェルコードの検知装置及び方法 | |
KR20130078960A (ko) | 오피스 프로그램의 취약점을 이용한 악성코드의 행위기반 진단 및 차단방법 | |
WO2008036665A2 (en) | Methods, media, and systems for detecting attack on a digital processing device | |
Alzaidi | The study of SSDT hook through comparative analysis between live response and memory image | |
Jakka | Runtime Monitoring Tool for Monitoring Attack Surfaces in Programs using SELinux |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |