1 |
1
어플리케이션 특성에 따라 그룹으로 분류된 학습용 APK(Android application PacKage) 파일을 획득하는 단계;상기 학습용 APK 파일로부터 제1 특성 정보를 추출하는 단계; 및상기 제1 특성 정보를 학습하여 악성 어플리케이션 예측 모델을 생성하는 단계;어플리케이션 특성에 따라 그룹으로 분류된 검증용 APK 파일을 획득하는 단계;상기 검증용 APK 파일로부터 제2 특성 정보를 추출하는 단계;상기 검증용 APK 파일의 제2 특성 정보를 상기 악성 어플리케이션 예측 모델에 입력하여 상기 검증용 APK 파일을 분류하는 단계; 및상기 분류 결과와 상기 검증용 APK 파일의 상기 그룹을 비교하여 상기 악성 어플리케이션 예측 모델에 대한 검증 결과를 출력하는 단계를 포함하는,악성 어플리케이션 예측 모델 생성 방법
|
2 |
2
제1항에 있어서,상기 제1 특성 정보는,API(Application Programming Interface) 특성 정보 및 문자열 특성 정보를 포함하는,악성 어플리케이션 예측 모델 생성 방법
|
3 |
3
제2항에 있어서,상기 제1 특성 정보를 추출하는 단계는,상기 학습용 APK 파일로부터 DEX(Dalvik Executable Format) 파일을 획득하는 단계와,상기 DEX 파일의 문자열 테이블에 대해 미리 정해진 문자열의 포함 여부를 확인하는 단계와,상기 미리 정해진 문자열의 포함 여부에 따라서 상기 문자열 특성 정보를 생성하는 단계와,상기 DEX 파일을 컴파일한 어셈블리 코드에 포함된 조작 부호(OP code)를 확인하는 단계 및상기 조작 부호에 따라서 상기 API 특성 정보를 생성하는 단계를 포함하는,악성 어플리케이션 예측 모델 생성 방법
|
4 |
4
제3항에 있어서,상기 미리 정해진 문자열의 포함 여부를 확인하는 단계는,상기 DEX 파일의 헤더로부터 상기 문자열 테이블의 위치를 참조하는 단계를 포함하는,악성 어플리케이션 예측 모델 생성 방법
|
5 |
5
제3항에 있어서,상기 조작 부호를 확인하는 단계는,상기 DEX 파일을 컴파일하여 상기 어셈블리 코드를 획득하는 단계와,상기 어셈블리 코드 내에서 호출 명령어의 위치를 확인하는 단계와,상기 호출 명령어의 위치를 이용하여 상기 조작 부호를 확인하는 단계를 포함하는,악성 어플리케이션 예측 모델 생성 방법
|
6 |
6
삭제
|
7 |
7
어플리케이션 특성에 따라 그룹으로 분류된 학습용 APK(Android application PacKage) 파일을 획득하는 단계;상기 학습용 APK 파일로부터 제1 특성 정보를 추출하는 단계; 및상기 제1 특성 정보를 학습하여 악성 어플리케이션 예측 모델을 생성하는 단계;를 포함하고,상기 그룹은,정상 그룹, 랜섬웨어(ransomware) 그룹, 애드웨어(adware) 그룹, 스파이웨어(spyware) 그룹, 봇넷(botnet) 그룹, 스미싱(smishing) 그룹, 및 RAT(Remote Access Trojan) 그룹을 포함하는,악성 어플리케이션 예측 모델 생성 방법
|
8 |
8
어플리케이션 특성에 따라 그룹으로 분류된 학습용 APK(Android application PacKage) 파일을 획득하는 단계;상기 학습용 APK 파일로부터 제1 특성 정보를 추출하는 단계; 및상기 제1 특성 정보를 학습하여 악성 어플리케이션 예측 모델을 생성하는 단계;를 포함하고,상기 악성 어플리케이션 예측 모델을 생성하는 단계는,복수의 학습 알고리즘을 각각 이용하여 상기 제1 특성 정보로부터 복수의 예측 모델을 생성하는 단계를 포함하고,상기 악성 어플리케이션 예측 모델은,분석 대상 APK 파일의 제3 특성 정보가 입력되면, 상기 제3 특성 정보를 상기 복수의 예측 모델 각각에 입력하고, 상기 복수의 예측 모델 각각의 출력값에 가중치를 부여한 값들을 합산한 합계값을 산출하고, 상기 합계값이 기준 값 이상인 경우 상기 분석 대상 APK 파일을 악성으로 분류하는,악성 어플리케이션 예측 모델 생성 방법
|
9 |
9
제8항에 있어서,상기 복수의 학습 알고리즘은,의사결정 트리(Decision Tree) 알고리즘, 랜덤 포레스트(Random Forest) 알고리즘, 서포트 벡터 머신(Support Vector Machine; SVM), 및 신경망(Neural Network) 알고리즘을 포함하는,악성 어플리케이션 예측 모델 생성 방법
|
10 |
10
삭제
|
11 |
11
분류되지 않은 분석 대상 APK(Android application PacKage) 파일을 획득하는 단계;상기 분석 대상 APK 파일로부터 제1 특성 정보를 추출하는 단계;학습용 APK 파일의 제2 특성 정보를 학습한 악성 어플리케이션 예측 모델에 상기 제1 특성 정보를 입력하여 상기 분석 대상 APK 파일을 분류하는 단계; 및상기 분류 결과에 따라 상기 APK 파일이 속하는 그룹을 출력하는 단계;를 포함하고,상기 분석 대상 APK 파일을 획득하는 단계는,미리 정해진 마켓 서버에 업로드된 제1 APK 파일을 획득하는 단계 및URL(Uniform Resource Locator)을 결정하고, 상기 URL을 이용하여 제2 APK 파일을 추출하는 단계를 포함하는,악성 어플리케이션 탐지 방법
|
12 |
12
제11항에 있어서,상기 URL에 기초하여 제2 APK 파일을 추출하는 단계는,제1 웹 페이지를 분석하여 제1 URL을 추출하는 단계와,상기 제1 URL을 이용하여 상기 제2 APK 파일을 추출하는 단계 및상기 제1 URL에 상응하는 제2 웹페이지를 분석하여 제2 URL을 추출하는 단계를 포함하는,악성 어플리케이션 탐지 방법
|
13 |
13
프로세서; 및상기 프로세서에 의하여 실행되는 복수의 인스트럭션을 저장하는 메모리를 포함하되,상기 복수의 인스트럭션은,어플리케이션 특성에 따라 그룹으로 분류된 학습용 APK(Android application PacKage) 파일을 획득하는 인스트럭션과,상기 학습용 APK 파일로부터 제1 특성 정보를 추출하는 인스트럭션과,상기 제1 특성 정보를 학습하여 악성 어플리케이션 예측 모델을 생성하는 인스트럭션과,분류되지 않은 분석 대상 APK(Android application PacKage) 파일을 획득하는 인스트럭션과,상기 분석 대상 APK 파일로부터 제2 특성 정보를 추출하는 인스트럭션과,학습용 APK 파일의 제1 특성 정보를 학습한 악성 어플리케이션 예측 모델에 상기 제2 특성 정보를 입력하여 상기 분석 대상 APK 파일을 분류하는 인스트럭션 및상기 분류 결과에 따라 상기 APK 파일이 속하는 그룹을 출력하는 인스트럭션을 포함하는,컴퓨팅 장치
|
14 |
14
삭제
|
15 |
15
비일시적(non-transitory) 컴퓨터 판독 가능한 매체에 기록된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램의 명령어들이 컴퓨팅 장치의 프로세서에 의해 실행되는 경우에,어플리케이션 특성에 따라 그룹으로 분류된 학습용 APK(Android application PacKage) 파일을 획득하는 단계;상기 학습용 APK 파일로부터 제1 특성 정보를 추출하는 단계;상기 제1 특성 정보를 학습하여 악성 어플리케이션 예측 모델을 생성하는 단계;분류되지 않은 분석 대상 APK(Android application PacKage) 파일을 획득하는 단계;상기 분석 대상 APK 파일로부터 제2 특성 정보를 추출하는 단계;학습용 APK 파일의 제1 특성 정보를 학습한 악성 어플리케이션 예측 모델에 상기 제2 특성 정보를 입력하여 상기 분석 대상 APK 파일을 분류하는 단계; 및상기 분류 결과에 따라 상기 APK 파일이 속하는 그룹을 출력하는 단계;를 포함하는 동작이 수행되는 것을 특징으로 하는,컴퓨터 프로그램
|