KR20080071862A - 침입 코드 탐지 장치 및 그 방법 - Google Patents

침입 코드 탐지 장치 및 그 방법 Download PDF

Info

Publication number
KR20080071862A
KR20080071862A KR1020070010300A KR20070010300A KR20080071862A KR 20080071862 A KR20080071862 A KR 20080071862A KR 1020070010300 A KR1020070010300 A KR 1020070010300A KR 20070010300 A KR20070010300 A KR 20070010300A KR 20080071862 A KR20080071862 A KR 20080071862A
Authority
KR
South Korea
Prior art keywords
features
code
data
intrusion code
intrusion
Prior art date
Application number
KR1020070010300A
Other languages
English (en)
Other versions
KR101303643B1 (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 KR1020070010300A priority Critical patent/KR101303643B1/ko
Priority to EP07113628.7A priority patent/EP1953664A3/en
Priority to CN2007101540789A priority patent/CN101236584B/zh
Priority to US11/874,348 priority patent/US8205256B2/en
Priority to JP2007293641A priority patent/JP4699438B2/ja
Publication of KR20080071862A publication Critical patent/KR20080071862A/ko
Application granted granted Critical
Publication of KR101303643B1 publication Critical patent/KR101303643B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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
    • G06F21/564Static detection by virus signature recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Burglar Alarm Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

침입 코드 탐지 장치 및 그 방법이 개시된다. 본 발명의 침입 코드 탐지 장치는 그룹별로 각각 차별화된 설정 값을 입력받는 설정 값 입력부, 상기 설정 값을 기초로 면역 데이터베이스를 생성하는 면역 데이터베이스 생성부 및 상기 생성된 면역 데이터베이스를 기초로 데이터의 침입 코드 여부를 판단하는 침입 코드 판단부를 포함하는 것을 특징으로 한다.
침입 코드, 특성키, 차별화, 탐지

Description

침입 코드 탐지 장치 및 그 방법 {APPARATUS FOR DETECTING INTRUSION CODE AND METHOD USING THE SAME}
도 1은 본 발명의 일 실시예에 따른 침입 코드 탐지 장치에 대한 구성 블록도이다.
도 2는 도 1에 도시한 120에 대한 상세 구성 블록도이다.
도 3은 도 1에 도시한 130에 대한 상세 구성 블록도이다.
도 4는 본 발명에 따른 그룹 특성키를 상이하게 설정하기 위한 그룹에 대한 일 예시도이다.
도 5는 컴퓨터 각각에 설정된 상주 코드 목록으로부터 피쳐들을 추출하는 일 예시도이다.
도 6은 본 발명에 따른 랜덤 풀 피쳐들을 생성하는 일 예시도이다.
도 7은 컴퓨터 각각에 수집된 판단 대상 코드 목록으로부터 피쳐들을 추출하는 일 예시도이다.
도 8은 본 발명의 일 실시예에 따른 침입 코드 탐지 방법에 대한 동작 흐름도이다.
도 9는 도 8에 도시한 S820에 대한 상세 동작 흐름도이다.
더 10은 도 8에 도시한 S830에 대한 상세 동작 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
110: 설정 값 입력부
120: 면역 DB 생성부
130: 침입 코드 판단부
210: 피쳐 추출부
220: 유사성 연산부
230: 면역 DB 생성 관리부
240: 풀 피쳐 생성부
310: 데이터 수집부
320: 데이터 피쳐 추출부
330: 데이터 유사성 연산부
340: 침입 코드 판단 관리부
본 발명은 침입 코드 탐지에 관한 것으로, 더욱 상세하게는 컴퓨터별 개인 특성을 설정하여 차별화된 면역 데이터베이스를 통해 침입 코드 여부를 탐지하는 침입 코드 탐지 장치 및 그 방법에 관한 것이다.
컴퓨터를 통한 유무선 통신이 발달함에 따라 바이러스(virus), 웜(worm), 트로이 목마(Trojan), 스팸(spam), 해킹툴(hacking tool) 등의 악성 코드가 확산되 고, 이런 악성 코드의 확산을 방지/검출하기 위한 악성 코드를 검출하는 기술이 필요로 하고 있다.
종래 악성 코드를 검출하는 기술은 악성 코드에 대한 시그니쳐(signature)를 데이터베이스로 구성하고, 데이터베이스에 구성된 시그니쳐를 포함하는 데이터를 악성 코드로 검출한다.
하지만, 종래 악성 코드를 검출하는 기술은 존재하는 모든 악성 코드를 검출할 수 없기 때문에 신종 또는 변종 악성 코드가 확산되면 이 악성 코드의 검출 및 감염이 획일적으로 발생한다.
즉, 확산된 악성 코드에 의해 컴퓨터가 감염되고 컴퓨터를 감염시킨 악성 코드가 다른 컴퓨터로 확산되면 악성 코드를 접한 컴퓨터 또한 감염된다. 따라서, 악성 코드를 접한 모든 컴퓨터가 똑같이 감염되거나 특정 컴퓨터에서 악성 코드의 검출이 가능하면 모든 컴퓨터에서 악성 코드의 검출이 가능하게 된다.
상기에서 알 수 있듯이, 종래 악성 코드를 검출하는 기술은 모든 컴퓨터에서 동일하게 검출할 수 있고, 검출할 수 없는 악성 코드를 접하게 되면 동일하게 감염되는 문제가 있다. 이는 악성 코드를 검출하는 데이터베이스가 모든 컴퓨터에 동일하게 구성되기 때문이다.
따라서, 악성 코드의 획일적인 검출 및 악성 코드에 의한 획일적인 감염을 방지하여 일부 시스템에서 악성 코드에 대한 내성을 가질 수 있는 장치의 필요성이 대두된다.
본 발명은 상술한 바와 같은 종래기술의 문제점을 해결하기 위해 안출된 것으로서, 데이터의 침입 코드 여부를 판단할 수 있는 면역 데이터베이스를 차별화하여 생성하는 것을 목적으로 한다.
또한, 본 발명은 차별화된 면역 데이터베이스를 통해 신종 또는 변종 악성 코드에 의한 획일적인 피해를 방지하는 것을 목적으로 한다.
또한, 본 발명은 신종 또는 변종 악성 코드에 대한 내성이 유도된 시스템으로부터 신종 또는 변종 악성 코드에 대한 진단법을 획득하는 것을 목적으로 한다.
상기의 목적을 달성하고 종래기술의 문제점을 해결하기 위하여, 본 발명의 침입 코드 탐지 장치는 그룹별로 각각 차별화된 설정 값을 입력받는 설정 값 입력부, 상기 설정 값을 기초로 면역 데이터베이스를 생성하는 면역 데이터베이스 생성부 및 상기 생성된 면역 데이터베이스를 기초로 데이터의 침입 코드 여부를 판단하는 침입 코드 판단부를 포함하는 것을 특징으로 한다.
이때, 상기 설정 값 입력부는 그룹을 구분하기 위한 그룹 특성키, 안전한 코드인 상주 코드 목록 및 상기 면역 데이터베이스의 풀(pool)을 생성하기 위한 랜덤 풀 생성 인자를 설정 값으로 입력받을 수 있다.
이때, 상기 면역 데이터베이스 생성부는 상기 그룹 특성키를 이용하여 상기 상주 코드의 피쳐(feature)들을 추출하는 피쳐 추출부, 상기 그룹 특성키 및 상기 랜덤 풀 생성 인자를 기초로 랜덤 풀 피쳐들을 생성하는 풀 피쳐 생성부, 상기 추출된 상주 코드의 피쳐들 및 상기 생성된 랜덤 풀 피쳐들의 유사성을 연산하는 유 사성 연산부 및 상기 랜덤 풀 피쳐들 중 연산된 유사성 값이 기 결정된 임계값 이하인 피쳐들을 상기 면역 데이터베이스로 생성하는 면역 데이터베이스 생성 관리부를 포함할 수 있다.
이때, 상기 풀 피쳐 생성부는 상기 그룹 특성키의 길이 및 상기 랜덤 풀 생성 인자에 포함된 랜덤 풀 크기를 기초로 상기 랜덤 풀 피쳐들을 생성할 수 있다.
이때, 상기 침입 코드 판단부는 상기 그룹 특성키를 이용하여 상기 데이터의 피쳐들을 추출하는 데이터 피쳐 추출부, 상기 추출된 데이터의 피쳐들과 상기 면역 데이터베이스의 피쳐들의 유사성을 연산하는 데이터 유사성 연산부 및 상기 연산된 유사성 값이 기 결정된 임계값 이상이면 상기 데이터를 침입 코드로 판단하는 침입 코드 판단 관리부를 포함할 수 있다.
이때, 상기 침입 코드 판단부는 상기 침입 코드 여부를 판단하기 위한 데이터를 수집하는 데이터 수집부를 더 포함하고, 상기 데이터 피쳐 추출부는 상기 수집된 데이터 각각의 피쳐들을 추출할 수 있다.
이때, 상기 침입 코드 판단부는 상기 생성된 면역 데이터베이스를 기초로 내부에 저장된 모든 실행 파일 데이터의 침입 코드 여부를 판단할 수 있다.
이때, 상기 침입 코드 판단부는 상기 생성된 면역 데이터베이스를 기초로 실시간으로 입력되는 데이터의 침입 코드 여부를 판단할 수 있다.
이때, 상기 그룹은 적어도 하나 이상의 컴퓨터로 이루어질 수 있다.
본 발명의 침입 코드 탐지 방법은 그룹별로 각각 차별화된 설정 값을 입력받는 단계, 상기 설정 값을 기초로 상기 면역 데이터베이스를 생성하는 단계 및 상기 생성된 면역 데이터베이스를 기초로 데이터의 침입 코드 여부를 판단하는 단계를 포함하는 것을 특징으로 한다.
이때, 상기 설정 값을 입력받는 단계는 그룹을 구분하기 위한 그룹 특성키, 안전한 코드인 상주 코드 목록 및 상기 면역 데이터베이스의 풀(pool)을 생성하기 위한 랜덤 풀 생성 인자를 설정 값으로 입력받을 수 있다.
이때, 상기 면역 데이터베이스를 생성하는 단계는 상기 그룹 특성키를 이용하여 상기 상주 코드의 피쳐들을 추출하는 단계, 상기 그룹 특성키 및 상기 랜덤 풀 생성 인자를 기초로 랜덤 풀 피쳐들을 생성하는 단계, 상기 추출된 상주 코드의 피쳐들 및 상기 생성된 랜덤 풀 피쳐들의 유사성을 연산하는 단계 및 상기 랜덤 풀 피쳐들 중 연산된 유사성 값이 기 결정된 임계값 이하인 피쳐들을 상기 면역 데이터베이스로 생성하는 단계를 포함할 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 침입 코드 탐지 장치에 대한 구성 블록도이다.
도 1을 참조하면, 침입 코드 탐지 장치는 설정 값 입력부(110), 면역 데이터베이스(DB) 생성부(120) 및 침입 코드 판단부(130)를 포함한다.
설정 값 입력부(110)는 그룹별로 각각 차별화된 설정 값을 입력 받는다.
이때, 설정 값 입력부(110)는 그룹을 구분하기 위한 그룹 특성키, 안전한 코드인 상주 코드 목록 및 면역 DB의 풀(pool)을 생성하기 위한 랜덤 풀 생성 인자를 설정 값으로 입력받을 수 있다.
이때, 그룹 특성키는 면역 DB를 생성하기 위한 상주 코드의 피쳐(feature)들을 추출하거나 침입 코드 여부를 판단하기 위한 데이터의 피쳐들을 추출할 때 사용된다. 즉, 상주 코드로부터 그룹 특성키 조건에 해당하는 피쳐들을 추출하고, 침입 코드 여부를 판단하기 위한 데이터로부터 그룹 특성키 조건에 해당하는 피쳐들을 추출한다.
이때, 그룹 특성키는 바이너리 파일 또는 원본 바이너리 실행 파일을 가공한 형태의 파일에서 일정 확률 예를 들어, 1/10 ~ 1/10000의 확률로 나타날 수 있는 패턴일 수 있다. 즉, 그룹 특성키는 특정 길이의 바이너리 서열에서 일정한 확률로 얻을 수 있는 바이너리 서열들을 한정할 수 있는 패턴이 될 수 있다.
일 예로, 그룹 특성키가 XXYX[YF]XX[LMIV]인 경우 X는 어떤 임의의 패턴이 와도 상관없고, [YF]는 Y 패턴 및 F 패턴 중 어느 하나의 패턴이 와야 하고, [LMIV]는 L 패턴, M 패턴, I 패턴 및 V 패턴 중 어느 하나의 패턴이 와야 한다.
여기서, 패턴 각각은 바이너리 값을 소정의 단위 및 소정의 법칙에 따라 매핑한 것으로, 패턴과 매핑되는 바이너리 값은 변동 가능하고, 바이너리 값과 매핑되는 패턴 또한 변동 가능하다.
이때, 각 패턴이 소정의 단위 및 소정의 법칙에 따라 6 비트로 구성된 경우 그룹 특성키는 48 비트로 구성될 수 있고, Y 패턴, F 패턴, L 패턴, M 패턴, I 패턴 및 V 패턴에 대한 구성은 사업자에 의해 결정될 수 있다.
이때, 상주 코드 목록은 사용자가 컴퓨터에 설치되어 있는 프로그램 또는 실 행 코드들 중 안전하다고 판단되는 코드 목록일 수 있다.
이때, 상주 코드 목록은 사용자에 의해 수동으로 설정되거나 실행 파일 검색 또는 안정성 여부를 검사하기 위한 컴퓨터 바이러스 소프트웨어를 사용하여 설정될 수도 있다.
여기에서 알 수 있듯이, 프로그램 및 실행 파일은 사용자 컴퓨터에 따라 달라질 수 있기 때문에 상주 코드 목록이 다르게 설정될 수 있고, 이는 컴퓨터 각각의 특성이 될 수 있다.
이때, 랜덤 풀 생성 인자는 임계값 및 랜덤 풀 크기를 설정할 수 있는 인자를 포함할 수 있다. 여기서, 임계값은 면역 DB를 생성하거나 생성된 면역 DB를 이용하여 침입 코드를 판단할 때 사용된다.
이때, 그룹은 적어도 하나 이상의 컴퓨터로 이루어질 수 있다.
면역 DB 생성부(120)는 설정 값 입력부(110)의 설정 값을 기초로 면역 DB를 생성한다.
이때, 면역 DB 생성부(120)는 상주 코드 목록에 구성된 상주 코드 각각으로부터 피쳐들을 추출할 수 있고, 그룹 특성키 및 랜덤 풀 생성 인자를 기초로 랜덤 풀 피쳐들을 생성할 수 있다.
이때, 상주 코드의 피쳐들은 그룹 특성키를 이용하여 추출될 수 있다.
이때, 랜덤 풀 피쳐들은 그룹 특성키의 길이 및 랜덤 풀 생성 인자에 포함된 랜덤 풀 크기를 기초로 생성될 수 있다.
이때, 면역 DB 생성부(120)는 상주 코드의 피쳐들 및 랜덤 풀 피쳐들의 유사 성을 연산하고, 랜덤 풀 피쳐들 중 연산된 유사성 값이 기 결정된 임계값 이하인 피쳐들을 면역 DB로 생성할 수 있다.
여기서, 유사성은 주어진 두 피쳐들의 상이성 또는 상동성을 의미하는 것이다. 즉, 유사성을 연산하는 것은 두 피쳐들의 상이성 또는 상동성을 수치화하는 것으로, 연산된 유사성 값이 수치화된 두 피쳐들의 상이성 또는 상동성을 말한다.
이때, 유사성은 Euclidean distance 방법, Harmonic means 방법, Matching coefficient 방법, Dice coefficient 방법, Cosine similarity 방법, Levenshtein distance 방법, Sellers algorithm 방법, Smith-Waterman distance 방법 및 Block distance 방법 등에 의해 연산될 수 있다. 물론, 본 발명에서 유사성을 연산하는 방법이 상술한 방법들에 한정되지 않고, 유사성을 연산하는 모든 방법이 사용될 수 있다.
일 예로, Block distance 방법을 이용하여 두 스트링(string)의 유사성을 연산하면 다음과 같다.
스트링 q가 "ABCDEFGH"이고, 스트링 r이 "BCDEFGHG"인 경우 Block distance 함수를 이용하여 두 스트링 q 및 r의 각 구성간 distance 값을 계산한 후 계산된 distance 값들을 더하여 두 스트링의 유사성을 연산한다. 즉, Block distance 함수를 이용하여 q의 A와 r의 B 사이의 distance 값을 계산하고, q의 B와 r의 C 사이의 distance 값을 계산한다. Distance를 계산하는 과정이 r의 H와 q의 G까지 수행되고, 계산된 모든 distance 값들을 더하여 두 스트링의 유사성을 연산한다.
침입 코드 판단부(130)는 면역 DB 생성부(120)에 의해 생성된 면역 DB를 기 초로 데이터의 침입 코드 여부를 판단한다.
이때, 침입 코드 판단부(130)는 침입 코드 여부를 판단하기 위한 데이터를 수집할 수 있고, 수집되는 데이터는 컴퓨터에 저장된 모든 실행 파일 데이터, 컴퓨터에 저장된 모든 데이터 및 컴퓨터로 실시간으로 입력되는 데이터 중 어느 하나가 될 수 있다.
여기서, 컴퓨터로 실시간으로 입력되는 데이터는 유무선 네트워크 공유를 통해 다운로드된 파일, HTTP/FTP(hypertext transport protocol/file transfer protocol) 등을 통해 다운로드된 파일, 전자메일을 통해 다운로드된 파일, P2P(peer to peer)를 통해 다운로드된 파일 및 저장 장치로부터 다운로드된 파일 등이 될 수 있다.
이때, 침입 코드 판단부(130)는 수집된 데이터로부터 피쳐들을 추출하고, 그 추출된 피쳐들과 면역 DB의 피쳐들의 유사성을 연산하여 연산된 유사성 값이 임계값 이상인 데이터를 침입 코드로 판단할 수 있다.
이때, 침입 코드 판단부(130)는 그룹 특성키를 기초로 수집된 데이터로부터 피쳐들을 추출할 수 있다.
이때, 침입 코드 판단부(130)는 수집된 데이터가 압축된 파일인 경우 파일을 압축 해제한 후 피쳐들을 추출하여 침입 코드 여부를 판단할 수 있다.
도 2는 도 1에 도시한 120에 대한 일 실시예 상세 구성 블록도이다.
도 2를 참조하면, 면역 DB 생성부(120)는 피쳐 추출부(210), 풀 피쳐 생성부(240), 유사성 연산부(220) 및 면역 DB 생성 관리부(230)를 포함한다.
피쳐 추출부(210)는 그룹 특성키를 이용하여 상주 코드 목록에 구성된 상주 코드 각각의 피쳐들을 추출한다.
이때, 피쳐 추출부(210)는 상주 코드로부터 그룹 특성키에 해당하는 비트수를 읽고, 그룹 특성키 조건에 해당하는 피쳐들을 추출할 수 있다.
풀 피쳐 생성부(240)는 그룹 특성키 및 랜덤 풀 생성 인자를 기초로 랜덤 풀 피쳐들을 생성한다.
이때, 풀 피쳐 생성부(240)는 그룹 특성키의 길이 및 랜덤 풀 생성 인자에 포함된 랜덤 풀 크기를 기초로 랜덤 풀 피쳐들을 생성할 수 있다.
예를 들어, 그룹 특성키의 길이가 48 비트이고 랜덤 풀 크기가 1%인 경우 풀 피쳐 생성부(240)는 248ⅹ0.01개의 랜덤 풀 피쳐들을 무작위로 생성한다.
유사성 연산부(220)는 상주 코드의 피쳐들 및 랜덤 풀 피쳐들의 유사성을 연산한다.
면역 DB 생성 관리부(230)는 랜덤 풀 피쳐들 중 연산된 유사성 값이 기 결정된 임계값 이하인 피쳐들을 면역 DB로 생성한다.
이때, 면역 DB 생성 관리부(230)는 풀 피쳐 생성부(240)에 의해 생성된 랜덤 풀 피쳐들 중 상주 코드 및 침입 코드를 판단할 수 있는 피쳐들을 선택하여 면역 DB를 생성할 수 있다.
따라서, 면역 DB 생성 관리부(230)에 의해 생성된 면역 DB의 피쳐들은 상주 코드로부터 추출된 피쳐들에 대해 유사성 연산을 수행할 경우 연산된 유사성 값이 항상 임계값 이하를 가지며 상주 코드가 아닌 코드에 대해 유사성 연산을 수행할 경우 연산된 유사성 값이 임계값보다 커질 수 있는 확률을 가지게 된다.
도 3은 도 1에 도시한 130에 대한 일 실시예 상세 구성 블록도이다.
도 3을 참조하면, 침입 코드 판단부(130)는 데이터 수집부(310), 데이터 피쳐 추출부(320), 데이터 유사성 연산부(330) 및 침입 코드 판단 관리부(340)를 포함한다.
데이터 수집부(310)는 침입 코드 여부를 판단하기 위한 데이터를 수집한다.
이때, 데이터 수집부(310)는 컴퓨터에 저장된 모든 실행 파일 데이터, 컴퓨터에 저장된 모든 데이터 및 컴퓨터로 실시간으로 입력되는 데이터 중 어느 하나를 수집할 수 있다.
여기서, 컴퓨터로 실시간으로 입력되는 데이터는 유무선 네트워크 공유를 통해 다운로드된 파일, HTTP/FTP 등을 통해 다운로드된 파일, 전자메일을 통해 다운로드된 파일, P2P를 통해 다운로드된 파일 및 저장 장치로부터 다운로드된 파일 등이 될 수 있다.
데이터 피쳐 추출부(320)는 그룹 특성키를 이용하여 수집된 데이터로부터 피쳐들을 추출한다. 즉, 데이터 피쳐 추출부(320)는 그룹 특성키의 조건에 해당하는 피쳐들을 수집된 데이터로부터 추출한다.
데이터 유사성 연산부(330)는 수집된 데이터로부터 추출된 피쳐들 및 면역 DB의 피쳐들의 유사성을 연산한다.
침입 코드 판단 관리부(340)는 연산된 유사성 값이 기 결정된 임계값 이상인 데이터를 침입 코드로 판단한다. 즉, 연산된 유사성 값이 기 결정된 임계값보다 작은 데이터는 상주 코드로 판단한다.
도 1에 도시한 본 발명의 일 실시예에 따른 침입 코드 탐지 장치에 대한 동작을 도 4 내지 도 7을 참조하여 조금 더 설명한다.
도 4는 본 발명에 따른 그룹 특성키를 상이하게 설정하기 위한 그룹에 대한 일 예시도이다.
도 4를 참조하면, 그룹 각각(410~450)은 서로 다른 그룹 특성키를 부여받는다. 즉, 상주 코드 및 침입 코드를 판단하기 위한 면역 DB가 그룹 간 서로 다르게 생성되도록 그룹에 따라 그룹 특성키를 서로 다르게 설정한다.
그룹(450)에 포함된 제1 컴퓨터 내지 제4 컴퓨터(460~490) 각각은 컴퓨터에 설치된 프로그램이 서로 다를 수 있기 때문에 상주 코드 목록이 서로 다를 수 있다.
또한, 컴퓨터들 각각에 대해 랜덤 풀 생성 인자를 다르게 설정할 수 있다. 예를 들어, 제1 컴퓨터(460)에 대해서는 임계값을 2300, 랜덤 풀 크기를 10%로 설정하고, 제2 컴퓨터(470)에 대해서는 임계값을 2350, 랜덤 풀 크기를 1%로 설정하고, 제3 컴퓨터(480)에 대해서는 임계값을 2400, 랜덤 풀 크기를 5%로 설정하고, 제4 컴퓨터(490)에 대해서는 임계값을 2500, 랜덤 풀 크기를 0.5%로 설정할 수 있다.
즉, 도 4에 도시한 컴퓨터 그룹별 그리고 컴퓨터 그룹에 포함된 컴퓨터별로 서로 다른 면역 DB가 생성될 수 있도록 설정 값을 다르게 설정할 수 있다.
도 5는 컴퓨터 각각에 설정된 상주 코드 목록으로부터 피쳐들을 추출하는 일 예시도이다.
도 5를 참조하면, 컴퓨터 각각에 설정된 상주 코드 목록으로부터 상주 코드 목록에 포함된 상주 코드들을 수집하고, 그 수집된 상주 코드들로부터 피쳐들을 추출한다.
이때, 컴퓨터 각각은 컴퓨터 그룹별로 설정된 그룹 특성키를 이용하여 상주 코드들로부터 피쳐들을 추출할 수 있다.
즉, 상주 코드로부터 그룹 특성키 비트에 해당하는 비트를 읽고 설정된 그룹 특성키 조건에 해당되는 패턴인가 판단하여 그룹 특성키 조건에 해당되는 패턴인 경우 해당 패턴을 피쳐로 추출하고, 그룹 특성키 조건에 해당되는 패턴이 아닌 경우에는 한 비트 이동한 후 그룹 특성키 조건에 해당되는 패턴인지 판단한다.
이런 과정을 통해 상주 코드들로부터 그룹 특성키 조건에 해당되는 피쳐들을 추출할 수 있다.
도 6은 본 발명에 따른 랜덤 풀 피쳐들을 생성하는 일 예시도이다.
도 6을 참조하면, 컴퓨터 각각에 설정된 그룹 특성키의 길이 및 랜덤 풀 크기를 이용하여 랜덤 풀 피쳐들을 생성한다.
예를 들어, 제1 컴퓨터에 설정된 그룹 특성키의 길이가 48 비트이고 랜덤 풀 크기가 10%인 경우 248ⅹ0.1개의 랜덤 풀 피쳐들을 무작위로 생성하고, 제2 컴퓨터에 설정된 그룹 특성키의 길이가 48 비트이고 랜덤 풀 크기가 1%인 경우 248ⅹ0.01 개의 랜덤 풀 피쳐들을 무작위로 생성한다.
이때, 생성된 랜덤 풀 피쳐들 중 일부가 면역 DB의 피쳐들로 선택될 수 있다.
즉, 추출된 상주 코드들의 피쳐들과 랜덤 풀 피쳐들의 유사성 연산을 수행하고, 랜덤 풀 피쳐들 중 연산된 유사성 값이 기 설정된 임계값 이하인 피쳐들을 면역 DB로 생성한다.
여기에서 알 수 있듯이, 그룹별로 설정된 그룹 특성키가 서로 다르기 때문에 그룹간 생성된 면역 DB를 서로 다르고, 또한 그룹에 구성된 컴퓨터별 상주 코드 목록 및 랜덤 풀 생성 인자를 서로 다르기 설정할 수 있기 때문에 동일 그룹 내에 구성된 컴퓨터 각각에 대해 서로 다른 면역 DB를 생성할 수 있다.
따라서, 컴퓨터 각각에 생성된 면역 DB가 상이하기 때문에 면역 DB를 통해 컴퓨터 각각에서 판단되는 상주 코드 및 침입 코드가 서로 상이할 수 있다.
또한, 컴퓨터 각각에서 판단되는 상주 코드 및 침입 코드가 서로 상이하기 때문에 악성 코드에 의해 그룹을 구성하는 모든 컴퓨터가 감염되지 않고 일부의 컴퓨터만이 감염되어 신종 또는 변종 악성 코드에 의한 획일적인 피해를 방지할 수 있고, 신종 또는 변종 악성 코드에 대한 내성이 유도된 컴퓨터로부터 신종 또는 변종 악성 코드에 대한 진단법을 획득할 수 있다. 즉, 피해를 당한 컴퓨터로부터 악성 코드가 무엇인지 알아내고, 악성 코드에 대한 내성이 유도된 컴퓨터로부터 악성 코드에 대한 면역 패턴을 획득함으로써, 신종 또는 변종 악성 코드에 대한 진단법을 획득할 수 있다.
도 7은 컴퓨터 각각에 수집된 판단 대상 코드 목록으로부터 피쳐들을 추출하는 일 예시도이다.
도 7을 참조하면, 컴퓨터 각각에서 침입 코드 여부를 판단하기 위한 판단 대상 코드 목록으로 컴퓨터에 저장된 실행 파일 데이터 또는 모든 데이터를 수집한다.
수집된 데이터 즉, 판단 대상 코드 목록에 구성된 판단 대상 코드로부터 피쳐들을 추출한다. 이때, 컴퓨터에 설정된 그룹 특성키를 이용하여 판단 대상 코드의 피쳐들을 추출할 수 있다.
판단 대상 코드의 침입 코드 여부를 판단하기 위해 면역 DB의 피쳐들과 유사성 연산을 수행한다.
즉, 판단 대상 코드 예를 들어, 제1 실행 파일로부터 추출된 피쳐들과 면역 DB의 피쳐들의 유사성 연산을 수행하고, 연산된 유사성 값과 컴퓨터에 설정된 임계값을 비교한다.
연산된 유사성 값 모두가 임계값보다 작으면 판단 대상 코드를 상주 코드로 판단한다. 즉, 연산된 유사성 값 중 어느 하나라도 임계값 이상인 경우에는 판단 대상 코드를 침입 코드로 판단한다.
판단 대상 코드로부터 피쳐들을 추출하고 그 추출된 피쳐들과 면역 DB의 피쳐들의 유사성 연산을 수행한 후 연산된 유사성 값과 임계값의 비교를 통한 침입 코드를 판단하는 과정이, 판단 대상 코드 목록에 포함된 모든 판단 대상 코드에 대해 수행된다.
이런 과정을 통해 판단 대상 코드의 침입 코드 여부를 판단할 수 있다.
도 8은 본 발명의 일 실시예에 따른 침입 코드 탐지 방법에 대한 동작 흐름도이다.
도 8을 참조하면, 침입 코드 탐지 방법은 컴퓨터 그룹별로 차별화된 설정 값을 컴퓨터 각각에 입력한다(S810).
이때, 입력되는 설정 값은 컴퓨터 그룹별로 상이한 그룹 특성키, 상주 코드 목록 및 면역 DB의 풀을 생성하기 위한 랜덤 풀 생성 인자가 될 수 있다.
이때, 그룹 특성키는 면역 DB를 생성하기 위한 상주 코드의 피쳐들을 추출하거나 침입 코드 여부를 판단하기 위한 데이터의 피쳐들을 추출할 때 사용될 수 있다. 즉, 상주 코드로부터 그룹 특성키 조건에 해당되는 피쳐들을 추출하고, 침입 코드 여부를 판단하기 위한 데이터로부터 그룹 특성키 조건에 해당되는 피쳐들을 추출한다.
이때, 그룹 특성키는 바이너리 파일 또는 원본 바이너리 실행 파일을 가공한 형태의 파일에서 일정 확률로 나타날 수 있는 패턴일 수 있다.
이때, 상주 코드 목록은 사용자가 컴퓨터에 설치되어 있는 프로그램 또는 실행 코드들 중 안전하다고 판단되는 코드 목록일 수 있다.
여기에서 알 수 있듯이, 프로그램 및 실행 파일은 사용자 컴퓨터에 따라 달라질 수 있기 때문에 상주 코드 목록이 다르게 설정될 수 있고, 이는 컴퓨터 각각의 특성이 될 수 있다.
이때, 랜덤 풀 생성 인자는 임계값 및 랜덤 풀 크기를 설정할 수 있는 인자 를 포함할 수 있다. 여기서, 임계값은 면역 DB를 생성하거나 생성된 면역 DB를 이용하여 침입 코드를 판단할 때 사용된다.
그룹별로 차별화된 설정 값이 입력되면 그 입력된 설정 값을 기초로 면역 DB를 생성한다(S820).
즉, 상주 코드 목록에 구성된 상주 코드 각각으로부터 그룹 특성키 조건에 해당하는 피쳐들을 추출하고, 그룹 특성키 및 랜덤 풀 생성 인자를 기초로 랜덤 풀 피쳐들을 생성한다.
이때, 랜덤 풀 피쳐들은 그룹 특성키의 길이 및 랜덤 풀 생성 인자에 포함된 랜덤 풀 크기를 기초로 생성될 수 있다.
상주 코드 각각의 피쳐들 및 랜덤 풀 피쳐들의 유사성을 연산하고, 랜덤 풀 피쳐들 중 연산된 유사성 값이 기 결정된 임계값보다 작은 피쳐들을 면역 DB로 생성한다.
생성된 면역 DB를 이용하여 데이터의 침입 코드 여부를 판단한다(S830).
즉, 수집된 데이터 예를 들어, 컴퓨터에 저장된 모든 실행 파일, 컴퓨터에 저장된 모든 데이터 및 실시간으로 입력되는 데이터 중 어느 하나에 대해 면역 DB를 이용하여 침입 코드 여부를 판단한다.
데이터의 침입 코드 여부를 판단하기 위해 데이터로부터 그룹 특성키의 조건에 해당하는 피쳐들을 추출하고, 그 추출된 데이터의 피쳐들과 면역 DB의 피쳐들의 유사성을 연산한 후 연산된 유사성 값과 임계값을 비교한다.
연산된 유사성 값이 임계값 이상인 경우에는 데이터를 침입 코드로 판단한 다.
연산된 유사성 값 모두가 임계값보다 작은 경우에는 데이터를 안전한 코드인 상주 코드로 판단한다.
도 9는 도 8에 도시한 S820에 대한 상세 동작 흐름도이다.
도 9를 참조하면, 면역 DB를 생성하는 단계는 입력된 그룹 특성키 및 상주 코드 목록을 이용하여 상주 코드의 피쳐들을 추출한다(S910).
이때, 상주 코드 목록에 구성된 상주 코드 각각은 그룹 특성키의 조건에 해당하는 피쳐들이 추출될 수 있다.
그룹 특성키의 길이 및 랜덤 풀 생성 인자에 포함된 랜덤 풀 크기를 기초로 랜덤 풀 피쳐들을 생성한다(S920).
랜덤 풀 피쳐들은 그룹 특성키의 길이에 해당하는 개수의 피쳐들 중 랜덤 풀 크기에 해당하는 개수만큼이 무작위로 생성된다.
면역 DB를 생성하기 위해 추출된 상주 코드의 피쳐들과 생성된 랜덤 풀 피쳐들의 유사성을 연산한다(S930).
유사성 연산은 피쳐들 각각에 대해 1:1로 이루어진다. 따라서, 상주 코드의 피쳐들이 N개이고, 랜덤 풀 피쳐들이 M개인 경우 유사성 연산은 NⅹM번 이루어진다.
유사성 연산 결과, 랜덤 풀 피쳐들 중 연산된 유사성 값이 기 결정된 임계값보다 작은 피쳐들로 면역 DB를 생성한다(S940).
이때, 임계값은 설정 값 입력 시 랜덤 풀 생성 인자에 포함된 임계값이 될 수 있다.
도 10은 도 8에 도시한 S830에 대한 상세 동작 흐름도이다.
도 10을 참조하면, 침입 코드를 판단하는 단계는 침입 코드를 판단하기 위한 데이터를 수집한다(S1010).
이때, 수집되는 데이터는 컴퓨터에 저장된 모든 실행 파일이 될 수 있고, 컴퓨터에 저장된 모든 데이터가 될 수 있으며 컴퓨터에 실시간으로 입력되는 데이터가 될 수 있다.
이때, 컴퓨터에 실시간으로 입력되는 데이터의 일 예로는 유무선 네트워크 공유를 통해 다운로드된 파일, HTTP/FTP 등을 통해 다운로드된 파일, 전자메일을 통해 다운로드된 파일, P2P를 통해 다운로드된 파일 및 저장 장치로부터 다운로드된 파일 등이 될 수 있다.
수집된 데이터 예를 들어, 실행 파일들 각각으로부터 그룹 특성키의 조건에 해당하는 피쳐들을 추출한다(S1020).
데이터로부터 추출된 피쳐들과 면역 DB의 피쳐들의 유사성을 연산한다(S1030).
즉, 데이터로부터 추출된 피쳐들 각각과 면역 DB의 피쳐들 각각에 대해 유사성을 연산한다.
면역 DB의 피쳐들에 대해 연산된 유사성 값이 기 결정된 임계값 이상인지 판단한다(S1040).
연산된 유사성 값과 임계값의 판단 결과, 연산된 유사성 값이 임계값 이상인 경우에는 데이터를 침입 코드로 판단한다(S1050).
반면, 연산된 유사성 값과 임계값의 판단 결과, 연산된 유사성 값이 임계값보다 작은 경우에는 데이터를 안전한 코드인 상주 코드로 판단한다.
본 발명에 따른 침입 코드 탐지 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
본 발명의 침입 코드 탐지 장치 및 그 방법은, 데이터의 침입 코드 여부를 판단할 수 있는 면역 데이터베이스를 차별화하여 생성할 수 있다.
또한, 본 발명은 차별화된 면역 데이터베이스를 통해 신종 또는 변종 악성 코드에 의한 획일적인 피해를 방지할 수 있다.
또한, 본 발명은 신종 또는 변종 악성 코드에 대한 내성이 유도된 시스템으로부터 신종 또는 변종 악성 코드에 대한 진단법을 획득할 수 있다.

Claims (22)

  1. 그룹별로 각각 차별화된 설정 값을 입력받는 설정 값 입력부;
    상기 설정 값을 기초로 면역 데이터베이스를 생성하는 면역 데이터베이스 생성부; 및
    상기 생성된 면역 데이터베이스를 기초로 데이터의 침입 코드 여부를 판단하는 침입 코드 판단부
    를 포함하는 것을 특징으로 하는 침입 코드 탐지 장치.
  2. 제1항에 있어서,
    상기 설정 값 입력부는
    그룹을 구분하기 위한 그룹 특성키, 안전한 코드인 상주 코드 목록 및 상기 면역 데이터베이스의 풀(pool)을 생성하기 위한 랜덤 풀 생성 인자를 설정 값으로 입력받는 것을 특징으로 하는 침입 코드 탐지 장치.
  3. 제2항에 있어서,
    상기 면역 데이터베이스 생성부는
    상기 그룹 특성키를 이용하여 상기 상주 코드의 피쳐들을 추출하는 피쳐 추출부;
    상기 그룹 특성키 및 상기 랜덤 풀 생성 인자를 기초로 랜덤 풀 피쳐들을 생 성하는 풀 피쳐 생성부;
    상기 추출된 상주 코드의 피쳐들 및 상기 생성된 랜덤 풀 피쳐들의 유사성을 연산하는 유사성 연산부; 및
    상기 랜덤 풀 피쳐들 중 연산된 유사성 값이 기 결정된 임계값 이하인 피쳐들을 상기 면역 데이터베이스로 생성하는 면역 데이터베이스 생성 관리부
    를 포함하는 것을 특징으로 하는 침입 코드 탐지 장치.
  4. 제3항에 있어서,
    상기 풀 피쳐 생성부는
    상기 그룹 특성키의 길이 및 상기 랜덤 풀 생성 인자에 포함된 랜덤 풀 크기를 기초로 상기 랜덤 풀 피쳐들을 생성하는 것을 특징으로 하는 침입 코드 탐지 장치.
  5. 제3항에 있어서,
    상기 임계값은
    상기 랜덤 풀 생성 인자에 설정된 값인 것을 특징으로 하는 침입 코드 탐지 장치.
  6. 제2항에 있어서,
    상기 침입 코드 판단부는
    상기 그룹 특성키를 이용하여 상기 데이터의 피쳐들을 추출하는 데이터 피쳐 추출부;
    상기 추출된 데이터의 피쳐들과 상기 면역 데이터베이스의 피쳐들의 유사성을 연산하는 데이터 유사성 연산부; 및
    상기 연산된 유사성 값이 기 결정된 임계값 이상이면 상기 데이터를 침입 코드로 판단하는 침입 코드 판단 관리부
    를 포함하는 것을 특징으로 하는 침입 코드 탐지 장치.
  7. 제6항에 있어서,
    상기 침입 코드 판단부는
    상기 침입 코드 여부를 판단하기 위한 데이터를 수집하는 데이터 수집부
    를 더 포함하고,
    상기 데이터 피쳐 추출부는 상기 수집된 데이터 각각의 피쳐들을 추출하는 것을 특징으로 하는 침입 코드 탐지 장치.
  8. 제1항에 있어서,
    상기 침입 코드 판단부는
    상기 생성된 면역 데이터베이스를 기초로 내부에 저장된 모든 실행 파일 데이터의 침입 코드 여부를 판단하는 것을 특징으로 하는 침입 코드 탐지 장치.
  9. 제1항에 있어서,
    상기 침입 코드 판단부는
    상기 생성된 면역 데이터베이스를 기초로 내부에 저장된 모든 데이터의 침입 코드 여부를 판단하는 것을 특징으로 하는 침입 코드 탐지 장치.
  10. 제1항에 있어서,
    상기 침입 코드 판단부는
    상기 생성된 면역 데이터베이스를 기초로 실시간으로 입력되는 데이터의 침입 코드 여부를 판단하는 것을 특징으로 하는 침입 코드 탐지 장치.
  11. 제2항에 있어서,
    상기 그룹은
    적어도 하나 이상의 컴퓨터로 이루어진 것을 특징으로 하는 침입 코드 탐지 장치.
  12. 그룹별로 각각 차별화된 설정 값을 입력받는 단계;
    상기 설정 값을 기초로 면역 데이터베이스를 생성하는 단계; 및
    상기 생성된 면역 데이터베이스를 기초로 데이터의 침입 코드 여부를 판단하는 단계
    를 포함하는 것을 특징으로 하는 침입 코드 탐지 방법.
  13. 제12항에 있어서,
    상기 설정 값을 입력받는 단계는
    그룹을 구분하기 위한 그룹 특성키, 안전한 코드인 상주 코드 목록 및 상기 면역 데이터베이스의 풀(pool)을 생성하기 위한 랜덤 풀 생성 인자를 설정 값으로 입력받는 것을 특징으로 하는 침입 코드 탐지 방법.
  14. 제13항에 있어서,
    상기 면역 데이터베이스를 생성하는 단계는
    상기 그룹 특성키를 이용하여 상기 상주 코드의 피쳐들을 추출하는 단계;
    상기 그룹 특성키 및 상기 랜덤 풀 생성 인자를 기초로 랜덤 풀 피쳐들을 생성하는 단계;
    상기 추출된 상주 코드의 피쳐들 및 상기 생성된 랜덤 풀 피쳐들의 유사성을 연산하는 단계; 및
    상기 랜덤 풀 피쳐들 중 연산된 유사성 값이 기 결정된 임계값 이하인 피쳐들을 상기 면역 데이터베이스로 생성하는 단계
    를 포함하는 것을 특징으로 하는 침입 코드 탐지 방법.
  15. 제14항에 있어서,
    상기 랜덤 풀 피쳐들을 생성하는 단계는
    상기 그룹 특성키의 길이 및 상기 랜덤 풀 생성 인자에 포함된 랜덤 풀 크기를 기초로 상기 랜덤 풀 피쳐들을 생성하는 것을 특징으로 하는 침입 코드 탐지 방법.
  16. 제14항에 있어서,
    상기 임계값은
    상기 랜덤 풀 생성 인자에 설정된 값인 것을 특징으로 하는 침입 코드 탐지 방법.
  17. 제13항에 있어서,
    상기 데이터의 침입 코드 여부를 판단하는 단계는
    상기 그룹 특성키를 이용하여 상기 데이터의 피쳐들을 추출하는 단계;
    상기 추출된 데이터의 피쳐들과 상기 면역 데이터베이스의 피쳐들의 유사성을 연산하는 단계; 및
    상기 연산된 유사성 값이 기 결정된 임계값 이상이면 상기 데이터를 침입 코드로 판단하는 단계
    를 포함하는 것을 특징으로 하는 침입 코드 탐지 방법.
  18. 제17항에 있어서,
    상기 데이터의 침입 코드 여부를 판단하는 단계는
    상기 침입 코드 여부를 판단하기 위한 데이터를 수집하는 단계
    를 더 포함하고,
    상기 데이터의 피쳐들을 추출하는 단계는 상기 수집된 데이터 각각의 피쳐들을 추출하는 것을 특징으로 하는 침입 코드 탐지 방법.
  19. 제12항에 있어서,
    상기 데이터의 침입 코드 여부를 판단하는 단계는
    상기 생성된 면역 데이터베이스를 기초로 내부에 저장된 모든 실행 파일 데이터의 침입 코드 여부를 판단하는 것을 특징으로 하는 침입 코드 탐지 방법.
  20. 제12항에 있어서,
    상기 데이터의 침입 코드 여부를 판단하는 단계는
    상기 생성된 면역 데이터베이스를 기초로 내부에 저장된 모든 데이터의 침입 코드 여부를 판단하는 것을 특징으로 하는 침입 코드 탐지 방법.
  21. 제12항에 있어서,
    상기 데이터의 침입 코드 여부를 판단하는 단계는
    상기 생성된 면역 데이터베이스를 기초로 실시간으로 입력되는 데이터의 침입 코드 여부를 판단하는 것을 특징으로 하는 침입 코드 탐지 방법.
  22. 제12항 내지 제21항 중 어느 하나의 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
KR1020070010300A 2007-01-31 2007-01-31 침입 코드 탐지 장치 및 그 방법 KR101303643B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020070010300A KR101303643B1 (ko) 2007-01-31 2007-01-31 침입 코드 탐지 장치 및 그 방법
EP07113628.7A EP1953664A3 (en) 2007-01-31 2007-08-01 Apparatus for detecting intrusion code and method using the same
CN2007101540789A CN101236584B (zh) 2007-01-31 2007-09-13 检测入侵代码的设备及其方法
US11/874,348 US8205256B2 (en) 2007-01-31 2007-10-18 Apparatus for detecting intrusion code and method using the same
JP2007293641A JP4699438B2 (ja) 2007-01-31 2007-11-12 侵入コード探知装置およびその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070010300A KR101303643B1 (ko) 2007-01-31 2007-01-31 침입 코드 탐지 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20080071862A true KR20080071862A (ko) 2008-08-05
KR101303643B1 KR101303643B1 (ko) 2013-09-11

Family

ID=39325666

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070010300A KR101303643B1 (ko) 2007-01-31 2007-01-31 침입 코드 탐지 장치 및 그 방법

Country Status (5)

Country Link
US (1) US8205256B2 (ko)
EP (1) EP1953664A3 (ko)
JP (1) JP4699438B2 (ko)
KR (1) KR101303643B1 (ko)
CN (1) CN101236584B (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2008214131B2 (en) 2007-02-02 2012-06-14 Websense, Inc. System and method for adding context to prevent data leakage over a computer network
US9015842B2 (en) 2008-03-19 2015-04-21 Websense, Inc. Method and system for protection against information stealing software
US9130986B2 (en) 2008-03-19 2015-09-08 Websense, Inc. Method and system for protection against information stealing software
IL197477A0 (en) * 2009-03-08 2009-12-24 Univ Ben Gurion System and method for detecting new malicious executables, based on discovering and monitoring of characteristic system call sequences
CN102054149B (zh) * 2009-11-06 2013-02-13 中国科学院研究生院 一种恶意代码行为特征提取方法
US9110769B2 (en) * 2010-04-01 2015-08-18 Microsoft Technology Licensing, Llc Code-clone detection and analysis
TWI419003B (zh) * 2010-11-12 2013-12-11 Univ Nat Chiao Tung 自動化分析與分類惡意程式之方法及系統
US9323923B2 (en) * 2012-06-19 2016-04-26 Deja Vu Security, Llc Code repository intrusion detection
TWI461953B (zh) 2012-07-12 2014-11-21 Ind Tech Res Inst 運算環境安全方法和電子運算系統
US10438204B2 (en) * 2014-05-19 2019-10-08 American Express Travel Related Services Copmany, Inc. Authentication via biometric passphrase
CN104331436B (zh) * 2014-10-23 2017-06-06 西安交通大学 基于家族基因码的恶意代码快速归类方法
US10459704B2 (en) * 2015-02-10 2019-10-29 The Trustees Of Columbia University In The City Of New York Code relatives detection
CN104866765B (zh) * 2015-06-03 2017-11-10 康绯 基于行为特征相似性的恶意代码同源性分析方法
CN107172062B (zh) * 2017-06-07 2018-08-03 郑州轻工业学院 一种基于生物免疫t细胞受体机制的入侵检测方法
CN110046501B (zh) * 2019-03-09 2020-09-29 中国人民解放军战略支援部队信息工程大学 一种受生物基因启发的恶意代码检测方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5448668A (en) 1993-07-08 1995-09-05 Perelson; Alan S. Method of detecting changes to a collection of digital signals
JP3597686B2 (ja) 1997-12-02 2004-12-08 富士通株式会社 ウィルスチェックネットワークシステム及びウィルスチェック装置
US6721721B1 (en) * 2000-06-15 2004-04-13 International Business Machines Corporation Virus checking and reporting for computer database search results
US20040064737A1 (en) * 2000-06-19 2004-04-01 Milliken Walter Clark Hash-based systems and methods for detecting and preventing transmission of polymorphic network worms and viruses
US7636945B2 (en) * 2000-07-14 2009-12-22 Computer Associates Think, Inc. Detection of polymorphic script language viruses by data driven lexical analysis
US7093239B1 (en) * 2000-07-14 2006-08-15 Internet Security Systems, Inc. Computer immune system and method for detecting unwanted code in a computer system
US7069583B2 (en) * 2000-07-14 2006-06-27 Computer Associates Think, Inc. Detection of polymorphic virus code using dataflow analysis
US20020194489A1 (en) * 2001-06-18 2002-12-19 Gal Almogy System and method of virus containment in computer networks
US20040111632A1 (en) * 2002-05-06 2004-06-10 Avner Halperin System and method of virus containment in computer networks
KR20030087195A (ko) 2002-05-07 2003-11-14 주식회사 세니온 휴대정보단말기와, 이 휴대정보단말기의 바이러스 검출 및치료 서비스 방법
US7409717B1 (en) * 2002-05-23 2008-08-05 Symantec Corporation Metamorphic computer virus detection
KR100509650B1 (ko) 2003-03-14 2005-08-23 주식회사 안철수연구소 코드 삽입 기법을 이용한 악성 스크립트 감지 방법
KR20040090373A (ko) 2003-04-15 2004-10-22 주식회사 안철수연구소 무선 단말기에서 실시간 바이러스 감시/진단/치료 방법
JP2004362491A (ja) 2003-06-09 2004-12-24 Nec Saitama Ltd ウィルス駆除関連データの更新履歴情報管理システム及び更新履歴情報管理方法
JP4662944B2 (ja) * 2003-11-12 2011-03-30 ザ トラスティーズ オブ コロンビア ユニヴァーシティ イン ザ シティ オブ ニューヨーク 正常データのnグラム分布を用いてペイロード異常を検出するための装置、方法、及び媒体
US7343624B1 (en) * 2004-07-13 2008-03-11 Sonicwall, Inc. Managing infectious messages as identified by an attachment
US8037535B2 (en) * 2004-08-13 2011-10-11 Georgetown University System and method for detecting malicious executable code
US20060101277A1 (en) * 2004-11-10 2006-05-11 Meenan Patrick A Detecting and remedying unauthorized computer programs
US20060272019A1 (en) * 2005-05-27 2006-11-30 Addepalli Srinivasa R Intelligent database selection for intrusion detection & prevention systems
KR20080066653A (ko) * 2005-06-29 2008-07-16 트러스티스 오브 보스턴 유니버시티 완전한 네트워크 변칙 진단을 위한 방법 및 장치와 트래픽피쳐 분포를 사용하여 네트워크 변칙들을 검출하고분류하기 위한 방법
US7739740B1 (en) * 2005-09-22 2010-06-15 Symantec Corporation Detecting polymorphic threats
US20070094734A1 (en) * 2005-09-29 2007-04-26 Mangione-Smith William H Malware mutation detector
CN100444075C (zh) * 2005-11-08 2008-12-17 北京网秦天下科技有限公司 用于移动/智能终端的病毒特征提取和检测***及方法
US8413245B2 (en) * 2005-12-16 2013-04-02 Cisco Technology, Inc. Methods and apparatus providing computer and network security for polymorphic attacks
US8381299B2 (en) * 2006-02-28 2013-02-19 The Trustees Of Columbia University In The City Of New York Systems, methods, and media for outputting a dataset based upon anomaly detection

Also Published As

Publication number Publication date
JP4699438B2 (ja) 2011-06-08
EP1953664A3 (en) 2016-05-18
KR101303643B1 (ko) 2013-09-11
CN101236584B (zh) 2010-10-13
CN101236584A (zh) 2008-08-06
EP1953664A2 (en) 2008-08-06
US20080184369A1 (en) 2008-07-31
US8205256B2 (en) 2012-06-19
JP2008192127A (ja) 2008-08-21

Similar Documents

Publication Publication Date Title
KR101303643B1 (ko) 침입 코드 탐지 장치 및 그 방법
JP6106340B2 (ja) ログ分析装置、攻撃検知装置、攻撃検知方法およびプログラム
RU2606564C1 (ru) Система и способ блокировки выполнения сценариев
JP6348656B2 (ja) マルウェア感染端末の検出装置、マルウェア感染端末の検出システム、マルウェア感染端末の検出方法およびマルウェア感染端末の検出プログラム
CN111382434B (zh) 用于检测恶意文件的***和方法
JP6697123B2 (ja) プロファイル生成装置、攻撃検知装置、プロファイル生成方法、および、プロファイル生成プログラム
KR101851233B1 (ko) 파일 내 포함된 악성 위협 탐지 장치 및 방법, 그 기록매체
US20160255107A1 (en) Classification of Malware Generated Domain Names
RU2624552C2 (ru) Способ обнаружения вредоносных файлов, исполняемых с помощью стековой виртуальной машины
JP2016152594A (ja) ネットワーク攻撃監視装置、ネットワーク攻撃監視方法、及びプログラム
RU2587429C2 (ru) Система и способ оценки надежности правила категоризации
US20180293380A1 (en) Virus program detection method, terminal, and computer readable storage medium
JP2017142744A (ja) 情報処理装置、ウィルス検出方法及びプログラム
WO2018066221A1 (ja) 分類装置、分類方法及び分類プログラム
Naik et al. Augmented YARA rules fused with fuzzy hashing in ransomware triaging
Alkhateeb Dynamic malware detection using API similarity
CN106845217B (zh) 一种安卓应用恶意行为的检测方法
KR102018443B1 (ko) 네트워크 침입 탐지 시스템 및 방법, 이를 수행하기 위한 기록매체
KR101907681B1 (ko) 악성코드 검출을 위한 자동 규칙 생성방법, 장치, 시스템 및 이를 기록한 컴퓨터로 판독가능한 기록매체
RU2615317C1 (ru) Способ обнаружения кодов вредоносных компьютерных программ в трафике сети передачи данных, в том числе подвергнутых комбинациям полиморфных преобразований
CN108768954B (zh) 一种dga恶意软件识别方法
CN113722705B (zh) 一种恶意程序清除方法及装置
KR101712462B1 (ko) Ip 위험군 탐지 시스템
JP6602799B2 (ja) セキュリティ監視サーバ、セキュリティ監視方法、プログラム
CN110868382A (zh) 一种基于决策树的网络威胁评估方法、装置及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee