1 |
1
샘플 파일 실행부, 함수 호출 시퀀스 추출부, 함수 호출 시퀀스 가공부, 서픽스 트리 생성부를 포함하는 서픽스 트리 생성 서버가 수행하는, 서픽스 트리 생성 방법에 있어서,상기 샘플 파일 실행부가 악성 코드가 포함된 악성 코드 샘플 파일과 정상 샘플 파일을 실행하는 단계;상기 함수 호출 시퀀스 추출부가 상기 악성 코드 샘플 파일에 대한 제1 함수 호출 시퀀스와 상기 정상 샘플 파일에 대한 제2 함수 호출 시퀀스를 추출하는 단계;상기 함수 호출 시퀀스 가공부가 상기 추출된 제1 함수 호출 시퀀스 및 제2 함수 호출 시퀀스를 가공하는 단계; 및상기 서픽스 트리 생성부가 상기 가공된 제1 함수 호출 시퀀스 및 제2 함수 호출 시퀀스를 이용하여 서픽스 트리를 생성하는 단계를 포함하는 서픽스 트리 생성 방법
|
2 |
2
제1항에 있어서,상기 가공하는 단계는,상기 함수 호출 시퀀스 가공부가 상기 추출된 제1 함수 호출 시퀀스 및 제2 함수 호출 시퀀스에서 연속적으로 반복되는 요소를 병합함으로써 상기 제1 함수 호출 시퀀스 및 제2 함수 호출 시퀀스를 가공하는 서픽스 트리 생성 방법
|
3 |
3
제1항에 있어서,상기 서픽스 트리를 생성하는 단계는,상기 서픽스 트리 생성부가 상기 가공된 제1 함수 호출 시퀀스 및 제2 함수 호출 시퀀스에 기초하여 임시 서픽스 트리를 생성하는 단계;상기 서픽스 트리 생성부가 상기 임시 서픽스 트리에서 제1 함수 호출 시퀀스의 서브 시퀀스에 대응하는 노드 및 상기 노드를 연결하는 엣지를 제거하여 최종 서픽스 트리를 결정하는 단계를 포함하는 서픽스 트리 생성 방법
|
4 |
4
서픽스 트리 로딩부, 함수 호출 시퀀스 수신부, 함수 호출 시퀀스 가공부, 서픽스 트리 검색부, 악성 코드 판단부를 포함하는 악성 코드 탐지 서버가 수행하는, 악성 코드 탐지 방법에 있어서,상기 서픽스 트리 로딩부가 악성 코드 샘플 파일에 기초하여 생성된 서픽스 트리를 로딩하는 단계;상기 함수 호출 시퀀스 수신부가 클라이언트로부터 타겟 샘플 파일의 함수 호출 시퀀스를 수신하는 단계;상기 함수 호출 시퀀스 가공부가 상기 수신한 함수 호출 시퀀스를 가공하는 단계;상기 서픽스 트리 검색부가 상기 가공된 함수 호출 시퀀스의 서브 시퀀스를 서픽스 트리에서 검색하는 단계; 및상기 악성 코드 판단부가 상기 서픽스 트리에 대한 검색 결과에 기초하여 상기 타겟 샘플 파일이 악성 코드인지 여부를 판단하는 단계를 포함하는 악성 코드 탐지 방법
|
5 |
5
제4항에 있어서,상기 서픽스 트리는,정상 샘플 파일로부터 추출된 함수 호출 시퀀스와 악성 코드가 포함된 악성 코드 샘플 파일로부터 추출된 함수 호출 시퀀스를 가공하고, 가공된 함수 호출 시퀀스로부터 도출된 임시 서픽스 트리에서 정상 샘플 파일로부터 추출된 함수 호출 시퀀스에 대한 노드를 제거함으로써 생성되는 최종 서픽스 트리인 악성 코드 탐지 방법
|
6 |
6
제4항에 있어서,상기 가공하는 단계는,상기 함수 호출 시퀀스 가공부가 상기 클라이언트로부터 수신한 함수 호출 시퀀스에서 연속적으로 반복되는 요소를 병합함으로써 상기 함수 호출 시퀀스를 가공하는 악성 코드 탐지 방법
|
7 |
7
제4항에 있어서,상기 서픽스 트리 검색부는 서브 시퀀스 추출부, 서브 시퀀스 매칭부를 포함하고,상기 검색하는 단계는,상기 서브 시퀀스 추출부가 상기 가공된 함수 호출 시퀀스에 슬라이딩 윈도우를 적용하여 서브 시퀀스를 추출하는 단계;상기 서브 시퀀스 매칭부가 상기 추출된 서브 시퀀스가 서픽스 트리의 노드 및 엣지로 도출되는 시퀀스와 매칭되는 지 여부를 판단하는 단계를 포함하는 악성 코드 탐지 방법
|
8 |
8
제7항에 있어서,상기 서브 시퀀스를 추출하는 단계는,상기 서브 시퀀스 추출부는, 상기 함수 호출 시퀀스에서 미리 설정된 요소 단위에 따라 슬라이딩 윈도우가 오버랩하여 이동함으로써 서브 시퀀스를 추출하는 악성 코드 탐지 방법
|
9 |
9
제4항에 있어서,상기 악성 코드 탐지 서버는 악성 코드 정보 전송부를 더 포함하고,상기 악성 코드 정보 전송부가 상기 타겟 샘플 파일이 악성 코드로 판단된 경우, 상기 타겟 샘플 파일에 악성 코드가 존재한다는 정보를 클라이언트에 전송하는 단계를 더 포함하는 악성 코드 탐지 방법
|
10 |
10
서픽스 트리 생성 서버에 있어서,악성 코드가 포함된 악성 코드 샘플 파일과 정상 샘플 파일을 실행하는 샘플 파일 실행부;상기 악성 코드 샘플 파일에 대한 제1 함수 호출 시퀀스와 상기 정상 샘플 파일에 대한 제2 함수 호출 시퀀스를 추출하는 함수 호출 시퀀스 추출부;상기 추출된 제1 함수 호출 시퀀스 및 제2 함수 호출 시퀀스를 가공하는 함수 호출 시퀀스 가공부; 및상기 가공된 제1 함수 호출 시퀀스 및 제2 함수 호출 시퀀스를 이용하여 서픽스 트리를 생성하는 서픽스 트리 생성부를 포함하는 서픽스 트리 생성 서버
|
11 |
11
제10항에 있어서,상기 함수 호출 시퀀스 가공부는,상기 추출된 제1 함수 호출 시퀀스 및 제2 함수 호출 시퀀스에서 연속적으로 반복되는 요소를 병합함으로써 상기 제1 함수 호출 시퀀스 및 제2 함수 호출 시퀀스를 가공하는 서픽스 트리 생성 서버
|
12 |
12
제10항에 있어서,상기 서픽스 트리 생성부는,상기 가공된 제1 함수 호출 시퀀스 및 제2 함수 호출 시퀀스에 기초하여 임시 서픽스 트리를 생성하고, 상기 임시 서픽스 트리에서 제1 함수 호출 시퀀스의 서브 시퀀스에 대응하는 노드 및 상기 노드를 연결하는 엣지를 제거하여 최종 서픽스 트리를 결정하는 서픽스 트리 생성 서버
|
13 |
13
악성 코드 탐지 서버에 있어서,악성 코드 샘플 파일에 기초하여 생성된 서픽스 트리를 로딩하는 서픽스 트리 로딩부;클라이언트로부터 타겟 샘플 파일의 함수 호출 시퀀스를 수신하는 함수 호출 시퀀스 수신부;상기 수신한 함수 호출 시퀀스를 가공하는 함수 호출 시퀀스 가공부;상기 가공된 함수 호출 시퀀스의 서브 시퀀스를 서픽스 트리에서 검색하는 서픽스 트리 검색부; 및상기 서픽스 트리에 대한 검색 결과에 기초하여 상기 타겟 샘플 파일이 악성 코드인지 여부를 판단하는 악성 코드 판단부를 포함하는 악성 코드 탐지 서버
|
14 |
14
제13항에 있어서,상기 서픽스 트리는,정상 샘플 파일로부터 추출된 함수 호출 시퀀스와 악성 코드가 포함된 악성 코드 샘플 파일로부터 추출된 함수 호출 시퀀스를 가공하고, 가공된 함수 호출 시퀀스로부터 도출된 임시 서픽스 트리에서 정상 샘플 파일로부터 추출된 함수 호출 시퀀스에 대한 노드를 제거함으로써 생성되는 최종 서픽스 트리인 악성 코드 탐지 서버
|
15 |
15
제13항에 있어서,상기 함수 호출 시퀀스 가공부는,상기 클라이언트로부터 수신한 함수 호출 시퀀스에서 연속적으로 반복되는 요소를 병합함으로써 상기 함수 호출 시퀀스를 가공하는 악성 코드 탐지 서버
|
16 |
16
제13항에 있어서,상기 서픽스 트리 검색부는,상기 가공된 함수 호출 시퀀스에 슬라이딩 윈도우를 적용하여 서브 시퀀스를 추출하는 서브 시퀀스 추출부;상기 추출된 서브 시퀀스가 서픽스 트리의 노드 및 엣지로 도출되는 시퀀스와 매칭되는 지 여부를 판단하는 서브 시퀀스 매칭부를 포함하는 악성 코드 탐지 서버
|
17 |
17
제16항에 있어서,상기 서브 시퀀스 추출부는,상기 함수 호출 시퀀스에서 미리 설정된 요소 단위에 따라 슬라이딩 윈도우가 오버랩하여 이동함으로써 서브 시퀀스를 추출하는 악성 코드 탐지 서버
|
18 |
18
제13항에 있어서,상기 타겟 샘플 파일이 악성 코드로 판단된 경우, 상기 타겟 샘플 파일에 악성 코드가 존재한다는 정보를 클라이언트에 전송하는 악성 코드 정보 전송부를 더 포함하는 악성 코드 탐지 서버
|