KR20120078030A - 비 pe파일의 악성 컨텐츠 포함 여부를 판단하는 방법 및 시스템 - Google Patents

비 pe파일의 악성 컨텐츠 포함 여부를 판단하는 방법 및 시스템 Download PDF

Info

Publication number
KR20120078030A
KR20120078030A KR1020100140190A KR20100140190A KR20120078030A KR 20120078030 A KR20120078030 A KR 20120078030A KR 1020100140190 A KR1020100140190 A KR 1020100140190A KR 20100140190 A KR20100140190 A KR 20100140190A KR 20120078030 A KR20120078030 A KR 20120078030A
Authority
KR
South Korea
Prior art keywords
information
malicious content
file
item
malicious
Prior art date
Application number
KR1020100140190A
Other languages
English (en)
Other versions
KR101228900B1 (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 KR1020100140190A priority Critical patent/KR101228900B1/ko
Priority to PCT/KR2011/010309 priority patent/WO2012091488A1/en
Publication of KR20120078030A publication Critical patent/KR20120078030A/ko
Application granted granted Critical
Publication of KR101228900B1 publication Critical patent/KR101228900B1/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

Landscapes

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

Abstract

비 PE(Non-Portable Executable) 파일의 악성코드 포함 여부를 판단하는 방법 및 시스템이 개시된다. 방법은 파일 내에 악성 컨텐츠 삽입 가능 위치로부터 정보를 추출하는 단계와 추출된 정보로부터 상기 파일 내에 악성 컨텐츠가 포함되었는지 여부를 판단하는 단계를 포함한다. 악성 컨텐츠 삽입 가능 위치는 스트림 객체일 수 있다. 본 발명에 따르면, 비 PE 파일에 대해서도 효율적으로 악성 컨텐츠 포함 여부를 판단할 수 있다.

Description

비 PE파일의 악성 컨텐츠 포함 여부를 판단하는 방법 및 시스템{SYSTEM AND METHOD FOR DETECTING MALICIOUS CONTENT IN A NON-PE FILE}
본 발명은 비 PE 파일의 악성 컨텐츠 포함 여부를 판단하는 시스템 및 방법에 관한 것으로서, 구체적으로는 비 PE 파일의 구성 부분 중 악성 컨텐츠가 삽입될 수 있는 부분에 대한 정보를 이용하여 악성 컨텐츠 포함 여부를 판단하는 시스템 및 방법에 관한 것이다.
악성 컨텐츠는 프로그램의 실행, 파일의 이용, 컴퓨터의 동작 등을 방해 또는 교란하려는 목적으로 파일에 포함되는 컨텐츠로서, 취약점, 악성코드, 컴퓨터 바이러스 등을 포함한다. 이러한 악성 컨텐츠는 사용자가 원치 않는 동작을 유발하기 때문에, 악성 컨텐츠가 실행되기 전에 이를 감지하고 비활성화 또는 삭제하는 기술이 널리 연구되어 왔다.
악성 컨텐츠가 포함될 수 있는 파일의 형식 중, PE (Portable Executable) 파일은 플랫폼에 무관하게 Win32 운영체제가 실행되는 시스템에서 실행될 수 있는 파일을 의미한다. 이러한 PE 파일은 실제로 시스템 상에서 실행되는 프로그램으로서, PE 파일의 실행과 함께 악성 컨텐츠가 즉시 실행되어 컴퓨터 시스템에 악영향을 미치게 된다. 따라서, PE 파일에 포함된 악성 컨텐츠를 감지하는 방법에 대해서는 많은 연구가 이루어져 왔으며, 다양한 기술이 제시되어 왔다.
반면 비 PE (Non-PE) 파일에 대해서는, 상대적으로 이와 같은 연구가 적게 이루어져 있다. 특히, 네트워크의 발달로 인하여 실행 파일이 아닌 문서, 이미지, 동영상 등의 파일이 빈번하게 소통되고 있는데, 이러한 비 PE 파일에 악성 컨텐츠를 삽입하는 경우, 그 구조를 분석하지 않으면 컨텐츠를 발견하기 어렵다. 악성 컨텐츠 유포자들은 이러한 컨텐츠가 쉽게 탐지되지 않도록 하기 위해, 객체를 숨기는 방법을 사용하기도 하므로, 비 PE 파일에 대해서는 악성 컨텐츠 검출이 더 어렵다. 더욱이, Symantec 사의 2010년 4월부터 6월까지의 통계에 따르면, 비 PE 파일인 PDF(Portable Data Format) 파일에 악성 컨텐츠를 포함시키는 공격이 증가하고 있으며, 플래시(Flash) 컨텐츠를 포함하는 PDF 파일에 악성 컨텐츠를 포함시키는 공격은 그 비중이 급증하고 있다. 그러므로, 비 PE 파일, 특히 PDF 파일에 대해 악성 컨텐츠 삽입 여부를 검출하는 방법 및 시스템의 개발이 필요하다.
본 발명은 상술한 문제점을 인식한 것으로서, 비 PE 파일의 구성에 기초하여 악성 컨텐츠 포함 여부를 판단하고, 악성 컨텐츠의 정체를 파악할 수 있도록 하는 방법 및 시스템을 제공하는 것을 목적으로 한다.
상기 과제를 해결하기 위해, 본 발명의 일 태양에 따르면, 비PE(Non-Portable Executable) 파일의 악성 컨텐츠 포함 여부를 판단하는 방법으로서, 상기 파일 내에 악성 컨텐츠 삽입 가능 위치로부터 정보를 추출하는 단계와, 상기 추출된 정보로부터 상기 파일 내에 악성 컨텐츠가 포함되었는지 여부를 판단하는 단계를 포함하는 비PE 파일의 악성 컨텐츠 포함 판단 방법이 제공된다.
상기 판단하는 단계는, 추출된 상기 정보를 알려진 악성 컨텐츠의 정보와 비교하는 단계를 포함하는 것이 바람직하다.
상기 비PE 파일은 PDF(Portable Document Format) 파일이고, 상기 악성 컨텐츠 삽입 가능 위치는 스트림 객체일 수 있다.
상기 정보는 객체의 객체 ID, DL 항목, Params 항목, EF 항목, Type 항목, SubType 항목 및 EmbeddedFiles 항목 중 적어도 하나의 항목에 대한 정보일 수 있다.
상기 정보는 객체의 Params 항목 내의 Checksum 값인 것일 수도 있다.
상기 정보를 추출하는 단계는 2 이상의 정보를 추출하는 단계를 포함하고,
상기 판단하는 단계는 추출된 상기 2 이상의 정보를 모두 고려하여 판단하는 단계를 포함하는 것이 바람직하다.
상기 정보를 추출하는 단계는 사전 결정된 항목에 대한 정보를 추출하되, 상기 사전 결정된 항목에 대한 정보가 상기 비PE 파일에 포함되지 않은 경우, 상기 사전 결정된 항목에 대한 정보를 부재로 표시하는 것도 바람직하다.
방법은 상기 판단하는 단계에서 악성 컨텐츠가 포함된 것으로 판단되면, 상기 악성 컨텐츠에 대한 정보를 획득하기 위해 추출된 항목에 대한 정보를 이용하는 단계를 더 포함할 수 있다.
본 발명의 다른 태양에 따르면, 비PE(Non-Portable Executable) 파일의 악성 컨텐츠 포함 여부를 판단하는 시스템으로서, 상기 파일 내에 악성 컨텐츠 삽입 가능 위치로부터 정보를 추출하는 추출 수단과, 상기 추출된 정보로부터 상기 파일 내에 악성 컨텐츠가 포함되었는지 여부를 판단하는 판단 수단을 포함하는 비PE 파일의 악성 컨텐츠 포함 판단 시스템이 제공된다.
상기 판단 수단은 추출된 상기 정보를 알려진 악성 컨텐츠의 정보와 비교하는 비교 수단을 포함하는 것이 바람직하다.
상기 비PE 파일은 PDF(Portable Document Format) 파일이고, 상기 악성 컨텐츠 삽입 가능 위치는 스트림 객체일 수 있다.
상기 정보는 객체의 객체 ID, DL 항목, Params 항목, EF 항목, Type 항목, SubType 항목 및 EmbeddedFiles 항목 중 적어도 하나의 항목에 대한 정보인 것이 바람직하다.
상기 정보는 객체의 Params 항목 내의 Checksum 값일 수도 있다.
상기 추출 수단은 2 이상의 정보를 추출하고, 상기 판단 수단은 추출된 상기 2 이상의 정보를 모두 고려하여 판단을 수행하는 것이 바람직하다.
상기 추출 수단은 사전 결정된 항목에 대한 정보를 추출하되, 상기 사전 결정된 항목에 대한 정보가 상기 비PE 파일에 포함되지 않은 경우, 상기 사전 결정된 항목에 대한 정보를 부재로 표시할 수 있다.
시스템은, 상기 판단 수단이 악성 컨텐츠가 포함된 것으로 판단하면, 상기 악성 컨텐츠에 대한 정보를 획득하기 위해 추출된 항목에 대한 정보를 이용하는 수단을 더 포함하는 것이 바람직하다.
본 발명의 또 다른 태양에 따르면, 프로세서에 의해 실행되는 경우, 프로세서가 상기 방법을 수행하도록 하는 명령을 포함하는 프로그램이 저장된 컴퓨터 판독 가능 기록 매체가 제공된다.
본 발명에 의하면, 비 PE 파일에 있어서 악성 컨텐츠 삽입 가능 부분에 대한 정보를 기초로 악성 컨텐츠 삽입을 판단하므로, 악성 컨텐츠를 정확하고 효율적으로 검출할 수 있게 된다. 특히, 비 PE 파일의 기본 구조에 기초하여 악성 컨텐츠를 검출하는바, 비 PE 파일에 의한 공격을 효과적으로 막을 수 있다.
뿐만 아니라, 비 PE 파일에 포함된 다양한 정보에 기초하여 악성 컨텐트의 정체를 쉽게 파악할 수 있게 된다.
도 1은 악성 컨텐츠가 삽입된 비 PE 파일의 예시적인 구조를 도시하는 도면.
도 2는 PDF 파일의 예시적인 스트림 객체를 도시하는 도면.
도 3은 악성 컨텐츠가 포함된 예시적인 스트림 객체를 도시하는 도면.
도 4는 본 발명의 일 실시형태에 따른 악성 컨텐츠 포함 판단 방법을 설명하는 흐름도.
도 5는 본 발명의 일 실시형태에 따른 악성 컨텐츠 포함 판단 시스템을 도시하는 블록도.
이하, 첨부된 도면을 참조하여 본 발명의 구체적인 실시형태를 설명한다.
도 1은 악성 컨텐츠가 삽입된 비 PE 파일의 예시적인 구조를 도시하는 도면이다. 일반적으로 비 PE 파일은, 파일의 종류 및 기타 파일에 대한 정보를 나타내기 위한 헤더(10)와 파일의 내용인 바디(20)를 포함한다. 바디(20)에는 다양한 컨텐츠가 포함될 수 있는데, 이들은 대체로 객체(object)의 형태로 포함된다. 도 1(a)의 예에서는 플래시 객체(22)와 PE 객체(24) 포함되어 있는데, 이들이 모두 악성 컨텐츠가 될 수 있다. 다르게는, 도 1(b)에서와 같이 폰트 정보인 TTF 객체(26)와 PE 객체(24)가 포함될 수 있으며, 이들 역시 악성 컨텐츠가 될 수 있다. 따라서, 비 PE 파일에 있어서는 각 개체의 내용을 살펴봄으로써, 악성 컨텐츠의 포함 여부를 파악할 수 있다. 그러나, 모든 객체의 내용을 살펴보는 것은 연산량을 증가시키게 되어 방법의 효율성을 떨어뜨린다. 또한, 인코딩된 내용을 포함하는 객체의 경우, 내용을 살펴보기 위해 객체를 디코딩하게 되면, 역시 시스템의 리소스를 소비하게 되어 방법의 효율성이 낮아진다.
따라서, 본 발명에 따르면, 악성 파일이 삽입될 수 있는 객체만을 선택하여 조사하고, 또한 객체의 정보를 디코딩 없이 이용하도록 하여 효율적으로 악성 컨텐츠를 탐지할 수 있다. 이하에서는, 비 PE 파일의 예로서 PDF 파일에 대해 설명하지만, 본 발명의 범위는 이에 제한되지 않으며 본 발명의 원칙이 적용되는 모든 비 PE 파일에 대하여 본 발명의 범위가 미친다.
일반적으로 PDF 파일은, 연속적인 바이트(byte)로 구성되는 정보를 스트림(stream) 객체로 포함한다. 도 2는 PDF 파일의 예시적인 스트림 객체를 도시한다. PDF 파일의 스트림 객체는, 먼저 객체를 식별하는 레이블(110)과, 스트림 객체임을 나타내는 키워드 stream(130)를 포함한다. 스트림 키워드(130)는 스트림의 시작을 나타내고, 스트림의 종료를 나타내는 endstream(140)과 한 쌍을 이룬다. 키워드 stream 과 endstream 사이에는 연속적인 바이트(150)가 배치된다. 또한, 스트림 객체는 그 객체의 인코딩 정보, 크기 정보, 내용 정보 등을 나타내는 딕셔너리(120)를 포함하게 되는데, 딕셔너리는 기호 << 과 >> 로 시작과 끝이 각각 지정된다. 그리고, 객체의 끝에는 endobj 키워드(160)가 배치되어 객체의 종료를 나타낸다.
일반적으로, 스트림 객체라고 하면 키워드 stream(130) 과 endstream(140)로 식별되는 부분을 의미하기도 하지만, 본 명세서에서 별도의 설명이 없으면, 스트림 객체라는 용어는 키워드 stream(130)으로 지정되는 객체와 딕셔너리(110)를 포함하는 전체 객체를 의미하는 것으로 사용된다. 이와 구분하여, 키워드 obj와 endobj로 정의되는 객체는 단순히 객체라고 지칭한다.
이러한 스트림 객체에는, 대량의 바이트가 포함될 수 있으므로, 악성 컨텐츠는 스트림 개체에 삽입될 수 있다. 따라서, 일 실시형태에서, 스트림 객체로부터 정보를 추출하여 악성 컨텐츠의 포함 여부를 판단할 수 있다.
구체적으로, 딕셔너리(120)에는 다양한 정보가 포함되는데, 이들 각각은 엔트리(entry)에 의해 식별된다.
예를 들어, 딕셔너리(120)에는 DL 항목이 포함될 수 있다. DL 항목은 "/DL" 이라는 키워드에 의해 식별되며, 키워드 뒤에는 포함된 스트림의 원본 길이(즉, 인코딩 전의 길이)를 바이트 수로 나타내는 숫자가 따른다. DL 항목은 일반적으로 큰 크기의 스트림 데이터가 포함되는 경우, 그에 대한 메모리를 확보하도록 시스템에 신호를 보내는 기능을 한다. 따라서, DL 항목이 포함되어 있는 경우, 이는 PDF 파일에 큰 크기의 스트림이 포함되어 있음을 의미하며, 이는 다시 악성 컨텐츠의 포함 가능성이 높다는 것을 의미한다. 따라서 DL 항목의 포함 여부를 판단함으로써 악성 컨텐츠 포함 가능성을 판단할 수 있다.
딕셔너리(120)에는, 파일이 포함되었음을 나타내는 EF 항목 또는 EmbeddedFile 키워드가 포함될 수도 있다. EF 항목은 "/EF" 키워드로 식별되는데, 파일이 PDF 내로 포함(embed)되는 경우 그 파일의 이름이 뒤따른다. 따라서, 객체 내에 EF 항목이 포함되는 경우, PDF 파일에 파일이 포함되어 있음을 나타내고, 이는 악성 컨텐츠의 포함 가능성을 나타내는 정보가 된다. EmbeddedFile 키워드는 Type 항목에 포함되는 키워드이다. Type 항목은 객체의 종류를 나타내는 항목으로, "/Type" 키워드로 식별되는데, 객체가 파일인 경우에는 EmbeddedFile 이라는 키워드가 뒤따르게 된다. 따라서, EmbeddedFile 키워드가 포함되어 있는 경우, 역시 악성 컨텐츠의 포함 가능성이 높다고 판단할 수 있다. 또한, "/EmbeddedFiles"로 식별되는 EmbeddedFiles 항목이 포함되고, 항목 이후에 포함되는 파일을 나타내는 식별자가 뒤따를 수 있다. 이 경우에도, EmbeddedFiles 항목의 존재를 기초로 악성 컨텐츠 포함 가능성이 높다고 판단할 수 있다.
한편, PDF 파일에 다른 파일(즉, 임베디드 파일)이 포함되어 있는 경우에는, 그 임베디드 파일에 대한 정보를 나타내는 Params 항목이 딕셔너리에 포함될 수 있다. Params 항목은 "/Params" 키워드로 식별되고, 구체적인 정보들이 뒤따르게 된다. 예를 들어, 임베디드 파일은 압축되지 않은 파일 형태로 객체에 포함될 수 있다. 이 경우, 임베디드 파일은 스트림의 형태로 객체에 포함되고, "/Params" 키워드에 뒤따르는 Checksum 항목은 스트림의 체크섬 값을 나타낸다. 이러한 Checksum 항목은 체크섬을 미리 계산하여 포함하고 있으므로, 이를 이용함으로써 악성 컨텐츠 검출 과정에서 체크섬을 계산하여야 하는 연산 부담을 경감시킬 수 있다. 또한, "/Params" 키워드에 뒤따르는 Size 항목은 스트림의 크기를 나타낸다. 이외에, 임베디드 파일의 생성 일자 및 시간을 나타내는 CreationDate 항목, 임베디드 파일의 수정 일자 및 시간을 나타내는 ModDate 항목이 "/Params" 키워드에 뒤따를 수 있다. 이러한 Params 항목의 정보를 통해 임베디드 파일의 정체를 파악할 수 있고, 악성 컨텐츠를 검출할 수 있게 된다.
PDF 파일에 임베디드 파일이 포함되는 경우, 그 파일의 종류를 나타내는 Subtype 항목이 또한 딕셔너리에 포함될 수 있다. 이 항목은 "/Subtype" 키워드로 식별되는데, 이후에 오는 파일 종류를 파악함으로써 임베디드 파일의 종류를 파악하고 악성 컨텐츠 포함 여부 판단에 이용할 수 있다.
도 3은 악성 컨텐츠가 포함된 예시적인 스트림 객체의 일부를 도시하는 도면이다. 도시된 바와 같이, 악성 컨텐츠는 스트림(250)의 형태로 포함되어 있으며, 이는 stream 키워드로 식별되어 있다. 또한, 스트림(250)에 대한 체크섬(270)이 "/Params"로 식별되는 Params 항목에 포함되어 있는 Checksum 항목에 기재되어 있다. 또한, Subtype 항목(280)이 포함되어 있으므로, 스트림(250)은 임베디드 파일로서, flash 컨텐츠임을 파악할 수 있다.
이와 같이, 객체의 딕셔너리에 포함된 이상의 항목들을 이용함으로써, 악성코드의 존재를 검출할 수 있게 된다.
또한, 객체를 식별하는 객체 ID(도 2의 110)도 악성 컨텐츠 검출에 사용될 수 있다. 악성 컨텐츠가 기계적으로 여러 개의 파일에 삽입되는 경우, 동일한 객체에 악성 컨텐츠가 삽입되는 경우가 많다. 따라서, 악성 컨텐츠가 삽입된 파일에서 발견되는 객체의 ID, 또는 그 특성을 파악하고, 대상 파일 내 객체의 ID 또는 그 특징과 비교함으로써 악성 컨텐츠 포함 가능성을 판단할 수 있다.
이하, 본 발명의 일 실시형태에 따른 악성 컨텐츠 포함 판단 방법 도 4를 참조하여 설명한다.
본 실시형태의 방법은, 먼저 단계 300에서 비 PE 파일에 있어서, 악성 컨텐츠 삽입 가능 부분으로부터 사전 결정된 항목의 정보를 추출한다. 예를 들어, 단계 300에서 PDF 파일의 객체로부터 딕셔너리에 포함되는 항목들의 정보를 추출할 수 있다. 다른 실시형태에서, PDF 파일에 포함된 스트림 객체를 식별하고 스트림 객체의 딕셔너리에 포함된 정보를 추출할 수 있다. 정보가 추출되는 항목은, DL 항목, EF 항목, Type 항목, Params 항목, Subtype 항목 중 적어도 하나를 포함한다. 정보를 추출함에 있어, 대상 객체에 특정 항목이 포함되어 있지 않는 경우, 그 항목의 정보가 부재임을 표시하여 모든 항목이 악성 코드 판단에 고려될 수 있도록 할 수 있다. 이에 의해, 악성 코드 판단에 사용되는 항목의 개수가 증가하고, 악성 코드 판단의 정확성이 향상될 수 있다.
다음, 단계 310에서 항목의 존부를 판단한다. 일 실시형태에서, DL 항목, EF 항목, Params 항목 및 Subtype 항목 중 적어도 하나의 존부를 판단할 수 있다. DL 항목이 포함된 경우, 크기가 큰 스트림이 포함된 것으로 판단하여 악성 컨텐츠 포함 가능성이 높다고 판단할 수 있고, EF 항목이 존재하는 경우에는 임베디드 파일이 존재하므로 악성 컨텐츠 포함 가능성이 높다고 판단할 수 있다. 또한, Params 항목이나 Subtype 항목이 존재하는 경우에도, 임베디드 파일이 존재하는 것으로 판단할 수 있다.
다음, 단계 320에서는 항목의 값을 악성 컨텐츠에 대한 값과 비교한다. 일 실시형태에서, Params 항목 내 Checksum 항목의 값을 악성 컨텐츠의 체크섬 값과 비교할 수 있다. 일 실시형태에서, 악성 컨텐츠의 체크섬 값은 미리 계산되어 데이터베이스에 저장되어 있을 수 있고, 방법은 데이터베이스로부터 체크섬 값을 수신하여 이를 이용할 수 있다. 이 경우, 객체에 포함된 체크섬의 값과 악성 컨텐츠의 체크섬 값이 동일하지 않은 경우에도, 이들의 유사도를 계산하여 소정의 유사도 이상임이 인정되는 경우에는 파일이 악성 컨텐츠를 포함하는 것으로 판단할 수 있다. 유사도에 기초한 비교는 공지된 방법으로 이루어질 수 있다. 이로써, 악성 컨텐츠의 변종에 대한 검출도 가능하게 된다.
다른 실시형태에서, Subtype 항목은 알려진 악성 컨텐츠의 종류와 비교될 수 있다. 예를 들어, 특정 악성 컨텐츠가 플래시 파일임이 알려져 있는 경우, Subtype에 플래시 타입임이 명시되어 있는 경우, 이를 고려할 수 있다. 다른 실시형태에서, Type 항목의 값이 EmbeddedFile 인지 여부를 판단할 수 있다. 이로써, 파일에 임베디드 파일이 포함되어 있는지를 파악할 수 있게 된다.
마지막으로 단계 330에서, 단계 310에서 판단된 항목의 존부 및 단계 320에서 판단된 항목의 값으로부터, 악성 컨텐츠 포함 여부를 판단할 수 있다. 이로써, 다양한 항목의 존부 및 항목의 값을 기초로 악성 컨텐츠 포함 여부를 판단할 수 있게 되고, 악성 컨텐츠 판단의 정확도가 높아진다. 또한, 비 PE 파일에 있어서도, 스트림을 디코딩하지 않고 용이하게 악성 컨텐츠를 판별할 수 있다.
일 실시형태에서, 단계 310에서 항목의 존부를 판단하고, 소정 항목이 존재하는 경우에 한해 단계 320을 수행하여 항목의 값을 결정할 수 있다. 이를 다른 실시형태에 따른 방법을 설명하는 도 5을 참조하여 설명한다. 도 5에 도시된 바와 같이, 방법은 단계 400에서 각 항목의 정보를 추출하고, 단게 410에서 객체 내에 DL 항목, EF 항목, Params 항목, Subtype 항목 중 어느 하나가 존재하는지 여부를 판단한다. 만약, 이들 항목 중 어느 것도 존재하지 않는다면(단계 412의 아니오) 이는 악성 컨텐츠로 의심될 수 있는 대량의 스트림이나 임베디드 파일이 존재하지 않는 것이므로, 단계 420으로 진행하지 않고 단계 414로 진행하여 악성 컨텐츠가 포함되어 있지 않은 것으로 결정한다.
한편, 대량의 스트림이나 임베디드 파일이 있는 것으로 판단되는 경우(단계 412의 예), 단계 420에서 항목의 값을 악성 컨텐트에 대한 값과 비교한다. 일 실시형태에서, 먼저, Checksum 항목의 값을 악성 컨텐츠에 대한 체크섬 값과 비교하여, 유사여부를 판단한다. 양자가 유사하지 않은 경우에는, 단계 414로 진행하여 악성 컨텐츠가 포함되지 않은 것으로 판단한다. 반면, 양자가 유사한 경우, 단계 424로 진행하여, Subtype의 값을 알려진 악성 코드의 종류와 비교한다. 만약, Subtype의 값이 알려진 악성 코드의 종류와 동일하면, 이는 컨텐츠가 악성 컨텐츠임을 나타내는 것으로 판단할 수 있다(단계 430). 반면, Subtype의 값이 알려진 악성 컨텐으의 종류와 동일하지 않으면, 이는 새로운 종류의 악성 컨텐츠가 등장한 것이거나, 체크섬 판단에 문제가 있었던 것이므로 별도의 처리를 위해 분석가에게 이를 통지한다(단계 426).
도 5의 방법은, 실제 수행되는 단계의 수를 감소시켜 도 4의 방법에 비해 효율성을 높일 수 있다. 도 5의 방법은 예시에 불과하고, 당업자는 추출된 항목을 필요에 따라 조합하여 방법을 구성할 수 있다. 예를 들어, 당업자는 Subtype의 판단을 Checksum 판단 이전에 포함시킬 수도 있고, 양자가 병렬적으로 이루어지도록 할 수도 있다.
도 6은 본 발명의 일 실시형태에 따른 악성 컨텐츠 포함 판단 시스템을 도시하는 블록도이다. 본 실시형태의 시스템은, 추출 수단(510)과 판단 수단(520)을 포함한다. 판단 수단(520)은 또한, 존부 판단 수단(522)과 비교 수단(512)을 포함할 수 있다.
추출 수단(510)은 비 PE 파일의 악성 컨텐츠 삽입 가능 부분으로로부터 사전 결정된 항목, 예를 들어, DL 항목, Params 항목, EF 항목, EmbeddedFile 항목, SubType 항목 중 적어도 하나에 대한 정보를 추출한다. 이렇게 추출된 정보는 판단 수단(520)으로 전달된다. 판단 수단(520)은 추출된 정보에 대해, 항목의 존부 및 항목의 값을 판단한다. 예를 들어, 존부 판단 수단(522)은 DL 항목, Params 항목, EF 항목, SubType 항목의 존부를 판단하여, 객체 내에 악성 컨텐츠가 될 수 있는 스트림 또는 파일이 있는 지를 판단할 수 있다. 또한, 비교수단(524)은 Checksum의 값 및 Subtype의 값을 알려진 악성 컨텐츠에 대한 값과 비교하여 악성 컨텐츠 포함여부를 판단할 수 있다. 판단 수단(520)은 존부 판단 수단(522)과 비교수단(524)의 판단 결과에 기초하여 악성 컨텐츠 포함 여부를 판단할 수 있다.
한편, 판단 수단(520)은 악성 컨텐츠에 대한 체크섬 및 파일 종류에 대한 정보를 얻기 위해 통신부(530)를 이용할 수 있다. 통신부(530)는 또한, 악성 컨텐츠 포함 여부 판단 결과를 사용자에게 전달하기 위해 사용될 수도 있다.
이상 본 발명의 구체적 실시형태들을 참조하여 본 발명을 설명하였으나, 이는 예시에 불과하며 본 발명의 범위를 제한하는 것이 아니다. 당업자는 본 발명의 범위를 벗어나지 않는 범위 내에서 설명된 실시형태들을 변경 또는 변형할 수 있다. 본 명세서에서 설명된 각 기능부, 기능 블록 또는 수단은 전자 회로, 집적 회로, ASIC (Application Specific Integrated Circuit) 등 공지된 다양한 소자들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수 있다. 또한, 각 기능부, 기능 블록 또는 수단이 프로그램 상의 모듈(module) 또는 함수(function)로 구현될 수 있고, 하나의 프로그램에 포함되거나 별개의 프로그램으로 구현될 수 있다. 본 명세서 및 청구범위에서 별개인 것으로 설명된 수단 등의 구성요소는 단순히 기능상 구별된 것으로 물리적으로는 하나의 수단으로 구현될 수 있으며, 단일한 것으로 설명된 수단 등의 구성요소도 수개의 구성요소의 결합으로 이루어질 수 있다. 또한 본 명세서에서 설명된 각 방법 단계들은 본 발명의 범위를 벗어나지 않고 그 순서가 변경될 수 있고, 다른 단계가 부가될 수 있다. 뿐만 아니라, 본 명세서에서 설명된 다양한 실시형태들은 각각 독립하여서뿐만 아니라 적절하게 결합되어 구현될 수도 있다. 따라서 본 발명의 범위는 설명된 실시형태가 아니라 첨부된 청구범위 및 그 균등물에 의해 정해져야 한다.

Claims (17)

  1. 비PE(Non-Portable Executable) 파일의 악성 컨텐츠 포함 여부를 판단하는 방법으로서,
    상기 파일 내에 악성 컨텐츠 삽입 가능 위치로부터 정보를 추출하는 단계와,
    상기 추출된 정보로부터 상기 파일 내에 악성 컨텐츠가 포함되었는지 여부를 판단하는 단계
    를 포함하는 비PE 파일의 악성 컨텐츠 포함 판단 방법.
  2. 제 1 항에 있어서,
    상기 판단하는 단계는, 추출된 상기 정보를 알려진 악성 컨텐츠의 정보와 비교하는 단계를 포함하는
    비PE 파일의 악성 컨텐츠 포함 판단 방법.
  3. 제 1 항에 있어서,
    상기 비PE 파일은 PDF(Portable Document Format) 파일이고,
    상기 악성 컨텐츠 삽입 가능 위치는 스트림 객체인,
    비PE 파일의 악성 컨텐츠 포함 판단 방법.
  4. 제 1 항에 있어서,
    상기 정보는 객체의 객체 ID, DL 항목, Params 항목, EF 항목, Type 항목, SubType 항목 및 EmbeddedFiles 항목 중 적어도 하나의 항목에 대한 정보인
    비PE 파일의 악성 컨텐츠 포함 판단 방법.
  5. 제 1 항에 있어서,
    상기 정보는 객체의 Params 항목 내의 Checksum 값인
    비PE 파일의 악성 컨텐츠 포함 판단 방법.
  6. 제 1 항에 있어서,
    상기 정보를 추출하는 단계는 2 이상의 정보를 추출하는 단계를 포함하고,
    상기 판단하는 단계는 추출된 상기 2 이상의 정보를 모두 고려하여 판단하는 단계를 포함하는
    비PE 파일의 악성 컨텐츠 포함 판단 방법.
  7. 제 1 항에 있어서,
    상기 정보를 추출하는 단계는 사전 결정된 항목에 대한 정보를 추출하되,
    상기 사전 결정된 항목에 대한 정보가 상기 비PE 파일에 포함되지 않은 경우, 상기 사전 결정된 항목에 대한 정보를 부재로 표시하는
    비PE 파일의 악성 컨텐츠 포함 판단 방법.
  8. 제 1 항에 있어서,
    상기 판단하는 단계에서 악성 컨텐츠가 포함된 것으로 판단되면, 상기 악성 컨텐츠에 대한 정보를 획득하기 위해 추출된 항목에 대한 정보를 이용하는 단계를 더 포함하는
    비 PE 파일의 악성 컨텐츠 포함 판단 방법.
  9. 비PE(Non-Portable Executable) 파일의 악성 컨텐츠 포함 여부를 판단하는 시스템으로서,
    상기 파일 내에 악성 컨텐츠 삽입 가능 위치로부터 정보를 추출하는 추출 수단과,
    상기 추출된 정보로부터 상기 파일 내에 악성 컨텐츠가 포함되었는지 여부를 판단하는 판단 수단
    을 포함하는 비PE 파일의 악성 컨텐츠 포함 판단 시스템.
  10. 제 9 항에 있어서,
    상기 판단 수단은 추출된 상기 정보를 알려진 악성 컨텐츠의 정보와 비교하는 비교 수단을 포함하는
    비PE 파일의 악성 컨텐츠 포함 판단 시스템.
  11. 제 9 항에 있어서,
    상기 비PE 파일은 PDF(Portable Document Format) 파일이고,
    상기 악성 컨텐츠 삽입 가능 위치는 스트림 객체인,
    비PE 파일의 악성 컨텐츠 포함 판단 시스템.
  12. 제 9 항에 있어서,
    상기 정보는 객체의 객체 ID, DL 항목, Params 항목, EF 항목, Type 항목, SubType 항목 및 EmbeddedFiles 항목 중 적어도 하나의 항목에 대한 정보인
    비PE 파일의 악성 컨텐츠 포함 판단 시스템.
  13. 제 9 항에 있어서,
    상기 정보는 객체의 Params 항목 내의 Checksum 값인
    비PE 파일의 악성 컨텐츠 포함 판단 시스템.
  14. 제 9 항에 있어서,
    상기 추출 수단은 2 이상의 정보를 추출하고,
    상기 판단 수단은 추출된 상기 2 이상의 정보를 모두 고려하여 판단을 수행하는
    비PE 파일의 악성 컨텐츠 포함 판단 시스템.
  15. 제 9 항에 있어서,
    상기 추출 수단은 사전 결정된 항목에 대한 정보를 추출하되, 상기 사전 결정된 항목에 대한 정보가 상기 비PE 파일에 포함되지 않은 경우, 상기 사전 결정된 항목에 대한 정보를 부재로 표시하는
    비PE 파일의 악성 컨텐츠 포함 판단 시스템.
  16. 제 9 항에 있어서,
    상기 판단 수단이 악성 컨텐츠가 포함된 것으로 판단하면, 상기 악성 컨텐츠에 대한 정보를 획득하기 위해 추출된 항목에 대한 정보를 이용하는 수단을 더 포함하는
    비 PE 파일의 악성 컨텐츠 포함 판단 시스템.
  17. 프로세서에 의해 실행되는 경우, 프로세서가 제 1 항 내지 제 8 항 중 어느 한 항의 방법을 수행하도록 하는 명령을 포함하는 프로그램이 저장된 컴퓨터 판독 가능 기록 매체.


KR1020100140190A 2010-12-31 2010-12-31 비 pe파일의 악성 컨텐츠 포함 여부를 판단하는 방법 및 시스템 KR101228900B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100140190A KR101228900B1 (ko) 2010-12-31 2010-12-31 비 pe파일의 악성 컨텐츠 포함 여부를 판단하는 방법 및 시스템
PCT/KR2011/010309 WO2012091488A1 (en) 2010-12-31 2011-12-29 System and method for detecting malicious content in non-pe file

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100140190A KR101228900B1 (ko) 2010-12-31 2010-12-31 비 pe파일의 악성 컨텐츠 포함 여부를 판단하는 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20120078030A true KR20120078030A (ko) 2012-07-10
KR101228900B1 KR101228900B1 (ko) 2013-02-06

Family

ID=46383339

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100140190A KR101228900B1 (ko) 2010-12-31 2010-12-31 비 pe파일의 악성 컨텐츠 포함 여부를 판단하는 방법 및 시스템

Country Status (2)

Country Link
KR (1) KR101228900B1 (ko)
WO (1) WO2012091488A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023229068A1 (ko) * 2022-05-26 2023-11-30 시큐레터 주식회사 Ms excel 문서 포맷에서 dde 무해화를 위한 방법 및 장치
WO2023229061A1 (ko) * 2022-05-25 2023-11-30 시큐레터 주식회사 Pdf 또는 hwp에서 javascript의 무해화를 위한 방법 및 장치
WO2023229062A1 (ko) * 2022-05-25 2023-11-30 시큐레터 주식회사 Ms-ooxml에서 ole object 무해화를 위한 방법 및 장치

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101265173B1 (ko) * 2012-05-11 2013-05-15 주식회사 안랩 비실행 파일 검사 장치 및 방법
KR101311367B1 (ko) 2013-04-09 2013-09-25 주식회사 안랩 메모리 보호기능 우회 공격 진단 장치 및 방법
KR20240024686A (ko) 2022-08-17 2024-02-26 한국과학기술원 Pdf 파일로부터 악성 코드를 탐지하기 위한 구조 분석 및 학습 데이터 생성 방법 및 이를 수행하는 시스템

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100832088B1 (ko) * 2006-04-24 2008-05-27 주식회사 리미트정보통신 시그니처 그래프를 이용한 하이브리드 기반 침입탐지시스템
KR100945247B1 (ko) * 2007-10-04 2010-03-03 한국전자통신연구원 가상 환경을 이용한 비실행 파일 내의 악성 코드 분석 방법및 장치
JP2009157521A (ja) * 2007-12-25 2009-07-16 Duaxes Corp ウィルス検出装置
KR100954357B1 (ko) * 2008-06-13 2010-04-26 주식회사 안철수연구소 Pe 파일 진단 시스템 및 그 방법 그리고 이에 적용되는모듈

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023229061A1 (ko) * 2022-05-25 2023-11-30 시큐레터 주식회사 Pdf 또는 hwp에서 javascript의 무해화를 위한 방법 및 장치
WO2023229062A1 (ko) * 2022-05-25 2023-11-30 시큐레터 주식회사 Ms-ooxml에서 ole object 무해화를 위한 방법 및 장치
WO2023229068A1 (ko) * 2022-05-26 2023-11-30 시큐레터 주식회사 Ms excel 문서 포맷에서 dde 무해화를 위한 방법 및 장치

Also Published As

Publication number Publication date
KR101228900B1 (ko) 2013-02-06
WO2012091488A1 (en) 2012-07-05

Similar Documents

Publication Publication Date Title
CN108763928B (zh) 一种开源软件漏洞分析方法、装置和存储介质
CN106682505B (zh) 一种病毒检测方法、终端、服务器及系统
CA2765485C (en) Fuzzy hash algorithm
KR101228900B1 (ko) 비 pe파일의 악성 컨텐츠 포함 여부를 판단하는 방법 및 시스템
KR101337874B1 (ko) 파일 유전자 지도를 이용하여 파일의 악성코드 포함 여부를 판단하는 방법 및 시스템
US10621349B2 (en) Detection of malware using feature hashing
CN109784056B (zh) 一种基于深度学习的恶意软件检测方法
EP2494445A1 (en) System and method for detecting executable machine instructions in a data stream
WO2014166312A1 (zh) 一种广告插件识别的方法和系统
KR101874373B1 (ko) 난독화 스크립트에 대한 악성 스크립트 탐지 방법 및 그 장치
CN109983464B (zh) 检测恶意脚本
WO2017012241A1 (zh) 文件的检测方法、装置、设备及非易失性计算机存储介质
US8332941B2 (en) Exploit nonspecific host intrusion prevention/detection methods and systems and smart filters therefor
Li et al. FEPDF: a robust feature extractor for malicious PDF detection
WO2008068459A2 (en) Detecting exploits in electronic objects
US20210092139A1 (en) Email inspection device, email inspection method, and computer readable medium
CN115906081A (zh) 恶意样本文件检测方法、装置、服务器、电子设备及存储介质
AU2017248417A1 (en) Fuzzy hash algorithm
KR101725399B1 (ko) 호스트 레벨 기반 악성 스크립트 탐지 및 실행 방지 장치와 악성 스크립트 탐지 및 실행 방지 방법
CN113722641A (zh) 基于ai的注入请求保护方法、装置、终端设备及介质
CN113449301A (zh) 一种样本检测方法、装置、设备及计算机可读存储介质
CN114254069A (zh) 域名相似度的检测方法、装置和存储介质
CN114006706A (zh) 网络安全检测方法、系统、计算机装置及可读存储介质
KR20160089995A (ko) 분산 병렬 처리 기반의 html5 문서 수집 및 분석 장치 및 방법
CN112883372A (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: 20160128

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180129

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190128

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20200128

Year of fee payment: 8