KR20120078018A - 파일 유전자 지도를 이용하여 파일의 악성코드 포함 여부를 판단하는 방법 및 시스템 - Google Patents

파일 유전자 지도를 이용하여 파일의 악성코드 포함 여부를 판단하는 방법 및 시스템 Download PDF

Info

Publication number
KR20120078018A
KR20120078018A KR1020100140175A KR20100140175A KR20120078018A KR 20120078018 A KR20120078018 A KR 20120078018A KR 1020100140175 A KR1020100140175 A KR 1020100140175A KR 20100140175 A KR20100140175 A KR 20100140175A KR 20120078018 A KR20120078018 A KR 20120078018A
Authority
KR
South Korea
Prior art keywords
file
genetic map
malicious code
malware
signature
Prior art date
Application number
KR1020100140175A
Other languages
English (en)
Other versions
KR101337874B1 (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 KR1020100140175A priority Critical patent/KR101337874B1/ko
Priority to US13/977,250 priority patent/US9141796B2/en
Priority to PCT/KR2011/010141 priority patent/WO2012091400A1/en
Publication of KR20120078018A publication Critical patent/KR20120078018A/ko
Application granted granted Critical
Publication of KR101337874B1 publication Critical patent/KR101337874B1/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
    • 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
    • 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
    • G06F21/564Static detection by virus signature recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy

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)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

파일의 악성코드 포함 여부를 판단하는 방법 및 시스템이 개시된다. 방법은, 파일로부터 2 이상의 사전 결정된 항목의 정보를 추출하는 단계와, 추출된 정보를 사전 결정된 형식으로 변경하여 파일의 유전자 지도를 생성하는 단계와, 파일의 유전자 지도를 저장된 악성코드 유전자 지도와 비교하는 단계와, 파일의 유전자 지도와 상기 저장된 악성코드 유전자 지도의 유사성이 소정 기준 이상인 경우 상기 파일이 악성코드를 포함하는 것으로 판단하는 단계를 포함한다. 방법은 유전자 지도로부터 외부 장치로의 전송을 위한 시그니처를 생성하는 단계를 더 포함하고, 시그니터는 외부 장치에 의해 악성코드 탐지에 사용된다. 본 방법에 의해 악성코드 탐지의 정확도와 일관성이 개선되고, 변종 코드의 탐지 정확도도 개선된다.

Description

파일 유전자 지도를 이용하여 파일의 악성코드 포함 여부를 판단하는 방법 및 시스템{SYSTEM AND METHOD FOR DETECTING MALWARES IN A FILE BASED ON GENETIC MAP OF THE FILE}
본 발명은 파일의 악성코드 포함 여부를 판단하는 시스템 및 방법에 관한 것으로서, 구체적으로는 여러 파일에 일률적으로 적용될 수 있는 유전자 지도를 이용하여 파일의 악성코드 포함여부를 판단하는 방법 및 시스템에 관한 것이다.
악성코드는 컴퓨터에 악영향을 끼치는 소프트웨어를 지칭하는 것으로서, 보통 파일에 포함되어 컴퓨터 내로 유입된다. 유입된 악성코드는 컴퓨터의 작동을 교란하여 오작동을 일으키거나, 컴퓨터로부터 정보를 유출하는 통로로 기능하여 사용자의 개인 정보가 유출되도록 한다. 따라서, 파일을 검사하여 악성코드가 포함되었는지를 판단하고 파일을 삭제하거나 변경하여 악성코드에 의한 피해를 방지한다.
종래에 악성코드 포함 여부 판단, 또는 악성코드 검출을 위해서 시그니처를 사용하였다. 구체적으로, 악성코드인 것으로 알려진 파일들에 대해, 그 파일의 특징을 나타내는 부분(블록)으로부터, 특정한 값, 예를 들어, 해쉬 값 또는 CRC(Cyclic Redundancy Check)값을 생성하고, 이를 데이터베이스에 저장한다. 악성코드 여부가 판단되지 않은 파일이 입수된 경우, 그 파일에 대해 시그니처를 동일한 방식으로 생성하고, 이를 저장된 악성코드의 시그니처와 비교함으로써 파일에 악성코드가 포함되어 있는지 여부를 판단하는 것이다.
그러나 이러한 시그니처를 이용하는 방법은 판단 대상 파일에 대해 시그니처를 생성하는 방식에 따라 판단 결과가 달라지는 문제점이 있다. 즉, 분석가가 대상 파일의 어떤 부분으로부터 시그니처를 생성하는지에 따라 시그니처가 달라지며, 잘못된 부분으로부터 시그니처를 생성하면 악성코드 여부 판단이 부정확하게 되는 경우가 있다. 특히, 파일 내부에 코드가 추가되어 코드의 위치에 변동이 발생한 경우에는, 시그니처를 생성하기 위한 부분을 결정하는데 어려움이 발생하고, 결국 악성코드 검출의 정확도가 일관적으로 유지될 수 없다는 문제점이 발생한다.
또한, 시그니처는 특정 파일의 하나의 특징에 불과하므로, 그 특징만으로 모든 악성코드를 판단하는 것에는 한계가 있다. 예를 들어, 악성코드의 변종이 다수 존재하는 경우, 시그니처의 비교만으로는 이들 변종을 모두 검출할 수가 없다.
컴퓨터는 개인, 회사, 공공기관 등 사회의 모든 영역에서 사용되고 있으므로, 하나의 악성코드의 미검출은 개인과 사회에 큰 피해를 줄 수 있다. 따라서, 시그니처를 이용한 검출의 한계를 극복하고, 일관적으로 높은 검출 정확성을 유지할 수 있고, 다수의 변종 코드를 검출할 수 있는 악성코드 검출 방법이 필요하다.
본 발명은 상술한 문제점을 인식한 것으로서, 일관적으로 높은 검출 정확성을 유지할 수 있고, 다수의 변종 코드를 검출할 수 있는 악성코드 검출 방법 및 시스템을 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위해, 본 발명의 일 태양에 따르면, 파일의 악성코드 포함 여부를 판단하는 방법으로서, 상기 파일로부터 2 이상의 사전 결정된 항목의 정보를 추출하는 단계와, 상기 추출된 정보를 사전 결정된 형식으로 변경하여 상기 파일의 유전자 지도를 생성하는 단계와, 상기 파일의 유전자 지도를 저장된 악성코드 유전자 지도와 비교하는 단계와, 상기 파일의 유전자 지도와 상기 저장된 악성코드 유전자 지도의 유사성이 소정 기준 이상인 경우 상기 파일이 악성코드를 포함하는 것으로 판단하는 단계를 포함하는 악성코드 포함 여부 판단 방법이 제공된다.
상기 추출하는 단계는, 사전 결정된 항목 중 적어도 하나의 항목이 상기 파일에 부재하는 경우 상기 적어도 하나의 항목을 부재로 표시하는 단계를 포함하고, 상기 파일의 유전자 지도는 상기 적어도 하나의 항목의 부재를 나타내는 정보를 포함하는 것이 바람직하다.
상기 추출하는 단계는 상기 파일 내의 일부분으로부터 상기 정보를 추출하는 단계를 포함하는 것도 바람직하다.
상기 사전 결정된 항목은 상기 파일 내의 분기 명령에 포함되는 분기 거리를 포함할 수 있다.
또한 바람직하게는, 상기 사전 결정된 항목은 상기 파일의 종류에 독립적으로 정해진다.
바람직하게는, 상기 저장된 악성코드의 유전자 지도는 데이터베이스에 저장되고, 상기 방법은 상기 파일이 악성코드를 포함하는 것으로 판단되면, 상기 파일의 유전자 지도가 상기 데이터베이스에 악성코드의 유전자 지도로서 저장되도록 하는 단계를 더 포함한다.
방법은 상기 파일의 유전자 지도를 저장된 정상코드 유전자 지도와 비교하는 단계와, 상기 파일의 유전자 지도와 상기 저장된 정상코드 유전자 지도의 유사성이 소정 기준 이상인 경우 상기 파일이 악성코드를 포함하는 것으로 판단하지 않도록 하는 단계를 더 포함하는 것도 바람직하다.
상기 저장된 정상코드의 유전자 지도는 데이터베이스에 저장되고, 상기 방법은 상기 파일의 유전자 지도와 상기 저장된 정상코드 유전자 지도의 유사성이 소정 기준 이상인 경우, 상기 파일의 유전자 지도가 상기 데이터베이스에 정상코드의 유전자 지도로서 저장되도록 하는 단계를 더 포함할 수 있다.
상기 저장된 정상코드 유전자 지도와 비교하는 단계는, 상기 파일의 유전자 지도와 상기 저장된 악성코드의 유전자 지도의 유사성이 소정 기준 이상인 경우에 수행되는 것이 바람직하다.
방법은, 상기 파일이 악성코드를 포함하는 것으로 판단되면, 상기 파일의 유전자 지도로부터 악성코드 시그니처를 생성하도록 하는 단계를 더 포함하되, 상기 악성코드 시그니처는 외부 장치로 전송되기 위한 것인 것이 바람직하다.
본 발명의 다른 태양에 따르면, 파일의 악성코드 포함 여부를 판단하는 방법으로서, 상기 파일로부터 2 이상의 사전 결정된 항목의 정보를 추출하는 단계와, 상기 추출된 정보를 사전 결정된 형식으로 변경하여 상기 파일의 유전자 지도를 생성하는 단계와, 상기 파일의 유전자 지도로부터 시그니처를 생성하는 단계와, 상기 생성된 시그니처를 하나 이상의 악성코드 시그니처와 비교하는 단계와, 상기 생성된 시그니처와 상기 악성코드 시그니처의 유사성이 소정 기준 이상인 경우 상기 파일이 악성코드를 포함하는 것으로 판단하는 단계를 포함하는 악성코드 포함 여부 판단 방법이 제공된다.
상기 악성코드 시그니처는 외부 장치로부터 수신되고, 상기 방법은 상기 파일이 악성코드를 포함하는 것으로 판단되면, 상기 파일이 악성코드를 포함함을 상기 외부 장치에 알리는 단계를 더 포함하는 것이 바람직하다.
본 발명의 다른 태양에 따르면, 파일이 악성코드를 포함하는 것으로 판단되었음을 검출하는 단게와, 상기 파일의 유전자 지도로부터 악성코드 시그니처를 생성하는 단계와, 상기 악성코드 시그니처를 외부 장치로 전송하는 단계를 포함하는 방법이 제공된다.
본 발명의 다른 태양에 따르면, 파일의 악성코드 포함 여부를 판단하는 시스템으로서, 상기 파일로부터 2 이상의 사전 결정된 항목의 정보를 추출하는, 정보 추출 수단과, 상기 추출된 정보를 사전 결정된 형식으로 변경하여 상기 파일의 유전자 지도를 생성하는, 유전자 지도 생성 수단과, 상기 파일의 유전자 지도를 저장된 악성코드 유전자 지도와 비교하는, 비교 수단과, 상기 파일의 유전자 지도와 상기 저장된 악성코드 유전자 지도의 유사성이 소정 기준 이상인 경우 상기 파일이 악성코드를 포함하는 것으로 판단하는, 판단 수단을 포함하는 악성코드 포함 여부 판단 시스템이 제공된다.
바람직하게는, 상기 파일이 악성코드를 포함하는 것으로 판단되면, 상기 파일의 유전자 지도로부터 악성코드 시그니처를 생성하는, 악성코드 시그니처 생성 수단을 더 포함하되, 상기 악성코드 시그니처는 외부 장치로 전송되기 위한 것일 수 있다.
본 발명의 또 다른 태양에 따르면, 파일의 악성코드 포함 여부를 판단하는 시스템으로서, 상기 파일로부터 2 이상의 사전 결정된 항목의 정보를 추출하는, 추출 수단과, 상기 추출된 정보를 사전 결정된 형식으로 변경하여 상기 파일의 유전자 지도를 생성하는 유전자 지도 생성 수단과, 상기 파일의 유전자 지도로부터 시그니처를 생성하는 시그니처 생성 수단과, 상기 생성된 시그니처를 하나 이상의 악성코드 시그니처와 비교하는 비교 수단과, 상기 생성된 시그니처와 상기 악성코드 시그니처의 유사성이 소정 기준 이상인 경우 상기 파일이 악성코드를 포함하는 것으로 판단하는 판단 수단을 포함하는 악성코드 포함 여부 판단 시스템이 제공된다.
상기 악성코드 시그니처는 외부 장치로부터 수신되고, 상기 시스템은 상기 파일이 악성코드를 포함하는 것으로 판단되면, 상기 파일이 악성코드를 포함함을 상기 외부 장치에 알리는 통신 수단을 더 포함하는 것이 바람직하다.
본 발명의 또 다른 태양에 따르면, 파일이 실행되는 클라이언트 장치와 악성코드의 시그니처를 제공하는 분석 장치를 포함하는 시스템에 있어서, 상기 분석 장치는 본 발명에 따른 악성코드 포함 여부 판단 시스템을 포함하고, 상기 클라이언트 장치는 본 발명에 따른 악성코드 포함 여부 판단 시스템 을 포함하며, 상기 클라이언트 장치는 상기 분석 장치로부터 악성코드 시그니처를 수신하여 상기 파일이 악성코드인지 여부를 판단하는 시스템이 제공된다.
본 발명의 다른 태양에 따르면, 파일이 악성코드를 포함하는 것으로 판단되었음을 검출하는 검출 수단과, 상기 파일의 유전자 지도로부터 악성코드 시그니처를 생성하는 시그니처 생성 수단과, 상기 악성코드 시그니처를 외부 장치로 전송하는 통신 수단을 포함하는 시스템이 제공된다.
본 발명의 다른 태양에 따르면. 프로세서에 의해 실행되는 경우, 프로세서가 본 발명에 따른 악성코드 포함 여부 판단 방법을 실행하도록 하는 명령을 포함하는 프로그램이 기록된, 컴퓨터 판독 가능 저장 매체가 제공된다.
본 발명에 의하면, 유전자 지도를 이용함으로써 파일의 전반적인 특징을 모두 악성코드 판단에 고려할 수 있게 되므로, 하나의 특징의 변화에 의하여 악성코드 판단의 정확성이 영향을 받지 않게 되고, 판단의 정확성이 높은 수준으로 유지될 수 있다. 이에 따라, 다수의 변종코드의 검출도 가능하게 된다.
또한, 유전자 지도는 파일의 특징과 무관하게 일률적으로 형성되므로, 파일에 따라 형태나 내용이 달라지지 않고, 그에 따라 일관적이고 체계적인 악성코드 판단이 가능하게 된다.
도 1은 본 발명의 일 실시형태에 따른 악성코드 판단 시스템의 구성을 도시한 도면.
도 2는 본 발명의 일 실시형태에 따른 악성코드 판단 방법을 설명하는 흐름도.
도 3은 본 발명의 다른 실시형태에 따른 악성코드 판단 방법을 설명하는 흐름도.
도 4는 본 발명의 또 다른 실시형태에 따른 악성코드 판단 시스템을 도시하는 블록도.
도 5는 본 발명의 다른 실시형태에 따른 악성코드 판단 시스템을 도시하는 블록도.
이하, 첨부된 도면을 참조하여 본 발명의 구체적인 실시형태를 설명한다.
도 1은 본 발명의 일 실시형태에 따른 악성코드 판단 시스템의 구성을 도시한 도면이다. 본 실시형태의 시스템은 클라이언트 장치(10)와 분석 장치(20)를 포함한다. 클라이언트 장치(10)는, 파일이 실행되는 시스템으로서 PC(Personal Computer)일 수도 있고, PDA, 스마트폰, 서버 컴퓨터 등 파일이 실행될 수 있는 다양한 장치를 포함한다. 클라이언트 장치(10)는 네트워크(30)를 통해 분석 장치(20)와 접속될 수 있다.
분석 장치(20)는 파일을 입수하고 입수된 파일에 악성코드가 포함되었는지 여부를 판단하는 시스템으로서, 하나 이상의 컴퓨터 시스템의 결합 또는 단일의 컴퓨터 시스템으로 구성될 수 있다. 분석 장치(20)는 파일에 대한 유전자 지도를 작성하고, 이를 데이터베이스(40)에 저장되어 있는 악성코드 유전자 지도 및/또는 정상코드 유전자 지도와 비교하여 파일의 악성코드 포함여부를 판단하게 된다. 파일이 악성코드를 포함하는 것으로 판단되면, 그 파일에 대한 유전자 지도는 악성코드 유전자 지도로 지정되어 데이터베이스(40)에 저장되고, 이후의 악성코드 판별에 사용될 수 있다. 또한, 파일이 정상코드인 것으로 판단되는 경우, 그 파일의 유전자 지도를 정상파일 유전자 지도로 데이터베이스(40)에 저장할 수도 있으며, 새로이 저장된 유전자 지도도 이후 악성코드 판별에 사용될 수 있다.
한편, 분석 장치(20)는 새로운 악성코드 유전자 지도 및/또는 새로운 정상코드 유전자 지도가 생성된 경우, 이에 대한 정보를 클라이언트 장치(10)로 전송할 수 있다. 일 실시형태에서, 분석 장치(20)는 새로운 악성코드 유전자 지도 및/또는 새로운 정상코드 유전자 지도로부터 시그니처, 예를 들어, 해시(hash) 값 또는 CRC 값을 생성하고, 이를 클라이언트 장치(10)로 전송할 수 있다. 이러한 전송은 주기적으로 이루어질 수도 있고, 새로운 유전자 지도가 생성될 때마다 이루어질 수도 있다. 일 실시형태에서, 시그니처의 생성과 전송은 분석 장치(20)가 아닌 다른 컴퓨터 시스템에 의해 수행될 수도 있다. 예를 들어, 별도의 업데이트 서버(미도시)가 주기적으로 데이터베이스(40)를 조사하고, 새로이 저장된 악성코드 유전자 지도 및/또는 정상코드 유전자 지도에 대한 시그니처를 생성하여 클라이언트 장치(10)로 전송할 수 있다. 다르게는, 별도의 장치가 분석 장치(20)에 의해 악성코드의 검출을 통지 받는 것에 의해 악성코드 존재를 검출하고, 시그니처를 생성하고 전송할 수도 있다. 다른 실시형태에서, 시그니처를 생성하고 전송하는 시스템은 분석 장치(10)와 통합되어 하나의 시스템을 구성할 수도 있다.
클라이언트 장치(10)는 파일에 대해 유전자 지도를 생성하고, 생성된 유전지 지도와 분석 장치(20)로부터 수신한 악성코드에 대한 정보, 예를 들어, 시그니처를 이용하여 해당 파일에 악성코드가 포함되었는지 여부를 판단할 수 있다. 또한, 악성코드가 검출된 경우, 클라이언트 장치(10)는 그에 대한 정보를 분석 장치(20)로 전송하여, 분석 장치(20)가 새로운 악성코드에 대한 정보를 데이터 베이스에 업데이트 하도록 할 수도 있다.
본 명세서에서, 파일의 "유전자 지도"라 함은, 사전 결정된 2 이상의 항목의 파일에 대한 정보로 이루어진 정보의 집합을 의미한다. 사전 결정된 각각의 항목은 파일의 특성을 나타낼 수 있는 정보를 포함하도록 결정될 수 있으나, 유전자 지도에 포함되는 항목의 개수 또는 종류는 파일의 특성에 따라 변화되지 않는다. 즉, 수개의 상이한 파일에 대해서도 동일한 항목의 정보가 추출되고 이로부터 유전자 지도가 생성될 수 있으며, 특정 파일에 대해 소정 항목의 정보가 존재하지 않거나 그 파일의 특성과 소정 항목의 정보가 무관한 것으로 알려져 있는 경우에도 모든 항목의 정보가 유전자 지도에 포함된다. 일 실시형태에서, 특정 항목이 부재인 경우, 부재를 나타내는 정보가 포함되고 항목 자체는 유지될 수 있다. 이러한 유전자 지도를 이용함으로써, 시그너처를 이용하는 종래 기술과 달리 파일의 유사성을 판단할 수 있는 기준의 개수가 증가하고, 한 항목의 정보가 변경되더라도 다른 항목의 정보가 고려되므로 판단 결과가 일관적으로 유지될 수 있게 된다. 유전자 정보의 생성 및 이용에 대해서는 구체적인 실시형태와 관련하여 후술한다.
도 2는 본 발명의 일 실시형태에 따른 악성코드 판단 방법을 설명하는 흐름도로서, 예를 들어 분석 장치(20)에 의해 수행되는 방법을 설명한다.
본 실시형태의 방법은 먼저 파일로부터 소정 항목의 정보를 추출한다(210). 추출되는 정보의 항목은 파일의 종류에 따라 변경되지 않고 일관되게 유지된다. 일 실시형태에서, 사전 결정된 항목은, 파일의 헤더 정보, 파일 출처, 다운로드 위치, 모체 파일 정보, 파일의 일부 블록의 엔트로피, 파일의 일부 블록의 CRC 중 하나 이상을 포함할 수 있다. 엔트로피와 CRC와 같이 코드로부터의 계산이 필요한 경우에는, 파일 중 특정 블록을 선정하여 정보를 추출함으로써 효율을 개선할 수 있다.
다음 단계 220에서 추출된 정보를 사전 결정된 형식으로 변경하여 파일의 유전자 지도를 생성한다. 일 실시형태에서, 추출된 정보들이 사전 결정된 비트의 맵(map)에 따라 배열되어 유전자 지도가 생성될 수 있다. 즉, 유전자 지도의 어떤 비트 범위에 어떤 정보가 포함되는지를 미리 결정하고 이에 따라 유전자 지도를 생성함으로써, 유전자 지도에 접근하는 모든 장치는 원하는 정보를 판독할 수 있게 된다.
일 실시형태에서, 유전자 지도에 포함되는 사전 결정된 항목은 파일 내의 분기 명령에 포함되는 분기 거리를 포함할 수 있다. 예를 들어, 어셈블리어의 JMP 명령, CALL 명령, 조건 분기 명령(JA, JE 등)은 이동할 메모리 주소를 거리로서 지정하게 되는데, 이러한 거리 정보를 파일로부터 추출하여 이를 유전자 지도에 포함시킬 수 있다. 일 실시형태에서, 하나의 파일에서 추출되는 분기 거리가 2이상 있는 경우, 이들의 논리합 또는 산술합을 분기 거리 정보로 이용할 수 있다. 분기 거리 정보는, 코드가 수정되는 경우에도 대체로 변하지 않는 경향이 있는데, 이는 분기 거리는 프로그램 구성의 기본 골격에 해당하여 이를 변형하는 경우 프로그램 전체의 구성이 변경되기 때문이다. 따라서, 분기 거리 정보를 유전자 지도에 포함시키는 경우, 악성코드의 변종에 대해서도 정확한 악성코드 판별이 가능하게 된다.
또한, 파일의 전체 구조를 살피는 것이 아니라 정형화된 숫자인 분기 거리를 살핌으로써, 파일간의 유사도 판단이 효율적이고 신속하게 이루어질 수 있게 된다. 이는 파일의 유사도 판단을 기계적으로 수행할 수 있게 하여, 분석가의 역량에 따라 판단 결과가 달라지는 문제를 방지할 수 있게 된다.
다음 단계 230에서 생성된 파일의 유전자 지도를 저장된 악성코드 유전자 지도와 비교한다. 일 실시형태에서, 유전자 지도에 포함된 각 항목을 모두 비교하고, 일치하는 항목의 개수를 두 유전자 지도의 유사도로 결정할 수 있다. 다르게는, 각 항목에 가중치를 부여하여, 일치하는 항목 개수의 가중합을 두 유전자 지도의 유사도로 결정할 수 있다. 이와 같이, 수개의 항목을 기초로 유사도를 판단하므로, 하나의 항목의 변형 또는 오류는 전체적인 유사도 판단에 매우 제한적인 영향만을 미치게 되고, 유사도 판단의 정확성은 일관적으로 유지될 수 있다.
단계 240에서, 결정된 유사도와 기준값을 비교하게 되고, 유사도가 기준값 이상인 경우에는 단계 290으로 진행하여 파일이 악성코드인 것으로 판단한다.
한편, 단계 270 전에, 오판을 줄이기 위하여, 파일의 유전자 지도를 데이터베이스에 저장된 정상코드 유전자 지도와 비교한다(단게 250). 비교에 의해 얻어진 유사도를 기준값과 비교하고(단계 260), 유사도가 기준값 미만인 경우에는 정상코드도 아닌 것으로 판단하여 단계 270으로 진행한다. 반면, 유사도가 기준값 이상인 경우, 이 파일은 악성코드와 정상코드 모두와 유사하므로 별도의 처리가 필요하고, 이를 위해 단계 280으로 진행하여 분석가의 판단을 위해 분석가에게 파일을 제시한다.
위의 단계 250, 260 및 280은 정상코드가 악성코드로 잘못 판별되는 것을 방지하기 위해 수행되는 것으로, 일 실시형태에서 이들 단계는 수행되지 않을 수도 있다.
다음, 단계 270에서 생성된 유전자 지도를 악성코드의 유전자 지도로 지정하고 이를 데이터베이스에 저장되게 한다. 따라서, 이후의 악성코드 판별에는 새로이 추가된 유전자 지도가 함께 고려될 수 있다. 이렇게 악성코드 유전자 지도가 지속적으로 업데이트 됨으로써, 악성코드 유전지 지도의 데이터베이스가 누적되고 악성코드 판별의 정확도가 개선될 수 있다.
반면, 유사도가 기준값 미만인 경우에는 단계 290으로 진행하여 파일이 정상코드인 것으로 판단하고, 파일의 유전자 지도를 정상코드 유전자 지도로 저장되도록 할 수 있다. 일 실시형태에서, 상기 단계 250 및 260과 동일한 단계가 단계 290 이전에 수행되어, 정상코드로 판단되는 정확성을 개선하는 것도 가능하다. 즉, 파일의 유전자 지도를 다시 정상파일의 유전자 지도와 비교하고, 정상파일 유전자 지도와의 유사도가 기준값 이상인 경우에 한해 정상코드로 판단하여 이를 데이터베이스에 정상코드 유전자 지도로 저장하도록 하는 것이다.
한편, 단계 300에서, 악성코드를 포함하는 것으로 판단된 파일의 유전자 지도로부터 시그니처를 생성한다. 이렇게 생성된 시그니처는 클라이언트 장치 등으로 전송되어 악성코드 판단에 사용될 수 있다. 특히, 시그니처를 이용하는 경우에는 유전자 지도 전체를 비교하는 것에 비해 효율성이 개선되므로, 개인용 컴퓨터와 같이 연산 리소스가 부족한 장치에 있어 유용하게 사용될 수 있다.
도 3은 본 발명의 다른 실시형태에 따른 악성코드 판단 방법을 설명하는 흐름도로서, 예를 들어, 클라이언트 장치에 의해 수행될 수 있다.
먼저, 본 실시형태의 방법은, 파일로부터 2 이상의 사전 결정된 항목의 정보를 추출한다(단계 410). 예를 들어, 클라이언트 장치는 네트워크로부터 새로이 입수된 파일에 대해 사전 결정된 항목의 정보를 추출한다. 다음, 단계 420에서 추출된 정보를 사전 결정된 형식으로 변경하여 상기 파일의 유전자 지도를 생성한다. 정보의 추출 및 유전자 지도에 대해서는 도 2의 실시형태와 관련하여 상술하였으므로, 다시 설명하지 않는다.
다음, 단계 430에서 생성된 파일의 유전자 지도로부터 시그니처를 생성한다. 예를 들어, 정보의 직렬적 결합의 형태로 이루어진 유전자 지도로부터 해시 값 또는 CRC를 계산하고 이를 시그니처로 이용할 수 있다. 이렇게 생성된 시그니처를, 하나 이상의 악성코드 시그니처와 비교한다 (단계 440). 악성코드 시그니처는 도 2의 방법에 의해 생성되어, 분석 장치로부터 클라이언트 장치로 전송될 수 있다. 다른 실시형태에서, 클라이언트 장치는 데이터베이스에 접속하여 시그니처를 전송 받을 수도 있다. 유전자 지도가 아니라 시그니처를 비교함으로써, 비교 연산의 부담이 감소되고 리소스의 소비를 줄일 수 있다.
단계 450에서 생성된 시그니처와 악성코드 시그니처의 유사성이 소정 기준 미만인 경우, 단계 460으로 진행하여 파일이 정상코드인 것으로 판단한다. 일 실시형태에서, 소정 기준은 양자의 차이가 없을 것을 요구하는 기준이 될 수 있으며, 이 경우에는 생성된 시그니처와 악성 코드의 시그니처가 동일한 경우에만 파일에 악성 코드가 포함된 것으로 판단된다.
반면, 단계 450에서 생성된 시그니처와 악성코드 시그니처의 유사성이 소정 기준 이상인 경우, 단계 470으로 진행하여 생성된 시그니처를 다시 하나 이상의 정상코드의 시그니처와 비교한다. 비교의 결과, 단계 480에서 생성된 시그니처와 정상코드 시그니처의 유사성이 소정 기준 미만인 경우, 단계 490으로 진행하여 파일이 악성코드를 포함하는 것으로 판단한다. 악성코드를 포함하는 파일이 검출되었으므로, 분석 장치에 이를 통지하여 분석 장치가 데이터베이스를 업데이트할 수 있도록 한다 (단계 500). 일 실시형태에서, 단계 500이 생략되고 클라이언트 장치는 분석 장치에게 악성 코드 정보를 통지하지 않을 수도 있다, 이 경우, 분석 장치는 클라이언트로부터의 입력을 받지 않고 독립적으로 데이터베이스를 업데이트할 수 있다.
반면, 단계 480에서 생성된 시그니처와 정상코드 시그니처의 유사성이 소정 기준 이상인 경우, 이는 판단이 불가능한 경우에 해당하므로, 정확한 판단을 위해 단계 510으로 진행하여 해당 파일의 정보를 분석 장치로 전송한다. 분석 장치에서는 수신된 파일에 대해 도 2의 실시형태와 같은 방법을 수행하거나, 분석가에게 파일을 제공하여 정확한 판단을 수행할 수 있다.
도 3의 실시형태는 리소스가 제한되어 있는 클라이언트 장치에서 수행되는 것이 바람직하지만, 클라이언트 장치에서 도 2의 실시형태를 수행하는 것도 가능하고, 반대로 분석 장치에서 간단한 악성코드 판별을 위해 도 3의 실시형태를 수행하는 것도 가능하다.
도 4는 본 발명의 또 다른 실시형태에 따른 악성코드 판단 시스템을 도시하는 블록도이다. 도 4 의 시스템은 예를 들어, 도 1의 분석 장치(20)에 포함될 수 있다.
본 실시형태의 시스템은 정보 추출부(610), 유전자 지도 작성부(620), 시그니처 생성부(630), 비교부(640) 및 통신부(650)를 포함한다.
정보 추출부(610)는 파일을 입력 받아 파일로부터 사전 결정된 항목의 정보를 추출한다. 사전 결정된 항목의 상세는 메모리(660)에 저장되어 있을 수 있고, 정보 추출부(610)는 메모리를 참조하여 사전 결정된 항목의 정보를 추출할 수 있다. 다르게는 정보 추출부(610) 내의 메모리에 사전 결정된 항목의 상세를 포함하는 코드가 저장되고, 정보 추출부(610)는 이 코드를 실행하여 정보를 추출할 수 있다.
유전자 지도 작성부(620)는 정부 추출부(610)로부터 추출된 정보를 받아, 이를 정해진 형식으로 결합함으로써 유전자 지도를 작성한다. 예를 들어, 유전자 지도 작성부(620)는 추출된 정보를 정해진 순서로 연결하여 유전자 지도를 생성할 수 있다.
비교부(640)는 유전자 지도 작성부(620)에서 생성한 유전자 지도를 악성코드 유전자 지도와 비교한다. 악성코드 유전자 지도는 통신부(650)를 통해 데이터베이스로부터 수신될 수 있다. 비교부(640)는 유전자 지도간의 비교를 통해 유사도를 산출할 수 있으며, 유사도에 기초하여 두 지도의 유사 여부를 결정할 수 있다.
또한, 비교부(640)는 유전자 지도 작성부(620)로부터의 유전자 지도를 정상코드 유전자 지도와 비교할 수도 있으며, 정상코드 유전자 지도 역시 통신부(650)를 통해 데이터베이스로부터 수신될 수 있다.
비교부(640)는 비교의 결과에 따라, 시그니처 생성부(630)에 유전자 지도에 대한 시그니처를 생성할 것을 명령할 수 있다. 예를 들어, 비교 결과 파일이 악성코드를 포함하는 파일인 것으로 결정된 경우에는, 시그니처 생성부(630)에 그 파일의 유전자 지도에 대한 시그니처를 생성할 것을 명령할 수 있다. 시그니처 생성부(630)에 의해 생성된 시그니처는 통신부(650)에 의해 클라이언트 장치로 전송될 수 있다.
또한, 일 실시형태에서, 통신부(620)는 악성코드를 포함하는 것으로 판단된 파일의 유전자 지도를 데이터베이스로 전송하여 데이터베이스에 저장되게 할 수 있다. 다른 실시형태에서, 통신부(620)는 정상코드로 판단된 파일의 유전자 지도도 데이터베이스로 전송하여 데이터베이스에 저장되게 할 수 있다.
도 5는 본 발명의 다른 실시형태에 따른 악성코드 판단 시스템을 도시하는 블록도로서, 본 실시형태의 시스템은 도 1의 클라이언트 장치(10)에 포함될 수 있다.
본 실시형태의 시스템은 정보 추출부(710), 유전자 지도 작성부(720), 시그니처 생성부(730), 비교부(740) 및 통신부(750)를 포함한다. 정보 추출부(710) 및 유전자 지도 작성부(720)는 도 4의 실시형태와 관련하여 설명한 것과 동일하므로, 자세히 설명하지 않는다.
시그니처 생성부(730)는 유전자 지도 작성부(720)로부터의 유전자 지도에 대하여 시그니처를 생성한다. 생성된 시그니처는 비교부(740)에 전달되고, 비교부(740)는 통신부(750)를 통해 외부 장치(예를 들어, 분석 장치)로부터 수신된 악성코드 시그니처와 생성된 시그니처를 비교한다. 비교부(740)는 생성된 시그니처와 악성코드 시그니처의 유사성이 인정되는 것으로 판단되면, 시스템에 입력된 파일이 악성코드를 포함하는 것으로 판단할 수 있다. 또한, 일 실시형태에서 비교부(740)는 파일이 악성코드를 포함하는 것으로 판단되는 경우, 이 파일에 대한 정보를 통신부(750)를 통해 외부 장치에 전송하게 한다. 이로써, 새로운 악성코드에 대한 정보가 외부 장치에 전달되고 데이터베이스에 누적될 수 있게 된다.
비교부(740)는 또한 생성된 시그니처를 통신부(750)로부터 수신한 정상파일 시그니처와 비교할 수도 있으며, 생성된 시그니처가 정상파일 시그니처와 유사한 것으로 판단되면 입력된 파일을 정상파일로 판단할 수 있다. 다르게는, 악성코드 시그니처와 유사한 시그니처가 정상파일 시그니처와도 유사한 것으로 판단하면, 비교부(740)는 입력된 파일이 악성코드 또는 정상코드를 포함하는지에 대한 판단을 보류하고, 통신부(750)를 통해 이를 외부 장치에 알려 외부 장치가 자세한 판단을 수행할 수 있도록 할 수도 있다.
이상 본 발명의 구체적 실시형태들을 참조하여 본 발명을 설명하였으나, 이는 예시에 불과하며 본 발명의 범위를 제한하는 것이 아니다. 당업자는 본 발명의 범위를 벗어나지 않는 범위 내에서 설명된 실시형태들을 변경 또는 변형할 수 있다. 본 명세서에서 설명된 각 기능부, 기능 블록 또는 수단은 전자 회로, 집적 회로, ASIC (Application Specific Integrated Circuit) 등 공지된 다양한 소자들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수 있다. 또한, 각 기능부, 기능 블록 또는 수단이 프로그램 상의 모듈(module) 또는 함수(function)로 구현될 수 있고, 하나의 프로그램에 포함되거나 별개의 프로그램으로 구현될 수 있다. 본 명세서에서, 유전자 지도 및 시그니처의 비교와 관련하여 사용된 "유사"라는 용어는 비교대상이 동일한 경우를 포함하는 것으로 해석되어야 한다.
본 명세서 및 청구범위에서 별개인 것으로 설명된 수단 등의 구성요소는 단순히 기능상 구별된 것으로 물리적으로는 하나의 수단으로 구현될 수 있으며, 단일한 것으로 설명된 수단 등의 구성요소도 수개의 구성요소의 결합으로 이루어질 수 있다. 또한 본 명세서에서 설명된 각 방법 단계들은 본 발명의 범위를 벗어나지 않고 그 순서가 변경될 수 있고, 다른 단계가 부가될 수 있다. 뿐만 아니라, 본 명세서에서 설명된 다양한 실시형태들은 각각 독립하여서뿐만 아니라 적절하게 결합되어 구현될 수도 있다. 따라서 본 발명의 범위는 설명된 실시형태가 아니라 첨부된 청구범위 및 그 균등물에 의해 정해져야 한다.

Claims (20)

  1. 파일의 악성코드 포함 여부를 판단하는 방법으로서,
    상기 파일로부터 2 이상의 사전 결정된 항목의 정보를 추출하는 단계와,
    상기 추출된 정보를 사전 결정된 형식으로 변경하여 상기 파일의 유전자 지도를 생성하는 단계와,
    상기 파일의 유전자 지도를 저장된 악성코드 유전자 지도와 비교하는 단계와,
    상기 파일의 유전자 지도와 상기 저장된 악성코드 유전자 지도의 유사성이 소정 기준 이상인 경우 상기 파일이 악성코드를 포함하는 것으로 판단하는 단계
    를 포함하는 악성코드 포함 여부 판단 방법.
  2. 제 1 항에 있어서,
    상기 추출하는 단계는, 사전 결정된 항목 중 적어도 하나의 항목이 상기 파일에 부재하는 경우 상기 적어도 하나의 항목을 부재로 표시하는 단계를 포함하고,
    상기 파일의 유전자 지도는 상기 적어도 하나의 항목의 부재를 나타내는 정보를 포함하는
    악성코드 포함 여부 판단 방법.
  3. 제 1 항에 있어서,
    상기 추출하는 단계는 상기 파일 내의 일부분으로부터 상기 정보를 추출하는 단계를 포함하는
    악성코드 포함 여부 판단 방법.
  4. 제 1 항에 있어서,
    상기 사전 결정된 항목은 상기 파일 내의 분기 명령에 포함되는 분기 거리를 포함하는
    악성코드 포함 여부 판단 방법.
  5. 제 1 항에 있어서,
    상기 사전 결정된 항목은 상기 파일의 종류에 독립적으로 정해지는
    악성코드 포함 여부 판단 방법.
  6. 제 1 항에 있어서,
    상기 저장된 악성코드의 유전자 지도는 데이터베이스에 저장되고,
    상기 방법은
    상기 파일이 악성코드를 포함하는 것으로 판단되면, 상기 파일의 유전자 지도가 상기 데이터베이스에 악성코드의 유전자 지도로서 저장되도록 하는 단계를 더 포함하는
    악성코드 포함 여부 판단 방법.
  7. 제 1 항에 있어서,
    상기 파일의 유전자 지도를 저장된 정상코드 유전자 지도와 비교하는 단계와,
    상기 파일의 유전자 지도와 상기 저장된 정상코드 유전자 지도의 유사성이 소정 기준 이상인 경우 상기 파일이 악성코드를 포함하는 것으로 판단하지 않도록 하는 단계를 더 포함하는
    악성코드 포함 여부 판단 방법.
  8. 제 7 항에 있어서,
    상기 저장된 정상코드의 유전자 지도는 데이터베이스에 저장되고,
    상기 방법은
    상기 파일의 유전자 지도와 상기 저장된 정상코드 유전자 지도의 유사성이 소정 기준 이상인 경우, 상기 파일의 유전자 지도가 상기 데이터베이스에 정상코드의 유전자 지도로서 저장되도록 하는 단계를 더 포함하는
    악성코드 포함 여부 판단 방법.
  9. 제 7 항에 있어서,
    상기 저장된 정상코드 유전자 지도와 비교하는 단계는, 상기 파일의 유전자 지도와 상기 저장된 악성코드의 유전자 지도의 유사성이 소정 기준 이상인 경우에 수행되는
    악성코드 포함 여부 판단 방법.
  10. 제 1 항에 있어서,
    상기 파일이 악성코드를 포함하는 것으로 판단되면, 상기 파일의 유전자 지도로부터 악성코드 시그니처를 생성하도록 하는 단계를 더 포함하되,
    상기 악성코드 시그니처는 외부 장치로 전송되기 위한 것인
    악성코드 포함 여부 판단 방법.
  11. 파일의 악성코드 포함 여부를 판단하는 방법으로서,
    상기 파일로부터 2 이상의 사전 결정된 항목의 정보를 추출하는 단계와,
    상기 추출된 정보를 사전 결정된 형식으로 변경하여 상기 파일의 유전자 지도를 생성하는 단계와,
    상기 파일의 유전자 지도로부터 시그니처를 생성하는 단계와,
    상기 생성된 시그니처를 하나 이상의 악성코드 시그니처와 비교하는 단계와,
    상기 생성된 시그니처와 상기 악성코드 시그니처의 유사성이 소정 기준 이상인 경우 상기 파일이 악성코드를 포함하는 것으로 판단하는 단계
    를 포함하는 악성코드 포함 여부 판단 방법.
  12. 제 11 항에 있어서,
    상기 악성코드 시그니처는 외부 장치로부터 수신되고,
    상기 방법은
    상기 파일이 악성코드를 포함하는 것으로 판단되면, 상기 파일이 악성코드를 포함함을 상기 외부 장치에 알리는 단계를 더 포함하는
    악성코드 포함 여부 판단 방법.
  13. 파일이 악성코드를 포함하는 것으로 판단되었음을 검출하는 단계와,
    상기 파일의 유전자 지도로부터 악성코드 시그니처를 생성하는 단계와,
    상기 악성코드 시그니처를 외부 장치로 전송하는 단계
    를 포함하는 방법.
  14. 파일의 악성코드 포함 여부를 판단하는 시스템으로서,
    상기 파일로부터 2 이상의 사전 결정된 항목의 정보를 추출하는, 정보 추출 수단과,
    상기 추출된 정보를 사전 결정된 형식으로 변경하여 상기 파일의 유전자 지도를 생성하는, 유전자 지도 생성 수단과,
    상기 파일의 유전자 지도를 저장된 악성코드 유전자 지도와 비교하는, 비교 수단과,
    상기 파일의 유전자 지도와 상기 저장된 악성코드 유전자 지도의 유사성이 소정 기준 이상인 경우 상기 파일이 악성코드를 포함하는 것으로 판단하는, 판단 수단
    을 포함하는 악성코드 포함 여부 판단 시스템.
  15. 제 14 항에 있어서,
    상기 파일이 악성코드를 포함하는 것으로 판단되면, 상기 파일의 유전자 지도로부터 악성코드 시그니처를 생성하는, 악성코드 시그니처 생성 수단을 더 포함하되,
    상기 악성코드 시그니처는 외부 장치로 전송되기 위한 것인
    악성코드 포함 여부 판단 방법.
  16. 파일의 악성코드 포함 여부를 판단하는 시스템으로서,
    상기 파일로부터 2 이상의 사전 결정된 항목의 정보를 추출하는, 추출 수단과,
    상기 추출된 정보를 사전 결정된 형식으로 변경하여 상기 파일의 유전자 지도를 생성하는 유전자 지도 생성 수단과,
    상기 파일의 유전자 지도로부터 시그니처를 생성하는 시그니처 생성 수단과,
    상기 생성된 시그니처를 하나 이상의 악성코드 시그니처와 비교하는 비교 수단과,
    상기 생성된 시그니처와 상기 악성코드 시그니처의 유사성이 소정 기준 이상인 경우 상기 파일이 악성코드를 포함하는 것으로 판단하는 판단 수단
    을 포함하는 악성코드 포함 여부 판단 시스템.
  17. 제 16 항에 있어서,
    상기 악성코드 시그니처는 외부 장치로부터 수신되고,
    상기 시스템은
    상기 파일이 악성코드를 포함하는 것으로 판단되면, 상기 파일이 악성코드를 포함함을 상기 외부 장치에 알리는 통신 수단을 더 포함하는
    악성코드 포함 여부 판단 시스템.
  18. 파일이 실행되는 클라이언트 장치와 악성코드의 시그니처를 제공하는 분석 장치를 포함하는 시스템에 있어서,
    상기 분석 장치는 제 18 항에 따른 시스템을 포함하고,
    상기 클라이언트 장치는 제 19 항에 따른 시스템을 포함하며,
    상기 클라이언트 장치는 상기 분석 장치로부터 악성코드 시그니처를 수신하여 상기 파일이 악성코드인지 여부를 판단하는
    시스템.
  19. 파일이 악성코드를 포함하는 것으로 판단되었음을 검출하는, 검출 수단과,
    상기 파일의 유전자 지도로부터 악성코드 시그니처를 생성하는 시그니처 생성 수단과,
    상기 악성코드 시그니처를 외부 장치로 전송하는 통신 수단
    을 포함하는 시스템.
  20. 프로세서에 의해 실행되는 경우, 프로세서가 청구항 제 1 항 내지 제 13 항 중 어느 한 항의 방법을 실행하도록 하는 명령을 포함하는 프로그램이 기록된, 컴퓨터 판독 가능 저장 매체.

KR1020100140175A 2010-12-31 2010-12-31 파일 유전자 지도를 이용하여 파일의 악성코드 포함 여부를 판단하는 방법 및 시스템 KR101337874B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020100140175A KR101337874B1 (ko) 2010-12-31 2010-12-31 파일 유전자 지도를 이용하여 파일의 악성코드 포함 여부를 판단하는 방법 및 시스템
US13/977,250 US9141796B2 (en) 2010-12-31 2011-12-27 System and method for detecting malware in file based on genetic map of file
PCT/KR2011/010141 WO2012091400A1 (en) 2010-12-31 2011-12-27 System and method for detecting malware in file based on genetic map of file

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100140175A KR101337874B1 (ko) 2010-12-31 2010-12-31 파일 유전자 지도를 이용하여 파일의 악성코드 포함 여부를 판단하는 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20120078018A true KR20120078018A (ko) 2012-07-10
KR101337874B1 KR101337874B1 (ko) 2014-01-28

Family

ID=46383336

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100140175A KR101337874B1 (ko) 2010-12-31 2010-12-31 파일 유전자 지도를 이용하여 파일의 악성코드 포함 여부를 판단하는 방법 및 시스템

Country Status (3)

Country Link
US (1) US9141796B2 (ko)
KR (1) KR101337874B1 (ko)
WO (1) WO2012091400A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150133498A (ko) * 2014-05-20 2015-11-30 한양대학교 산학협력단 프로그램의 시그니처를 생성하는 시그니처 생성 장치 및 방법, 시그니처의 악성 코드를 검출하는 악성 코드 검출 장치 및 방법
KR20160124598A (ko) * 2015-04-20 2016-10-28 삼성전자주식회사 프로그램이 악성 코드를 포함하는지 판단하는 전자 장치 및 그 제어 방법
KR20190062316A (ko) * 2017-11-28 2019-06-05 고려대학교 산학협력단 데이터 파일의 악성코드 검출 서버 및 방법
KR20220127702A (ko) 2021-03-11 2022-09-20 고남현 구술 내용에 기반한 적합 파일형식 판단 방법 및 장치

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8978137B2 (en) * 2012-02-29 2015-03-10 Cisco Technology, Inc. Method and apparatus for retroactively detecting malicious or otherwise undesirable software
US9111095B2 (en) 2012-08-29 2015-08-18 The Johns Hopkins University Apparatus and method for identifying similarity via dynamic decimation of token sequence n-grams
US9003529B2 (en) * 2012-08-29 2015-04-07 The Johns Hopkins University Apparatus and method for identifying related code variants in binaries
US9202050B1 (en) * 2012-12-14 2015-12-01 Symantec Corporation Systems and methods for detecting malicious files
KR101880796B1 (ko) * 2013-02-10 2018-08-17 페이팔, 인코포레이티드 예측보안 제품을 제공하고 기존의 보안제품을 평가하는 방법과 장치
US10152591B2 (en) 2013-02-10 2018-12-11 Paypal, Inc. Protecting against malware variants using reconstructed code of malware
US9323936B2 (en) * 2013-03-15 2016-04-26 Google Inc. Using a file whitelist
RU2568285C2 (ru) * 2013-09-30 2015-11-20 Закрытое акционерное общество "Лаборатория Касперского" Способ и система анализа работы правил обнаружения программного обеспечения
KR101749210B1 (ko) 2015-12-18 2017-06-20 한양대학교 산학협력단 다중 서열 정렬 기법을 이용한 악성코드 패밀리 시그니쳐 생성 장치 및 방법
US10423777B2 (en) * 2016-04-14 2019-09-24 Endgame, Inc. Preventing execution of malicious instructions based on address specified in a branch instruction
WO2018060470A1 (en) * 2016-09-30 2018-04-05 AVAST Software s.r.o. System and method utilizing function length statistics to determine file similarity
US10706180B2 (en) 2017-07-07 2020-07-07 Endgame, Inc. System and method for enabling a malware prevention module in response to a context switch within a certain process being executed by a processor
US10554678B2 (en) 2017-07-26 2020-02-04 Cisco Technology, Inc. Malicious content detection with retrospective reporting
GB2624850A (en) * 2022-11-02 2024-06-05 Qinetiq Ltd High assurance data verification

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6944772B2 (en) * 2001-12-26 2005-09-13 D'mitri Dozortsev System and method of enforcing executable code identity verification over the network
KR20040080844A (ko) * 2003-03-14 2004-09-20 주식회사 안철수연구소 정적 분석을 이용한 악성 스크립트 감지 방법
JP2005148814A (ja) * 2003-11-11 2005-06-09 Business Eggs:Kk ファイルアクセス監視装置、方法、プログラムおよび記録媒体
US7571482B2 (en) * 2005-06-28 2009-08-04 Microsoft Corporation Automated rootkit detector
EP1963959A2 (en) * 2005-12-09 2008-09-03 Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. A method and apparatus for automatic comparison of data sequences
KR100832088B1 (ko) * 2006-04-24 2008-05-27 주식회사 리미트정보통신 시그니처 그래프를 이용한 하이브리드 기반 침입탐지시스템
US8261344B2 (en) * 2006-06-30 2012-09-04 Sophos Plc Method and system for classification of software using characteristics and combinations of such characteristics
IL181426A (en) * 2007-02-19 2011-06-30 Deutsche Telekom Ag Automatic removal of signatures for malware
KR100960117B1 (ko) * 2007-12-17 2010-05-28 한국전자통신연구원 시그니처 패턴 매칭방법과 그 시스템 및 시그니처 패턴이기록된 기록매체

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150133498A (ko) * 2014-05-20 2015-11-30 한양대학교 산학협력단 프로그램의 시그니처를 생성하는 시그니처 생성 장치 및 방법, 시그니처의 악성 코드를 검출하는 악성 코드 검출 장치 및 방법
KR20160124598A (ko) * 2015-04-20 2016-10-28 삼성전자주식회사 프로그램이 악성 코드를 포함하는지 판단하는 전자 장치 및 그 제어 방법
KR20190062316A (ko) * 2017-11-28 2019-06-05 고려대학교 산학협력단 데이터 파일의 악성코드 검출 서버 및 방법
KR20220127702A (ko) 2021-03-11 2022-09-20 고남현 구술 내용에 기반한 적합 파일형식 판단 방법 및 장치

Also Published As

Publication number Publication date
US9141796B2 (en) 2015-09-22
WO2012091400A1 (en) 2012-07-05
KR101337874B1 (ko) 2014-01-28
US20130283382A1 (en) 2013-10-24

Similar Documents

Publication Publication Date Title
KR101337874B1 (ko) 파일 유전자 지도를 이용하여 파일의 악성코드 포함 여부를 판단하는 방법 및 시스템
CN108763928B (zh) 一种开源软件漏洞分析方法、装置和存储介质
EP3258409B1 (en) Device for detecting terminal infected by malware, system for detecting terminal infected by malware, method for detecting terminal infected by malware, and program for detecting terminal infected by malware
US9553889B1 (en) System and method of detecting malicious files on mobile devices
CN108985057B (zh) 一种webshell检测方法及相关设备
US11470097B2 (en) Profile generation device, attack detection device, profile generation method, and profile generation computer program
US20160142437A1 (en) Method and system for preventing injection-type attacks in a web based operating system
CN101751530B (zh) 检测漏洞攻击行为的方法及设备
CN104520871A (zh) 漏洞矢量信息分析
CN104067283A (zh) 识别移动环境的木马化应用程序
WO2017146094A1 (ja) 攻撃コード検知装置、攻撃コード検知方法及び攻撃コード検知プログラム
CN113472803A (zh) 漏洞攻击状态检测方法、装置、计算机设备和存储介质
US20200183805A1 (en) Log analysis method, system, and program
KR101605783B1 (ko) 악성 애플리케이션 탐지 방법 및 이 방법을 실행시키는 컴퓨터프로그램
JP5441043B2 (ja) プログラム、情報処理装置、及び情報処理方法
US11550920B2 (en) Determination apparatus, determination method, and determination program
KR20120078030A (ko) 비 pe파일의 악성 컨텐츠 포함 여부를 판단하는 방법 및 시스템
KR102318714B1 (ko) 바이너리 코드 클론 기반 소프트웨어 취약점 탐지를 위한 컴퓨터 프로그램
US11563717B2 (en) Generation method, generation device, and recording medium
CN111368128A (zh) 目标图片的识别方法、装置和计算机可读存储介质
US10242191B2 (en) Dynamically-loaded code analysis device, dynamically-loaded code analysis method, and dynamically-loaded code analysis program
WO2023072002A1 (zh) 开源组件包的安全检测方法及装置
KR101761512B1 (ko) 클라이언트 변조 판단 시스템 및 방법
CN115225328A (zh) 页面访问数据的处理方法、装置、电子设备以及存储介质
CN108171014B (zh) 一种rtf可疑文件的检测方法、***及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161202

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171204

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181203

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191202

Year of fee payment: 7