1 |
1
애플리케이션의 실행 코드로부터, 루프 정보를 포함하는 제어 흐름 그래프(CFG)를 생성하는 CFG 생성기;생성된 CFG로부터 API 호출 흐름을 나타내는 API 호출 그래프를 생성하는 API 호출 그래프 생성기;생성된 API 호출 그래프에 포함된 적어도 하나의 API 블록 각각의 특징 벡터를 생성하는 특징 벡터 생성기; 및생성된 적어도 하나의 특징 벡터로부터, 상기 애플리케이션의 악성 코드를 분석하는 악성 코드 분석기를 포함하는,애플리케이션 악성 코드 분석 시스템
|
2 |
2
제1항에 있어서, 상기 CFG는 상기 애플리케이션의 실행 코드의 분기에 기초하여 구분되는 적어도 하나의 기본 블록을 포함하고,상기 적어도 하나의 기본 블록 각각은,루프에 포함되어 있는지 여부, 및 루프 유형 중 적어도 하나의 정보를 포함하는,애플리케이션 악성 코드 분석 시스템
|
3 |
3
제2항에 있어서, 상기 루프 유형은,루프의 종료 지점 존재 여부, 및 루프의 반복과 관련된 레지스터값의 변화 유형 중 적어도 하나를 통해 정의되는,애플리케이션 악성 코드 분석 시스템
|
4 |
4
제2항에 있어서, 상기 적어도 하나의 기본 블록 각각은,인덱스, 이전 연결된 기본 블록의 인덱스, 및 다음 연결되는 기본 블록의 인덱스 중 적어도 하나를 더 포함하는,애플리케이션 악성 코드 분석 시스템
|
5 |
5
제2항에 있어서, 상기 API 호출 그래프 생성기는,상기 CFG에 포함된 상기 적어도 하나의 기본 블록 중, API 호출이 수행되는 적어도 하나의 API 블록을 연결한 상기 API 호출 그래프를 생성하는,애플리케이션 악성 코드 분석 시스템
|
6 |
6
제5항에 있어서, 상기 적어도 하나의 API 블록 각각은,루프에 포함되어 있는지 여부, 루프에 포함 시 루프의 시작점에 대응하는 API 블록의 인덱스, 및 루프 유형 중 적어도 하나의 정보를 포함하는,애플리케이션 악성 코드 분석 시스템
|
7 |
7
제6항에 있어서,상기 적어도 하나의 API 블록 각각은,인덱스, 이전 연결된 API 블록의 인덱스, 및 다음 연결되는 API 블록의 인덱스 중 적어도 하나를 더 포함하는,애플리케이션 악성 코드 분석 시스템
|
8 |
8
제1항에 있어서, 상기 특징 벡터 생성부는,상기 적어도 하나의 API 블록 각각에 포함된 정보에 대해 feature hashing을 수행함으로써, 상기 적어도 하나의 API 블록 각각에 대응하는 기 설정된 길이의 특징 벡터를 생성하는,애플리케이션 악성 코드 분석 시스템
|
9 |
9
제1항에 있어서, 상기 악성 코드 분석기는, 상기 적어도 하나의 특징 벡터로부터 악성 코드의 유무, 및 악성 코드의 유형을 분류하는 인공지능 기반의 신경망을 포함하고,상기 신경망은 LSTM(long short-term memory)을 포함하는,애플리케이션 악성 코드 분석 시스템
|
10 |
10
애플리케이션의 실행 코드로부터, 적어도 하나의 기본 블록 및 상기 적어도 하나의 기본 블록 각각에 대한 루프 정보를 포함하는 제어 흐름 그래프(CFG)를 생성하는 단계;생성된 CFG로부터, API의 호출 흐름을 나타내는 API 호출 그래프를 생성하는 단계;생성된 API 호출 그래프에 포함된 적어도 하나의 API 블록 각각의 특징 벡터를 생성하는 단계; 및생성된 적어도 하나의 특징 벡터로부터, 상기 애플리케이션의 악성 코드를 분석하는 단계를 포함하는,애플리케이션 악성 코드 분석 방법
|
11 |
11
제10항에 있어서,상기 루프 정보는,대응하는 기본 블록이 루프에 포함되어 있는지 여부, 및 루프 유형 중 적어도 하나의 정보를 포함하고,상기 루프 유형은,루프의 종료 지점 존재 여부, 및 루프의 반복과 관련된 레지스터값의 변화 유형 중 적어도 하나를 통해 정의되는,애플리케이션 악성 코드 분석 방법
|
12 |
12
제10항에 있어서,상기 적어도 하나의 기본 블록 각각은,인덱스, 이전 연결된 기본 블록의 인덱스, 및 다음 연결되는 기본 블록의 인덱스 중 적어도 하나에 대한 정보를 더 포함하는,애플리케이션 악성 코드 분석 방법
|
13 |
13
제10항에 있어서, 상기 API 호출 그래프를 생성하는 단계는,상기 CFG에 포함된 상기 적어도 하나의 기본 블록 중, API 호출이 수행되는 적어도 하나의 API 블록을 연결하여 상기 API 호출 그래프를 생성하는 단계를 포함하고,상기 적어도 하나의 API 블록 각각은,루프에 포함되어 있는지 여부, 루프에 포함 시 루프의 시작점에 대응하는 API 블록의 인덱스, 및 루프 유형 중 적어도 하나의 정보를 포함하는,애플리케이션 악성 코드 분석 방법
|
14 |
14
제13항에 있어서, 상기 특징 벡터를 생성하는 단계는,상기 적어도 하나의 API 블록 각각에 포함된 정보에 대해 feature hashing을 수행함으로써, 상기 적어도 하나의 API 블록 각각에 대응하는 기 설정된 길이의 특징 벡터를 생성하는 단계를 포함하는,애플리케이션 악성 코드 분석 방법
|
15 |
15
제10항에 있어서,상기 악성 코드를 분석하는 단계는,상기 적어도 하나의 특징 벡터를, 대응하는 API 블록의 흐름에 따라 인공지능 기반의 신경망에 순차적으로 입력하여, 상기 애플리케이션의 악성 코드 유무 및 악성 코드의 유형을 분류하는 단계를 포함하고,상기 신경망은 LSTM(long short-term memory)을 포함하는,애플리케이션 악성 코드 분석 방법
|