KR101288833B1 - 오피스문서를 통한 악성 프로그램 유포 차단 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체 - Google Patents

오피스문서를 통한 악성 프로그램 유포 차단 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체 Download PDF

Info

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
Application number
KR1020120010540A
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 KR1020120010540A priority Critical patent/KR101288833B1/ko
Application granted granted Critical
Publication of KR101288833B1 publication Critical patent/KR101288833B1/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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3068Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data format conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution 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

오피스문서를 통한 악성 프로그램 유포 차단 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체 {Method for preventing malicious code using office documents, and computer-readable recording medium for the same}
본 발명은 오피스문서를 실행시키는 모든 오피스 프로그램에 의해 자동 실행의 취약점을 이용하여 악성 프로그램이 유포되는 것을 효과적으로 방지하기 위한 오피스문서를 통한 악성 프로그램 유포 차단 기술에 관한 것이다.
최근들어 해킹이나 바이러스로부터의 방어 기술이 발전하여 공공기관이나 특정 기업을 대상으로 하는 공격(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]는 본 발명의 실시예에 따른 오피스문서를 통한 악성 프로그램 유포 차단 방법을 나타내는 흐름도.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
[도 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: 시스템 메모리

Claims (8)

  1. 특정 파일에 대한 응용프로그램이 실행되면, 상기 응용프로그램이 파일을 읽기 위한 시스템 함수인 NtMApViewOfSection과 NtReadFile 중 하나 이상에 대한 후킹 설정을 완료한 후 상기 응용프로그램에서 실행하기 위한 상기 파일에 대해 감시대상 초기화(Risk Level = 0)를 수행하는 제 1 단계;
    상기 파일에 대한 읽기가 수행되면, 상기 읽기를 수행하는 대상이 되는 파일(이하 '판독대상 파일')이 오피스파일인지 여부를 판단하는 제 2 단계;
    상기 제 2 단계의 판단 결과 상기 판독대상 파일이 오피스파일인 경우에는 상기 파일을 읽은 상기 응용프로그램에 대해 감시대상 1단계 설정(Risk Level = 1)을 시행하는 제 3 단계;
    상기 응용프로그램을 기초로 상기 오피스파일로 인해 실행되는 실행 프로그램을 구현하기 위한 초기 설정을 수행하는 제 4 단계;
    상기 실행 프로그램이 악성 프로그램인지 여부를 판단하는 제 5 단계;
    상기 제 5 단계에서의 판단 결과 상기 실행 프로그램이 악성 프로그램인 경우에는 상기 실행 프로그램에 대해 감시대상 2단계 설정(Risk Level = 2)을 설정하는 제 6 단계;
    상기 감시대상 1단계 설정된 응용프로그램에서 상기 감시대상 2단계 설정된 실행 프로그램에 대한 실행 시도를 차단하는 제 7 단계;
    를 포함하여 구성되는 오피스문서를 통한 악성 프로그램 유포 차단 방법.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 제 2 단계는 상기 시스템 함수 NtMApViewOfSection에 의한 상기 파일에 대한 읽기가 수행되면 상기 파일의 내부코드가 미리 설정된 제 1 매직넘버(OxE011CFD0)에 대응되는지 여부를 통해 상기 판독대상 파일이 오피스파일인지 여부를 판단하는 것을 특징으로 하는 오피스문서를 통한 악성 프로그램 유포 차단 방법.
  4. 청구항 3에 있어서,
    상기 제 5 단계는 상기 실행 프로그램의 내부 코드가 미리 설정된 제 2 매직넘버(Ox5A4D)에 대응되는 경우에 상기 실행 프로그램을 악성 프로그램으로 판단하는 것을 특징으로 하는 오피스문서를 통한 악성 프로그램 유포 차단 방법.
  5. 특정 파일에 대한 응용프로그램이 실행되면, 상기 응용프로그램이 파일을 읽기 위한 시스템 함수인 NtMApViewOfSection과 NtReadFile 중 하나 이상에 대한 후킹 설정이 완료되면 응용프로그램에서 실행되기 위한 파일에 대해 감시대상 초기화(Risk Level = 0)를 수행하는 감시초기화 수단(13a);
    상기 파일에 대한 읽기가 수행되면, 상기 읽기를 수행하는 대상이 되는 파일(이하 '판독대상 파일')이 오피스파일인지 판단하고, 그 결과 상기 판독대상 파일이 오피스파일인 경우에는 상기 파일을 읽은 상기 응용프로그램에 대해 감시대상 1단계 설정(Risk Level = 1)을 시행하는 감시1단계-설정수단(13b);
    상기 응용프로그램을 기초로 상기 오피스파일로 인해 실행되는 실행 프로그램을 구현하기 위한 초기 설정을 수행한 뒤, 상기 실행 프로그램이 악성 프로그램인지 여부를 판단하고, 그 결과 상기 실행 프로그램이 악성 프로그램인 경우에는 상기 실행 프로그램에 대해 감시대상 2단계 설정(Risk Level = 2)을 시행하는 감시2단계-설정수단(13c);
    상기 감시대상 1단계 설정된 응용프로그램에서 상기 감시대상 2단계 설정된 실행 프로그램에 대해 실행 시도를 차단하는 실행차단수단(13d);
    을 구비하여 이루어지는 오피스문서를 통한 악성 프로그램 유포의 차단 프로그램을 기록한 컴퓨터로 판독가능한 기록매체.
  6. 삭제
  7. 청구항 5에 있어서,
    상기 감시1단계-설정수단(13b)은 상기 NtMApViewOfSection에 의한 상기 파일에 대한 읽기가 수행되면, 상기 파일의 내부코드가 미리 설정된 제 1 매직넘버(OxE011CFD0)에 대응되는지 여부를 통해 상기 판독대상 파일이 오피스파일인지 여부를 판단하는 것을 특징으로 하는 오피스문서를 통한 악성 프로그램 유포의 차단 프로그램을 기록한 컴퓨터로 판독가능한 기록매체.
  8. 청구항 7에 있어서,
    상기 감시2단계-설정수단(13c)은 상기 실행 프로그램의 내부코드가 미리 설정된 제 2 매직넘버(Ox5A4D)에 대응되는 경우에 상기 실행 프로그램을 악성 프로그램으로 판단하는 것을 특징으로 하는 오피스문서를 통한 악성 프로그램 유포의 차단 프로그램을 기록한 컴퓨터로 판독가능한 기록매체.
KR1020120010540A 2012-02-01 2012-02-01 오피스문서를 통한 악성 프로그램 유포 차단 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체 KR101288833B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 한국전자통신연구원 파일에 삽입된 악성 코드 제거 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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