KR102353130B1 - Nidps 기반 대용량 트래픽 제로데이 공격을 방어하기 위한 방어 시스템 및 방법 - Google Patents

Nidps 기반 대용량 트래픽 제로데이 공격을 방어하기 위한 방어 시스템 및 방법 Download PDF

Info

Publication number
KR102353130B1
KR102353130B1 KR1020200090398A KR20200090398A KR102353130B1 KR 102353130 B1 KR102353130 B1 KR 102353130B1 KR 1020200090398 A KR1020200090398 A KR 1020200090398A KR 20200090398 A KR20200090398 A KR 20200090398A KR 102353130 B1 KR102353130 B1 KR 102353130B1
Authority
KR
South Korea
Prior art keywords
attack
nidps
character string
signature
rule
Prior art date
Application number
KR1020200090398A
Other languages
English (en)
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 KR1020200090398A priority Critical patent/KR102353130B1/ko
Application granted granted Critical
Publication of KR102353130B1 publication Critical patent/KR102353130B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 NIDPS 기반 대용량 트래픽 제로데이 공격을 방어하기 위한 방어 시스템에 관한 것으로서, 정해진 룰을 이용하여 특정 공격 패턴을 가진 패킷을 실시간 방어하기 위한 NIDPS 엔진(100), 상기 NIDPS 엔진(100)을 통과한 패킷의 세션 정보를 일시적으로 저장하기 위한 SC DB(200), 상기 SC DB(200)에 저장된 패킷의 페이로드에서 대용량 트래픽 공격 패턴을 갖는 시그니처를 추출하기 위한 대용량 트래픽 공격 추출 모듈(300) 및 상기 시그니처를 이용하여 새로운 룰을 생성하고, 생성된 새로운 룰을 상기 NIDPS 엔진(100)에 피드백하는 룰 생성부(400)를 포함한다.
본 발명에 의하면, 알려지지 않은 대용량 트래픽 공격 패턴을 가진 패킷의 시그니처를 추출하여 NIDPS에 적용되는 룰을 갱신함으로써, 제로데이 공격을 효율적으로 방어할 수 있는 효과가 있다.

Description

NIDPS 기반 대용량 트래픽 제로데이 공격을 방어하기 위한 방어 시스템 및 방법 {System and method for Defense of Zero-Day Attack about High-Volume based on NIDPS}
본 발명은 네트워크 상에서 악성프로그램 공격을 방어할 수 있는 기술에 관한 것으로서, 더욱 상세하게는 제로데이 공격으로 인한 피해를 방지할 수 있는 기술에 관한 것이다.
최근 급증하고 있는 인터넷의 물결에 편승하여 통신망을 통한 악성 소프트웨어(Malicious Software)의 전염경로가 다양해지고 있으며, 이로 인한 피해 정도가 매년 증가하고 있다. 악성소프트웨어에는 컴퓨터 바이러스와 악성코드 즉 트로이 목마(Trojan Horse), 웜(Worm), 논리폭탄(Logic Bomb), 트랩도어(Trap Door), 스파이웨어(Spyware) 등이 있다. 이들은 자기복제나 자동번식 기능을 구비한 채, 사용자 ID와 암호 등의 개인정보 유출, 대상 시스템 통제, 파일 삭제변경/시스템 파괴, 응용프로그램/시스템의 서비스 거부, 핵심자료 유출, 다른 해킹프로그램 설치 등의 문제를 일으켜 그 피해가 매우 다양하고 심각하다.
이처럼, 인터넷이 확장됨과 동시에 개인정보, 중요 데이터들의 보호를 위해 네트워크 보안이 중요해지고 있다. 네트워크를 통한 공격들은 점차 다양하고 새로운 패턴들이 생겨나고 있다. 이러한 공격 위험이 있는 패턴을 가진 패킷들을 탐지하고 막기 위해 IDS(Intrusion Detection System), IPS(Intrusion Prevention System) 엔진 사용이 증가 하고 있다. IDS는 공격 위험이 있는 패턴을 가진 패킷들을 탐지한다. IPS는 시스템을 보호하기 위해 공격 위험이 있는 패턴을 가진 패킷들을 탐지할 뿐만 아니라 패킷을 차단할 수 있다.
NIDPS(Network Intrusion Detection and Prevention Systems) 엔진은 IDS, IPS 기능을 모두 수행할 수 있다. 대표적인 NIDPS 엔진에는 snort, suricata, bro 등이 있다. NIDPS 엔진들은 시그니처라고 불리는 다양한 공격 패턴을 방어하기 위해 룰을 생성하고, 룰에 해당하는 패턴을 가진 패킷들을 룰에 정의된 방법으로 처리한다.
알려지지 않은 공격 패턴을 가진 패킷이 수신되어 피해를 발생시키는 것을 제로데이(Zero Day) 공격이라고 하는데, 기존의 NIDPS는 이러한 알려지지 않은 공격인 제로데이 공격을 방어할 수 없다는 문제점이 있다. 즉, 기존 NIDPS에서는 알려지지 않은 대용량 트래픽 공격 패턴을 가진 패킷의 시그니처를 추출하는 방법이 없다는 문제점이 있다. 따라서, 제로데이 공격으로 인한 피해를 줄이기 위해 제로데이 공격을 예방할 수 있는 방안이 필요하다.
대한민국 등록특허 10-2046789
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 알려지지 않은 대용량 트래픽 공격 패턴을 가진 패킷의 시그니처를 추출하여 NIDPS 룰을 생성하는 방법 및 시스템을 제공하는데 그 목적이 있다. 본 발명의 방법 및 시스템에서 생성된 룰을 NIDPS에 적용하여 대용량 트래픽 제로데이 공격을 방어할 수 있도록 하는 것을 그 목적으로 한다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
이와 같은 목적을 달성하기 위한 본 발명은 NIDPS 기반 대용량 트래픽 제로데이 공격을 방어하기 위한 방어 시스템에 관한 것으로서, 정해진 룰을 이용하여 특정 공격 패턴을 가진 패킷을 실시간 방어하기 위한 NIDPS 엔진(100), 상기 NIDPS 엔진(100)을 통과한 패킷의 세션 정보를 일시적으로 저장하기 위한 SC DB(200), 상기 SC DB(200)에 저장된 패킷의 페이로드에서 대용량 트래픽 공격 패턴을 갖는 시그니처를 추출하기 위한 대용량 트래픽 공격 추출 모듈(300) 및 상기 시그니처를 이용하여 새로운 룰을 생성하고, 생성된 새로운 룰을 상기 NIDPS 엔진(100)에 피드백하는 룰 생성부(400)를 포함한다.
상기 대용량 트래픽 공격 추출 모듈(300)은, 상기 SC DB(200)에 저장된 패킷의 페이로드에서 반복되는 연속된 임의의 길이 N개의 문자를 포함하는 문자열을 저장하기 위한 N-그램 DB(310), 공격 위험성이 없는 문자열이 저장되어 있는 화이트리스트 DB(330), 상기 화이트리스트 DB(330)를 참조하여, 상기 N-그램 DB(310)에 저장되어 있는 문자열에 대해 공격 위험성 여부를 판단하되, 판단 대상이 되는 문자열이 상기 화이트리스트 DB(330)에 있는 문자열이면 상기 N-그램 DB(310)에서 삭제하고, 상기 화이트리스트 DB(330)에 없는 문자열이면 병합모듈(340)로 전달하는 1차 필터(320), 상기 1차 필터(320)에서 전달받은 문자열에 대하여 연속적으로 반복되는 N 길이 이상의 문자열을 병합하여 출력 값(Output values)을 출력하기 위한 병합모듈(340) 및 상기 병합모듈(340)로부터 수신한 출력 값에서 병합된 문자열이 소정 임계(threshold) 값 이상의 횟수로 반복하여 나오면, 해당 문자열에 대하여 대용량 트래픽 공격 패턴을 갖는 패킷의 시그니처로 판단하는 어택 스레쉬홀드(350)를 포함하여 이루어질 수 있다.
상기 룰 생성부(400)는 상기 SC DB(200)에 저장되어 있는 세션 정보, 상기 출력값 및 상기 임계값을 이용하여, 상기 시그니처에 대해 상기 NIDPS 엔진(100)에 맞는 새로운 룰을 생성할 수 있다.
상기 세션 정보는 소스(Source) IP 주소, 데스티네이션(Destination) IP 주소, 소스(Source) 포트(Port) 번호, 데스티네이션(Destination) 포트(Port) 번호, 프로토콜(Protocol)를 포함할 수 있다.
본 발명의 NIDPS 기반 대용량 트래픽 제로데이 공격을 방어하기 위한 방어 시스템에서의 방어 방법에서, NIDPS 엔진(100)에서 정해진 룰을 이용하여 특정 공격 패턴을 가진 패킷을 실시간 방어하는 단계, SC DB(200)에서 상기 NIDPS 엔진(100)을 통과한 패킷의 세션 정보를 일시적으로 저장하는 단계, 대용량 트래픽 공격 추출 모듈(300)에서 상기 SC DB(200)에 저장된 패킷의 페이로드에서 대용량 트래픽 공격 패턴을 갖는 시그니처를 추출하는 단계 및 룰 생성부(400)에서 상기 시그니처를 이용하여 새로운 룰을 생성하고, 생성된 새로운 룰을 상기 NIDPS 엔진(100)에 피드백하는 단계를 포함한다.
상기 대용량 트래픽 공격 추출 모듈(300)에서 시그니처를 추출하는 단계는, N-그램 DB(310)에서 상기 SC DB(200)에 저장된 패킷의 페이로드에서 반복되는 연속된 임의의 길이 N개의 문자를 포함하는 문자열을 저장하는 단계, 1차 필터(320)에서 공격 위험성이 없는 문자열이 저장되어 있는 화이트리스트 DB(330)를 참조하여, 상기 N-그램 DB(310)에 저장되어 있는 문자열에 대해 공격 위험성 여부를 판단하되, 판단 대상이 되는 문자열이 상기 화이트리스트 DB(330)에 있는 문자열이면 상기 N-그램 DB(310)에서 삭제하고, 상기 화이트리스트 DB(330)에 없는 문자열이면 병합모듈(340)로 전달하는 단계, 상기 병합모듈(340)에서 상기 1차 필터(320)에서 전달받은 문자열에 대하여 연속적으로 반복되는 N 길이 이상의 문자열을 병합하여 출력 값(Output values)을 출력하는 단계 및 어택 스레쉬홀드(350)에서 상기 병합모듈(340)로부터 수신한 출력 값에서 병합된 문자열이 소정 임계(threshold) 값 이상의 횟수로 반복하여 나오면, 해당 문자열에 대하여 대용량 트래픽 공격 패턴을 갖는 패킷의 시그니처로 판단하는 단계를 포함하여 이루어질 수 있다.
상기 룰 생성부(400)는 상기 SC DB(200)에 저장되어 있는 세션 정보, 상기 출력값 및 상기 임계값을 이용하여, 상기 시그니처에 대해 상기 NIDPS 엔진(100)에 맞는 새로운 룰을 생성할 수 있다.
상기 세션 정보는 소스(Source) IP 주소, 데스티네이션(Destination) IP 주소, 소스(Source) 포트(Port) 번호, 데스티네이션(Destination) 포트(Port) 번호, 프로토콜(Protocol)일 수 있다.
본 발명에 의하면, 알려지지 않은 대용량 트래픽 공격 패턴을 가진 패킷의 시그니처를 추출하여 NIDPS에 적용되는 룰을 갱신함으로써, 제로데이 공격을 효율적으로 방어할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 NIDPS 기반 대용량 트래픽 제로데이 공격을 방어하기 위한 방어 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 NIDPS 기반 대용량 트래픽 제로데이 공격을 방어하기 위한 방어 시스템에서 대용량 트래픽 공격 추출 모듈의 구성을 도시한 것이다.
도 3은 본 발명의 일 실시예에 따른 NIDPS 기반 대용량 트래픽 제로데이 공격을 방어하기 위한 방어 시스템에서 룰 생성부에서의 룰 생성 과정을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 NIDPS 기반 대용량 트래픽 제로데이 공격을 방어하기 위한 방어 시스템에서 룰 생성부에서의 피드백 과정을 설명하기 위한 도면이다.
본 명세서에서 개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시에서 제안하고자 하는 실시예는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 당해 기술분야에서 통상의 지식을 가진 자에게 실시예들의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다.
본 명세서에서 사용되는 용어는 개시된 실시예들의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 명세서의 상세한 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 명세서의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 본 발명의 일 실시예에 따른 NIDPS 기반 대용량 트래픽 제로데이 공격을 방어하기 위한 방어 시스템의 구성도이다.
도 1을 참조하면, 본 발명의 NIDPS 기반 대용량 트래픽 제로데이 공격을 방어하기 위한 방어 시스템에은 NIDPS(Network Intrusion Detection and Prevention Systems) 엔진(100), SC DB(Session Connectivity DataBase)(200), 대용량 트래픽 공격 추출 모듈(300), 룰 생성부(400)를 포함한다.
NIDPS 엔진(100)은 정해진 룰을 이용하여 특정 공격 패턴을 가진 패킷을 실시간 방어한다.
SC DB(200)는 NIDPS 엔진(100)을 통과한 패킷의 세션 정보를 일시적으로 저장하는 역할을 한다.
대용량 트래픽 공격 추출 모듈(300)은 SC DB(200)에 저장된 패킷의 페이로드(payload)에서 대용량 트래픽 공격 패턴을 갖는 시그니처를 추출하는 역할을 한다.
룰 생성부(400)는 시그니처를 이용하여 새로운 룰을 생성하고, 생성된 새로운 룰을 NIDPS 엔진(100)에 피드백한다.
도 1에서 보는 바와 같이, 대용량 트래픽 공격 추출 모듈(300)은, N-그램(N-gram) DB(310), 화이트리스트(whitelist) DB(330), 1차 필터(320), 병합모듈(340), 어택 스레쉬홀드(Attack threshold)(350)를 포함한다.
N-그램 DB(310)는 SC DB(200)에 저장된 패킷의 페이로드에서 반복되는 연속된 임의의 길이 N개의 문자를 포함하는 문자열을 저장하는 역할을 한다.
화이트리스트 DB(330)에는 공격 위험성이 없는 문자열이 저장되어 있다.
1차 필터(320)는 화이트리스트 DB(330)를 참조하여, N-그램 DB(310)에 저장되어 있는 문자열에 대해 공격 위험성 여부를 판단하되, 판단 대상이 되는 문자열이 화이트리스트 DB(330)에 있는 문자열이면 N-그램 DB(310)에서 삭제하고, 화이트리스트 DB(330)에 없는 문자열이면 병합모듈(340)로 전달한다.
병합모듈(340)은 1차 필터(320)에서 전달받은 문자열에 대하여 연속적으로 반복되는 N 길이 이상의 문자열을 병합하여 출력 값(Output values)을 출력하는 역할을 한다.
어택 스레쉬홀드(350)는 병합모듈(340)로부터 수신한 출력 값에서 병합된 문자열이 소정 임계(threshold) 값 이상의 횟수로 반복하여 나오면, 해당 문자열에 대하여 대용량 트래픽 공격 패턴을 갖는 패킷의 시그니처로 판단한다.
본 발명에서 룰 생성부(400)는 SC DB(200)에 저장되어 있는 세션 정보, 출력값 및 임계값을 이용하여, 시그니처에 대해 NIDPS 엔진(100)에 맞는 새로운 룰을 생성할 수 있다.
본 발명의 일 실시예에서 세션 정보는 소스(Source) IP 주소, 데스티네이션(Destination) IP 주소, 소스(Source) 포트(Port) 번호, 데스티네이션(Destination) 포트(Port) 번호, 프로토콜(Protocol)을 포함할 수 있다.
본 발명의 NIDPS 기반 대용량 트래픽 제로데이 공격을 방어하기 위한 방어 시스템에서의 방어 방법에서, NIDPS 엔진(100)에서 정해진 룰을 이용하여 특정 공격 패턴을 가진 패킷을 실시간 방어하는 단계, SC DB(200)에서 상기 NIDPS 엔진(100)을 통과한 패킷의 세션 정보를 일시적으로 저장하는 단계, 대용량 트래픽 공격 추출 모듈(300)에서 상기 SC DB(200)에 저장된 패킷의 페이로드에서 대용량 트래픽 공격 패턴을 갖는 시그니처를 추출하는 단계 및 룰 생성부(400)에서 상기 시그니처를 이용하여 새로운 룰을 생성하고, 생성된 새로운 룰을 상기 NIDPS 엔진(100)에 피드백하는 단계를 포함한다.
상기 대용량 트래픽 공격 추출 모듈(300)에서 시그니처를 추출하는 단계는, N-그램 DB(310)에서 상기 SC DB(200)에 저장된 패킷의 페이로드에서 반복되는 연속된 임의의 길이 N개의 문자를 포함하는 문자열을 저장하는 단계, 1차 필터(320)에서 공격 위험성이 없는 문자열이 저장되어 있는 화이트리스트 DB(330)를 참조하여, 상기 N-그램 DB(310)에 저장되어 있는 문자열에 대해 공격 위험성 여부를 판단하되, 판단 대상이 되는 문자열이 상기 화이트리스트 DB(330)에 있는 문자열이면 상기 N-그램 DB(310)에서 삭제하고, 상기 화이트리스트 DB(330)에 없는 문자열이면 병합모듈(340)로 전달하는 단계, 상기 병합모듈(340)에서 상기 1차 필터(320)에서 전달받은 문자열에 대하여 연속적으로 반복되는 N 길이 이상의 문자열을 병합하여 출력 값(Output values)을 출력하는 단계 및 어택 스레쉬홀드(350)에서 상기 병합모듈(340)로부터 수신한 출력 값에서 병합된 문자열이 소정 임계(threshold) 값 이상의 횟수로 반복하여 나오면, 해당 문자열에 대하여 대용량 트래픽 공격 패턴을 갖는 패킷의 시그니처로 판단하는 단계를 포함하여 이루어질 수 있다.
도 1에서 NIDPS(100)를 통과한 패킷은 SC DB(200)로 도착한다. SC DB(200)는 Session Connectivity DataBase의 약자로서, 수신되는 패킷에서 세션(Session) 정보인 소스(Source) IP 주소, 데스티네이션(Destination) IP 주소, 소스(Source) 포트(Port) 번호, 데스티네이션(Destination) 포트(Port) 번호, 프로토콜(Protocol)을 추출하여 저장하고, 패킷의 페이로드(payload)를 대용량 트래픽 공격 추출 모듈(300)로 전달한다.
용량 트래픽 공격 추출 모듈(300)은 N-그램(N-gram) DB(310), 1차 필터(320), 화이트리스트(whitelist) DB(330), 병합모듈(340), 어택 스레쉬홀드(350)로 구성된다.
N-그램 DB(310)는 수신된 패킷의 페이로드(payload)에서 빈번하게 자주 나타나는 문자열을 찾는다. N-그램 DB(310)에는 임의의 길이 N를 가진 문자열이 저장된다.
예를 들어, N=4이고 threshold=6 일 때, 페이로드가 'abcabcabcd'로 시작되는 패킷이 수신될 경우, SC DB(200)는 해당 패킷의 세션(Session) 정보를 추출하여 저장하고, 패킷의 페이로드를 대용량 트래픽 공격 추출 모듈(300)로 전달한다. 그리고, 페이로드의 시작부분부터 4개의 연속된 문자 'abca'가 N-그램 DB(310)에 저장되어 있지 않으므로 새로 저장된다. 이후 한 인덱스를 이동하여 4개의 연속된 문자 'bcab'가 마찬가지로 N-그램 DB(310)에 저장되어 있지 않으므로 새로 저장된다. 또 한 인덱스를 이동하여 'cabc' 도 새로 N-그램 DB(310)에 저장된다. 이후 한 인덱스를 이동하면 'abca'가 나오는데 이 문자열은 이미 N-그램 DB(310)에 저장되어 있으므로 1차 필터(320)로 이동한다.
그리고, 1차 필터(320)에서는 'abca'가 화이트리스트 DB(330)를 참조하여 무해한 데이터인지 확인한다. 만약 화이트리스트 DB(330)에 등록되어 있지 않으면 병합모듈(340)로 전달한다. 만약 화이트리스트 DB(330)에 등록되어 있는 문자열이면 N-그램 DB(310)에서 해당 문자열을 삭제한다.
병합모듈(340)에서는 한 인덱스를 이동하여 'bcab'가 N-그램 DB(310)에 등록되어 있으므로, 'abca'와 'bcab'가 빈번하게 연속해서 나오는 것을 확인하고, 두 문자열을 병합해서 'abcab'를 만든다. 이후 한 인덱스를 이동한 'cabc' 또한 N-그램 DB(310)에 등록되어 있고, 'abcab' 이후에 바로 나오기 때문에 이를 병합하여 'abcabc'를 만든다. 그 다음 한 인덱스 이동한 'abcd'은 N-그램 DB(310)에 새로 등록되고, 빈번히 나오는 연속된 문자열이 'abcabc'에서 끝이 났으므로, 출력값(Output values)은 'abcabc'이 된다.
어택 스레쉬홀드(Attack threshold)(350)에서는 'abcabc'가 페이로드(payload) 전체에 스레쉬홀드(threshold) 값 이상의 횟수가 나온다면, 해당 문자열은 대용량 트래픽 공격 패턴을 가진 패킷의 시그니처로 판단한다.
룰 생성부(400)는 SC DB(200)에 저장되어 있던 세션(Session) 정보, 출력값(Output values), 스레쉬홀드(threshold)를 사용하여 NIDPS 엔진에 맞은 새로운 룰을 생성하고, SC DB(200)와 N-그램 DB(310)를 초기화한다. 그리고, 새롭게 생성된 룰을 피드백(feedback)하여 NIDPS(100)에 적용한다.
도 2는 본 발명의 일 실시예에 따른 NIDPS 기반 대용량 트래픽 제로데이 공격을 방어하기 위한 방어 시스템에서 대용량 트래픽 공격 추출 모듈의 구성을 예시한 것이다.
도 2의 예시에서, N=4이고 threshold=6 일 때, 페이로드가 ' abcabcabcd...'로 시작되는 패킷이 수신될 경우이고, SC DB(200)는 해당 패킷의 세션(Session) 정보를 추출하여 저장하고, 패킷의 페이로드를 대용량 트래픽 공격 추출 모듈(300)로 전달한다.
이에 따라, 'b1=abca','b2=bcab', 'b3=cabc',...등의 문자열이 N-그램 DB(310)에 순차적으로 입력된다. 가령, 페이로드의 시작부분부터 4개의 연속된 문자 'abca'가 N-그램 DB(310)에 저장되어 있지 않으므로 새로 저장된다. 이후 한 인덱스를 이동하여 4개의 연속된 문자 'bcab' 가 마찬가지로 N-그램 DB(310)에 저장되어 있지 않으므로 새로 저장된다. 또 한 인덱스를 이동하여 'cabc' 도 새로 N-그램 DB(310)에 저장된다. 이후 한 인덱스를 이동하면 'abca'가 나오는데 이 문자열은 이미 N-그램 DB(310)에 저장되어 있으므로 1차 필터(320)로 이동한다.
그리고, 1차 필터(320)에서는 'abca'가 화이트리스트 DB(330)를 참조하여 무해한 데이터인지 확인한다. 만약 화이트리스트 DB(330)에 등록되어 있지 않으면 병합모듈(340)로 전달한다. 만약 화이트리스트 DB(330)에 등록되어 있는 문자열이면 N-그램 DB(310)에서 해당 문자열을 삭제한다.
병합모듈(340)에서는 한 인덱스를 이동하여 'bcab'가 N-그램 DB(310)에 등록되어 있으므로, 'abca'와 'bcab'가 빈번하게 연속해서 나오는 것을 확인하고, 두 문자열을 병합해서 'abcab'를 만든다. 이후 한 인덱스를 이동한 'cabc' 또한 N-그램 DB(310)에 등록되어 있고, 'abcab' 이후에 바로 나오기 때문에 이를 병합하여 'abcabc'를 출력 값으로 출력한다.
어택 스레쉬홀드(Attack threshold)(350)에서는 'abcabc'가 페이로드(payload) 전체에 스레쉬홀드(threshold) 값 이상의 횟수가 나온다면, 해당 문자열은 대용량 트래픽 공격 패턴을 가진 패킷의 시그니처로 판단한다.
도 3은 본 발명의 일 실시예에 따른 NIDPS 기반 대용량 트래픽 제로데이 공격을 방어하기 위한 방어 시스템에서 룰 생성부에서의 룰 생성 과정을 설명하기 위한 도면이다.
도 3을 참조하면, 룰 생성부(400)는 SC DB(200)에 저장되어 있던 세션(Session) 정보, 출력값(Output values), 스레쉬홀드(threshold)를 사용하여 NIDPS 엔진에 맞은 새로운 룰을 생성하고, SC DB(200)와 N-그램 DB(310)를 초기화한다.
도 4는 본 발명의 일 실시예에 따른 NIDPS 기반 대용량 트래픽 제로데이 공격을 방어하기 위한 방어 시스템에서 룰 생성부에서의 피드백 과정을 설명하기 위한 도면이다.
도 4를 참조하면, 룰 생성부(400)는 새롭게 생성된 룰을 피드백(feedback)하여 NIDPS(100)에 적용한다.
이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.
100 NIDPS 200 SC DB
300 대용량 트래픽 공격 추출 모듈
310 N-그램 DB 320 1차 필터
330 화이트리스트 DB 340 병합모듈
350 어택 스레쉬홀드 400 룰 생성부

Claims (8)

  1. NIDPS 기반 대용량 트래픽 제로데이 공격을 방어하기 위한 방어 시스템에서,
    정해진 룰을 이용하여 특정 공격 패턴을 가진 패킷을 실시간 방어하기 위한 NIDPS 엔진(100);
    상기 NIDPS 엔진(100)을 통과한 패킷의 세션 정보를 일시적으로 저장하기 위한 SC DB(200);
    상기 SC DB(200)에 저장된 패킷의 페이로드에서 대용량 트래픽 공격 패턴을 갖는 시그니처를 추출하기 위한 대용량 트래픽 공격 추출 모듈(300); 및
    상기 시그니처를 이용하여 새로운 룰을 생성하고, 생성된 새로운 룰을 상기 NIDPS 엔진(100)에 피드백하는 룰 생성부(400)를 포함하며,
    상기 대용량 트래픽 공격 추출 모듈(300)은,
    상기 SC DB(200)에 저장된 패킷의 페이로드에서 반복되는 연속된 임의의 길이 N개의 문자를 포함하는 문자열을 저장하기 위한 N-그램 DB(310);
    공격 위험성이 없는 문자열이 저장되어 있는 화이트리스트 DB(330);
    상기 화이트리스트 DB(330)를 참조하여, 상기 N-그램 DB(310)에 저장되어 있는 문자열에 대해 공격 위험성 여부를 판단하되, 판단 대상이 되는 문자열이 상기 화이트리스트 DB(330)에 있는 문자열이면 상기 N-그램 DB(310)에서 삭제하고, 상기 화이트리스트 DB(330)에 없는 문자열이면 병합모듈(340)로 전달하는 1차 필터(320);
    상기 1차 필터(320)에서 전달받은 문자열에 대하여 연속적으로 반복되는 N 길이 이상의 문자열을 병합하여 출력 값(Output values)을 출력하기 위한 병합모듈(340); 및
    상기 병합모듈(340)로부터 수신한 출력 값에서 병합된 문자열이 페이로드 전체에서 소정 임계(threshold) 값 이상의 횟수로 반복하여 나오면, 해당 문자열에 대하여 대용량 트래픽 공격 패턴을 갖는 패킷의 시그니처로 판단하는 어택 스레쉬홀드(350)를 포함하여 이루어지고,
    상기 룰 생성부(400)는 상기 SC DB(200)에 저장되어 있는 세션 정보, 상기 출력값 및 상기 임계값을 이용하여, 상기 시그니처에 대해 상기 NIDPS 엔진(100)에 맞는 새로운 룰을 생성하고,
    상기 세션 정보는 소스(Source) IP 주소, 데스티네이션(Destination) IP 주소, 소스(Source) 포트(Port) 번호, 데스티네이션(Destination) 포트(Port) 번호, 프로토콜(Protocol)인 것을 특징으로 하는 방어 시스템.
  2. 삭제
  3. 삭제
  4. 삭제
  5. NIDPS 기반 대용량 트래픽 제로데이 공격을 방어하기 위한 방어 시스템에서의 방어 방법에서,
    NIDPS 엔진(100)에서 정해진 룰을 이용하여 특정 공격 패턴을 가진 패킷을 실시간 방어하는 단계;
    SC DB(200)에서 상기 NIDPS 엔진(100)을 통과한 패킷의 세션 정보를 일시적으로 저장하는 단계;
    대용량 트래픽 공격 추출 모듈(300)에서 상기 SC DB(200)에 저장된 패킷의 페이로드에서 대용량 트래픽 공격 패턴을 갖는 시그니처를 추출하는 단계; 및
    룰 생성부(400)에서 상기 시그니처를 이용하여 새로운 룰을 생성하고, 생성된 새로운 룰을 상기 NIDPS 엔진(100)에 피드백하는 단계를 포함하며,
    상기 대용량 트래픽 공격 추출 모듈(300)에서 시그니처를 추출하는 단계는,
    N-그램 DB(310)에서 상기 SC DB(200)에 저장된 패킷의 페이로드에서 반복되는 연속된 임의의 길이 N개의 문자를 포함하는 문자열을 저장하는 단계;
    1차 필터(320)에서 공격 위험성이 없는 문자열이 저장되어 있는 화이트리스트 DB(330)를 참조하여, 상기 N-그램 DB(310)에 저장되어 있는 문자열에 대해 공격 위험성 여부를 판단하되, 판단 대상이 되는 문자열이 상기 화이트리스트 DB(330)에 있는 문자열이면 상기 N-그램 DB(310)에서 삭제하고, 상기 화이트리스트 DB(330)에 없는 문자열이면 병합모듈(340)로 전달하는 단계;
    상기 병합모듈(340)에서 상기 1차 필터(320)에서 전달받은 문자열에 대하여 연속적으로 반복되는 N 길이 이상의 문자열을 병합하여 출력 값(Output values)을 출력하는 단계; 및
    어택 스레쉬홀드(350)에서 상기 병합모듈(340)로부터 수신한 출력 값에서 병합된 문자열이 소정 임계(threshold) 값 이상의 횟수로 반복하여 나오면, 해당 문자열에 대하여 대용량 트래픽 공격 패턴을 갖는 패킷의 시그니처로 판단하는 단계를 포함하여 이루어지고,
    상기 룰 생성부(400)는 상기 SC DB(200)에 저장되어 있는 세션 정보, 상기 출력값 및 상기 임계값을 이용하여, 상기 시그니처에 대해 상기 NIDPS 엔진(100)에 맞는 새로운 룰을 생성하고,
    상기 세션 정보는 소스(Source) IP 주소, 데스티네이션(Destination) IP 주소, 소스(Source) 포트(Port) 번호, 데스티네이션(Destination) 포트(Port) 번호, 프로토콜(Protocol)인 것을 특징으로 하는 방어 방법.
  6. 삭제
  7. 삭제
  8. 삭제
KR1020200090398A 2020-07-21 2020-07-21 Nidps 기반 대용량 트래픽 제로데이 공격을 방어하기 위한 방어 시스템 및 방법 KR102353130B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200090398A KR102353130B1 (ko) 2020-07-21 2020-07-21 Nidps 기반 대용량 트래픽 제로데이 공격을 방어하기 위한 방어 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200090398A KR102353130B1 (ko) 2020-07-21 2020-07-21 Nidps 기반 대용량 트래픽 제로데이 공격을 방어하기 위한 방어 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR102353130B1 true KR102353130B1 (ko) 2022-01-18

Family

ID=80051933

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200090398A KR102353130B1 (ko) 2020-07-21 2020-07-21 Nidps 기반 대용량 트래픽 제로데이 공격을 방어하기 위한 방어 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102353130B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100769221B1 (ko) * 2006-08-04 2007-10-29 한국정보보호진흥원 제로데이 공격 대응 시스템 및 방법
KR100809416B1 (ko) * 2006-07-28 2008-03-05 한국전자통신연구원 보안 시스템을 위한 최적 시그니처 자동 생성 장치 및 방법
KR20170060280A (ko) * 2015-11-24 2017-06-01 한국전자통신연구원 탐지 규칙 자동 생성 장치 및 방법
KR20170073289A (ko) * 2015-12-18 2017-06-28 주식회사 시큐아이 방화벽 장치 및 그의 구동방법
KR102046789B1 (ko) 2019-04-05 2019-11-20 호서대학교 산학협력단 웹 어플리케이션에 대한 딥러닝 기반의 침입탐지 방법, 시스템 및 컴퓨터 프로그램

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100809416B1 (ko) * 2006-07-28 2008-03-05 한국전자통신연구원 보안 시스템을 위한 최적 시그니처 자동 생성 장치 및 방법
KR100769221B1 (ko) * 2006-08-04 2007-10-29 한국정보보호진흥원 제로데이 공격 대응 시스템 및 방법
KR20170060280A (ko) * 2015-11-24 2017-06-01 한국전자통신연구원 탐지 규칙 자동 생성 장치 및 방법
KR20170073289A (ko) * 2015-12-18 2017-06-28 주식회사 시큐아이 방화벽 장치 및 그의 구동방법
KR102046789B1 (ko) 2019-04-05 2019-11-20 호서대학교 산학협력단 웹 어플리케이션에 대한 딥러닝 기반의 침입탐지 방법, 시스템 및 컴퓨터 프로그램

Similar Documents

Publication Publication Date Title
Song et al. Advanced evasion attacks and mitigations on practical ML‐based phishing website classifiers
US20080071783A1 (en) System, Apparatus, And Methods For Pattern Matching
US20120324575A1 (en) System, Method, Program, and Recording Medium for Detecting and Blocking Unwanted Programs in Real Time Based on Process Behavior Analysis and Recording Medium for Storing Program
KR102390355B1 (ko) 시그니처 기반 네트워크 공격 탐지 및 공격 시그니처 생성 방법 및 장치
Kaur et al. Automatic attack signature generation systems: A review
CN107911219A (zh) 一种基于密钥签名的api防cc方法
Almutairi et al. Innovative signature based intrusion detection system: Parallel processing and minimized database
Hansman A taxonomy of network and computer attack methodologies
KR100770357B1 (ko) 시그너처 해싱을 이용하여 시그너처 매칭 회수를 줄이는고성능 침입 방지 시스템 및 그 방법
Zhang et al. An approach to detect executable content for anomaly based network intrusion detection
Gupta et al. Pattern matching algorithms for intrusion detection and prevention system: A comparative analysis
KR102353130B1 (ko) Nidps 기반 대용량 트래픽 제로데이 공격을 방어하기 위한 방어 시스템 및 방법
KR20100066908A (ko) 윈도우 실행파일 추출방법, 및 장치
Greengard The war against botnets
KR102309669B1 (ko) 제로데이 공격으로 인한 피해 방지 시스템
US20220060502A1 (en) Network Environment Control Scanning Engine
Swarup et al. Prevention of SQL Injection Attacks using Query Hashing Technique
Wang et al. High performance pattern matching algorithm for network security
KR102353131B1 (ko) 제로데이 공격에 대한 방어 시스템 및 방법
Keshri et al. Library formation of known malicious attacks and their future variants
Kim et al. HAS-Analyzer: Detecting HTTP-based C&C based on the Analysis of HTTP Activity Sets
Mac Vittie SQL Injection Evasion Detection
Paul et al. Polys: Network-based signature generation for zero-day polymorphic worms
Singh et al. Performance enhancement of a Malware Detection System using score based prioritization of snort rules
Brandao et al. Phishing and advanced persistent threats

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant