1 |
1
분석 회피형 악성 앱 탐지 장치에 의해 수행되는 분석 회피형 악성 앱 탐지 방법에 있어서,분석 대상 앱에 의해 호출되는 가상 환경 탐지 API에 대한 후킹(hooking)을 설정하되, 상기 가상 환경 탐지 API는 상기 분석 대상 앱의 실행 환경이 가상 환경인 경우 실제 환경인 경우와 다르게 설정되는 속성의 정보를 요청하는 API이고 상기 속성은 실제 환경에서 시간에 따라 속성의 정보가 변동되는 동적 속성을 포함하는 것인, 단계;제1 시점에, 상기 후킹을 통해 상기 가상 환경 탐지 API 중에서 제1 동적 속성의 정보를 요청하는 제1 가상 환경 탐지 API의 호출이 감지됨에 응답하여, 상기 제1 동적 속성에 대한 제1 분석 회피 방지용 속성 정보를 반환하는 단계;상기 제1 시점 이후의 제2 시점에, 상기 후킹을 통해 상기 제1 동적 속성의 정보를 요청하는 상기 제1 가상 환경 탐지 API의 호출이 다시 감지됨에 응답하여, 상기 제1 동적 속성에 대한 제2 분석 회피 방지용 속성 정보를 반환하는 단계; 및분석 회피 방지용 속성 정보를 반환 받은 상기 분석 대상 앱을 가상 환경에서 동적 분석하여, 상기 분석 대상 앱이 악성 행위를 실행하는지 여부를 탐지하는 단계를 포함하되,상기 제1 분석 회피 방지용 속성 정보 및 상기 제2 분석 회피 방지용 속성 정보는 상기 분석 대상 앱의 실행 환경이 가상 환경인 경우에 설정되는 상기 제1 동적 속성의 정보와 다른 정보를 갖도록 설정된 정보이고,상기 제2 분석 회피 방지용 속성 정보는 상기 제1 분석 회피 방지용 속성 정보와 다른 정보로 설정된 것인,분석 회피형 악성 앱 탐지 방법
|
2 |
2
제1 항에 있어서,상기 속성은,정적 속성을 더 포함하되,상기 정적 속성은 상기 분석 대상 앱의 실행 환경이 실제 환경인 경우 속성의 정보가 변동되지 않는 속성인,분석 회피형 악성 앱 탐지 방법
|
3 |
3
제2 항에 있어서,상기 정적 속성은,단말 ID, 전화번호 및 빌드 정보를 포함하는,분석 회피형 악성 앱 탐지 방법
|
4 |
4
제1 항에 있어서,상기 동적 속성은,주소록, 통화 이력, SMS 이력, 배터리 레벨 및 무선 신호 세기를 포함하는,분석 회피형 악성 앱 탐지 방법
|
5 |
5
삭제
|
6 |
6
제1 항에 있어서,상기 제1 동적 속성이 무선 신호 세기인 경우,상기 제1 분석 회피 방지용 속성 정보 및 상기 제2 분석 회피 방지용 속성 정보는 기 설정된 범위 내에서 랜덤(random)하게 결정된 무선 신호 세기 값으로 설정되는,분석 회피형 악성 앱 탐지 방법
|
7 |
7
제1 항에 있어서,상기 제1 동적 속성이 배터리 레벨인 경우,상기 제2 분석 회피 방지용 속성 정보는 상기 제1 분석 회피 방지용 속성 정보보다 작은 레벨 값으로 설정되고, 상기 제2 시점과 상기 제1 시점 사이의 시간 간격이 커질수록 레벨 값의 차이는 더 커지는 것인,분석 회피형 악성 앱 탐지 방법
|
8 |
8
제1 항에 있어서,상기 제1 동적 속성이 통화 이력 또는 SMS 이력인 경우,상기 제2 분석 회피 방지용 속성 정보는 상기 제1 분석 회피 방지용 속성 정보에 새로운 이력 정보가 추가된 정보로 설정되고, 상기 제2 시점과 상기 제1 시점 사이의 시간 간격이 커질수록 더 많은 이력 정보가 추가되는,분석 회피형 악성 앱 탐지 방법
|
9 |
9
제8 항에 있어서,상기 추가되는 이력 정보의 양은,상기 제1 시점과 상기 제2 시점 사이의 시간대에 따라 달라지는,분석 회피형 악성 앱 탐지 방법
|
10 |
10
제1 항에 있어서,상기 분석 대상 앱이 악성 행위를 실행하는지 여부를 탐지하는 단계는,상기 가상 환경에서 상기 분석 대상 앱에 의해 호출된 API 목록 및 API 호출 순서를 이용하여, 상기 가상 환경에서 상기 분석 대상 앱의 동작을 나타내는 제1 API 호출 그래프를 생성하는 단계; 및기 저장된 악성 앱의 API 호출 그래프와 상기 제1 API 호출 그래프를 비교하여, 상기 분석 대상 앱이 악성 행위를 실행하는지 여부를 판단하는 단계를 포함하는,분석 회피형 악성 앱 탐지 방법
|
11 |
11
제10 항에 있어서,상기 판단의 결과, 상기 분석 대상 앱이 분석 회피형 악성 행위를 실행하지 않는다고 판단된 경우, 가상 환경이 아닌 실행 환경에서 상기 분석 대상 앱을 동적 분석하여, 상기 가상 환경이 아닌 실행 환경에서 상기 분석 대상 앱의 동작을 나타내는 제2 API 호출 그래프를 획득하는 단계;상기 제1 API 호출 그래프와 상기 제2 API 호출 그래프를 비교하여, 상기 분석 대상 앱이 악성 행위를 실행하는지 여부를 판단하는 단계를 포함하는,분석 회피형 악성 앱 탐지 방법
|
12 |
12
하나 이상의 프로세서;네트워크 인터페이스;상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(Load)하는 메모리; 및상기 컴퓨터 프로그램 및 분석 회피 방지용 속성 정보를 저장하는 스토리지를 포함하되,상기 컴퓨터 프로그램은,분석 대상 앱에 의해 호출되는 가상 환경 탐지 API에 대한 후킹(hooking)을 설정하되, 상기 가상 환경 탐지 API는 상기 분석 대상 앱의 실행 환경이 가상 환경인 경우 실제 환경인 경우와 다르게 설정되는 속성의 정보를 요청하는 API이고 상기 속성은 실제 환경에서 시간에 따라 속성의 정보가 변동되는 동적 속성을 포함하는 것인, 오퍼레이션;제1 시점에, 상기 후킹을 통해 상기 가상 환경 탐지 API 중에서 제1 동적 속성의 정보를 요청하는 제1 가상 환경 탐지 API의 호출이 감지됨에 응답하여, 상기 제1 동적 속성에 대한 제1 분석 회피 방지용 속성 정보를 반환하는 오퍼레이션;상기 제1 시점 이후의 제2 시점에, 상기 후킹을 통해 상기 제1 동적 속성의 정보를 요청하는 상기 제1 가상 환경 탐지 API의 호출이 다시 감지됨에 응답하여, 상기 제1 동적 속성에 대한 제2 분석 회피 방지용 속성 정보를 반환하는 오퍼레이션; 및분석 회피 방지용 속성 정보를 반환 받은 상기 분석 대상 앱을 가상 환경에서 동적 분석하여, 상기 분석 대상 앱이 악성 행위를 실행하는지 여부를 탐지하는 오퍼레이션을 포함하되,상기 제1 분석 회피 방지용 속성 정보 및 상기 제2 분석 회피 방지용 속성 정보는 상기 분석 대상 앱의 실행 환경이 가상 환경인 경우에 설정되는 상기 제1 동적 속성의 정보와 다른 정보를 갖도록 설정된 정보이고,상기 제2 분석 회피 방지용 속성 정보는 상기 제1 분석 회피 방지용 속성 정보와 다른 정보로 설정된 것인,분석 회피형 악성 앱 탐지 장치
|
13 |
13
컴퓨팅 장치와 결합하여,분석 대상 앱에 의해 호출되는 가상 환경 탐지 API에 대한 후킹(hooking)을 설정하되, 상기 가상 환경 탐지 API는 상기 분석 대상 앱의 실행 환경이 가상 환경인 경우 실제 환경인 경우와 다르게 설정되는 속성의 정보를 요청하는 API이고 상기 속성은 실제 환경에서 시간에 따라 속성의 정보가 변동되는 동적 속성을 포함하는 것인, 단계;제1 시점에, 상기 후킹을 통해 상기 가상 환경 탐지 API 중에서 제1 동적 속성의 정보를 요청하는 제1 가상 환경 탐지 API의 호출이 감지됨에 응답하여, 상기 제1 동적 속성에 대한 제1 분석 회피 방지용 속성 정보를 반환하는 단계;상기 제1 시점 이후의 제2 시점에, 상기 후킹을 통해 상기 제1 동적 속성의 정보를 요청하는 상기 제1 가상 환경 탐지 API의 호출이 다시 감지됨에 응답하여, 상기 제1 동적 속성에 대한 제2 분석 회피 방지용 속성 정보를 반환하는 단계; 및분석 회피 방지용 속성 정보를 반환 받은 상기 분석 대상 앱을 가상 환경에서 동적 분석하여, 상기 분석 대상 앱이 악성 행위를 실행하는지 여부를 탐지하되, 상기 제1 분석 회피 방지용 속성 정보 및 상기 제2 분석 회피 방지용 속성 정보는 상기 분석 대상 앱의 실행 환경이 가상 환경인 경우에 설정되는 상기 제1 동적 속성의 정보와 다른 정보를 갖도록 설정된 정보이고, 상기 제2 분석 회피 방지용 속성 정보는 상기 제1 분석 회피 방지용 속성 정보와 다른 정보로 설정된 것인, 단계를 실행시키기 위하여 기록매체에 저장된,컴퓨터 프로그램
|