KR101047118B1 - 익스플로잇 코드를 탐지하는 네트워크 보안시스템 및 방법 - Google Patents

익스플로잇 코드를 탐지하는 네트워크 보안시스템 및 방법 Download PDF

Info

Publication number
KR101047118B1
KR101047118B1 KR1020080131714A KR20080131714A KR101047118B1 KR 101047118 B1 KR101047118 B1 KR 101047118B1 KR 1020080131714 A KR1020080131714 A KR 1020080131714A KR 20080131714 A KR20080131714 A KR 20080131714A KR 101047118 B1 KR101047118 B1 KR 101047118B1
Authority
KR
South Korea
Prior art keywords
code
exploit code
exploit
packet
unit
Prior art date
Application number
KR1020080131714A
Other languages
English (en)
Other versions
KR20100073124A (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 KR1020080131714A priority Critical patent/KR101047118B1/ko
Publication of KR20100073124A publication Critical patent/KR20100073124A/ko
Application granted granted Critical
Publication of KR101047118B1 publication Critical patent/KR101047118B1/ko

Links

Images

Classifications

    • 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
    • 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/563Static detection by source code analysis

Abstract

본 발명은 익스플로잇 코드를 탐지하는 네트워크 보안시스템 및 방법에 관한 것이다. 본 발명에 따른 익스플로잇 코드를 탐지하는 네트워크 보안시스템 및 방법은, 컴퓨터에 유입되는 패킷을 구조적으로 분석하여, 익스플로잇 코드가 포함하는 구조적 특징을 이용하여 익스플로잇 코드 포함 여부를 판단한다. 또한, 효율적인 익스플로잇 코드의 탐지를 위해 익스플로잇 코드의 구조 분석 순서를 결정하고, 그 순서에 따라 익스플로잇 코드 포함 여부를 판단한다. 따라서, 알려지지 않은 익스플로잇 코드를 포함한 패킷의 경우에도, 패킷의 구조적 분석을 통해 익스플로잇 코드 포함 여부를 판단할 수 있다.
네트워크 보안, 익스플로잇 코드, 악성코드, 바이러스, 시스템 취약점 공격

Description

익스플로잇 코드를 탐지하는 네트워크 보안시스템 및 방법 {System and Method for detecting exploit code}
본 발명은 네트워크 보안기술에 관한 것으로, 공격 호스트가 공격 대상 호스트의 취약점을 악용하기 위해 전송하는 익스플로잇 코드를 종류에 따라 분류하고, 탐지할 수 있는 네트워크 보안 시스템 및 방법에 관한 것이다.
본 발명은 지식경제부 및 정보통신연구진흥원의 IT 성장동력기술개발 사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2006-S-042-03, 과제명: Network 위협의 Zero-Day Attack 대응을 위한 실시간 공격 Signature 생성 및 관리 기술개발].
공격 호스트는 공격 대상 호스트에 대한 제어 권한을 얻기 위해 공격 대상 호스트의 취약점을 악용하는 익스플로잇(exploit) 코드를 전송한다. 이에 대응하여, 네트워크 보안시스템은 익스플로잇 코드를 탐지하기 위해 이미 알려지고 분석된 익스플로잇 코드의 경우, 익스플로잇 코드를 탐지하기 위한 시그니처(signature)를 이용하여 탐지한다.
알려지지 않은 익스플로잇 코드의 경우는 시그니처가 존재하지 않기 때문에 임의의 네트워크 패킷으로부터 익스플로잇 코드의 특징을 분석하는 작업을 수행하는 탐지 방법이 이용된다. 다만, 익스플로잇 코드의 특징은 매우 다양하기 때문에, 모든 익스플로잇 코드를 검출할 수 없는 경우가 발생할 수 있다.
본 발명의 목적은 네트워크로 전달되는 패킷을 익스플로잇 코드의 구조적 특성을 기반으로 분석하여, 해당 패킷의 익스플로잇 코드 포함 여부를 판단함으로써, 알려지지 않은 익스플로잇 코드의 판단이 가능한 익스플로잇 코드를 탐지하는 네트워크 보안시스템 및 방법을 제공하는 것이다.
상기 목적은, 연결된 컴퓨터 장치를 익스플로잇 코드로부터 보호하기 위해, 상기 컴퓨터 장치에 유입되는 네트워크 패킷을 수집하는 패킷 수집부, 상기 패킷 수집부에서 수집된 상기 패킷에 상기 컴퓨터의 관리프로그램을 임의로 실행하는 문자열을 포함하는지 검사하는 패킷 검색부 및 상기 패킷 검색부의 결과를 종합하여 상기 패킷의 익스플로잇 코드 포함 여부를 최종적으로 판단하는 익스플로잇 코드 판단부를 포함하는 익스플로잇 코드를 탐지하는 네트워크 보안시스템에 의해 달성된다.
또한, 네트워크로부터 컴퓨터로 유입되는 패킷을 수집하는 단계, 상기 패킷에 상기 컴퓨터의 보안상 취약점을 공격하는 것으로 의심되는 코드를 추출하는 유사 공격코드 추출단계, 상기 유사 공격코드 추출단계의 결과로부터 상기 패킷의 익스플로잇 코드 포함 여부를 최종적으로 판단하는 최종 판단 단계를 포함하는 익스플로잇 코드를 탐지하는 네트워크 보안 방법에 의해 달성된다.
본 발명에 따르면, 익스플로잇 코드의 구조적 특성을 이용하여 시스템에 유입되는 네트워크 패킷에 익스플로잇 코드가 포함되어 있는지 판단할 수 있다. 따라서, 시그니처가 없는 알려지지 않은 익스플로잇 코드를 포함한 패킷의 경우에도 익스플로잇 코드의 일반적인 구조적 특징을 이용하여 검출할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명한다.
도 1은 일반적인 익스플로잇 코드의 구조도이다.
익스플로잇 코드(100)는 NOP(No Operation)부(101), Body부(103) 및 RA(Return Address)부(103)를 포함한다.
NOP(101)부는 CPU에서 실행되더라도 아무런 결과 없이 다음 명령으로 실행순서를 변경하는 명령어를 포함한다. 예를 들어, 인텔 CPU에서는 0x90과 같은 값이다. 익스플로잇 코드가 NOP부(101)를 포함하는 이유는, 시스템의 공격자가 공격대상 시스템에서 수행되는 익스플로잇 코드의 Body부(103)의 정확한 주소를 알기 어렵기 때문이다. 그러므로, 익스플로잇 코드의 Body부(103)로 실행순서를 변경하는 코드를 다량으로 포함하여, 익스플로잇 코드의 Body부(103)가 수행될 수 있도록 하기 위함이다. NOP부(101)는 명령 실행 순서를 Body부(103)로 변경하기 위해 다양한 패턴들로 구성 될 수 있다.
Body부(103)는 실제 악의적인 행위를 수행하는 실행파일 및 문자열을 포함한다. 예를 들어, 시스템을 공격하는 실행파일 및 폴리몰픽 파일이거나, /bin/sh와 같이 시스템의 관리프로그램을 악의적으로 실행시키는 문자열이 이에 해당한다.
RA부(105)는 공격 대상 컴퓨터의 명령어 실행 순서를 NOP부(101) 또는 Body부(103)로 변경하도록 만드는 반복되는 주소값을 포함한다. 예를 들어, Body부의 시작주소가 0x12345678일 경우, RA부(103)는 0x12345678의 값이 반복된다.
RA부(105)가 NOP부(101) 및 Body부(103)로 실행순서를 변경하는 주소값을 다량으로 포함하는 이유는 다음과 같다. 공격 대상 컴퓨터의 취약점이 특정 명령을 실행하는 함수에 있는 경우, 익스플로잇 코드는 대상 함수를 실행시킨다. 대상 컴퓨터는 취약점이 있는 특정 함수를 실행하면서, 함수종료 후, 복귀할 주소를 시스템 스택에 저장하게 된다. 익스플로잇 코드는 취약점이 있는 특정 함수 다음에 함수 형태로 다음 명령을 실행하며, 시스템 스택에 저장되어 있는 취약점이 있는 특정 함수의 복귀 주소를 RA부(105)에 반복된 주소값으로 변경시킨다. 공격자는 시스템 스택 상의 리턴 주소 부분을 정확히 알 수 없기 때문에 다량의 반복된 주소를 사용한다. 따라서, 취약점이 있는 함수 종료 후에 RA부(105)에 저장된 익스플로잇 코드의 NOP부(101) 또는 Body부(103)가 실행되게 된다. RA부(105)는 시스템 스택의 영역부분 내이거나, 운영체제가 사용하는 라이브러리 영역 부분이므로, 특정범위내의 주소값을 갖는다.
도 2는 도 1에서 상술한 익스플로잇 코드의 일실시예인 실제 익스플로잇 코드의 각 영역별 데이터 구조도이다.
도 1에서 살펴본 바와 같이 NOP부(101), Body부(103) 및 RA부(105)부를 포함하며, 실제 익스플로잇 코드를 구체적으로 살펴보면 다음과 같다.
NOP부(101)의 이진코드(201)를 살펴보면, 16진수 90이 반복되어 포함되어 있다. 이는 아무런 결과 없이 프로그램의 실행 순서만 변경하는 효과가 있으며, Body부(103)를 수행하도록 유도하게 된다.
RA부(103)의 이진코드(202)를 살펴보면, 16진수 0208 0a00이 다량 반복되어 포함되어 있다. 이는 특정 주소로 명령어 수행순서를 변경하는 효과가 있으며, NOP부(101) 또는 Body부(103)을 수행하도록 유도하게 된다.
형태 취약점 목적
Body부 버퍼변수 관리자 권한의 터미널 생성
중요 프로그램의 임의 실행
컴퓨터 사용자의 정보 획득
Body부+RA부 명령 수행 스택 상에서 Body부의 주소를 알 수 있는 경우 Body부에 의한 악의적인 작업 수행
NOP부+Body부+RA부 명령 수행 스택 상에서 Body부의 주소를 예측할 수 있는 경우 Body부에 의한 악의적인 작업 수행
표 1은 공격 대상 컴퓨터의 취약점 및 공격 목적에 따른 익스플로잇 코드의 형태를 구별한 표이다.
첫째, Body부(103)만 포함하는 익스플로잇 코드는, 취약한 버퍼변수가 실행함수 exec()의 인자로 사용되거나, printf()함수의 포맷 문자열로 사용되어, 직접 Body부(101)가 실행될 수 있는 코드이다. 이 경우에는 명령어 실행 순서를 변경하기 위한 NOP부(101)와 RA부(105)가 필요 없다.
둘째, Body부(103)와 RA부(105)만 포함하는 익스플로잇 코드는, 익스플로잇 코드가 대상 컴퓨터에서 실행될 때, Body부(103)가 특정 주소에서 실행되는 것을 알 수 있는 경우, RA부(105)를 이용하여 명령어 실행 순서를 Body부(101)로 변경하는 코드이다.
셋째, NOP부(101), Body부(103) 및 RA부(105)를 포함하는 익스플로잇 코드는, 익스플로잇 코드가 대상 컴퓨터에서 실행될 때, Body부(103)가 특정 주소의 범위에서 실행되는 것을 알 수 있는 경우, RA부(105)를 이용하여 명령어 실행 순서를 NOP부(101)로 변경하고, NOP부(101)는 명령 실행 순서만 다음으로 변경하는 명령어를 이용하여 특정 주소 범위 내에 있는 Body부(103)를 실행할 수 있는 코드이다.
표 1과 같이 익스플로잇 코드는 다양한 형태로 구성할 수 있기 때문에, NOP부(101) 또는 RA부(105)만 탐지하는 것으로는 모든 익스플로잇 코드를 탐지할 수는 없다. 다만, 모든 익스플로잇 코드는 최소한 Body부(103)를 포함하므로 body부(103)를 탐지하는 방법은 기본적으로 포함하고 있어야 한다. 그러나, Body부(103)의 탐색만으로는 악성 유무에 대한 높은 신뢰도를 기대하기는 어렵다.
도 3은 후술할 익스플로잇 코드를 탐지하는 네트워크 보안시스템의 익스플로잇 코드 판단을 위해 사용될 익스플로잇 코드의 구조별 악성 여부 및 탐지방법을 분류한 분류도이다.
전술한 NOP부(101)는 명령 실행 순서를 변경하기 위해 공격자가 삽입한 코드이다. NOP부(101)의 코드는 명령 실행 순서를 변경하기 위해 다양한 패턴으로 구성된 명령어 집합이며, 이 집합은 다량으로 반복되는 특성을 가지고 있다. 또한, NOP부(101)를 포함한 익스플로잇 코드는 Body부(103)를 필수적으로 실행시키기 위해 공격자가 의도적으로 삽입한 경우이므로, 악성 익스플로잇 코드일 가능성이 높다. 따라서, Nop부(101)의 반복된 패턴이 탐지되는 경우, 악성 익스플로잇 코드인 NMC(NOP-type Malicious Code)(320)로 분류한다.
전술한 RA부(105)는 명령 실행 순서를 NOP부(101)나 Body부(103)로 변경하기 위해 공격자가 삽입한 코드이다. 공격자는 취약한 함수의 리턴값을 시스템 스택상의 특정 주소나 운영체제의 라이브러리 영역의 주소값으로 변경하여, 악의적 시스템 접근을 시도한다. 따라서, RA부(105)는 일정 영역의 주소값이 반복적으로 나타나는 특성이 있다. 또한, RA부(105)를 포함한 익스플로잇 코드는 Body부(103)를 필수적으로 실행시키기 위해 공격자가 의도적으로 삽입한 경우이므로, 악성 익스플로잇 코드일 가능성이 높다. 그러므로, 다량의 시스템 스택상의 주소나, 운영체제의 라이브러리 영역의 주소값이 반복하여 나타나면, 악성 익스플로잇 코드인 RMC(Return-address-type Malicious Code)(330)로 분류한다.
전술한 Body부(103)는 악의적인 문자열이나 실행파일 형태로 익스플로잇 코드를 포함하고 있다.
Body부(103)가 문자열을 포함하는 경우, 문자열이 시스템의 취약점을 이용하여 권한 없이 시스템 관리프로그램을 실행시키거나, 터미널을 연결하는 등 대상 컴퓨터를 공격할 수 있는 문자열 여부를 판별하여 악성 여부 및 익스플로잇 코드 여부를 판단할 수 있다. 따라서, Body부(103)에 악의적인 문자열을 포함하는 경우, 악성 익스플로잇 코드인 SMC(String-type Malicious Code)(340)로 분류한다.
Body부(103)가 실행파일을 포함하는 경우, Body부(103)가 실행 가능한 프로그램을 포함하고 있다는 이유만으로 악성 익스플로잇 코드여부를 판단할 수 없다. 파일전송 서비스인 FTP(File Transfer Protocol)를 통해 정상적인 실행파일이 네트워크를 통해 전달될 수 있기 때문이다.
따라서, Body부(103)의 악성 익스플로잇 코드 포함 여부는 일반적인 악성코드 탐지 방법을 더 포함해서 분류해야 한다. 또한, Body부(103)에 포함된 실행파일이 폴리몰픽 타입의 실행파일의 경우에는 일반적인 폴리몰픽 타입의 실행파일 탐지 방법을 더 포함해서 분류해야 한다.
도 4는 본 발명의 일실시예인 익스플로잇 코드를 탐지하는 네트워크 보안시스템의 구성도이다.
익스플로잇 코드탐지 장치(400)은 네트워크 패킷 수집부(410), 익스플로잇 코드 NOP 검색부(420), 익스플로잇 코드 Body 검색부(430), 익스플로잇 코드 RA 검색부(440) 및 익스플로잇 코드 판단부(450)를 포함한다.
네트워크 패킷 수집부(410)는 외부로부터 시스템으로 유입되는 네트워크 패킷을 모두 모아 익스플로잇 코드의 각 부분별 검색부로 보낸다.
익스플로잇 코드 NOP 검색부(420)는 네트워크 패킷 수집부(410)로부터 받은 패킷에 익스플로잇 코드를 포함하고 있는지 검색한다. 익스플로잇 코드 NOP 검색부(420)는 패킷의 전단부에 위치하고 있는 익스플로잇 코드의 NOP부가 존재하는지 검색한다. 판단방법은 전술한 익스플로잇 코드 전단부에 위치한 NOP부의 특성을 이용하며, 무의미하게 명령 실행 순서를 변경하는 코드가 다량으로 포함되었는지 여부를 검색한다. 무의미하게 삽입된 실행 명령의 일 예로, 인텔 CPU의 경우 16진수 09 명령어가 이에 해당한다.
익스플로잇 코드 Body 검색부(430)는 네트워크 패킷 수집부(410)로부터 받은 패킷에 익스플로잇 코드를 포함하고 있는지 검색한다. 익스플로잇 코드 Body 검색부(430)는 패킷에 컴퓨터의 관리프로그램을 실행시키거나, 관리자 권한의 터미널을 연결하는 문자열이나 실행프로그램의 포함 여부를 검사한다. 실행프로그램의 경우, 파일전송 서비스(FTP)에 의한 정상적인 네트워크 패킷일 가능성도 있으므로, 별도의 공지의 악성코드 탐지 방법을 더 포함하여 검사한다. 또한, 실행파일이 폴리몰픽 타입일 경우, 공지의 폴리몰픽 악성코드 탐지 방법을 더 포함하여 검사한다.
익스플로잇 코드 RA 검색부(440)는 네트워크 패킷 수집부(410)로부터 받은 패팃에 익스플로잇 코드를 포함하고 있는지 검색한다. 익스플로잇 코드 RA 검색부(440)는 패킷의 후단부에 위치하고 있는 익스플로잇 코드의 RA부가 존재하는지 검색한다. 판단방법은 전술한 익스플로잇 코드 후단부에 위치한 RA부의 특성을 이용하며, 시스템 스택의 영역 내의 주소값이나 운영체제의 라이브러리 영역의 주소값을 다량으로 포함하고 있는지 여부를 검색한다.
익스플로잇 코드 판단부(450)는 각 익스플로잇 코드 검색부(420, 430, 440)의 결과를 종합하여 시스템에 유입된 네트워크 패킷의 익스플로잇 코드 여부를 최종적으로 판단한다. 판단방법은 전술한 도 3의 익스플로잇 코드의 구조별 악성 여부 및 탐지방법을 기준으로 판단한다. 도 3의 탐지방법을 약술하면, 첫째, 네트워크 패킷이 NOP부, RA부를 포함하고 있는지 여부를 검사한다. 둘째, 네트워크 패킷에 악의적인 문자열의 포함 여부를 검사한다. 셋째, 네트워크 패킷에 실행파일이 포함되어 있는 경우에는 공지의 악성코드 탐지방법을 사용하여 익스플로잇 코드 여부를 검사한다. 또한, 실행파일이 폴리몰픽 타입인 경우에는 공지의 폴리몰픽 악성코드 탐지방법을 사용하여 익스플로잇 코드여부를 검사한다.
도 5는 본 발명의 또 다른 실시예인 익스플로잇 코드를 탐지하는 네트워크 보안 방법의 흐름도이다.
네트워크 패킷 수집부(410)에서 수집한 컴퓨터로 유입되는 네트워크 패킷을 모두 수집하면(S505), 해당 패킷이 익스플로잇 코드를 포함하고 있는지를 다음 순서에 따라 검사한다. 먼저, 해당 패킷의 전단부에 의미 없이 반복되는 NOP 코드가 포함되어 있는지 검사한다(S510). 해당 패킷이 NOP 코드를 포함하고 있으면, 해당 패킷을 익스플로잇 코드로 판단한다(S580).
NOP 코드가 포함되어 있지 않다면, 해당 패킷의 후단부에 시스템의 스택영역이나 운영체제가 사용하는 라이브러리의 영역의 주소가 반복되는 RA 코드가 포함되어있는지 여부를 검사한다(S520). 해당 패킷이 RA 코드를 포함하고 있으면, 해당 패킷을 익스플로잇 코드로 판단한다(S580).
RA 코드가 포함되어 있지 않다면, 해당 패킷에 실행파일이 포함되어 있지 않고(S530), 시스템의 관리프로그램을 실행시키거나 관리자 권한의 터미널을 연결하는 등의 악의적인 문자열을 포함하고 있는지 검사한다(S540). 해당 패킷이 악의적인 문자열을 포함하고 있으면, 해당 패킷을 익스플로잇 코드로 판단한다(S580).
해당 패킷에 실행 파일이 포함되어 있는 경우, 실행 파일이 폴리몰픽 타입의 실행 파일인지 판단한다(S550). 폴리몰픽 타입의 실행파일 판단은 공지의 폴리몰픽 악성코드 검출방법을 이용한다. 해당 패킷이 폴리몰픽 타입의 실행파일을 포함하고 있으면, 해당 패킷을 익스플로잇 코드로 판단한다(S580).
해당 패킷에 포함된 실행파일이 일반 실행파일인 경우, 공지의 악성코드 검출방식을 이용하여 악성코드 포함여부를 검사한다(S570). 해당 패킷이 악성코드를 포함하고 있으면, 해당 패킷을 익스플로잇 코드로 판단한다(S580).
도 6은 도 5에서 개시된 일 실시예에서 각 익스플로잇 코드 판단부(S505, S510, S520, S540, S550 및 S570)에서 익스플로잇 코드를 포함하고 있다고 판단되면, 각 항목별로 가산점을 부여하고(S610 내지 S650), 가산점을 합산하여(S660), 컴퓨터를 보호하는 목적에 맞게 설정된 임계값과 비교하는 단계(S670)를 더 포함하는 본 발명의 또 다른 실시예인 익스플로잇 코드를 탐지하는 네트워크 보안 방법의 흐름도이다.
각 항목별 가산점 및 익스플로잇 코드 여부를 판단하는 임계점은 확정된 값이 아니며, 시스템의 보호 목적이나, 익스플로잇 코드의 검출 목적에 따라 필요에 따라 조정되어 질 수 있다.
이상 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안 될 것이다.
도 1은 일반적인 익스플로잇 코드의 구조도,
도 2는 도 1에서 상술한 익스플로잇 코드의 일실시예인 실제 익스플로잇 코드의 각 영역별 데이터 구조도,
도 3은 후술할 익스플로잇 코드를 탐지하는 네트워크 보안시스템의 익스플로잇 코드 판단을 위해 사용될 익스플로잇 코드의 구조별 악성 여부 및 탐지방법을 분류한 분류도,
도 4는 본 발명의 일실시예인 익스플로잇 코드를 탐지하는 네트워크 보안시스템의 구성도,
도 5는 본 발명의 또 다른 실시예인 익스플로잇 코드를 탐지하는 네트워크 보안 방법의 흐름도, 그리고,
도 6은 본 발명의 또 다른 실시예인 각 항목별 가산점을 이용한 익스플로잇 코드를 탐지하는 네트워크 보안 방법의 흐름도이다

Claims (9)

  1. 시스템으로 유입되는 패킷에 상기 시스템의 보안상 취약점을 공격하는 문자열이 포함되어 있는지 여부, 상기 패킷에 포함된 실행코드가 상기 시스템의 프로그램 실행순서만 진행하게 하는 복수의 제 1 코드로 시작되는지 여부, 및 상기 실행코드가 상기 시스템의 실행순서를 상기 제 1 코드 또는 상기 시스템의 운영체제가 관리하는 영역으로 변경하는 복수의 제 2 코드로 종료하는지 여부를 검사하는 익스플로잇 코드 검색부; 및
    상기 익스플로잇 코드 검색부의 검사 결과에 기초하여, 상기 패킷에 익스플로잇 코드가 포함되어 있는지 여부를 판단하는 익스플로잇 코드 판단부를 포함하는 익스플로잇 코드를 탐지하는 네트워크 보안시스템.
  2. 제 1항에 있어서,
    외부로부터 상기 시스템으로 유입되는 패킷을 수집하여, 상기 익스플로잇 코드 검색부로 전송하는 네트워크 패킷 수집부를 더 포함하는 익스플로잇 코드를 탐지하는 네트워크 보안시스템.
  3. 제 2항에 있어서,
    상기 익스플로잇 코드 판단부는, 상기 실행코드가 폴리몰픽 익스플로잇 코드인지 검사하는 폴리몰픽 판단부;를 더 포함하는 익스플로잇 코드를 탐지하는 네트워크 보안시스템.
  4. 제 3항에 있어서,
    상기 익스플로잇 코드 판단부는, 상기 문자열의 포함여부, 상기 제 2 코드 포함여부, 상기 제 1 코드 포함 여부 및 상기 폴리몰픽 익스플로잇 코드 포함 여부의 순서로 상기 익스플로잇 코드의 포함 여부를 판단하는 익스플로잇 코드를 탐지하는 네트워크 보안시스템.
  5. 제 4항에 있어서
    상기 익스플로잇 코드 판단부는, 상기 순서 또는 익스플로잇 코드의 검사방법에 따라 가산점을 별도로 부여하고, 상기 가산점의 총합과 상기 시스템의 보호 정도에 따라 결정된 임계값을 비교하여, 상기 가산점이 상기 임계값을 초과할 때, 상기 패킷에 익스플로잇 코드가 포함된 것으로 판단하는 최종 익스플로잇 코드 판단부;를 더 포함하는 익스플로잇 코드를 탐지하는 네트워크 보안시스템.
  6. 시스템으로 유입되는 패킷에 상기 시스템의 보안상 취약점을 공격하는 문자열이 포함되어 있는지 여부, 상기 패킷에 포함된 실행코드가 상기 시스템의 프로그램 실행순서만 진행하게 하는 복수의 제 1 코드로 시작되는지 여부, 및 상기 실행코드가 상기 시스템의 실행순서를 상기 제 1 코드 또는 상기 시스템의 운영체제가 관리하는 영역으로 변경하는 복수의 제 2 코드로 종료하는지 여부를 검사하는 단계; 및
    상기 검사 결과에 기초하여, 상기 패킷에 익스플로잇 코드가 포함되어 있는지 여부를 판단하는 단계를 포함하는 익스플로잇 코드를 탐지하는 네트워크 보안 방법.
  7. 삭제
  8. 제 6항에 있어서,
    상기 제 2 코드 포함 여부 판단 후, 상기 실행코드가 폴리몰픽 익스플로잇 코드인지 검사하는 단계;를 더 포함하는 익스플로잇 코드를 탐지하는 네트워크 보안 방법.
  9. 제 8항에 있어서,
    익스플로잇 코드 검사방법에 따라 가산점을 별도로 부여하는 단계; 및
    상기 가산점의 총합과 상기 시스템의 보호정도에 따라 결정된 임계값을 비교하여 상기 총합이 상기 임계값을 초과할 때, 상기 패킷에 익스플로잇 코드가 포함된 것으로 판단하는 단계;를 더 포함하는 익스플로잇 코드를 탐지하는 네트워크 보안 방법.
KR1020080131714A 2008-12-22 2008-12-22 익스플로잇 코드를 탐지하는 네트워크 보안시스템 및 방법 KR101047118B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080131714A KR101047118B1 (ko) 2008-12-22 2008-12-22 익스플로잇 코드를 탐지하는 네트워크 보안시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080131714A KR101047118B1 (ko) 2008-12-22 2008-12-22 익스플로잇 코드를 탐지하는 네트워크 보안시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20100073124A KR20100073124A (ko) 2010-07-01
KR101047118B1 true KR101047118B1 (ko) 2011-07-07

Family

ID=42636142

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080131714A KR101047118B1 (ko) 2008-12-22 2008-12-22 익스플로잇 코드를 탐지하는 네트워크 보안시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101047118B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100435848B1 (ko) * 2000-11-02 2004-06-10 한국건설기술연구원 스티렌-부타디엔-라바 라텍스 및 길소나이트를 첨가한합성개질 아스팔트, 그의 제조방법 및 그를 배합한합성개질 아스팔트 콘크리트의 제조방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101982734B1 (ko) 2015-10-26 2019-05-27 삼성에스디에스 주식회사 악성 코드 탐지 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040056998A (ko) * 2002-12-24 2004-07-01 한국전자통신연구원 위험도 산정을 통한 악성실행코드 탐지 장치 및 그 방법
KR20060058746A (ko) * 2004-11-25 2006-05-30 한국전자통신연구원 인터넷을 이용하는 특정 응용 프로그램에 대한 유해정보를선별적으로 차단하는 방법 및 그 장치
KR20080047261A (ko) * 2006-11-23 2008-05-28 한국전자통신연구원 프로세스 행위 예측 기법을 이용한 비정형 악성코드 탐지방법 및 그 시스템
KR20080099539A (ko) * 2007-05-09 2008-11-13 주식회사 웰비아닷컴 일회용 실행 코드를 이용한 보안 시스템 및 보안 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040056998A (ko) * 2002-12-24 2004-07-01 한국전자통신연구원 위험도 산정을 통한 악성실행코드 탐지 장치 및 그 방법
KR20060058746A (ko) * 2004-11-25 2006-05-30 한국전자통신연구원 인터넷을 이용하는 특정 응용 프로그램에 대한 유해정보를선별적으로 차단하는 방법 및 그 장치
KR20080047261A (ko) * 2006-11-23 2008-05-28 한국전자통신연구원 프로세스 행위 예측 기법을 이용한 비정형 악성코드 탐지방법 및 그 시스템
KR20080099539A (ko) * 2007-05-09 2008-11-13 주식회사 웰비아닷컴 일회용 실행 코드를 이용한 보안 시스템 및 보안 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100435848B1 (ko) * 2000-11-02 2004-06-10 한국건설기술연구원 스티렌-부타디엔-라바 라텍스 및 길소나이트를 첨가한합성개질 아스팔트, 그의 제조방법 및 그를 배합한합성개질 아스팔트 콘크리트의 제조방법

Also Published As

Publication number Publication date
KR20100073124A (ko) 2010-07-01

Similar Documents

Publication Publication Date Title
Shibahara et al. Efficient dynamic malware analysis based on network behavior using deep learning
CN107659583B (zh) 一种检测事中攻击的方法及系统
JP6348656B2 (ja) マルウェア感染端末の検出装置、マルウェア感染端末の検出システム、マルウェア感染端末の検出方法およびマルウェア感染端末の検出プログラム
Shan et al. Growing grapes in your computer to defend against malware
US20080083034A1 (en) Attack classification method for computer network security
Vatamanu et al. A practical approach on clustering malicious PDF documents
Cavallaro et al. LISABETH: automated content-based signature generator for zero-day polymorphic worms
KR101132197B1 (ko) 악성 코드 자동 판별 장치 및 방법
CN106302450B (zh) 一种基于ddos攻击中恶意地址的检测方法及装置
WO2018066221A1 (ja) 分類装置、分類方法及び分類プログラム
CN107209834B (zh) 恶意通信模式提取装置及其系统和方法、记录介质
KR20100074480A (ko) 네트워크 기반의 http 봇넷 탐지 방법
KR20100066908A (ko) 윈도우 실행파일 추출방법, 및 장치
KR101047118B1 (ko) 익스플로잇 코드를 탐지하는 네트워크 보안시스템 및 방법
Giacinto et al. Alarm clustering for intrusion detection systems in computer networks
CN112287345A (zh) 基于智能风险检测的可信边缘计算系统
Khalid et al. Automatic yara rule generation
Sufatrio et al. Improving host-based ids with argument abstraction to prevent mimicry attacks
Garcia-Cervigon et al. Browser function calls modeling for banking malware detection
US20130097707A1 (en) Terminal and method for terminal to determine file distributor
Guo et al. Research on detecting windows vulnerabilities based on security patch comparison
Tokhtabayev et al. Non-stationary Markov models and anomaly propagation analysis in IDS
Wang et al. MrKIP: Rootkit Recognition with Kernel Function Invocation Pattern.
KR102661261B1 (ko) 봇넷 탐지 시스템 및 방법
KR101421630B1 (ko) 코드 인젝션된 악성코드 탐지 시스템 및 방법

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

Year of fee payment: 18