KR20080047261A - 프로세스 행위 예측 기법을 이용한 비정형 악성코드 탐지방법 및 그 시스템 - Google Patents

프로세스 행위 예측 기법을 이용한 비정형 악성코드 탐지방법 및 그 시스템 Download PDF

Info

Publication number
KR20080047261A
KR20080047261A KR1020070100391A KR20070100391A KR20080047261A KR 20080047261 A KR20080047261 A KR 20080047261A KR 1020070100391 A KR1020070100391 A KR 1020070100391A KR 20070100391 A KR20070100391 A KR 20070100391A KR 20080047261 A KR20080047261 A KR 20080047261A
Authority
KR
South Korea
Prior art keywords
behavior
module
malicious
information
atypical
Prior art date
Application number
KR1020070100391A
Other languages
English (en)
Other versions
KR100910761B1 (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 US11/944,268 priority Critical patent/US8181248B2/en
Publication of KR20080047261A publication Critical patent/KR20080047261A/ko
Application granted granted Critical
Publication of KR100910761B1 publication Critical patent/KR100910761B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 알려지지 않은 악성코드에 의한 공격을 검출하고 이를 효과적으로 차단하는 패턴 검출/탐지 방법 및 그 시스템에 관한 것으로, 본 발명의 시스템 구성을 통해 알려진 악성코드는 1차적으로 DB 필터링 모듈에 의해 실행 전 우선적으로 필터링 되고, 이후 알려지지 않은 악성코드는 모니터링 후 가공된 행위 특성 패턴과 사전 학습되어 구축되어 있는 악성 행위 특징값(예측 패턴)과 비교하여 탐지되며, 탐지된 알려지지 않은 악성코드는 해당 시그니처 정보가 생성되어 DB 필터링 모듈로 전송됨으로써 이후에는 알려진 악성코드로 탐지되도록 한다.
Figure P1020070100391
악성코드, 프로세스 행위 모니터링, 행위 특성 추출, 악성 행위 예측, 비정형 악성코드 탐지

Description

프로세스 행위 예측 기법을 이용한 비정형 악성코드 탐지 방법 및 그 시스템{Anomaly Malicious Code Detection Method using Process Behavior Prediction Technique}
본 발명은 알려지지 않은 악성코드에 의한 공격을 검출하기 위해 시스템을 모니터링하여 해당 악성코드에 의해 발생되는 시스템 내 모든 행위를 조합, 재가공하고 학습시킴으로써 사전 악성 행위 특징값(예측 패턴)을 검출하고 이를 실행코드가 발생시키는 행위 패턴과 비교하여 효과적으로 공격을 차단하는 패턴 검출/탐지 방법 및 그 시스템에 관한 것이다.
정보통신기술에 대한 의존도가 날로 심화됨에 따라 사회 주요 시설에 존재하는 취약성을 이용한 전자적 침해와 사이버위협에 대한 위험도가 증가하고 있다. 최근에는 피싱(Phishing) 및 파밍(Pharming)을 이용한 사회공학적인 해킹 공격과 애드웨어(Adware) 및 스파이웨어(Spyware)를 통해 개인 정보의 단순 유출에서부터 정치적 혹은 경제적 목적 달성에 이르기까지 악성코드의 기술이 다른 분야와 접목해서 보다 조직화, 전문화, 목적화되고 있다. 또한, 인터넷 웜 및 바이러스는 정보통신기술에 내재해 있는 취약점을 악용하여 로컬 PC를 공격하는 추세에서 인터넷과 같은 정보통신기술 인프라로 또는 이를 기반으로 하는 서비스를 공격하는 추세로 전환되고 있다.
이러한 추세에 있는 악성코드로부터 개인 정보를 보호하기 위해 안티바이러스 제품을 포함한 대부분의 정보보호시스템들은 서명기반방식에 의존한다. 그러나, 기존의 서명기반 방식으로는 새로운 형태의 공격기법을 사용하는 악성코드들에 대응하는데 있어서 한계가 있다.
이를 극복하기 위해, 다양한 형태의 악성코드 탐지 기술들이 개발되고 있으며 특히 행위 기반의 비정형 공격 탐지 기법들이 알려지지 않은 악성코드 공격을 탐지하기 위해 많이 연구되고 있다. 그러나, 이러한 행위 기반의 비정형 탐지 기법들은 다양한 형태의 코드 행위를 분석하여 악성 행위와 정상 행위를 구분해야 하는데, 분석 대상이 되는 코드 행위들이 매우 많은 시스템 내 행위를 발생시키기 때문에 행위 분석의 오류 혹은 정책 설정의 오류로 인해 높은 오탐율을 가지고 있으며, 행위 구분을 위한 정책 설정의 어려움이 있다.
비정형 탐지 기법에서의 이러한 오탐율을 감소시키기 위해, 침입탐지 분야에서는 1990년대 말부터 데이터 마이닝 기술을 이용한 침입탐지 기술을 개발하고 있으나, 본 발명에서 제안하고 있는 것과 같이 시스템 내에서 실행코드의 모든 행위 이벤트를 대상으로 한 비정형 탐지 기법은 제안되고 있지 못한 실정이다.
알려지지 않은 악성코드를 탐지하기 위하여, 한국특허출원 제2002-0013994호는 악성코드의 쓰기동작을 파악하여 이를 금지하거나 또는 사용자에게 통지함으로써, 컴퓨터 바이러스에 의한 감염을 방지할 수 있는 방법을 제시하고 있다. 그러 나, 상기 한국특허출원 제2002-0013994호는 파일 바이러스 중 기생형 바이러스가 실행 파일을 감염시키기 위해 실행 파일 등의 앞이나 뒤에 바이러스 프로그램을 붙이고자 할 때, 쓰기 동작을 파악하여 탐지하는 기법으로서 모든 종류의 악성코드를 탐지하기 위한 방법은 아니고, 제한된 형태의 행위를 수행하는 바이러스만을 탐지 대상으로 한다는 한계가 있다. 또한, 한국특허등록 제2006-0063342호는 알려지지 않은 네트워크 공격에 대한 실시간 공격 패턴 검출 시스템을 제안하고 있으나, 네트워크 공격에 한정된 알려지지 않은 공격 패턴을 추출하고 있으며, 입력 초기 모든 패킷에서 의심스러운 패킷을 찾아내어 의심 지시값(suspicious indicator)을 붙여 주는데, 이때 많은 공격 패턴을 놓치거나 혹은 정상 패턴에 의심 지시값을 붙여 줌으로써 이후 시그니처 생성시 오탐율을 높이는 작용을 할 수 있다는 한계가 있다.
한국특허등록 제2004-0056998호는 본 발명에서와 유사하게 시스템 내에서의 실행코드 감시를 통한 행위 기반의 악성코드 탐지 기법을 사용하고 있으나, 제안된 기법은 해당 행위에 사전 정의된 위험도 점수를 부과하는 방식을 사용하고 있다. 이를 위해, 관리자는 실행코드 행위에 대한 위험도 점수를 부과하는 작업을 직접 수행하여야 하는 어려움이 존재하였다.
본 발명에서는 상술한 종래의 문제점을 해결하기 위한 것으로, 본 발명의 목적은 정상적인 실행코드와 악성코드에 의해 발생하는 시스템 내 모든 행위를 모니터링 하여 연관성 있는 이벤트들을 조합하여 행위 특성 패턴을 만들고 이를 다시 학습 알고리즘에 입력하여 악성 행위 특징값(예측 패턴)을 만들어 내도록 한다. 이후 새로운 실행코드로부터 행위 특성 패턴을 만들어 내고 이 패턴에 사전 생성된 악성 행위 특징값(예측 패턴)이 존재하는지 파악하여 악성코드를 탐지하는 방법 및 그 시스템을 제공함에 있다.
상기 본 발명의 목적을 달성하기 위해 프로세스 행위 예측 기법을 이용한 비정형 악성코드 탐지 방법 및 그 시스템은 사전 실행이 인가되지 않은 프로세스에 대해 프로세스 실행시 발생시키는 행위 이벤트를 모니터링하여 해당 프로세스가 악성행위로 사전 예측되어 있는 행위 특징값(예측 패턴)을 보일 경우 이를 악성 행위로 탐지하여 실행을 중지시키는 방법이다.
본 발명은 비정형 악성코드에 대한 행위 예측 패턴을 구성하기 위해 우선 정상 프로세스들과 악성 프로세스들을 실행시켜 해당 프로세스들이 나타내는 행위 이벤트를 파일, 네트워크, 레지스트리, 서비스 및 프로세스 별로 추출하도록 한다. 그리고 학습 알고리즘에서 학습시켜 예측되는 행위 특징값(예측 패턴)을 생성할 수 있도록 하기 위해 추출한 이벤트 정보들을 학습 알고리즘에 입력 가능한 형태로 재 가공한다. 이것은 파일, 네트워크, 레지스트리, 서비스 및 프로세스 정보를 정리한 76개 필드로 구성된 레코드 단위로 재구성한 프로세스 행위 이벤트 로그로서 재구성된 행위 이벤트 데이터들은 학습 알고리즘을 통해 비정형 악성 행위 특징값(예측 패턴)으로 변환되어 비정형 악성코드 탐지시 사용된다.
비정형 악성코드의 행위를 탐지하기 위해서는 실행이 인가되지 않은 프로세스들의 실행시 모니터링 모듈에 의해 해당 프로세스의 행위를 파일 모니터, 네트워크 IM 모니터, 레지스트리 모니터, TDI 모니터 및 프로세스 모니터 등의 6개 모니터 모듈별로 모니터링하다가 악성코드 행위 특징값(예측 패턴)과 동일한 특성값이 나올 경우 이를 악성코드로 규정하여 탐지하도록 한다.
본 발명에 따른 프로세스 행위 예측 기법을 이용한 비정형 악성코드 탐지 시스템은, 시스템 내에서 실행되는 실행코드들에 대해 1차적인 악성코드 필터링을 수행하기 위한 DB 필터링 모듈; 상기 시스템 내에서 실행되는 실행코드들이 발생시키는 개별 이벤트 정보를 수집하기 위하여 시스템 자원 감시를 수행하기 위한 시스템 자원 모니터 모듈; 상기 시스템 자원 모니터 모듈에서 수집된 개별 이벤트 정보를 재가공하여 상기 실행코드들의 연관성 있는 행위 특성값을 나타내는 하나의 통합 로그로 재구성하기 위한 재가공 모듈; 상기 재가공 모듈로부터 재구성된 통합 로그를 학습 알고리즘에 입력하여 비정형 악성 행위 특징값(예측 패턴)을 추출하기 위한 행위 예측 정보 가공 모듈; 및 상기 행위 예측 정보 가공 모듈에서 추출된 비정형 악성 행위 특징값(예측 패턴)을 상기 재가공 모듈에서 구성되는 행위 특성값 데 이터와 비교함으로써 악성 행위를 탐지하는 비정형 악성 행위 탐지 모듈을 포함하는 것을 특징으로 한다.
상기 시스템 자원 모니터 모듈은 파일 시스템, 프로세스, 레지스트리, 서비스 및 네트워크 항목에 대한 개별 이벤트 정보를 수집하는 것을 특징으로 한다.
또한, 상기 시스템 자원 모니터 모듈은, 검출 시간, PID, 경로, 시스템 디렉토리 유무 등의 정보를 추출하는 파일 모니터, 패킷 단위별 검출 시간, PID, S/D-IP, Packet length 등의 정보를 추출하는 IM 모니터, 프로세스 검출 시간, PID, 쓰레드 개수 등의 정보를 추출하는 프로세스 모니터, 검출 시간, PID, 레지스트리 경로, 현재 상태, 사이즈 등의 정보를 검출하는 레지스트리 모니터, TDI 드라이버를 통한 프로세스 단위로 표현되어야할 네트워크 정보-검출시간, PID, 로컬 IP 주소, 원격 IP 주소, 패킷의 평균 길이, 프로토콜, 조각 개수, 전송 크기, 수신 크기 등의 정보-를 추출하는 TDI_P 모니터, 및 TDI 드라이버를 통한 세션 단위의 네트워크 정보-검출시간, PID, 로컬 IP 주소, 원격 IP 주소, 프로토콜, 전송 크기, 수신 크기 등의 정보-를 추출하는 TDI_S 모니터를 포함하여 구성된다.
상기 재가공 모듈은 상기 통합 로그의 재구성시 이벤트 발생 시간을 기준으로 상기 실행코드들의 연관성 있는 행위 특성값 데이터를 하나의 레코드로 구성한다.
한편, 프로세스 행위 예측 기법을 이용한 비정형 악성코드 탐지 방법은, 시스템 내에서 실행되는 실행코드들에 대해 1차적인 악성코드 필터링을 수행하는 제1 단계; 상기 시스템 내에서 실행되는 실행코드들이 발생시키는 개별 이벤트 정보를 수집하기 위하여 시스템 자원 감시를 수행하는 제2 단계; 상기 제2 단계에서 수집된 개별 이벤트 정보를 재가공하여 상기 실행코드들의 연관성 있는 행위 특성값을 나타내는 하나의 통합 로그로 재구성하는 제3 단계; 상기 제3 단계로부터 재구성된 통합 로그를 학습 알고리즘에 입력하여 비정형 악성 행위 특징값(예측 패턴)을 추출하는 제4 단계; 및 상기 제4 단계에서 추출된 비정형 악성 행위 특징값(예측 패턴)을 상기 제3 단계에서 구성되는 행위 특성값 데이터와 비교함으로써 악성 행위를 탐지하는 제5 단계를 포함하는 것을 특징으로 한다.
상기 제2 단계에서, 파일 시스템, 프로세스, 레지스트리, 서비스 및 네트워크 항목에 대한 개별 이벤트 정보를 수집하는 것을 특징으로 한다.
상기 제3 단계에서, 상기 통합 로그의 재구성시 이벤트 발생 시간을 기준으로 상기 실행코드들의 연관성 있는 행위 특성값 데이터가 하나의 레코드로 구성되는 것을 특징으로 한다.
상기 레코드 구성시, 이벤트가 없는 레코드 필드의 값을 최근 이벤트 유효 시간 범위에서 기재하고, 상기 최근 이벤트 유효 시간 범위에서 벗어났을 경우에는 null 값을 기록한다.
상술한 바와 같이 본 발명에 의하면 시스템내에서 발생하는 실행코드의 행위를 대상으로 악성행위 특징값(예측 패턴)을 찾아냄으로써 이후 새롭게 등장하는 알려지지 않은 악성코드의 행위 특성값과 비교하여 악성 여부를 판별할 수 있게 된다.
이상에서 설명한 것은 본 발명에 따른 프로세스 행위 예측 기법을 이용한 비정형 악성코드 탐지 방법 및 그 시스템을 실시하기 위한 하나의 실시 예에 불과한 것으로서, 본 발명은 상기한 실시 예에 한정되지 않고, 이하의 특허청구 범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당행 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.
이하, 본 발명에 따른 실시예를 첨부한 도면을 참조하여 상세히 설명하도록 한다.
도 1은 본 발명에 따른 실행코드 모니터링, 이를 이용한 데이터 셋의 생성, 학습 수행 및 학습 결과의 검증을 개념적으로 나타낸 블록도이다.
도시된 바와 같이, 파일 시스템, 레지스트리 시스템, 네트워크 및 서비스를 감시하는 디바이스 드라이버(device driver)(300)들은 시스템 자원을 감시하다가 실행코드가 발생시키는 이벤트 로그를 개별 모니터별로 수집한 후 이를 데이터 셋 생성 모듈(301)로 전송한다.
데이터 셋 생성 모듈(301)에서는 디바이스 드라이버(300)들로부터 전송된 로그들에 대한 로그 파일을 생성하며, 프로세스 감시 쓰레드를 동작시켜 프로세스의 실행 여부를 감시한다.
또한, 데이터 셋 재구성 모듈(400)에서는 각 디바이스 드라이버(300) 별로 작성된 로그 파일들을 하나의 파일로 재구성하여 저장한다. 이때, 생성 패킷을 기 준으로 76개의 필드를 가지는 하나의 레코드로 해당 패킷에 대한 정보(특성값)를 표현한다. 해당 레코드에는 프로세스 정보, 파일 정보, 레지스트리 정보 및 네트워크 정보가 들어가게 되며, 개별적으로 수집된 각각의 정보는 레코드 구성시 연관된 정보들이 들어가도록 함으로써 하나의 레코드가 종합적인 행위 이벤트 특성값을 나타내도록 구성한다.
이 레코드 정보는 데이터마이닝 알고리즘에 입력되어 학습이 수행되며(510), 그 결과 값은 해당 실행코드에 대한 행위 특징값(예측값)을 나타내게 된다.
이 실행코드 행위 특징값은 파일 형태로 저장되어, 이후 새로운 실행코드의 행위 분석 후 패턴 매칭을 이용한 비교를 통해 악성 여부를 판별(520)하게 된다.
도 2는 도 1의 개념을 구현한 본 발명에 따른 비정형 악성코드를 탐지 시스템에 대한 전체 구성도를 나타내고 있다.
도시된 바와 같이, 네트워크(100)로부터 다운로드 되어 시스템 내에서 실행되는 실행코드들은 1차적으로 알려진 악성코드를 필터링하기 위한 DB 필터링 모듈(200)을 거치게 된다. 여기서는 악성코드 시그니처 DB(700)를 통해 기존 방법과 동일한 패턴 매칭 기법의 필터링 기법을 이용하여 1차 알려진 악성코드를 탐지하게 된다.
DB 필터링 모듈(200)을 거친 알려지지 않은 새로운 실행코드들은 시스템 내에서 실행되게 된다. 이때, 각 프로세스들은 파일 읽고 쓰기, 네트워크 패킷 송/수신, 레지스트리 읽고 쓰기, 서비스 등록 및 실행 등의 행위를 수행하게 되는데, 이 와 관련된 모든 행위를 모니터링 하기 위해 예를들어 6개의 모니터(3101, 3201, 3301, 3401, 3501, 3601)로 이루어진 시스템 자원 모니터 모듈(3001)을 구성한다.
시스템 자원 모니터 모듈(3001)을 통해, 파일 시스템, 프로세스, 레지스트리, 서비스 및 네트워크 항목에 대한 이벤트 로그를 검출하며, 이를 통해 동작 중인 프로세스 및 쓰레드의 상태를 감시하고, 프로세스 정보를 기반으로 네트워크, 파일 시스템, 레지스트리, 서비스 및 드라이버의 접근을 감시한다.
파일 모니터(3101)에 의해서는 검출 시간, PID, 경로, 시스템 디렉토리 유무 등의 정보를 추출하며, IM 모니터(3201)를 통해서는 패킷 단위별 검출 시간, PID, S/D-IP, Packet length 등의 정보를 추출한다.
프로세스 모니터(3301)에 의해서는 프로세스 검출 시간, PID, 쓰레드 개수 등의 정보를 추출하며, 레지스트리 모니터(3401)에 의해서는 검출 시간, PID, 레지스트리 경로, 현재 상태, 사이즈 등의 정보를 검출한다.
TDI_P 모니터(3501)에 의해서는 TDI 드라이버를 통한 프로세스 단위로 표현되어야할 네트워크 정보를 추출하게 되는데, 이러한 정보로는 검출시간, PID, 로컬 IP 주소, 원격 IP 주소, 패킷의 평균 길이, 프로토콜, 조각 개수, 전송 크기, 수신 크기 등의 정보 등이 있다.
마지막으로, TDI_S 모니터(3601)에 의해서는 TDI 드라이버를 통한 세션 단위의 네트워크 정보를 추출하게 되는데, 이러한 정보로는 검출시간, PID, 로컬 IP 주소, 원격 IP 주소, 프로토콜, 전송 크기, 수신 크기 등의 정보를 검출한다.
이러한 정보는 각 6개의 모니터별로 각각 임시 파일 형태로 구성되어 있다가 재가공 모듈(4001)에서 해당 프로세스의 행위 특성값을 나타내는 하나의 통합 로그로 재구성된다(도 4를 참조로 이후에 상세히 설명됨).
재가공 모듈(4001)에서 통합 로그를 구성하는 것은 각 개별 수집 로그들로부터 검출된 모니터별 이벤트 정보를 연관성 있는 정보들의 하나의 레코드로 구성한 뒤 이를 행위 예측 정보 가공 모듈(500)에 입력하기 위함이다.
이를 통해 행위 예측 정보 가공 모듈(500)에서는 연관성 있는 로그 정보들로부터 악성 행위 특징값(예측 패턴)을 추출해 낼 수 있다.
추출된 악성 행위 특징값(예측 패턴)은 악성코드 행위 예측패턴 DB(600)에 입력된 뒤, 향후 알려지지 않은 새로운 코드가 실행시 알려진 악성코드가 아닐 경우, 상술한 바와 같이 시스템 자원 모니터 모듈(3001)을 통해 모니터링 하고, 재가공 모듈(4001)을 통해 가공 처리된 해당 실행코드 행위 특성값과 비교함으로써 악성 여부를 판별할 수 있게 된다.
최종적으로, 악성으로 판별될 경우에는 해당 악성코드의 시그니처를 추출한 후 악성코드 시그니처 DB(800)에 입력하도록 한다.
도 3은 시스템 내에서 실행되는 실행코드의 처리 순서를 도식화함으로써 악성코드 필터링 방법을 나타낸 흐름도이다.
우선, 실행코드가 시스템 내에서 실행되기 전에 DB 필터링에 의해 1차 필터링 된다(S100).
해당 DB 필터링은 악성코드 시그니처 DB(800a)와 정상 시그니처 DB(800b)를 가지고 수행되며, 실행 전 알려진 악성코드를 필터링 한다. 이때, 이미 알려진 정상코드는 이후의 모니터링 단계(S110)에서 모니터링 대상에서 제외됨으로써 모든 실행코드를 모니터링 함으로써 발생할 수 있는 부하를 감소시키도록 한다.
시스템 자원 모니터링 단계(S110)에서, 알려진 정상코드도 아니고 알려진 악성코드도 아닌 알려지지 않은 새로운 실행코드가 시스템 내에서 실행될 때 모니터링 된다.
시스템 자원 모니터링을 통해, 해당 실행코드에 대한 1차 임시 로그를 수집한 뒤 재가공 단계(S120)에서 전체 로그에 대한 연관 작성을 수행하여 프로세스별로 행위 특성값을 레코드 형태로 추출한다. 이것은 해당 프로세스가 발생시키는 행위를 파일, 레지스트리, 네트워크, 서비스 등의 정보로 세분화하여 표현한 정보로서 해당 프로세스의 행위를 자세히 나타내게 된다. 이를 다시 행위 예측 정보 가공 단계(S130)를 거쳐서 데이터마이닝 알고리즘을 이용하여 학습을 시키게 되면 전체 세분화된 행위 특성으로부터 악성행위의 특징값(예측 패턴)이 나타나게 된다.
최종적으로, 이 행위 특징값(예측 패턴)이 실제 악성코드 탐지 정책으로서 행위 특징값(예측 패턴)을 가지고 있는 실행코드의 행위를 악성행위로 탐지하게 된다(S140).
도 4는 도 2의 재가공 모듈에 의해 생성되는 통합 로그 데이터에 대해 자세히 도식화한 도면이다.
도 2의 재가공 모듈(4001)에서는 파일 모니터(3101), IM 모니터(3201), 프로 세스 모니터(3301), 레지스트리 모니터(3401), TDI_P 모니터(3501), 및 TDI_S 모니터(3601)에 의해 생성되는 총 76가지의 데이터가 종합되어 하나의 레코드로 구성되며, 이러한 레코드들이 다시 생성 프로세스별로 분류되어 종합 로그 파일(410)을 생성하게 된다.
우선, 각 모니터별로 발생한 로그는 각 모듈의 이름과 시간을 조합한 임시 파일에 저장한다.
로그 수집이 종료되는 시점에 모니터별로 수집된 각 임시 파일의 로그 데이터는 하나의 DB 파일로 생성되며, 이때 몇몇 필드의 내용은 계산해서 채워 넣는 방식으로 하나의 레코드를 만들어 낸다.
하나의 레코드로 정보를 만들 때 기준이 되는 것은 1초 동안 가장 이벤트가 많이 발생한 모듈이 된다.
기록된 데이터가 하나의 레코드로 생성될 때 시간은 1초 단위로 표기한다. 즉, 2.500000 ~ 3.4999999 동안의 시간이면 모두 3초로 표기된다.
또한, 기준 정보에서 나머지 모듈의 발생한 정보를 붙일 때 이벤트가 없는 필드의 값은 최근 이벤트 유효 시간의 범위에서 기재하고, 이 범위에서 벗어났을 경우에는 null 값을 기록한다.
즉, 파일 시스템이 1초 동안 100건의 이벤트를 발생하고 레지스트리 이벤트가 50건의 이벤트를 발생하였다고 가정할 때, 로그는 총 100개의 레코드가 기록된다. 부족한 50건의 레지스트리 이벤트는 최근 이벤트 유효 시간 범위내의 이전 값을 기록하는 것이다. 여기서, 최근 이벤트 유효 시간이란 이전의 이벤트 값을 기록 할 때 유효한 시간의 범위를 정하는 것으로 사용자의 설정을 입력받도록 한다.
도 1은 도 1은 본 발명에 따른 실행코드 모니터링, 이를 이용한 데이터 셋의 생성, 학습 수행 및 학습 결과의 검증을 개념적으로 나타낸 블록도이고,
도 2는 도 1의 개념을 구현한 본 발명에 따른 비정형 악성코드를 탐지 시스템에 대한 전체 구성도이고,
도 3은 도 3은 시스템 내에서 실행되는 실행코드의 처리 순서를 도식화함으로써 악성코드 필터링 방법을 나타낸 흐름도이고,
도 4는 도 2의 재가공 모듈에 의해 생성되는 통합 로그 데이터에 대해 자세히 도식화한 도면이다.

Claims (8)

  1. 시스템 내에서 실행되는 실행코드들에 대해 1차적인 악성코드 필터링을 수행하기 위한 DB 필터링 모듈;
    상기 시스템 내에서 실행되는 실행코드들이 발생시키는 개별 이벤트 정보를 수집하기 위하여 시스템 자원 감시를 수행하기 위한 시스템 자원 모니터 모듈;
    상기 시스템 자원 모니터 모듈에서 수집된 개별 이벤트 정보를 재가공하여 상기 실행코드들의 연관성 있는 행위 특성값을 나타내는 하나의 통합 로그로 재구성하기 위한 재가공 모듈;
    상기 재가공 모듈로부터 재구성된 통합 로그를 학습 알고리즘에 입력하여 비정형 악성 행위 특징값(예측 패턴)을 추출하기 위한 행위 예측 정보 가공 모듈; 및
    상기 행위 예측 정보 가공 모듈에서 추출된 비정형 악성 행위 특징값(예측 패턴)을 상기 재가공 모듈에서 구성되는 행위 특성값 데이터와 비교함으로써 악성 행위를 탐지하는 비정형 악성 행위 탐지 모듈을 포함하는 것을 특징으로 하는 프로세스 행위 예측 기법을 이용한 비정형 악성코드 탐지 시스템.
  2. 제1항에 있어서,
    상기 시스템 자원 모니터 모듈은 파일 시스템, 프로세스, 레지스트리, 서비스 및 네트워크 항목에 대한 개별 이벤트 정보를 수집하는 것을 특징으로 하는 프로세스 행위 예측 기법을 이용한 비정형 악성코드 탐지 시스템.
  3. 제2항에 있어서,
    상기 시스템 자원 모니터 모듈은,
    검출 시간, PID, 경로, 시스템 디렉토리 유무 등의 정보를 추출하는 파일 모니터,
    패킷 단위별 검출 시간, PID, S/D-IP, Packet length 등의 정보를 추출하는 IM 모니터,
    프로세스 검출 시간, PID, 쓰레드 개수 등의 정보를 추출하는 프로세스 모니터,
    검출 시간, PID, 레지스트리 경로, 현재 상태, 사이즈 등의 정보를 검출하는 레지스트리 모니터,
    TDI 드라이버를 통한 프로세스 단위로 표현되어야할 네트워크 정보-검출시간, PID, 로컬 IP 주소, 원격 IP 주소, 패킷의 평균 길이, 프로토콜, 조각 개수, 전송 크기, 수신 크기 등의 정보-를 추출하는 TDI_P 모니터, 및
    TDI 드라이버를 통한 세션 단위의 네트워크 정보-검출시간, PID, 로컬 IP 주소, 원격 IP 주소, 프로토콜, 전송 크기, 수신 크기 등의 정보-를 추출하는 TDI_S 모니터를 포함하는 것을 특징으로 하는 프로세스 행위 예측 기법을 이용한 비정형 악성코드 탐지 시스템.
  4. 제1항에 있어서,
    상기 재가공 모듈은 상기 통합 로그의 재구성시 이벤트 발생 시간을 기준으로 상기 실행코드들의 연관성 있는 행위 특성값 데이터를 하나의 레코드로 구성하는 것을 특징으로 하는 프로세스 행위 예측 기법을 이용한 비정형 악성코드 탐지 시스템.
  5. 시스템 내에서 실행되는 실행코드들에 대해 1차적인 악성코드 필터링을 수행하는 제1 단계;
    상기 시스템 내에서 실행되는 실행코드들이 발생시키는 개별 이벤트 정보를 수집하기 위하여 시스템 자원 감시를 수행하는 제2 단계;
    상기 제2 단계에서 수집된 개별 이벤트 정보를 재가공하여 상기 실행코드들의 연관성 있는 행위 특성값을 나타내는 하나의 통합 로그로 재구성하는 제3 단계;
    상기 제3 단계로부터 재구성된 통합 로그를 학습 알고리즘에 입력하여 비정형 악성 행위 특징값(예측 패턴)을 추출하는 제4 단계; 및
    상기 제4 단계에서 추출된 비정형 악성 행위 특징값(예측 패턴)을 상기 제3 단계에서 구성되는 행위 특성값 데이터와 비교함으로써 악성 행위를 탐지하는 제5 단계를 포함하는 것을 특징으로 하는 프로세스 행위 예측 기법을 이용한 비정형 악성코드 탐지 방법.
  6. 제5항에 있어서,
    상기 제2 단계에서, 파일 시스템, 프로세스, 레지스트리, 서비스 및 네트워크 항목에 대한 개별 이벤트 정보를 수집하는 것을 특징으로 하는 프로세스 행위 예측 기법을 이용한 비정형 악성코드 탐지 방법.
  7. 제5항에 있어서,
    상기 제3 단계에서, 상기 통합 로그의 재구성시 이벤트 발생 시간을 기준으로 상기 실행코드들의 연관성 있는 행위 특성값 데이터가 하나의 레코드로 구성되는 것을 특징으로 하는 프로세스 행위 예측 기법을 이용한 비정형 악성코드 탐지 방법.
  8. 제7항에 있어서,
    상기 레코드 구성시, 이벤트가 없는 레코드 필드의 값을 최근 이벤트 유효 시간 범위에서 기재하고, 상기 최근 이벤트 유효 시간 범위에서 벗어났을 경우에는 null 값을 기록하는 것을 특징으로 하는 프로세스 행위 예측 기법을 이용한 비정형 악성코드 탐지 방법.
KR1020070100391A 2006-11-23 2007-10-05 프로세스 행위 예측 기법을 이용한 비정형 악성코드 탐지방법 및 그 시스템 KR100910761B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/944,268 US8181248B2 (en) 2006-11-23 2007-11-21 System and method of detecting anomaly malicious code by using process behavior prediction technique

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020060116572 2006-11-23
KR20060116572 2006-11-23

Publications (2)

Publication Number Publication Date
KR20080047261A true KR20080047261A (ko) 2008-05-28
KR100910761B1 KR100910761B1 (ko) 2009-08-04

Family

ID=39663908

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070100391A KR100910761B1 (ko) 2006-11-23 2007-10-05 프로세스 행위 예측 기법을 이용한 비정형 악성코드 탐지방법 및 그 시스템

Country Status (1)

Country Link
KR (1) KR100910761B1 (ko)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011004977A3 (ko) * 2009-07-07 2011-03-31 한국전자통신연구원 사이버위협을 예측하기 위한 사이버위협 예측 엔진 시스템 및 상기 시스템을 이용한 사이버위협 예측 방법
KR101031786B1 (ko) * 2009-02-03 2011-04-29 주식회사 안철수연구소 의심스러운 행위의 수준별 분류 및 격리 실행을 통한 악성 코드 사전 대응 장치, 방법 및 그 방법을 실행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체
KR101047118B1 (ko) * 2008-12-22 2011-07-07 한국전자통신연구원 익스플로잇 코드를 탐지하는 네트워크 보안시스템 및 방법
WO2011149150A1 (ko) * 2010-05-25 2011-12-01 (주)잉카인터넷 온라인 게임에서 핵 툴 사용 정보 표시방법
KR101308866B1 (ko) * 2011-12-27 2013-09-13 한국과학기술원 공개형 악성코드 관리 및 분석 시스템
KR20150084123A (ko) * 2014-01-13 2015-07-22 한국전자통신연구원 이상행위 탐지 장치 및 방법
KR20150091716A (ko) * 2014-02-03 2015-08-12 한국전자통신연구원 수집된 이벤트 정보 기반 악성코드 탐지 장치 및 방법
KR20180090574A (ko) * 2017-02-03 2018-08-13 주식회사 안랩 악성코드 진단 시스템 및 악성코드 진단 방법
US10356119B1 (en) * 2017-03-28 2019-07-16 Trend Micro Incorporated Detection of computer security threats by machine learning
US10417416B1 (en) 2017-02-13 2019-09-17 Trend Micro Incorporated Methods and systems for detecting computer security threats
CN111652180A (zh) * 2020-06-16 2020-09-11 北京梧桐车联科技有限责任公司 缺陷定位方法、装置、设备及计算机可读存储介质
CN113010892A (zh) * 2021-03-26 2021-06-22 支付宝(杭州)信息技术有限公司 小程序恶意行为检测方法和装置
KR20240009131A (ko) 2022-07-13 2024-01-22 포체인스 주식회사 가중치 거리함수를 이용한 악성코드 예측 장치 및 그 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101291470B1 (ko) * 2011-06-17 2013-08-23 지경배 통합 보안 장치를 이용한 보안 방법
KR101256461B1 (ko) 2012-09-03 2013-04-19 주식회사 안랩 프로세스 실행 시점 판단장치 및 방법
KR101723623B1 (ko) 2015-09-24 2017-04-06 아주대학교산학협력단 악성 코드 탐지 시스템 및 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020075319A (ko) * 2002-07-19 2002-10-04 주식회사 싸이버텍홀딩스 지능형 보안 엔진과 이를 포함하는 지능형 통합 보안 시스템
KR100614757B1 (ko) * 2004-07-14 2006-08-21 엘지엔시스(주) 패킷 헤더 분석을 통해 이상 트래픽을 탐지 및 차단하는장치 및 방법

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101047118B1 (ko) * 2008-12-22 2011-07-07 한국전자통신연구원 익스플로잇 코드를 탐지하는 네트워크 보안시스템 및 방법
KR101031786B1 (ko) * 2009-02-03 2011-04-29 주식회사 안철수연구소 의심스러운 행위의 수준별 분류 및 격리 실행을 통한 악성 코드 사전 대응 장치, 방법 및 그 방법을 실행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체
WO2011004977A3 (ko) * 2009-07-07 2011-03-31 한국전자통신연구원 사이버위협을 예측하기 위한 사이버위협 예측 엔진 시스템 및 상기 시스템을 이용한 사이버위협 예측 방법
US8800037B2 (en) 2009-07-07 2014-08-05 Electronics And Telecommunications Research Institute System for an engine for forecasting cyber threats and method for forecasting cyber threats using the system
WO2011149150A1 (ko) * 2010-05-25 2011-12-01 (주)잉카인터넷 온라인 게임에서 핵 툴 사용 정보 표시방법
KR101308866B1 (ko) * 2011-12-27 2013-09-13 한국과학기술원 공개형 악성코드 관리 및 분석 시스템
KR20150084123A (ko) * 2014-01-13 2015-07-22 한국전자통신연구원 이상행위 탐지 장치 및 방법
KR20150091716A (ko) * 2014-02-03 2015-08-12 한국전자통신연구원 수집된 이벤트 정보 기반 악성코드 탐지 장치 및 방법
KR20180090574A (ko) * 2017-02-03 2018-08-13 주식회사 안랩 악성코드 진단 시스템 및 악성코드 진단 방법
US10417416B1 (en) 2017-02-13 2019-09-17 Trend Micro Incorporated Methods and systems for detecting computer security threats
US10356119B1 (en) * 2017-03-28 2019-07-16 Trend Micro Incorporated Detection of computer security threats by machine learning
CN111652180A (zh) * 2020-06-16 2020-09-11 北京梧桐车联科技有限责任公司 缺陷定位方法、装置、设备及计算机可读存储介质
CN111652180B (zh) * 2020-06-16 2023-11-17 北京梧桐车联科技有限责任公司 缺陷定位方法、装置、设备及计算机可读存储介质
CN113010892A (zh) * 2021-03-26 2021-06-22 支付宝(杭州)信息技术有限公司 小程序恶意行为检测方法和装置
KR20240009131A (ko) 2022-07-13 2024-01-22 포체인스 주식회사 가중치 거리함수를 이용한 악성코드 예측 장치 및 그 방법

Also Published As

Publication number Publication date
KR100910761B1 (ko) 2009-08-04

Similar Documents

Publication Publication Date Title
KR100910761B1 (ko) 프로세스 행위 예측 기법을 이용한 비정형 악성코드 탐지방법 및 그 시스템
Bridges et al. A survey of intrusion detection systems leveraging host data
US8181248B2 (en) System and method of detecting anomaly malicious code by using process behavior prediction technique
Corona et al. Adversarial attacks against intrusion detection systems: Taxonomy, solutions and open issues
Saeed et al. A survey on malware and malware detection systems
Verwoerd et al. Intrusion detection techniques and approaches
Landage et al. Malware and malware detection techniques: A survey
US11562068B2 (en) Performing threat detection by synergistically combining results of static file analysis and behavior analysis
Liao et al. Network forensics based on fuzzy logic and expert system
CN107888607A (zh) 一种网络威胁检测方法、装置及网络管理设备
US20030084319A1 (en) Node, method and computer readable medium for inserting an intrusion prevention system into a network stack
Tan et al. Hiding intrusions: From the abnormal to the normal and beyond
CN110958257B (zh) 一种内网渗透过程还原方法和系统
CN113422771A (zh) 威胁预警方法和系统
CN108369541B (zh) 用于安全威胁的威胁风险评分的系统和方法
US11909761B2 (en) Mitigating malware impact by utilizing sandbox insights
Kaur et al. Efficient hybrid technique for detecting zero-day polymorphic worms
Rosli et al. Clustering analysis for malware behavior detection using registry data
US20030084344A1 (en) Method and computer readable medium for suppressing execution of signature file directives during a network exploit
Vigna et al. Host-based intrusion detection
Chowdhury et al. Malware detection for healthcare data security
Khan et al. A dynamic method of detecting malicious scripts using classifiers
Mira A review paper of malware detection using api call sequences
Kono et al. An unknown malware detection using execution registry access
US20220060485A1 (en) Threat forecasting

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: 20130710

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140630

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150703

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160726

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170608

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190729

Year of fee payment: 11