KR101288833B1 - 오피스문서를 통한 악성 프로그램 유포 차단 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체 - Google Patents
오피스문서를 통한 악성 프로그램 유포 차단 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체 Download PDFInfo
- Publication number
- KR101288833B1 KR101288833B1 KR1020120010540A KR20120010540A KR101288833B1 KR 101288833 B1 KR101288833 B1 KR 101288833B1 KR 1020120010540 A KR1020120010540 A KR 1020120010540A KR 20120010540 A KR20120010540 A KR 20120010540A KR 101288833 B1 KR101288833 B1 KR 101288833B1
- Authority
- KR
- South Korea
- Prior art keywords
- file
- program
- office
- read
- application program
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000012544 monitoring process Methods 0.000 claims abstract description 57
- 230000000903 blocking effect Effects 0.000 claims description 25
- 230000006870 function Effects 0.000 claims description 13
- 241000700605 Viruses Species 0.000 abstract description 7
- 230000003211 malignant effect Effects 0.000 abstract 3
- 230000002265 prevention Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 6
- 230000002155 anti-virotic effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
Images
Classifications
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- 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/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3068—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data format conversion
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/105—Arrangements for software license management or administration, e.g. for managing licenses at corporate level
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 오피스문서를 통한 악성 프로그램 유포 차단 방법, 그리고 오피스문서를 통한 악성 프로그램 유포 차단 프로그램을 기록한 컴퓨터로 판독가능한 기록매체에 관한 것으로, 응용프로그램이 실행된 뒤, 응용프로그램에서 실행되기 위한 파일에 대해 감시대상 초기화(Risk Level = 0)를 수행한다. 이후, 파일에 대한 읽기가 수행되면, 파일이 오피스파일인지 여부를 판단하여 오피스파일인 경우, 파일을 읽은 응용프로그램에 대해 감시대상 1단계 설정한다(Risk Level = 1). 마지막으로, 응용프로그램을 기초로 실행되는 실행 프로그램을 구현하기 위한 초기 설정을 수행한 뒤, 실행 프로그램이 악성 프로그램인 경우, 실행 프로그램에 대해 감시대상 2단계 설정한 뒤(Risk Level = 2), 응용 프로그램을 기초로 실행 프로그램에 대한 실행 시도를 차단한다. 이를 통해, 악성 프로그램에 감염된 오피스문서의 유포에 따른 피해를 차단함으로써 악성 프로그램에 의한 해킹과 바이러스로부터 안전하게 사용자 단말을 사용할 수 있는 효과를 제공한다.
Description
본 발명은 오피스문서를 실행시키는 모든 오피스 프로그램에 의해 자동 실행의 취약점을 이용하여 악성 프로그램이 유포되는 것을 효과적으로 방지하기 위한 오피스문서를 통한 악성 프로그램 유포 차단 기술에 관한 것이다.
최근들어 해킹이나 바이러스로부터의 방어 기술이 발전하여 공공기관이나 특정 기업을 대상으로 하는 공격(attack)의 경우 네트워크를 통한 직접 공격은 상당히 어려워지고 있다. 그에 따라 해커들은 기업 또는 특정 사용자의 메일 주소 또는 메신저의 기본 정보를 입수하여 이를 통해 악성 프로그램이 포함된 오피스 계열 문서를 메일로 보내고 이를 받은 사용자가 해당 문서를 무심결에 여는 순간 바이러스 또는 해킹에 노출되는 사례가 늘어나고 있다.
종래에는 이미 바이러스 또는 해킹에 대한 방식이 알려진 오피스문서는 안티 바이러스 프로그램의 진단 패턴으로 등록하여 차단하는 방법은 있으나, 변형된 바이러스 및 해킹 방식에 대해선 공공기관 및 특정 기업에서는 보안에 대해 거의 무방비 상태가 되고 있다. 즉, 지금까지는 해커의 표적이 된 어떤 대상이 일단 피해를 입은 후에 해당 파일을 수집하여 안티 바이러스의 패턴으로 등록을 하게 되고, 그 이후에야 추가적인 피해를 막는 형태로 있어왔다.
오피스 프로그램의 경우에는 기업이나 관공서에서 광범위하게 사용되고 있음에도 불구하고 의외로 무수히 많은 보안상 취약점이 존재한다. 오피스 프로그램의 보안상 취약점은 지금까지 다수 발견되었으며 지금도 많은 해커들에 의해 지속적으로 발견되고 있다.
결과적으로 종래의 악성 샘플 파일을 수집하고 진단 패턴을 등록하여 추가적인 피해를 막는 방법으로는 해킹 기술의 발전으로 인한 제로-데이 공격을 차단할 수밖에 없는 문제점이 있어 왔다.
[관련기술문헌]
1. 악성 프로그램을 탐지하는 프로그램이 저장된 기록 매체 및 악성 프로그램 탐지 방법(특허출원 제10-2006-0073334호)
2. 악성 프로그램을 검사하기 위하여 컴퓨터 프로그램의 행동을 모델링하는 방법 및 장치(특허출원 제10-2007-0091117호)
본 발명의 목적은 별도의 진단 패턴 모듈 내지 제거 패턴 모듈을 구비하지 않고서도 악성 프로그램에 감염된 오피스문서의 유포에 따른 피해를 자동으로 일단 차단함으로써 악성 프로그램에 의한 해킹과 바이러스로부터 안전하게 사용자 단말을 사용하기 위한 오피스문서를 통한 악성 프로그램 유포 차단 기술을 제공함에 있다.
이러한 과제를 달성하기 위한 본 발명에 따른 오피스문서를 통한 악성 프로그램 유포 차단 방법은, 응용프로그램에서 실행하기 위한 파일에 대해 감시대상 초기화(Risk Level = 0)를 수행하는 제 1 단계; 파일에 대한 읽기가 수행되면, 판독대상 파일이 오피스파일인지 여부를 판단하는 제 2 단계; 제 2 단계의 판단 결과 판독대상 파일이 오피스파일인 경우에는 파일을 읽은 응용프로그램에 대해 감시대상 1단계 설정(Risk Level = 1)을 시행하는 제 3 단계; 응용프로그램을 기초로 오피스파일로 인해 실행되는 실행 프로그램을 구현하기 위한 초기 설정을 수행하는 제 4 단계; 실행 프로그램이 악성 프로그램인지 여부를 판단하는 제 5 단계; 제 5 단계에서의 판단 결과 실행 프로그램이 악성 프로그램인 경우에는 실행 프로그램에 대해 감시대상 2단계 설정(Risk Level = 2)을 설정하는 제 6 단계; 감시대상 1단계 설정된 응용프로그램에서 감시대상 2단계 설정된 실행 프로그램에 대한 실행 시도를 차단하는 제 7 단계;를 포함하여 구성된다.
본 발명에서 감시대상 초기화(Risk Level = 0)를 수행하는 단계는 응용프로그램이 파일을 읽기 위해 시스템 함수인 NtMApViewOfSection 또는 NtReadFile에 대한 후킹(hooking)이 완료되면 파일에 대해 감시대상 초기화를 수행하도록 구성되는 것이 바람직하다.
또한, 파일이 오피스파일인지 여부를 판단하는 단계는 NtMApViewOfSection에 의한 파일에 대한 읽기가 수행되면, 파일이 미리 설정된 제 1 매직넘버(OxE011CFD0)인지 여부를 통해 위 파일이 오피스파일인지 여부를 판단하도록 구성되는 것이 바람직하다.
또한, 실행 프로그램에 대한 실행 시도를 차단하는 단계는 실행 프로그램이 미리 설정된 제 2 매직넘버(Ox5A4D)에 해당하는 경우에 악성 프로그램으로 판단하도록 구성되는 것이 바람직하다.
이러한 과제를 달성하기 위한 본 발명에 따른 오피스문서를 통한 악성 프로그램 유포 차단 프로그램을 기록한 컴퓨터로 판독가능한 기록매체는, 응용프로그램에서 실행되기 위한 파일에 대해 감시대상 초기화(Risk Level = 0)를 수행하는 감시초기화 수단(13a); 파일에 대한 읽기가 수행되면, 판독대상 파일이 오피스파일인지 판단하고, 그 결과 판독대상 파일이 오피스파일인 경우에는 파일을 읽은 응용프로그램에 대해 감시대상 1단계 설정(Risk Level = 1)을 시행하는 감시1단계-설정수단(13b); 응용프로그램을 기초로 오피스파일로 인해 실행되는 실행 프로그램을 구현하기 위한 초기 설정을 수행한 뒤, 실행 프로그램이 악성 프로그램인지 여부를 판단하고, 그 결과 실행 프로그램이 악성 프로그램인 경우에는 실행 프로그램에 대해 감시대상 2단계 설정(Risk Level = 2)을 시행하는 감시2단계-설정수단(13c); 감시대상 1단계 설정된 응용프로그램에서 감시대상 2단계 설정된 실행 프로그램에 대해 실행 시도를 차단하는 실행차단수단(13d);을 구비하여 이루어진다.
이때, 감시초기화 수단(13a)은 응용프로그램이 파일을 읽기 위해 시스템 함수인 NtMApViewOfSection 또는 NtReadFile에 대한 후킹(hooking)이 완료되면 파일에 대해 감시대상 초기화를 수행하는 것이 바람직하다. 또한, 감시1단계-설정수단(13b)은 NtMApViewOfSection에 의한 파일에 대한 읽기가 수행되면, 당해 파일이 미리 설정된 제 1 매직넘버(OxE011CFD0)인지 여부를 통해 오피스파일인지 여부를 판단하는 것이 바람직하다. 또한, 감시2단계-설정수단(13c)은 실행 프로그램이 미리 설정된 제 2 매직넘버(Ox5A4D)에 해당하는 경우 악성프로그램으로 판단하는 것이 바람직하다.
본 발명에 따르면, 악성 프로그램에 감염된 오피스문서의 유포에 따른 피해를 차단함으로써 악성 프로그램에 의한 해킹과 바이러스로부터 안전하게 사용자 단말을 사용할 수 있는 편의를 제공한다.
보다 구체적으로, MS 워드, MS 파워포인트, 한컴 등과 같은 오피스 프로그램의 취약점을 이용하여 악성 프로그램이 포함된 오피스문서를 열기만 하여도 사용자 모르게 실행되는 악성 프로그램을 원천 차단할 수 있다.
[도 1]은 본 발명의 실시예에 따른 오피스문서를 통한 악성 프로그램 유포 차단 방법이 구현되는 사용자 단말의 구성을 나타내는 도면.
[도 2]와 [도 3]은 정상 오피스문서와 악성 프로그램 코드가 포함된 오피스문서를 각각 나타낸 도면.
[도 4]는 이메일을 통해 받은 오피스문서를 열었을 때 실행되는 악성 프로그램 동작의 일 예를 나타낸 도면.
[도 5]는 본 발명의 실시예에 따른 오피스문서를 통한 악성 프로그램 유포 차단 방법을 나타내는 흐름도.
[도 2]와 [도 3]은 정상 오피스문서와 악성 프로그램 코드가 포함된 오피스문서를 각각 나타낸 도면.
[도 4]는 이메일을 통해 받은 오피스문서를 열었을 때 실행되는 악성 프로그램 동작의 일 예를 나타낸 도면.
[도 5]는 본 발명의 실시예에 따른 오피스문서를 통한 악성 프로그램 유포 차단 방법을 나타내는 흐름도.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
[도 1]은 본 발명의 실시예에 따른 오피스문서를 통한 악성 프로그램 유포 차단 방법이 구현되는 사용자 단말(10)의 구성을 나타내는 도면이다. [도 1]을 참조하면, 사용자 단말(10)은 송수신부(11), 제어부(12), 오피스 보안모듈(13), 저장부(14), 시스템 메모리(15)를 포함한다.
송수신부(11)는 시스템 메모리(15) 상에서 구현되는 응용프로그램의 제어에 따라 외부로부터 파일을 수신하여 저장부(14)에 저장되도록 한다.
제어부(12)는 송수신부(11), 오피스 보안모듈(13), 저장부(14), 시스템 메모리(15)의 동작을 전반적으로 제어하는 구성으로서, 특히 오피스 보안모듈(13)과의 연동을 통해 본 발명에 따른 오피스파일 보안정책이 구현되도록 한다. 구체적으로는, 사용자가 전자 메일, 인터넷 익스플로러, 메신저 등과 같은 응용프로그램을 통해 오피스문서를 주고 받을 때에는 아무런 차단 장치 없이 통과가 가능하면서도, 사용자가 이렇게 제공받은 오피스파일을 해당 응용프로그램인 오피스 프로그램을 통하여 열려고 할 때, 취약점을 이용한 악의적인 프로그램이 자동 실행되는 것을 차단하도록 한다.
오피스 보안모듈(13)은 감시초기화 수단(13a), 감시1단계-설정수단(13b), 그리고 감시2단계-설정수단(13c)을 구비하며, 오피스 계열의 응용프로그램에서 실행되는 파일을 읽은 응용프로그램이 실행 프로그램을 생성한 후, 생성된 실행 프로그램을 실행시키는 것을 감시함으로써, 악의적인 실행을 판단하게 된다.
감시초기화 수단(13a)은 송수신부(11)를 통해 수신된 파일을 저장부(14)에 저장된 후나 이미 저장부(14)에 저장이 완료된 뒤, 특정 파일에 대한 사용자에 의해 입력부(미도시)로의 입력에 따른 실행 요청을 전달받는다.
이후, 감시초기화 수단(13a)은 시스템 메모리(15) 상에서 사용자에 의해 요청된 파일에 대한 응용프로그램이 실행된 뒤, 응용프로그램이 파일을 읽기 위해 시스템 함수인 NtMApViewOfSection 또는 NtReadFile에 대한 후킹 설정이 완료되면, 응용프로그램에서 실행되기 위한 파일에 대해 감시대상 초기화(Risk Level = 0)를 수행한다.
한편, 사용자 단말(10) 상에서 수행되는 모든 응용프로그램이 특정의 파일을 읽을 수 있도록 커널 측에서의 시스템 함수인 NtReadFile과 NtMapViewOfSection이 마련되어 있는데, 일반적인 응용프로그램은 대부분 NtReadFile을 통해 파일의 내용을 읽는다. 이에 반해 오피스 계열의 응용프로그램은 반드시 NtMapViewOfSection을 통하여 파일을 읽는다.
감시1단계-설정수단(13b)은 시스템 함수인 NtMApViewOfSection 또는 NtReadFile 중 NtMApViewOfSection에 의한 응용프로그램 파일에 대한 읽기가 수행되면, 당해 응용프로그램에서 읽기가 수행되는 판독대상 파일의 내부코드가 오피스파일에 해당하는 미리 설정된 제 1 매직넘버인 "OxE011CFD0"에 대응하는지 여부를 판단한다.
그 판단 결과 미리 설정된 제 1 매직넘버인 "OxE011CFD0"에 대응하여 오피스파일에 해당한다고 판단되는 경우에 감시1단계-설정수단(13b)은 오피스파일에 대한 감시대상 1단계 설정(Risk Level = 1)을 시행한다.
즉, 감시1단계-설정수단(13b)은 저장부(14)로부터 로딩된 판독대상 파일의 포맷이 매직넘버(Magic number for Mircosoft Office files)로 OxE011CFD0을 갖는 오피스문서인 경우에는 오피스문서에 해당하는 파일을 읽은 응용프로그램을 감시대상 1 단계로 기록하는 것이다.
감시1단계-설정수단(13b)은 시스템 함수인 NtWriteFile 실행을 통해 응용프로그램을 기초로 실행되는 실행 프로그램이 시스템 메모리(15) 상으로의 구현을 위한 초기 설정을 수행한다. 여기서 실행 프로그램은 판독된 파일(오피스파일) 안에 포함된 데이터에 의해 구현된다.
그리고 나서, 감시2단계-설정수단(13c)은 시스템 메모리(15) 상으로 구현을 위한 실행 프로그램의 내부코드가 미리 설정된 제 2 매직넘버(Ox5A4D)에 대응되는지 여부를 판단한다. 감시2단계-설정수단(13c)은 실행 프로그램의 내부코드가 미리 설정된 제 2 매직넘버에 대응되여 실행 프로그램을 악성 프로그램이라고 판단한 경우에는 당해 실행 프로그램에 대해서 감시대상 2단계 설정(Risk Level = 2)을 시행한다. 보다 구체적으로 살펴보면, 감시2단계-설정수단(13c)은 감시대상 1 단계로 설정된 응용프로그램이 NtWriteFile을 통해 실행 프로그램(Ox5A4D)을 생성할 경우에 감시대상 2 단계로 설정하고, 바람직하게는 당해 실행 프로그램의 이름을 저장부(14)에 저장한다.
그리고 나서, 실행차단수단(13d)는 감시대상 2 단계로 설정된 실행 프로그램의 실행을 차단한다. 바람직하게는, 앞서 감시대상 1단계 설정된 응용 프로그램을 기초로 감시대상 2 단계로 설정된 실행 프로그램에 대한 실행 시도가 있을 때에 그 실행 시도를 차단한다.
[도 2]와 [도 3]은 정상 오피스문서와 악성 프로그램이 포함된 오피스문서를 각각 나타낸 도면으로서, 본 발명에 따른 오피스문서를 통한 악성 프로그램 유포 차단 방법을 설명할 목적으로 제시된 것이다. [도 2]는 정상적인 오피스문서 중 엠에스워드(MS Word) 파일을 나타내고, [도 3]은 악성 프로그램 코드가 포함된 엠에스워드 파일을 나타낸다. [도 3]을 살펴보면 [도 2]와는 달리 주소 0x00008C00에서 코드 0x5A4D가 발견되는데, 이로부터 [도 3]의 엠에스워드 파일에 악성 프로그램 코드가 포함되어 있음을 판단할 수 있다.
또한, [도 4]는 이메일을 통해 받은 오피스문서를 열었을 때 실행되는 악성 프로그램 동작의 일 예를 나타낸 도면이다. 아웃룩 이메일 프로그램 상에서 엠에스워드 파일인 '작계5027변천.doc'을 읽으면, 이를 위해 응용프로그램 WINWORD.EXE가 실행되고, 이로부터 fixcomdos.exe가 실행되면서 침투가 이루어지는 과정이 도시되어 있다. 이 악성 프로그램은 외부의 IP주소 '221.147.48.247'과 접속하여 로컬 컴퓨터의 내부정보를 외부로 유출하는 의도를 가진 것으로, 전형적인 악성 코드에 해당한다.
[도 5]는 본 발명의 실시예에 따른 오피스문서를 통한 악성 프로그램 유포 차단 방법을 나타내는 흐름도이다. [도 1] 내지 [도 5]를 참조하면, 오피스 보안모듈(13)은 시스템 메모리(15) 상에서 응용프로그램이 실행된 뒤, 응용프로그램이 파일을 읽기 위해 시스템 함수인 NtMApViewOfSection 또는 NtReadFile에 대한 후킹 설정이 완료되면, 응용프로그램에서 실행되기 위한 파일에 대해 감시대상 초기화(Risk Level = 0)를 수행한다(S1).
보다 구체적으로, 사용자 단말(10) 상에서 수행되는 모든 응용프로그램이 파일을 읽을 때는 커널 측에서의 시스템 함수인 NtReadFile과 NtMapViewOfSection이 이 존재하는데, 일반적인 응용프로그램은 대부분 NtReadFile을 통해 파일의 내용을 읽는다. 이에 반해 오피스 계열의 응용프로그램은 반드시 NtMapViewOfSection을 통하여 파일을 읽는다.
단계(S1) 이후, 시스템 함수인 NtMApViewOfSection 또는 NtReadFile 중 NtMApViewOfSection에 의한 응용프로그램 파일에 대한 읽기가 수행되면(S2), 오피스 보안모듈(13)은 응용프로그램에서 읽기가 수행되는 파일의 내부 코드가 오피스파일에 해당하는 미리 설정된 제 1 매직넘버인 "OxE011CFD0"에 대응하는지 여부를 판단한다(S3).
단계(S3)의 판단결과, 미리 설정된 제 1 매직넘버인 "OxE011CFD0"에 대응하는 경우에는 오피스 보안모듈(13)은 오피스파일에 대한 감시대상 1단계 설정(Risk Level = 1)을 시행한다(S4). 즉, 오피스 보안모듈(13)은 저장부(14)에 로드된 파일의 포맷이 매직넘버(Magic number for Mircosoft Office files)로 OxE011CFD0을 갖는 오피스문서인 경우 오피스문서에 해당하는 파일을 읽은 응용프로그램을 감시대상 1 단계로 기록하는 것이다.
단계(S4) 이후, 오피스 보안모듈(13)은 시스템 함수인 NtWriteFile 실행을 통해 단계(S1)에서 실행되고 있는 응용프로그램을 기초로 실행되는 실행 프로그램이 시스템 메모리(15) 상으로의 구현을 위한 초기 설정을 수행한다(S5).
단계(S5) 이후, 오피스 보안모듈(13)은 파일에 포함된 시스템 메모리(15) 상으로 구현을 위한 실행 프로그램의 내부코드가 미리 설정된 제 2 매직넘버(Ox5A4D)에 대응하는지 여부를 판단한다(S6).
단계(S6) 판단결과, 실행 프로그램이 미리 설정된 제 2 매직넘버에 대응하는 경우에는 오피스 보안모듈(13)은 감시대상 2단계 설정(Risk Level = 2)을 시행한다(S7). 그 후에는, 오피스 보안모듈(13)은 감시대상 1단계 설정된 응용 프로그램을 기초로 이루어지는 감시대상 2단계 설정된 실행 프로그램에 대한 실행 시도를 차단한다(S8).
보다 구체적으로, 오피스 보안모듈(13)은 단계(S4)에서 감시대상 1 단계로 확인된 응용프로그램이 NtWriteFile을 통해 파일에 포함된 실행 프로그램(Ox5A4D)을 생성할 경우 감시대상 2 단계로 설정하고, 실행 프로그램의 이름을 저장부(14)에 저장한다. 이후, 오피스 보안모듈(13)은 프로그램 실행 단계에서 응용 프로그램이 감시대상 2 단계로 설정된 실행 프로그램의 실행을 시도할 때 이를 차단하는 것이다.
한편, 단계(S6)의 판단결과, 미리 설정된 제 2 매직넘버에 해당하지 않는 경우, 오피스 보안모듈(13)은 단계(S1)에서의 응용 프로그램을 기초로 실행 프로그램에 대한 실행이 수행되도록 한다(S9).
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드의 형태로 구현하는 것이 가능하다. 이때, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 캐리어웨이브(예: 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산된 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인 프로그램, 코드, 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상과 같이, 본 명세서와 도면에는 본 발명의 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예가 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명하다.
10: 사용자 단말
11: 송수신부
12: 제어부
13: 오피스 보안모듈
13a: 감시초기화 수단
13b: 감시1단계-설정수단
13c: 감시2단계-설정수단
13d: 실행차단수단
14: 저장부
15: 시스템 메모리
11: 송수신부
12: 제어부
13: 오피스 보안모듈
13a: 감시초기화 수단
13b: 감시1단계-설정수단
13c: 감시2단계-설정수단
13d: 실행차단수단
14: 저장부
15: 시스템 메모리
Claims (8)
- 특정 파일에 대한 응용프로그램이 실행되면, 상기 응용프로그램이 파일을 읽기 위한 시스템 함수인 NtMApViewOfSection과 NtReadFile 중 하나 이상에 대한 후킹 설정을 완료한 후 상기 응용프로그램에서 실행하기 위한 상기 파일에 대해 감시대상 초기화(Risk Level = 0)를 수행하는 제 1 단계;
상기 파일에 대한 읽기가 수행되면, 상기 읽기를 수행하는 대상이 되는 파일(이하 '판독대상 파일')이 오피스파일인지 여부를 판단하는 제 2 단계;
상기 제 2 단계의 판단 결과 상기 판독대상 파일이 오피스파일인 경우에는 상기 파일을 읽은 상기 응용프로그램에 대해 감시대상 1단계 설정(Risk Level = 1)을 시행하는 제 3 단계;
상기 응용프로그램을 기초로 상기 오피스파일로 인해 실행되는 실행 프로그램을 구현하기 위한 초기 설정을 수행하는 제 4 단계;
상기 실행 프로그램이 악성 프로그램인지 여부를 판단하는 제 5 단계;
상기 제 5 단계에서의 판단 결과 상기 실행 프로그램이 악성 프로그램인 경우에는 상기 실행 프로그램에 대해 감시대상 2단계 설정(Risk Level = 2)을 설정하는 제 6 단계;
상기 감시대상 1단계 설정된 응용프로그램에서 상기 감시대상 2단계 설정된 실행 프로그램에 대한 실행 시도를 차단하는 제 7 단계;
를 포함하여 구성되는 오피스문서를 통한 악성 프로그램 유포 차단 방법.
- 삭제
- 청구항 1에 있어서,
상기 제 2 단계는 상기 시스템 함수 NtMApViewOfSection에 의한 상기 파일에 대한 읽기가 수행되면 상기 파일의 내부코드가 미리 설정된 제 1 매직넘버(OxE011CFD0)에 대응되는지 여부를 통해 상기 판독대상 파일이 오피스파일인지 여부를 판단하는 것을 특징으로 하는 오피스문서를 통한 악성 프로그램 유포 차단 방법.
- 청구항 3에 있어서,
상기 제 5 단계는 상기 실행 프로그램의 내부 코드가 미리 설정된 제 2 매직넘버(Ox5A4D)에 대응되는 경우에 상기 실행 프로그램을 악성 프로그램으로 판단하는 것을 특징으로 하는 오피스문서를 통한 악성 프로그램 유포 차단 방법.
- 특정 파일에 대한 응용프로그램이 실행되면, 상기 응용프로그램이 파일을 읽기 위한 시스템 함수인 NtMApViewOfSection과 NtReadFile 중 하나 이상에 대한 후킹 설정이 완료되면 응용프로그램에서 실행되기 위한 파일에 대해 감시대상 초기화(Risk Level = 0)를 수행하는 감시초기화 수단(13a);
상기 파일에 대한 읽기가 수행되면, 상기 읽기를 수행하는 대상이 되는 파일(이하 '판독대상 파일')이 오피스파일인지 판단하고, 그 결과 상기 판독대상 파일이 오피스파일인 경우에는 상기 파일을 읽은 상기 응용프로그램에 대해 감시대상 1단계 설정(Risk Level = 1)을 시행하는 감시1단계-설정수단(13b);
상기 응용프로그램을 기초로 상기 오피스파일로 인해 실행되는 실행 프로그램을 구현하기 위한 초기 설정을 수행한 뒤, 상기 실행 프로그램이 악성 프로그램인지 여부를 판단하고, 그 결과 상기 실행 프로그램이 악성 프로그램인 경우에는 상기 실행 프로그램에 대해 감시대상 2단계 설정(Risk Level = 2)을 시행하는 감시2단계-설정수단(13c);
상기 감시대상 1단계 설정된 응용프로그램에서 상기 감시대상 2단계 설정된 실행 프로그램에 대해 실행 시도를 차단하는 실행차단수단(13d);
을 구비하여 이루어지는 오피스문서를 통한 악성 프로그램 유포의 차단 프로그램을 기록한 컴퓨터로 판독가능한 기록매체.
- 삭제
- 청구항 5에 있어서,
상기 감시1단계-설정수단(13b)은 상기 NtMApViewOfSection에 의한 상기 파일에 대한 읽기가 수행되면, 상기 파일의 내부코드가 미리 설정된 제 1 매직넘버(OxE011CFD0)에 대응되는지 여부를 통해 상기 판독대상 파일이 오피스파일인지 여부를 판단하는 것을 특징으로 하는 오피스문서를 통한 악성 프로그램 유포의 차단 프로그램을 기록한 컴퓨터로 판독가능한 기록매체.
- 청구항 7에 있어서,
상기 감시2단계-설정수단(13c)은 상기 실행 프로그램의 내부코드가 미리 설정된 제 2 매직넘버(Ox5A4D)에 대응되는 경우에 상기 실행 프로그램을 악성 프로그램으로 판단하는 것을 특징으로 하는 오피스문서를 통한 악성 프로그램 유포의 차단 프로그램을 기록한 컴퓨터로 판독가능한 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120010540A KR101288833B1 (ko) | 2012-02-01 | 2012-02-01 | 오피스문서를 통한 악성 프로그램 유포 차단 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120010540A KR101288833B1 (ko) | 2012-02-01 | 2012-02-01 | 오피스문서를 통한 악성 프로그램 유포 차단 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101288833B1 true KR101288833B1 (ko) | 2013-08-23 |
Family
ID=49219522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120010540A KR101288833B1 (ko) | 2012-02-01 | 2012-02-01 | 오피스문서를 통한 악성 프로그램 유포 차단 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101288833B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101749903B1 (ko) * | 2016-11-11 | 2017-06-26 | 주식회사 안랩 | 비실행형 파일의 악성여부 검사시스템 및 비실행형 파일의 악성여부 검사 방법 |
KR101772439B1 (ko) * | 2016-01-22 | 2017-08-29 | 주식회사 안랩 | 파일보호시스템 및 파일 보호 방법 |
CN109840181A (zh) * | 2018-12-26 | 2019-06-04 | 山东中创软件商用中间件股份有限公司 | 一种事件同步方法、装置、设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060067117A (ko) * | 2004-12-14 | 2006-06-19 | 한국전자통신연구원 | 악성 코드가 숨겨진 오피스 문서 탐지장치 및 그 방법 |
KR20080054770A (ko) * | 2006-12-13 | 2008-06-19 | (주)네오위즈게임즈 | 소프트웨어 스트리밍을 제공하는 적재기 및 방법 |
KR20090052596A (ko) * | 2007-11-21 | 2009-05-26 | 한국전자통신연구원 | 악성프로그램 탐지장치 및 그 방법 |
KR20090060712A (ko) * | 2007-12-10 | 2009-06-15 | 한국전자통신연구원 | 파일에 삽입된 악성 코드 제거 장치 및 방법 |
-
2012
- 2012-02-01 KR KR1020120010540A patent/KR101288833B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060067117A (ko) * | 2004-12-14 | 2006-06-19 | 한국전자통신연구원 | 악성 코드가 숨겨진 오피스 문서 탐지장치 및 그 방법 |
KR20080054770A (ko) * | 2006-12-13 | 2008-06-19 | (주)네오위즈게임즈 | 소프트웨어 스트리밍을 제공하는 적재기 및 방법 |
KR20090052596A (ko) * | 2007-11-21 | 2009-05-26 | 한국전자통신연구원 | 악성프로그램 탐지장치 및 그 방법 |
KR20090060712A (ko) * | 2007-12-10 | 2009-06-15 | 한국전자통신연구원 | 파일에 삽입된 악성 코드 제거 장치 및 방법 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101772439B1 (ko) * | 2016-01-22 | 2017-08-29 | 주식회사 안랩 | 파일보호시스템 및 파일 보호 방법 |
KR101749903B1 (ko) * | 2016-11-11 | 2017-06-26 | 주식회사 안랩 | 비실행형 파일의 악성여부 검사시스템 및 비실행형 파일의 악성여부 검사 방법 |
WO2018088844A1 (ko) * | 2016-11-11 | 2018-05-17 | 주식회사 안랩 | 비실행형 파일의 악성여부 검사시스템 및 비실행형 파일의 악성여부 검사 방법 |
CN109840181A (zh) * | 2018-12-26 | 2019-06-04 | 山东中创软件商用中间件股份有限公司 | 一种事件同步方法、装置、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8713631B1 (en) | System and method for detecting malicious code executed by virtual machine | |
US11489855B2 (en) | System and method of adding tags for use in detecting computer attacks | |
JP5326062B1 (ja) | 非実行ファイル検査装置及び方法 | |
US9846776B1 (en) | System and method for detecting file altering behaviors pertaining to a malicious attack | |
RU2683152C1 (ru) | Системы и способы отслеживания вредоносного поведения по множеству объектов программных средств | |
US9571520B2 (en) | Preventing execution of task scheduled malware | |
RU2531861C1 (ru) | Система и способ оценки вредоносности кода, исполняемого в адресном пространстве доверенного процесса | |
Fedler et al. | On the effectiveness of malware protection on android | |
EP3039608B1 (en) | Hardware and software execution profiling | |
RU2468426C2 (ru) | Преобразование файла в ограниченном процессе | |
US7530106B1 (en) | System and method for security rating of computer processes | |
US20210306360A1 (en) | Cybersecurity incident detection systems and techniques | |
US9195828B2 (en) | System and method for prevention of malware attacks on data | |
EP2515250A1 (en) | System and method for detection of complex malware | |
US20110283358A1 (en) | Method and system to detect malware that removes anti-virus file system filter driver from a device stack | |
RU2723665C1 (ru) | Динамический индикатор репутации для оптимизации операций по обеспечению компьютерной безопасности | |
CN110119619B (zh) | 创建防病毒记录的系统和方法 | |
EP2208303A2 (en) | Method and system for protecting a computer against malicious software | |
KR101288833B1 (ko) | 오피스문서를 통한 악성 프로그램 유포 차단 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체 | |
US8640242B2 (en) | Preventing and detecting print-provider startup malware | |
CN110348180B (zh) | 一种应用程序启动控制方法和装置 | |
Shibija et al. | A machine learning approach to the detection and analysis of android malicious apps | |
EP1902384B1 (en) | Securing network services using network action control lists | |
RU2587426C2 (ru) | Система и способ обнаружения направленных атак на корпоративную инфраструктуру | |
CN111158937A (zh) | 基于内核驱动的软件核心文件内生防护方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160704 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170626 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180702 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20190715 Year of fee payment: 7 |