KR101060596B1 - 악성 파일 탐지 시스템, 악성 파일 탐지 장치 및 그 방법 - Google Patents

악성 파일 탐지 시스템, 악성 파일 탐지 장치 및 그 방법 Download PDF

Info

Publication number
KR101060596B1
KR101060596B1 KR1020090062371A KR20090062371A KR101060596B1 KR 101060596 B1 KR101060596 B1 KR 101060596B1 KR 1020090062371 A KR1020090062371 A KR 1020090062371A KR 20090062371 A KR20090062371 A KR 20090062371A KR 101060596 B1 KR101060596 B1 KR 101060596B1
Authority
KR
South Korea
Prior art keywords
file
malicious
virtualization
window
detection
Prior art date
Application number
KR1020090062371A
Other languages
English (en)
Other versions
KR20110004935A (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 KR1020090062371A priority Critical patent/KR101060596B1/ko
Publication of KR20110004935A publication Critical patent/KR20110004935A/ko
Application granted granted Critical
Publication of KR101060596B1 publication Critical patent/KR101060596B1/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/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection

Abstract

본 발명은 악성 코드를 포함하는 악성 파일 유무를 탐지하는 악성 파일 탐지 장치 및 방법에 관한 것으로, 이를 위하여 본 발명은, 네트워크상에서 수집된 실행 파일을 그에 대응하는 가상화창을 할당한 후, 해당 가상화 프로그램을 통해 실행시키고, 해당 실행 파일의 동작 상태를 모니터링하며, 모니터링된 동작 상태의 결과를 분석하여 악성 파일 여부를 판단한 후에, 악성 파일 여부를 포함하는 악성 파일 정보를 제공함으로써, 가상화 프로그램을 통해 실행 파일을 실행시켜 그 동작 상태 분석을 통해 악성 파일 유무를 쉽게 판단할 수 있는 것이다.
악성 코드

Description

악성 파일 탐지 시스템, 악성 파일 탐지 장치 및 그 방법{MALICIOUS FILE DETECTION SYSTEM, MALICIOUS FILE DETECTION APPARATUS AND ITS METHOD}
본 발명은 악성 파일을 탐지하는 기법에 관한 것으로, 더욱 상세하게는 네트워크를 통해 수집되는 다수의 파일들 중에서 악성 코드를 포함하는 악성 파일을 모니터링 및 탐지하는데 적합한 악성 파일 탐지 시스템, 악성 파일 탐지 장치 및 방법에 관한 것이다.
본 발명은 지식경제부의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2009-S-038-01, 과제명: 분산서비스거부(DDoS) 공격 대응 기술개발].
잘 알려진 바와 같이, 메모리와 통신 기술이 발달함에 따라 컴퓨터의 성능은 거의 무한에 가까운 능력을 가지게 되었으며, 이와 더불어 네트워크 기반 시설의 발달에 따른 인터넷의 보급이 확장되어가고 있는 추세이다.
이러한 인터넷의 보급은 지구촌의 개념을 사이버 상으로 옮겨 놓았을 뿐만 아니라, 다양한 형태의 새로운 문화를 만들기도 한다. 특히, 인터넷은 정보 공유를 그 기본 목적으로 하는 것으로, 세계의 유수하고 탁월한 프로그램들이 인터넷을 통 하여 전파되고 있으며, 이러한 인터넷은 그 긍정적인 효과와 더불어 파괴적이고, 침해적인 역기능 문제를 파생시키고 있다.
이 문제점은 특히, 다른 인터넷 사용자의 정보를 허가 없이 해킹하여 불법 유용하거나, 다른 인터넷 사용자의 컴퓨터 단말기, 서버 등을 잠식하는 행위 등의 불법적이며 고의적인 문제로 비화 되어가고 있어 사회의 심각한 문제로 대두되고 있다. 일 예로서, 웜바이러스 및 악성코드를 이용한 타 시스템의 공격, 타 단말기 정보파괴 문제는 오늘날에는 일반적인 문제처럼 느껴질 정도로 자주 그리고 심각하게 발생하고 있다.
이 중에서, 악성코드는 인터넷을 이용하는 사용자가 다른 사람의 컴퓨터에 대량의 데이터를 전송하거나, 성인 음란사이트가 연속적으로 뜨게 하거나, 컴퓨터 사용이 갑자기 느려지고, 엉뚱한 사이트가 인터넷 사이트로 설정되어 있도록 사용자 컴퓨터의 내부 시스템 레지스트리를 변경하는 등의 문제를 일으키게 된다. 이러한 악성코드로는 스파이웨어, 애드웨어, 웜 등이 포함될 수 있으며, 이 악성코드의 경로로 대개는 인터넷에서 쉽게 구하는 파일 프로그램을 통해서나, 광고를 목적으로 사용자 컴퓨터에 코드들을 심는 악성 애드웨어 유포자들을 통해 사용자 컴퓨터에 설치된다.
그러나, 현재까지는 이러한 악성코드의 추출 및 추적, 분석 등에 대한 자료가 미비하고, 자료가 있다할지라도, 악성코드의 빠른 분석과 정확한 결정이 이루어지지 않아, 악성코드의 확산 및 피해상황의 빠른 회복이 더디게 이루어지고 있는 실정이다. 특히, 악성코드는 그 변종이나 아류 형태가 많아 수집된 코드가 악성코 드인지 여부를 판별하기 위해서는 수작업이 이용되고 있는데, 예를 들면, 하나의 웜 바이러스가 발견되고, 이러한 웜 바이러스에 대하여 경고 및 주의 통보를 하고 난 이후, 발견된 웜 바이러스의 변종 바이러스가 발견되었을 경우, 발견된 웜 바이러스가 새로운 유형인지, 또는 기존의 웜의 변종 인지, 또는 다른 종류의 특정 프로그램인지에 대한 판별이 즉각적으로 이루어지지 못하고, 수집된 코드 및 바이러스를 컴퓨터상에 실행시켜 본 이후, 레지스트리 값이 변동되는지 체크하거나, 악성 행위여부 등 변화를 수동으로 감시여야 하며, 이러한 감시를 통하여, 수집된 코드가 악성코드인지 여부를 결정하게 된다.
한편, 네트워크를 통해 전송되는 악성코드를 포함하는 악성 파일들을 탐지 및 차단하기 위한 종래의 기술에 대해 설명하면, 초기 네트워크 보안 시스템의 경우에는 악성 파일에서 추출한 고유 바이트 정보인 시그니처에 의존하고 있으며, 다른 기법으로는, 악성 파일을 정상 파일의 헤더값과 비교하거나 악성 파일의 팩(pack) 여부 탐지 등을 통해 판단하는 방식과 같은 정적 분석을 통해 악성 여부를 판단하는 기법이 제안되어 있다.
최근에는 악성 코드를 탐지하가 위해 실행 파일을 직접 실행한 후, 운영체제 레벨에서 시스템 호출 명령어 및 함수 호출을 모니터링하여 카운트하거나 호출 관계를 추적하는 기법들이 제안되고 있다.
하지만, 상술한 바와 같은 종래 기법들 중 시그니처를 이용하여 악성 파일을 탐지하는 기법의 경우 새로운 악성 파일이나 변종 악성 파일은 그에 대응하는 시그니처를 제작하기 전까지는 해당 악성 파일에 대응하지 못하는 문제점이 있고, 정적 분석을 통해 악성 파일을 탐지하는 기법의 경우 악성 파일들이 정상 헤더를 가질 수 있으며, 정상 파일들도 필요에 따라 팩 등에 의해 비정상적인 헤더를 가질 수 있기 때문에 탐지된 결과에 대한 높은 신뢰도를 보장하기 어려운 문제점이 있다.
또한, 실행 파일을 직접 실행하는 방식으로 악성 파일을 탐지하는 기법의 경우 운영체제와 모든 부분에서 밀접한 통신을 수행하여야 하며, 심지어 운영체제 자체의 변경도 수행되어야 하기 때문에 시스템 구현이 용이하지 않고, 일련의 함수 호출 순서와 실제 악의적인 동작과는 의미론적인 괴리가 있는 경우도 많다는 문제점이 있다.
이에 따라, 본 발명은 네트워크를 통해 수집된 다수의 실행 파일을 가상화 방식으로 직접 실행 및 모니터링한 후, 그 동작 결과에 따라 악성 파일 여부를 판단할 수 있는 악성 파일 탐지 시스템, 악성 파일 탐지 장치 및 방법을 제공하고자 한다.
본 발명의 일 실시 예에 따르면, 네트워크상의 실행 파일을 수집하고, 제공되는 악성 파일 정보에 따라 상기 실행 파일을 선택 차단하는 네트워크 보안 장치와, 상기 수집된 실행 파일에 대응하는 가상화창을 할당하고, 상기 할당된 가상화창에 대응하는 가상화 프로그램을 통해 상기 실행 파일을 실행시키며, 상기 실행 파일의 실행 중에 모니터링된 동작 상태 결과를 분석하여 상기 실행 파일의 악성 파일 유무를 판단한 후에 상기 악성 파일 정보를 상기 네트워크 보안 장치로 제공하는 악성 파일 탐지 장치를 포함하는 악성 파일 탐지 시스템이 제공된다.
본 발명의 다른 실시 예에 따르면, 수집된 실행 파일에 대응하는 가상화창을 할당하고, 상기 할당된 가상화창에 대응하는 가상화 프로그램을 통해 상기 실행 파일을 실행시키도록 제어하며, 상기 실행 파일의 동작 상태 결과를 수신 및 분석하여 상기 실행 파일의 악성 파일 유무를 판단한 후에 악성 파일 정보를 제공하는 탐지 제어부와, 상기 할당된 가상화창 및 가상화 프로그램을 통해 상기 실행 파일을 실행하면서 상기 실행 파일의 동작 상태를 모니터링하고, 모니터링된 동작 상태 결과를 상기 탐지 제어부로 전송하는 가상화 탐지부와, 상기 수집된 실행 파일을 전송하는 네트워크 보안 장치와 상기 탐지 제어부 간의 통신을 담당하는 제 1 통신부와, 상기 탐지 제어부와 상기 가상화 탐지부 간의 통신을 담당하는 제 2 통신부를 포함하는 악성 파일 탐지 장치가 제공된다.
본 발명의 또 다른 실시 예에 따르면, 수집된 실행 파일이 전송되면, 상기 전송된 실행 파일을 어느 하나의 가상화창에 할당하는 단계와, 상기 할당된 가상화창에서 가상화 프로그램을 통해 상기 실행 파일을 실행하는 단계와, 상기 실행 파일의 실행 중에 동작 상태를 모니터링하여 모니터링된 동작 상태 결과를 제공하는 단계와, 상기 제공된 동작 상태 결과를 분석하여 악성 파일 여부를 판단하는 단계와, 상기 악성 파일 여부를 포함하는 악성 파일 정보를 제공하는 단계를 포함하는 악성 파일 탐지 방법이 제공된다.
본 발명은, 실행 파일에 대응하는 가상화창을 할당하고, 그에 대응하는 가상화 프로그램을 통해 실행 파일을 실행시키면서 그 동작 상태를 모니터링하고, 모니터링된 동작 상태 결과를 분석하여 악성 파일 유무를 판단하여 그 악성 파일 정보를 제공함으로써, 시그니처없이 악성 파일 유무를 쉽게 판단할 수 있고, 헤더 분석과 같은 간접 분석 방법에 비해 높은 신뢰도를 획득할 수 있다.
또한, 본 발명은 가상화 프로그램을 이용하여 메인 시스템의 재구동없이 반복적인 분석이 가능하며, 운영체제에 관계없이 다양한 운영체제에 대해서 악성 파일 유무를 판단할 수 있어 구현이 용이하다는 장점이 있다.
그리고, 본 발명은 예를 들면, CPU, 메모리, 파일, 네트워크, 인터페이스, 프로세스 등의 다양한 항목별로 동작 상태를 모니터링할 수 있어 특정 부분에서 실행되는 악성 파일의 탐지에도 높은 신뢰도를 획득할 수 있다.
본 발명은, 네트워크상에서 수집된 실행 파일을 그에 대응하는 가상화창을 할당한 후, 해당 가상화 프로그램을 통해 실행시키고, 해당 실행 파일의 동작 상태를 모니터링하며, 모니터링된 동작 상태의 결과를 분석하여 악성 파일 여부를 판단한 후에, 악성 파일 여부를 포함하는 악성 파일 정보를 제공한다는 것이며, 이러한 기술적 수단을 통해 종래 기술에서의 문제점을 해결할 수 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형 태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
도 1은 본 발명의 실시 예에 따라 네트워크에서 수집된 다수의 실행 파일의 악성 여부를 탐지하는데 적합한 악성 파일 탐지 시스템의 블록 구성도로서, 네트워크 보안 장치(100), 악성 파일 탐지 장치(200) 등을 포함할 수 있다.
도 1을 참조하면, 네트워크 보안 장치(100)는 도시 생략된 유무선 통신망을 통해 네트워크상의 실행 파일을 수집하여 제공하는 것으로, 예를 들면, 유무선 통신망을 통해 네트워크상의 실행 파일을 수집하고, 수집된 실행 파일의 악성 파일 여부를 탐지하기 위해 해당 실행 파일을 악성 파일 탐지 장치(200)로 유무선 통신망을 통해 전송한다.
또한, 네트워크 보안 장치(100)는 악성 파일 탐지 장치(200)로부터 전송되는 악성 파일 정보를 이용하여 악성 파일로 판단된 해당 실행 파일의 수신을 차단한다.
다음에, 악성 파일 탐지 장치(200)는 다수의 실행 파일의 악성 파일 유무를 탐지하여 그 악성 파일 정보를 제공하는 것으로, 네트워크 보안 장치(100)로부터 전송되는 실행 파일이 수신되면, 수신된 실행 파일에 대응하는 가상화창(즉, 가상화 화면)을 할당한 후, 해당 가상화창에 대응하는 가상화 프로그램을 통해 해당 실행 파일을 실행하며, 해당 실행 파일의 실행 중에 그 동작 상태를 모니터링한 후, 모니터링된 동작 상태에 대한 결과를 분석하여 악성 파일 여부를 판단하고, 예를 들면, 실행 파일명, 악성 파일 여부, 동작 상태 결과 등을 포함하는 악성 파일 정보를 유무선 통신망을 통해 네트워크 보안 장치(100)로 전송한다.
이 후에, 악성 파일 탐지 장치(200)는 해당 실행 파일의 동작 상태에 대한 결과의 분석이 완료되면, 해당 실행 파일에 대응하는 가상화 프로그램을 종료시키고, 기 저장된 원본 가상화 이미지 데이터 중 어느 하나를 재 구동시켜 가상화창을 활성화시키며, 활성화된 가상화창에 대응하는 가상화 프로그램을 통해 다른 실행 파일의 악성 파일 여부를 탐지한다.
다음에, 상술한 바와 같은 구성을 갖는 악성 파일 탐지 시스템에서 네트워크상에서 수집된 실행 파일을 그에 대응하는 가상화창을 할당한 후, 해당 가상화 프로그램을 통해 실행시키고, 해당 실행 파일의 동작 상태를 모니터링하며, 모니터링된 동작 상태의 결과를 분석하여 악성 파일 여부를 판단한 후에, 악성 파일 여부를 포함하는 악성 파일 정보를 제공하는 악성 파일 탐지 장치에 대해 설명한다.
도 2는 본 발명의 실시 예에 따라 네트워크상에서 수집된 실행 파일의 악성 파일 여부를 탐지하는데 적합한 악성 파일 탐지 장치의 블록 구성도로서, 악성 파일 탐지 장치(200)는 탐지 제어부(202), 제 1 통신부(204), 제 2 통신부(206), 가상화 탐지부(208) 등을 포함할 수 있다.
도 2를 참조하면, 탐지 제어부(202)는 실행 파일의 탐지를 위해 예를 들면, VmWare 등의 가상화 프로그램을 이용하여 해당 실행 파일을 실행하도록 제어하는 것으로, 제 1 통신부(204)를 통해 네트워크 보안 장치(100)로부터 수집된 실행 파일이 전송되면, 해당 실행 파일에 대응하는 가상화창을 할당하고, 할당된 가상화창에 대응하는 가상화 프로그램을 통해 해당 실행 파일을 실행하도록 제 2 통신부(206)를 통해 가상화 탐지부(208)로 제어신호를 제공한다. 여기에서, 탐지 제어부(202)에는 각각 다른 운영체제, 예를 들어 윈도우 운영체제, 유닉스 운영체제 등에 대응하는 원본 가상화 이미지 데이터가 기 저장되어 있으며, 어느 하나의 원본 가상화 이미지 데이터를 복제하여 가상화 탐지부(208)의 가상화창을 생성하고, 그에 대응하는 가상화 프로그램을 구동시킬 수 있다.
그리고, 탐지 제어부(202)는 가상화 탐지부(208)로부터 제 2 통신부(206)를 통해 전달되는 해당 실행 파일의 동작 상태 결과를 분석하여 악성 파일 여부를 판단한 후에, 예를 들면, 실행 파일명, 악성 파일 여부, 동작 상태 결과 등을 포함하는 악성 파일 정보를 제 1 통신망(204)을 통해 네트워크 보안 장치(100)로 전송한다.
이 후에, 탐지 제어부(202)는 실행 파일의 분석이 종료되면, 분석 완료된 실행 파일을 실행시킨 가상화창 및 가상화 프로그램을 종료하고, 기 설정된 다수의 원본 가상화 이미지 데이터 중 어느 하나를 구동시켜 다른 가상화창을 활성화시키도록 제 2 통신망(206)을 통해 가상화 탐지부(208)로 제어신호를 제공하며, 이에 대응하는 가상화 프로그램을 이용하여 다른 실행 파일의 악성 파일 여부를 탐지하도록 제 2 통신망(206)을 통해 가상화 탐지부(208)로 제어신호를 제공한다.
물론, 탐지 제어부(202)에서는 가상화 탐지부(208)로부터 전달되는 실행 파일의 동작 상태 결과를 지속적으로 분석하면서 실행 파일의 동작이 완료되기 전에 악성 파일 여부를 판단하여 그 분석이 완료될 경우 분석 완료된 실행 파일을 실행시킨 가상화창 및 가상화 프로그램을 종료하고, 기 저장된 다수의 원본 가상화 이미지 데이터 중 어느 하나를 구동시켜 다른 가상화창을 활성화시키도록 제 2 통신망(206)을 통해 가상화 탐지부(208)로 제어신호를 제공할 수 있음은 물론이다.
다음에, 제 1 통신부(204)는 예를 들면, 네트워크 카드 등을 포함하는 것으로, 유무선 통신 모듈을 통해 네트워크 보안 장치(100)와 악성 파일 탐지 장치(200)의 탐지 제어부(202) 간의 데이터 통신을 담당한다.
또한, 제 2 통신부(206)는 예를 들면, 네트워크 카드 등을 포함하는 것으로, 전용 포트를 통해 탐지 제어부(202)와 가상화 탐지부(208) 간의 데이터 통신을 담당한다.
여기에서, 악성 파일 탐지 장치(200)에 네트워크 보안 장치(100)와 악성 파일 탐지 장치(200)의 탐지 제어부(202) 간의 데이터 통신을 담당하는 제 1 통신부(204)와 탐지 제어부(202)와 가상화 탐지부(208) 간의 데이터 통신을 담당하는 제 2 통신부(206)를 별도로 구성하는 이유는 네트워크 보안 장치(100)로부터 전송되는 실행 파일이 실제로 악성 파일인 경우 장치 오동작을 발생시킬 가능성이 있기 때문에, 가상화 탐지부(208)와 외부 네트워크로 연결된 네트워크 보안 장치(100)와 접속 연결되는 것을 방지하기 위함이다.
한편, 가상화 탐지부(208)는 예를 들면, VmWare 등과 같은 가상화 프로그램을 통해 가상화창을 활성화시켜 실행 파일을 동작시키면서 그 동작 상태를 모니터링하는 것으로, 탐지 제어부(202)로부터 제공되는 제어신호에 따라 할당된 가상화창에서 전달되는 실행 파일을 실행시킴과 동시에 그 동작 상태를 모니터링하고, 모니터링된 해당 실행 파일의 동작 상태 결과를 제 2 통신부(206)를 통해 탐지 제어부(202)로 전달한다.
이 후, 가상화 탐지부(208)는 탐지 제어부(202)를 통해 해당 실행 파일의 분석이 완료될 경우 제공되는 제어신호에 따라 해당 가상화창을 종료시키고, 탐지 제어부(202)로부터의 제어신호에 따라 기 저장된 다수의 원본 가상화 이미지 데이터 중 어느 하나를 구동시켜 다른 가상화창을 활성화시킨다.
따라서, 상술한 바와 같이 본 발명은 네트워크 보안 장치를 통해 수집된 실 행 파일에 대응하는 가상화창을 할당하고, 그에 대응하는 가상화 프로그램을 통해 실행 파일의 동작 상태를 모니터링한 후, 모니터링된 동작 상태 결과를 분석하여 악성 파일 여부를 판단하며, 악성 파일 여부를 포함하는 악성 파일 정보를 효과적으로 분석 및 제공함으로써, 네트워크를 통해 수집된 실행 파일의 악성 파일 유무를 효과적으로 분석하여 대응할 수 있다.
다음에, 상술한 바와 같은 구성을 갖는 악성 파일 탐지 장치에서 네트워크상에서 수집된 실행 파일을 그에 대응하는 가상화창을 할당한 후, 해당 가상화 프로그램을 통해 실행시키고, 해당 실행 파일의 동작 상태를 모니터링하며, 모니터링된 동작 상태의 결과를 분석하여 악성 파일 여부를 판단한 후에, 악성 파일 여부를 포함하는 악성 파일 정보를 제공하는 과정에 대해 설명한다.
도 3은 본 발명의 일 실시 예에 따라 네트워크상에서 수집된 실행 파일의 악성 파일 여부를 탐지하는 과정을 도시한 플로우차트이다.
도 3을 참조하면, 악성 파일 탐지 장치(200)의 대기 모드에서(단계302), 악성 파일 탐지 장치(200)의 탐지 제어부(202)에서는 제 1 통신부(204)를 통해 네트워크 보안 장치(100)로부터 수집된 실행 파일이 전송되는지를 체크한다(단계304).
상기 단계(304)에서의 체크 결과, 수집된 실행 파일이 전송될 경우 탐지 제어부(202)에서는 해당 실행 파일에 대한 파일 정보(예를 들면, 파일명, 파일 크기, 네트워크 경로 등)를 기록 및 저장한 후에, 해당 실행 파일에 대응하는 가상화창을 할당한다(단계306). 여기에서, 탐지 제어부(202)에는 각각 다른 운영체제, 예를 들어 윈도우 운영체제, 유닉스 운영체제 등에 대응하는 원본 가상화 이미지 데이터가 기 저장되어 있으며, 어느 하나의 원본 가상화 이미지 데이터를 복제하여 가상화 탐지부(208)의 가상화창을 생성하고, 그에 대응하는 가상화 프로그램을 구동시킬 수 있다.
다음에, 탐지 제어부(202)에서는 해당 실행 파일이 할당된 가상화창에 대응하는 가상화 프로그램을 통해 해당 실행 파일을 실행하도록 제 2 통신부(206)를 통해 가상화 탐지부(208)로 제어신호를 제공하고, 가상화 탐지부(208)에서는 이에 따라 해당 가상화창 및 가상화 프로그램을 통해 해당 실행 파일을 동작(실행)시킨다(단계308).
예를 들면, 도 4는 본 발명의 실시 예에 따라 가상화창을 활성화시켜 가상화 프로그램을 구동시킨 것을 예시한 도면으로, 탐지 제어부(202)가 설치된 메인 운영체제(1), 탐지 제어부(202)에서 실행되는 제어 프로그램(2), 기 저장된 다수의 원본 가상화 이미지 데이터 중 어느 하나를 실행한 가상화창(3), 어느 하나의 가상화 이미지 데이터에 설치된 서브 운영체제(4), 실행된 실행 파일의 동작 상태를 모니터링하는 탐지 프로그램(5)을 나타내고 있다.
이러한 구성을 통해 실행 파일이 전송되면 제어 프로그램(2)이 수신하고, 파일 정보를 기록 저장한 후, 기 실행된 가상화창(4)을 할당하며, 할당된 가상화창(4)의 탐지 프로그램(5)에 해당 실행 파일이 수신되면 해당 실행 파일을 실행시킬 수 있다.
한편, 가상화 탐지부(208)에서는 가상화창 및 가상화 프로그램을 통해 실행 중인 해당 실행 파일의 동작 상태를 모니터링하고, 모니터링된 해당 실행 파일의 동작 상태 결과를 제 2 통신부(206)를 통해 탐지 제어부(202)로 전송한다(단계310, 312). 예를 들면, 도 4에 도시한 바와 같이 탐지 프로그램(5)을 통해 실행 파일의 동작 상태를 모니터링하고, 모니터링 중 동작 상태에 대한 이벤트가 발생(즉, 악성 파일 유무를 판단하기 위한 상태 정보 발생)할 경우 그 동작 상태 결과를 제어 프로그램(2)으로 전송할 수 있다.
또한, 도 5는 본 발명의 실시 예에 따라 실행 파일의 동작 중 모니터링되는 동작 상태를 예시한 도면으로, 예를 들면, CPU, 메모리, 파일, 네트워크, 인터페이스, 프로세스 등의 감시 항목에 따라 고수준 또는 저수준의 이벤트 발생을 탐지하여 그 동작 상태 결과를 제공할 수 있다.
한편, 탐지 제어부(202)에서는 가상화 탐지부(208)로부터 제 2 통신부(206)를 통해 전달되는 해당 실행 파일의 동작 상태 결과를 분석하여 도 5에 도시한 바와 같은 동작 상태 결과에 따라 항목별 가중치 또는 수준별 가중치를 적용하는 방식으로 악성 파일 여부를 판단한 후에, 예를 들면, 실행 파일명, 악성 파일 여부, 동작 상태 결과 등을 포함하는 악성 파일 정보를 제 1 통신망(204)을 통해 네트워크 보안 장치(100)로 전송한다(단계314).
예를 들면, 도 6은 본 발명의 실시 예에 따라 악성 코드의 주요 증상에 대한 탐지 증상을 예시한 도면으로, Agobot 웜, Bagle 웜, SpamMailer 바이러스 등의 악성 코드에 대응하는 레지스트리 추가 또는 등록, 특정 사이트 접속, 업데이트 프로세스 종료, 스팸 메일 전파, 파일 다운로드 등의 주요 증상에 따라 레지스트 파일 액세스, CPU 점유율, 네트워크 확산, 주요 서비스 종료, 임의 주소 접속 등의 증상 을 탐지할 수 있다.
또한, 도 7은 본 발명의 실시 예에 따라 웰치아 웜을 실행시켜 그 탐지 결과를 예시한 도면으로, 웰치아 웜의 실행에 따라 예를 들면, 실행 시간, 감시 항목, 동작 로그 등을 분석하여 악성 파일 유무를 판단할 수 있다.
이 후에, 탐지 제어부(202)는 실행 파일의 분석이 종료되면, 분석 완료된 실행 파일을 실행시킨 가상화창 및 가상화 프로그램을 종료시키기 위한 제어신호를 제 2 통신부(206)를 통해 가상화 탐지부(208)로 제공하고, 이에 따라 가상화 탐지부(208)에서는 분석이 완료된 실행 파일에 대응하는 가상화창 및 가상화 프로그램을 종료시킨다(단계316). 예를 들면, 도 4에 도시한 바와 같이 탐지 프로그램(5)이 제어 프로그램(2)으로부터 분석 종료 신호를 수신하거나 예를 들면, ALIVE 신호 등을 통해 탐지 프로그램(5)이 정상 동작하지 않을 경우 제어 프로그램(2)은 분석 결과 수집을 종료할 수 있다.
이어서, 탐지 제어부(202)에서는 기 저장된 다수의 원본 가상화 이미지 데이터 중 어느 하나를 구동시켜 다른 가상화창을 활성화시키도록 제 2 통신망(206)을 통해 가상화 탐지부(208)로 제어신호를 제공하며, 이에 따라 가상화 탐지부(208)에서는 기 저장된 다수의 원본 가상화 이미지 데이터 중 어느 하나에 대응하는 다른 가상화창을 활성화시켜 가상화 프로그램을 재구동시킨다(단계318). 예를 들면, 도 4에 도시한 바와 같이 제어 프로그램(2)은 실행 파일의 분석이 종료된 가상화창(3)을 종료시키고, 기 저장된 다수의 원본 가상화 이미지 데이터 중 어느 하나를 선택하여 종료된 가상화 이미지로 복사한 후에, 다른 가상화창을 활성화시켜 가상화 프 로그램을 재구동시킬 수 있다.
물론, 탐지 제어부(202)에서는 가상화 탐지부(208)로부터 전달되는 실행 파일의 동작 상태 결과를 지속적으로 분석하면서 실행 파일의 동작이 완료되기 전에 악성 파일 여부를 판단하여 그 분석이 완료될 경우 분석 완료된 실행 파일에 대응하는 가상화창을 종료시킨 후에, 기 설정된 다수의 원본 가상화 이미지 데이터 중 어느 하나를 구동시켜 다른 가상화창을 활성화시키도록 가상화 탐지부(208)를 제어할 수 있음은 물론이다.
따라서, 상술한 바와 같이 본 발명의 일 실시 예에 따르면 네트워크 보안 장치를 통해 수집된 실행 파일에 대응하는 가상화창을 할당하고, 그에 대응하는 가상화 프로그램을 통해 실행 파일의 동작 상태를 모니터링한 후, 모니터링된 동작 상태 결과를 분석하여 악성 파일 여부를 판단함으로써, 악성 파일 여부를 포함하는 악성 파일 정보를 효과적으로 분석 및 제공할 수 있다.
이상의 설명에서는 본 발명의 다양한 실시 예들을 제시하여 설명하였으나 본 발명이 반드시 이에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능함을 쉽게 알 수 있을 것이다.
도 1은 본 발명의 실시 예에 따라 네트워크에서 수집된 다수의 실행 파일의 악성 여부를 탐지하는데 적합한 악성 파일 탐지 시스템의 블록 구성도,
도 2는 본 발명의 실시 예에 따라 네트워크상에서 수집된 실행 파일의 악성 파일 여부를 탐지하는데 적합한 악성 파일 탐지 장치의 블록 구성도,
도 3은 본 발명의 일 실시 예에 따라 네트워크상에서 수집된 실행 파일의 악성 파일 여부를 탐지하는 과정을 도시한 플로우차트,
도 4는 본 발명의 실시 예에 따라 가상화창을 활성화시켜 가상화 프로그램을 구동시킨 것을 예시한 도면,
도 5는 본 발명의 실시 예에 따라 실행 파일의 동작 중 모니터링되는 동작 상태를 예시한 도면,
도 6은 본 발명의 실시 예에 따라 악성 코드의 주요 증상에 대한 탐지 증상을 예시한 도면,
도 7은 본 발명의 실시 예에 따라 웰치아 웜을 실행시켜 그 탐지 결과를 예시한 도면.
<도면의 주요부분에 대한 부호의 설명>
100 : 네트워크 보안 장치 200 : 악성 파일 탐지 장치
202 : 탐지 제어부 204 : 제 1 통신부
206 : 제 2 통신부 208 : 가상화 탐지부

Claims (11)

  1. 네트워크상의 실행 파일을 수집하고, 제공되는 악성 파일 정보에 따라 상기 실행 파일을 선택 차단하는 네트워크 보안 장치와,
    상기 수집된 실행 파일에 대응하는 가상화창을 할당하고, 상기 할당된 가상화창에 대응하는 가상화 프로그램을 통해 상기 실행 파일을 실행시키며, 상기 실행 파일의 실행 중에 모니터링된 동작 상태 결과를 분석하여 상기 실행 파일의 악성 파일 유무를 판단한 후에 상기 악성 파일 정보를 상기 네트워크 보안 장치로 제공하는 악성 파일 탐지 장치
    를 포함하는 악성 파일 탐지 시스템.
  2. 제 1 항에 있어서,
    상기 악성 파일 탐지 장치는, 상기 실행 파일의 분석이 완료되면 상기 가상화창을 종료시키고, 기 저장된 다수의 원본 가상화 이미지 데이터 중 어느 하나를 이용하여 다른 가상화창을 활성화시키는 악성 파일 탐지 시스템.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 악성 파일 탐지 장치는, CPU, 메모리, 파일, 네트워크, 인터페이스 및 프로세스를 포함하는 항목에서 상기 실행 파일의 동작 상태를 모니터링하는 악성 파일 탐지 시스템.
  4. 수집된 실행 파일에 대응하는 가상화창을 할당하고, 상기 할당된 가상화창에 대응하는 가상화 프로그램을 통해 상기 실행 파일을 실행시키도록 제어하며, 상기 실행 파일의 동작 상태 결과를 수신 및 분석하여 상기 실행 파일의 악성 파일 유무를 판단한 후에 악성 파일 정보를 제공하는 탐지 제어부와,
    상기 할당된 가상화창 및 가상화 프로그램을 통해 상기 실행 파일을 실행하면서 상기 실행 파일의 동작 상태를 모니터링하고, 모니터링된 동작 상태 결과를 상기 탐지 제어부로 전송하는 가상화 탐지부와,
    상기 수집된 실행 파일을 전송하는 네트워크 보안 장치와 상기 탐지 제어부 간의 통신을 담당하는 제 1 통신부와,
    상기 탐지 제어부와 상기 가상화 탐지부 간의 통신을 담당하는 제 2 통신부
    를 포함하는 악성 파일 탐지 장치.
  5. 제 4 항에 있어서,
    상기 탐지 제어부는, 상기 실행 파일의 분석이 완료되면 상기 가상화창을 종료시키기 위한 제어신호를 상기 가상화 탐지부로 제공하고, 기 저장된 다수의 원본 가상화 이미지 데이터 중 어느 하나를 이용하여 다른 가상화창을 활성화시키는 제어신호를 상기 가상화 탐지부로 제공하는 악성 파일 탐지 장치.
  6. 제 5 항에 있어서,
    상기 탐지 제어부는, 상기 다른 가상화창을 활성화시키는 경우 상기 기 저장된 다수의 원본 가상화 이미지 데이터 중 어느 하나를 선택하여 종료된 가상화 이미지로 복사한 후에, 상기 다른 가상화창을 활성화시켜 상기 가상화 프로그램을 재구동시키는 악성 파일 탐지 장치.
  7. 제 4 항 내지 제 6 항에 있어서,
    상기 가상화 탐지부는, CPU, 메모리, 파일, 네트워크, 인터페이스 및 프로세스를 포함하는 항목에서 상기 실행 파일의 동작 상태를 모니터링하는 악성 파일 탐지 장치.
  8. 수집된 실행 파일이 전송되면, 상기 전송된 실행 파일을 어느 하나의 가상화창에 할당하는 단계와,
    상기 할당된 가상화창에서 가상화 프로그램을 통해 상기 실행 파일을 실행하는 단계와,
    상기 실행 파일의 실행 중에 동작 상태를 모니터링하여 모니터링된 동작 상태 결과를 제공하는 단계와,
    상기 제공된 동작 상태 결과를 분석하여 악성 파일 여부를 판단하는 단계와,
    상기 악성 파일 여부를 포함하는 악성 파일 정보를 제공하는 단계
    를 포함하는 악성 파일 탐지 방법.
  9. 제 8 항에 있어서,
    상기 악성 파일 탐지 방법은,
    상기 악성 파일 여부를 판단하는 단계 이 후에 상기 실행 파일의 분석이 완료된 상기 가상화창을 종료한 후 다른 가상화창을 활성화시키는 단계
    를 더 포함하는 악성 파일 탐지 방법.
    상기 다른 가상화창을 활성화시키는 단계는, 상기 실행 파일의 분석이 완료되면 기 저장된 기 저장된 다수의 원본 가상화 이미지 데이터 중 어느 하나를 이용하여 다른 가상화창을 활성화시키는 악성 파일 탐지 방법.
  10. 제 8 항 또는 제 9 항에 있어서,
    상기 다른 가상화창을 활성화시키는 단계는, 상기 실행 파일의 분석이 완료되면 기 저장된 기 저장된 다수의 원본 가상화 이미지 데이터 중 어느 하나를 이용하여 다른 가상화창을 활성화시키는 악성 파일 탐지 방법.
  11. 제 9 항에 있어서,
    상기 다른 가상화창을 활성화시키는 단계는, 상기 다른 가상화창을 활성화시키는 경우 상기 기 저장된 다수의 원본 가상화 이미지 데이터 중 어느 하나를 선택하여 종료된 가상화 이미지로 복사한 후에, 상기 다른 가상화창을 활성화시켜 상기 가상화 프로그램을 재구동시키는 악성 파일 탐지 방법.
KR1020090062371A 2009-07-09 2009-07-09 악성 파일 탐지 시스템, 악성 파일 탐지 장치 및 그 방법 KR101060596B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090062371A KR101060596B1 (ko) 2009-07-09 2009-07-09 악성 파일 탐지 시스템, 악성 파일 탐지 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090062371A KR101060596B1 (ko) 2009-07-09 2009-07-09 악성 파일 탐지 시스템, 악성 파일 탐지 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20110004935A KR20110004935A (ko) 2011-01-17
KR101060596B1 true KR101060596B1 (ko) 2011-08-31

Family

ID=43612243

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090062371A KR101060596B1 (ko) 2009-07-09 2009-07-09 악성 파일 탐지 시스템, 악성 파일 탐지 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101060596B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101463873B1 (ko) * 2011-09-30 2014-11-20 주식회사 엔피코어 정보 유출 차단 장치 및 방법
KR101230674B1 (ko) * 2011-10-11 2013-02-07 주식회사 엔씨소프트 인터넷을 통한 위협모듈 파일수집 방법
KR101295644B1 (ko) * 2011-11-11 2013-09-16 한국전자통신연구원 스마트폰 앱 검증 시스템 및 그 방법
KR101880689B1 (ko) * 2016-10-25 2018-07-20 주식회사 안랩 악성코드 진단장치 및 방법
KR102393795B1 (ko) * 2021-08-26 2022-05-03 시큐레터 주식회사 응용프로그램의 실행 흐름 변경을 통한 비실행 파일의 악성 탐지 방법 및 장치

Also Published As

Publication number Publication date
KR20110004935A (ko) 2011-01-17

Similar Documents

Publication Publication Date Title
RU2698776C2 (ru) Способ ведения базы данных и соответствующий сервер
US10581879B1 (en) Enhanced malware detection for generated objects
US10075455B2 (en) Zero-day rotating guest image profile
US10009360B1 (en) Malware detection and data protection integration
US9594881B2 (en) System and method for passive threat detection using virtual memory inspection
US9495180B2 (en) Optimized resource allocation for virtual machines within a malware content detection system
US10133863B2 (en) Zero-day discovery system
KR101609124B1 (ko) 모바일 네트워크 환경에서 행위기반 분석 서비스 제공 방법 및 장치
EP2106085B1 (en) System and method for securing a network from zero-day vulnerability exploits
CN101826139B (zh) 一种非可执行文件挂马检测方法及其装置
KR100786725B1 (ko) 악성코드 분석 시스템 및 방법
WO2016082501A1 (zh) 一种云计算系统中云应用攻击行为处理方法、装置及系统
WO2014145805A1 (en) System and method employing structured intelligence to verify and contain threats at endpoints
US11880458B2 (en) Malware detection based on user interactions
CN108369541B (zh) 用于安全威胁的威胁风险评分的系统和方法
KR101060596B1 (ko) 악성 파일 탐지 시스템, 악성 파일 탐지 장치 및 그 방법
JP2019066995A (ja) セキュアモードとノンセキュアモードとを選択的に切り替え可能なシステム
Pektaş et al. A dynamic malware analyzer against virtual machine aware malicious software
CN105791250B (zh) 应用程序检测方法及装置
CN110505246B (zh) 客户端网络通讯检测方法、装置及存储介质
CN107766068B (zh) 应用系统补丁安装方法、装置、计算机设备和存储介质
CN105631321B (zh) 一种虚拟机进程信息的检测方法及装置
KR101880689B1 (ko) 악성코드 진단장치 및 방법
Stelte et al. Towards integrity measurement in virtualized environments—a hypervisor based sensory integrity measurement architecture (SIMA)
CN107516039B (zh) 虚拟化系统的安全防护方法及装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140728

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150728

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160926

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170824

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180822

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20191107

Year of fee payment: 9