1 |
1
어플리케이션의 특성 정보를 추출하는 특성 정보 추출 단계;상기 특성 정보를 특성 벡터로 맵핑(mapping)하는 좌표 설정 단계;상기 특성 벡터에 대해 클러스터 수량에 따라 중심점을 설정하는 중심점 설정 단계;상기 중심점으로부터의 거리를 기준으로 상기 특성 벡터를 포함하는 데이터에 대한 클러스터를 설정하는 클러스터 설정 단계;상기 클러스터에 포함된 데이터의 평균값을 이용하여 중심점을 재설정하는 중심점 재설정 단계;상기 중심점 재설정 단계를 수행한 결과, 상기 재설정된 중심점이 상기 재설정되기 이전의 중심점과 다른 경우, 상기 재설정된 중심점으로부터의 거리를 기준으로 상기 클러스터를 재설정하는 클러스터 재설정 단계;를 포함하고,상기 중심점 재설정 단계는, 상기 클러스터 재설정 단계에서 상기 클러스터가 재설정된 경우 재설정된 클러스터를 기초로 중심점을 다시 재설정하며,상기 중심점 재설정 단계를 수행한 결과, 상기 재설정된 중심점이 상기 재설정되기 이전의 중심점과 동일한 경우, 상기 특성 벡터가 속하는 클러스터에 대한 정보를 상기 특성 벡터에 대한 라벨(label)으로 부여하는 단계; 및 상기 라벨이 부여된 특성 벡터에 대한 기계 학습을 수행하여 분류되지 않은 어플리케이션의 특성 정보를 입력 받으면 상기 분류되지 않은 어플리케이션이 속할 것으로 예측되는 클러스터 정보를 출력하는 예측 모델을 생성하는 단계를 더 포함하는,어플리케이션 클러스터링 방법
|
2 |
2
제1항에 있어서,상기 특성 정보 추출 단계는,상기 어플리케이션에 대한 APK(Android application PacKage) 파일을 획득하는 단계와,상기 APK 파일로부터 DEX(Dalvik Executable Format) 파일을 획득하는 단계와,상기 DEX 파일에 미리 정해진 특성 리스트에 포함된 특성이 포함되어 있는지 여부를 확인하는 단계와,상기 확인 결과에 따라서 상기 특성 정보를 생성하는 단계를 포함하는,어플리케이션 클러스터링 방법
|
3 |
3
제2항에 있어서,상기 특성 정보는 API(Application Programming Interface) 특성 정보 및 문자열 특성 정보를 포함하고,상기 미리 정해진 특성 리스트는 미리 정해진 문자열 및 미리 정해진 조작 부호(OP code)를 포함하며,상기 확인하는 단계는,상기 DEX 파일의 문자열 테이블에 대해 미리 정해진 문자열의 포함 여부를 확인하는 단계와,상기 DEX 파일을 컴파일한 어셈블리 코드에 포함된 조작 부호(OP code)를 확인하는 단계를 포함하고,상기 특성 정보를 생성하는 단계는,상기 미리 정해진 문자열의 포함 여부에 따라서 상기 문자열 특성 정보를 생성하고, 상기 조작 부호의 포함 여부에 따라서 상기 API 특성 정보를 생성하는,어플리케이션 클러스터링 방법
|
4 |
4
제3항에 있어서,상기 조작 부호를 확인하는 단계는,상기 DEX 파일을 컴파일하여 상기 어셈블리 코드를 획득하는 단계와,상기 어셈블리 코드 내에서 호출 명령어의 위치를 확인하는 단계와,상기 호출 명령어의 위치를 이용하여 상기 조작 부호를 확인하는 단계를 포함하는,어플리케이션 클러스터링 방법
|
5 |
5
제1항에 있어서,상기 클러스터 설정 단계는,하기 수학식에 기초하여 클러스터를 설정하며,상기 중심점 재설정 단계는,하기 수학식에 기초하여 중심점을 재설정하고,i는 클러스터의 순번을 의미하며, Si는 클러스터에 속하는 데이터들의 집합을 의미하고, μi는 i 번째 클러스터의 중심점을 의미하며, x는 데이터를 의미하고, t는 클러스터 설정 회차를 의미하는,어플리케이션 클러스터링 방법
|
6 |
6
제1항에 있어서,상기 중심점 재설정 단계를 수행한 결과, 상기 재설정된 중심점이 상기 재설정되기 이전의 중심점과 동일한 경우, 기준 특성 벡터와 상기 특성 벡터 사이의 거리를 산출하는 단계; 및상기 기준 특성 벡터가 속하는 클러스터에 포함된 데이터로부터 상기 산출된 거리를 기준으로 선택된 유사 특성 벡터에 대한 정보를 디스플레이하는 단계를 더 포함하는,어플리케이션 클러스터링 방법
|
7 |
7
제6항에 있어서,상기 유사 특성 벡터는,상기 기준 특성 벡터로부터의 거리가 짧은 순서대로 선택된 것인,어플리케이션 클러스터링 방법
|
8 |
8
제6항에 있어서,상기 유사 특성 벡터에 대한 정보는,상기 유사 특성 벡터에 상응하는 유사 어플리케이션의 정보인,어플리케이션 클러스터링 방법
|
9 |
9
제8항에 있어서,상기 유사 어플리케이션의 정보는,어플리케이션 패키지 정보, 어플리케이션 위험도 정보 및 바이러스 검사 카운트 정보를 포함하는,어플리케이션 클러스터링 방법
|
10 |
10
삭제
|
11 |
11
프로세서; 및상기 프로세서에 의하여 실행되는 복수의 인스트럭션을 저장하는 메모리를 포함하되,상기 복수의 인스트럭션은,어플리케이션의 특성 정보를 추출하는 특성 정보 추출 인스트럭션;상기 특성 정보를 특성 벡터로 맵핑(mapping)하는 좌표 설정 인스트럭션;상기 특성 벡터에 대해 클러스터 수량에 따라 중심점을 설정하는 중심점 설정 인스트럭션;상기 중심점으로부터의 거리를 기준으로 상기 특성 벡터를 포함하는 데이터에 대한 클러스터를 설정하는 클러스터 설정 인스트럭션;상기 클러스터에 포함된 데이터의 평균값을 이용하여 중심점을 재설정하는 중심점 재설정 인스트럭션;상기 중심점 재설정 인스트럭션이 실행된 이후 실행되며, 상기 재설정된 중심점이 상기 재설정되기 이전의 중심점과 다른 경우, 상기 재설정된 중심점으로부터의 거리를 기준으로 상기 클러스터를 재설정하는 클러스터 재설정 인스트럭션; 및상기 중심점 재설정 인스트럭션이 실행된 이후 실행되며, 상기 재설정된 중심점이 상기 재설정되기 이전의 중심점과 동일한 경우, 상기 특성 벡터가 속하는 클러스터에 대한 정보를 상기 특성 벡터에 대한 라벨(label)로 부여하고, 상기 라벨이 부여된 특성 벡터에 대한 기계 학습을 수행하여 분류되지 않은 어플리케이션의 특성 정보를 입력 받으면 상기 분류되지 않은 어플리케이션이 속할 것으로 예측되는 클러스터 정보를 출력하는 예측 모델을 생성하는 인스트럭션을 포함하고,상기 프로세서는,상기 클러스터 재설정 인스트럭션에 의해 상기 클러스터가 재설정된 경우 상기 중심점 재설정 인스트럭션을 재실행하여 재설정된 클러스터를 기초로 중심점을 다시 재설정하는,컴퓨팅 장치
|
12 |
12
비일시적(non-transitory) 컴퓨터 판독 가능한 매체에 기록된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램의 명령어들이 컴퓨팅 장치의 프로세서에 의해 실행되는 경우에,어플리케이션의 특성 정보를 추출하는 특성 정보 추출 단계;상기 특성 정보를 특성 벡터로 맵핑(mapping)하는 좌표 설정 단계;상기 특성 벡터에 대해 클러스터 수량에 따라 중심점을 설정하는 중심점 설정 단계;상기 중심점으로부터의 거리를 기준으로 상기 특성 벡터를 포함하는 데이터에 대한 클러스터를 설정하는 클러스터 설정 단계;상기 클러스터에 포함된 데이터의 평균값을 이용하여 중심점을 재설정하는 중심점 재설정 단계;상기 중심점 재설정 단계를 수행한 결과, 상기 재설정된 중심점이 상기 재설정되기 이전의 중심점과 다른 경우, 상기 재설정된 중심점으로부터의 거리를 기준으로 상기 클러스터를 재설정하는 클러스터 재설정 단계; 및상기 중심점 재설정 단계를 수행한 결과, 상기 재설정된 중심점이 상기 재설정되기 이전의 중심점과 동일한 경우, 상기 특성 벡터가 속하는 클러스터에 대한 정보를 상기 특성 벡터에 대한 라벨(label)으로 부여하는 단계; 및 상기 라벨이 부여된 특성 벡터에 대한 기계 학습을 수행하여 분류되지 않은 어플리케이션의 특성 정보를 입력 받으면 상기 분류되지 않은 어플리케이션이 속할 것으로 예측되는 클러스터 정보를 출력하는 예측 모델을 생성하는 단계가 실행되며,상기 중심점 재설정 단계는, 상기 클러스터 재설정 단계에서 상기 클러스터가 재설정된 경우 재설정된 클러스터를 기초로 중심점을 다시 재설정하는,컴퓨터 프로그램
|