1 |
1
인입되는 네트워크 패킷의 페이로드 부분을 기계어 인스트럭션 단위로 디코딩하여 의사 기계 코드로 변환하는 바이너리 필터부;
상기 바이너리 필터부에서 디코딩된 의사 기계 코드에 대하여 명령어들 간의 연관성을 분석하여 실행 가능한 코드가 포함되어 있는 지를 판단하는 코드 분석부; 및
상기 코드 분석부에서 실행 가능한 코드가 포함된 것으로 판단된 네트워크 패킷에 대하여, 해당하는 서비스 및 그 서비스의 특정 트랜젝션에서 실행가능 코드가 존재할 가능성에 대한 통계치를 바탕으로 유해 패킷인지를 판단하는 프로토콜 검토부를 포함하는 네트워크 공격 탐지 장치
|
2 |
2
제1항에 있어서,
상기 바이너리 필터부에서 디코딩된 인스트럭션 단위의 의사 기계 코드를 저장하는 메모리부를 더 포함하는 네트워크 공격 탐지 장치
|
3 |
3
제2항에 있어서, 상기 바이너리 필터부는
인입된 네트워크 패킷의 페이로드부를 바이너리 코드로 가정하여, 인스트럭션을 패취하는 인스트럭션 패춰;
상기 인스트럭션 패취에서 패취한 인스트럭션과 미리 저장된 OP 코드 집합의 인스트럭션을 비교하여 의미 있는 인스트럭션인지를 판단하는 비교기;
상기 비교기에서 의미있는 인스트럭션으로 판단된 인스트럭션을 의사 기계어 코드 형태로 상기 메모리부에 저장하는 인스트럭션 덤퍼; 및
상기 비교기에서 의미 없는 인스트럭션인 경우 저장하지 않고 스킵하도록 하는 스키퍼를 포함하는 것을 특징으로 하는 네트워크 공격 탐지 장치
|
4 |
4
제3항에 있어서, 상기 인스트럭션 덤퍼는
하나의 네트워크 패킷의 페이로드부에서 패춰한 인스트럭션의 수가 기 설정된 임계값 이상인 경우에만 메모리부에 저장되도록 하는 네트워크 공격 탐지 장치
|
5 |
5
제2항에 있어서, 상기 코드 분석부는
각 기계어 코드의 OP 코드별로 해당하는 의미 집합을 매핑하여 저장하는 OP 코드 매핑 테이블;
상기 바이너리 필터부에서 디코딩된 의사 기계 코드들을 상기 OP 코드 매핑 테이블을 기준으로 설정된 수의 의미 집합으로 분류하는 코드 분류기; 및
상기 코드 분류기의 분류 결과를 기준으로, 특정 시점의 일정 크기의 시간 윈도우내에서의 코드 스펙트럼을 확인하여, 실행 가능한 코드의 포함 여부를 판별하는 스펙트럼 분석기를 포함하는 것을 특징으로 하는 네트워크 공격 탐지 장치
|
6 |
6
제5항에 있어서, 상기 코드 분석부는
각 의미 집합별로 서로 다른 색깔을 정의하고, 상기 코드 스펙트럼을 색상 패턴으로 표시하는 것을 특징으로 하는 네트워크 공격 탐지 장치
|
7 |
7
제5항에 있어서, 상기 의미 집합은,
연산 명령과 관련된 코드 집합, 논리 명령과 관련된 코드 집합, 로딩/저장 명령과 관련된 코드 집합, 전송 명령과 관련된 코드 집합, 스택 명령과 관련된 코드 집합, 입출력 명령과 관련된 코드 집합, 제어 명령과 관련된 코드 집합, 인터럽트 명령과 관련된 코드 집합 및 상기 명령을 제외한 코드로 이루어지는 집합을 포함하는 것을 특징으로 하는 네트워크 공격 탐지 장치
|
8 |
8
제5항 또는 제6항에 있어서, 상기 스펙트럼 분석기는
기계어 인스트럭션이 가지는 실행가능 코드의 코드 스펙트럼 패턴과 비실행 코드의 코드 스펙트럼 패턴을 미리 저장하여 두고, 입력된 코드 스펙트럼과 상기 저장된 패턴을 비교하여 실행 가능 코드의 포함 여부를 판별하는 것을 특징으로 하는 네트워크 공격 탐지 장치
|
9 |
9
제2항에 있어서, 상기 프로토콜 검토부는
서비스별 및 그 서비스의 트랜잭션별로 실행 코드가 포함되는 통계치를 저장하는 서비스 매핑 테이블; 및
상기 실행 가능한 코드가 포함된 것으로 판별된 네트워크 패킷의 프로토콜을 분석하여, 관련된 서비스 및 트랜잭션을 확인하고, 상기 서비스 매핑 테이블에서 해당 서비스 및 트랜잭션의 패킷이 실행 코드를 포함할 통계치를 확인하여, 유해 패킷인지를 판단하는 비정상 패킷 검토부를 포함하는 것을 특징으로 하는 네트워크 침입 탐지 장치
|
10 |
10
네트워크 패킷에 실행 가능한 코드가 포함되어 있는 지를 판별하는 단계;
상기 네트워크 패킷에 정상적으로 실행 가능한 코드가 포함될 가능성을 판별하는 단계; 및
상기 실행 가능한 코드의 포함 여부 및 실행 가능한 코드가 포함될 가능성에 근거하여, 네트워크 패킷의 유해 여부를 판단하는 단계를 포함하는 네트워크 공격 탐지 방법
|
11 |
11
제10항에 있어서, 상기 네트워크 패킷에 실행 가능한 코드가 포함되어 있는 지를 판별하는 단계는,
네트워크 패킷의 페이로드 부분을 기계어 인스트럭션 단위로 디코딩하여, 의사-기계 코드 형태로 변환하는 단계;
상기 변환된 의사-기계 코드를 기설정된 의미 집합으로 분류하는 단계;
상기 분류 결과에 근거하여 상기 네트워크 패킷의 코드 스펙트럼을 추출하는 단계; 및
상기 추출된 코드 스펙트럼을 분석하여 실행 가능 코드의 포함 여부를 판별하는 단계를 포함하는 것을 특징으로 하는 네트워크 공격 탐지 방법
|
12 |
12
제10항에 있어서, 상기 네트워크 패킷에 정상적으로 실행 가능한 코드가 포함될 가능성을 판별하는 단계는,
실행 가능한 코드를 포함하는 네트워크 패킷에 대하여, 해당 네트워크 패킷의 프로토콜을 분석하여, 관련된 서비스 및 트랙잭션을 확인하는 단계; 및
상기 확인된 서비스 및 트랜잭션에 정상적으로 실행 가능한 코드가 포함되는 통계치를 확인하는 단계를 포함하는 것을 특징으로 하는 네트워크 공격 탐지 방법
|
13 |
13
제10항에 있어서, 상기 네트워크 패킷의 유해 여부를 판단하는 단계는,
상기 실행 가능한 코드가 포함되어 있지 않거나, 상기 실행 가능한 코드가 포함되어 있으나 해당 네트워크 패킷에 실행 가능한 코드가 포함될 가능성이 높으면, 정상 패킷으로 판단하고, 상기 실행 가능한 코드가 포함되어 있으며 해당 네트워크 패킷에 실행 가능한 코드가 포함될 가능성이 적으면 유해 패킷으로 판단하는 것을 특징으로 하는 네트워크 공격 탐지 방법
|
14 |
14
제11항에 있어서, 상기 분류 결과에 근거하여 상기 네트워크 패킷의 코드 스펙트럼을 추출하는 단계는,
상기 의미 집합별로 서로 다른 색상을 부여하여, 상기 코드 스펙트럼을 부여된 색상으로 표현하는 것을 특징으로 하는 네트워크 공격 탐지 방법
|
15 |
15
제14항에 있어서, 상기 추출된 코드 스펙트럼을 분석하여 실행 가능 코드의 포함 여부를 판별하는 단계는,
상기 기설정된 의미 집합에 근거하여, 비실행 코드에 나타내는 코드 스펙트럼 패턴과, 실행 코드에 나타나는 코드 스펙트럼 패턴을 미리 저장하여 두고, 상기 저장된 코드 스펙트럼 패턴과 상기 추출된 코드 스펙트럼 패턴을 비교하여 실행 가능 코드의 포함 여부를 판별하는 것을 특징으로 하는 네트워크 공격 탐지 방법
|
16 |
16
제11항에 있어서, 상기 의미 집합은,
연산 명령과 관련된 코드 집합, 논리 명령과 관련된 코드 집합, 로딩/저장 명령과 관련된 코드 집합, 전송 명령과 관련된 코드 집합, 스택 명령과 관련된 코드 집합, 입출력 명령과 관련된 코드 집합, 제어 명령과 관련된 코드 집합, 인터럽트 명령과 관련된 코드 집합 및 상기 명령을 제외한 코드로 이루어지는 집합을 포함하는 것을 특징으로 하는 네트워크 공격 탐지 방법
|