1 |
1
복수의 객체를 수신하는 단계;상기 복수의 객체에 대하여 정적 분석(static analysis) 및 동적 분석(dynamic analysis)을 수행하여 데이터셋(dataset)을 생성하는 단계;상기 데이터셋을 필터링하여 복수의 모델링 변수를 생성하는 단계; 및상기 복수의 모델링 변수에 기초한 모델링을 통해 상기 복수의 객체 각각의 랜섬웨어 여부를 판별(discriminate)하는 단계를 포함하고,상기 복수의 모델링 변수는 클러스터 벡터, API 벡터 및 이벤트 벡터를 포함하고,상기 판별하는 단계는,상기 클러스터 벡터, 상기 API 벡터 및 상기 이벤트 벡터에 기초한 기계 학습을 통해 상기 복수의 객체에 대한 랜섬웨어 여부를 판별하는 단계를 포함하는 랜섬웨어 탐지 방법
|
2 |
2
제1항에 있어서,상기 데이터셋을 생성하는 단계는,상기 복수의 객체에 대하여 정적 분석을 수행하여 오피코드(Opcode) 명령어 빈도수를 추출하는 단계;상기 복수의 객체에 대하여 제1 동적 분석을 수행하여 API(Application Programming Interface) 실행 빈도수를 추출하는 단계; 및상기 복수의 객체에 대하여 제2 동적 분석을 수행하여 이벤트 빈도수를 추출하는 단계를 포함하는 랜섬웨어 탐지 방법
|
3 |
3
제2항에 있어서,상기 오피코드 명령어 빈도수를 추출하는 단계는,상기 복수의 객체의 바이너리 실행파일을 디스어셈블리(disassembly) 코드로 변환하는 단계; 및상기 디스어셈블리 코드로부터 상기 오피코드 명령어 빈도수를 추출하는 단계를 포함하는 랜섬웨어 탐지 방법
|
4 |
4
제2항에 있어서,상기 API 실행 빈도수를 추출하는 단계는,상기 복수의 객체 각각에 대하여 윈도우 API 후킹(Windows API Hooking)을 수행하는 단계; 및상기 복수의 객체 각각이 실행하는 API들의 실행 빈도수를 추출하는 단계;를 포함하는 랜섬웨어 탐지 방법
|
5 |
5
제2항에 있어서,상기 이벤트 빈도수를 추출하는 단계는,이벤트 로그(log)를 추출하는 단계; 및상기 이벤트 로그에 기초하여 상기 이벤트 빈도수를 추출하는 단계를 포함하는 랜섬웨어 탐지 방법
|
6 |
6
제5항에 있어서,상기 이벤트 빈도수를 추출하는 단계는,상기 복수의 객체에 발생하는 생성(created) 이벤트, 삭제(deleted) 이벤트, 변경(modified) 이벤트 및 이동(moved) 이벤트 각각에 대한 빈도수를 추출하는 단계를 포함하는 랜섬웨어 탐지 방법
|
7 |
7
제2항에 있어서,상기 데이터셋은 상기 오피코드 명령어 빈도수, 상기 API 실행 빈도수 및 상기 이벤트 빈도수를 포함하고,상기 필터링하는 단계는,상기 오피코드 명령어 빈도수에 기초한 기계 학습을 통해 상기 클러스터 벡터를 생성하는 단계;상기 API 실행 빈도수에 기초하여 의심 API(Suspicious API)를 분류함으로써 상기 API 벡터를 생성하는 단계; 및상기 이벤트 빈도수에 기초하여 상기 이벤트 벡터를 생성하는 단계를 포함하는 랜섬웨어 탐지 방법
|
8 |
8
제7항에 있어서,상기 클러스터 벡터를 생성하는 단계는,K-means 클러스터링 알고리즘을 이용한 기계 학습을 통해 상기 오피코드 명령어 빈도수로부터 상기 클러스터 벡터를 생성하는 단계를 포함하는 랜섬웨어 탐지 방법
|
9 |
9
삭제
|
10 |
10
제1항에 있어서,상기 판별하는 단계는,로지스틱 회귀 알고리즘, SVM(Support Vector Machine) 알고리즘 및 나이브 베이즈(Naive Bayes) 알고리즘 중 하나를 이용한 기계 학습을 통해 상기 복수의 객체에 대한 랜섬웨어 여부를 판별하는 단계를 포함하는 랜섬웨어 탐지 방법
|
11 |
11
복수의 객체를 수신하는 수신기; 및상기 복수의 객체에 대한 랜섬웨어 여부를 판별하는 컨트롤러를 포함하고,상기 컨트롤러는,상기 복수의 객체에 대하여 정적 분석(static analysis) 및 동적 분석(dynamic analysis)을 수행하여 데이터셋(dataset)을 생성하는 데이터셋 생성기;상기 데이터셋을 필터링하여 복수의 모델링 변수를 생성하는 필터; 및상기 복수의 모델링 변수에 기초한 모델링을 통해 상기 복수의 객체 각각의 랜섬웨어 여부를 판별하는 판별기(discriminator)를 포함하고,상기 복수의 모델링 변수는 클러스터 벡터, API 벡터 및 이벤트 벡터를 포함하고,상기 판별기는,상기 클러스터 벡터, 상기 API 벡터 및 상기 이벤트 벡터에 기초한 기계 학습을 통해 상기 복수의 객체에 대한 랜섬웨어 여부를 판별하는랜섬웨어 탐지 장치
|
12 |
12
제11항에 있어서,상기 데이터셋 생성기는,상기 복수의 객체에 대하여 상기 정적 분석을 수행하여 오피코드(Opcode) 명령어 빈도수를 추출하는 정적 분석기;상기 복수의 객체에 대하여 제1 동적 분석을 수행하여 API 실행 빈도수를 추출하는 제1 동적 분석기; 및상기 복수의 객체에 대하여 제2 동적 분석을 수행하여 이벤트 빈도수를 추출하는 제2 동적 분석기를 포함하는 랜섬웨어 탐지 장치
|
13 |
13
제12항에 있어서,상기 정적 분석기는,상기 복수의 객체의 바이너리 실행파일을 디스어셈블리(disassembly) 코드로 변환하고, 상기 디스어셈블리 코드로부터 상기 오피코드 명령어 빈도수를 추출하는랜섬웨어 탐지 장치
|
14 |
14
제12항에 있어서,상기 제1 동적 분석기는,상기 복수의 객체 각각에 대하여 윈도우 API 후킹(Windows API Hooking)을 수행하고, 상기 복수의 객체 각각이 실행하는 API들의 실행 빈도수를 추출하는랜섬웨어 탐지 장치
|
15 |
15
제12항에 있어서,상기 제2 동적 분석기는,이벤트 로그(log)를 추출하고, 상기 이벤트 로그에 기초하여 상기 이벤트 빈도수를 추출하는랜섬웨어 탐지 장치
|
16 |
16
제15항에 있어서,상기 제2 동적 분석기는,상기 복수의 객체에 발생하는 생성(created) 이벤트, 삭제(deleted) 이벤트, 변경(modified) 이벤트 및 이동(moved) 이벤트 각각에 대한 빈도수를 추출하는랜섬웨어 탐지 장치
|
17 |
17
제12항에 있어서,상기 데이터셋은 상기 오피코드 명령어 빈도수, 상기 API 실행 빈도수 및 상기 이벤트 빈도수를 포함하고,상기 필터는,상기 오피코드 명령어 빈도수에 기초한 기계 학습을 통해 상기 클러스터 벡터를 생성하고, 상기 API 실행 빈도수에 기초하여 의심 API(Suspicious API)를 분류함으로써 상기 API 벡터를 생성하고, 상기 이벤트 빈도수에 기초하여 상기 이벤트 벡터를 생성하는랜섬웨어 탐지 장치
|
18 |
18
제17항에 있어서,상기 필터는,K-means 클러스터링 알고리즘을 이용한 기계 학습을 통해 상기 오피코드 명령어 빈도수로부터 상기 클러스터 벡터를 생성하는랜섬웨어 탐지 장치
|
19 |
19
삭제
|
20 |
20
제11항에 있어서,상기 판별기는,로지스틱 회귀 알고리즘, SVM(Support Vector Machine) 알고리즘 및 나이브 베이즈(Naive Bayes) 알고리즘 중 하나를 이용한 기계 학습을 통해 상기 복수의 객체에 대한 랜섬웨어 여부를 판별하는랜섬웨어 탐지 장치
|