1 |
1
모바일 플랫폼의 달빅가상머신(Dalvik Virtual Machine)에 접근하여 상기 모바일 플랫폼의 버전정보를 검출하고, 상기 버전정보를 참고로 상기 달빅가상머신 내 전역변수의 주소값을 포인터변수에 저장하고, 상기 포인터변수를 참고로 상기 전역변수의 필드 값을 획득하고 제어 명령에 따라 해당 전역변수의 필드 값을 변조하는 달빅가상머신 어댑터;상기 달빅가상머신 어댑터를 통해 상기 전역변수 중 디버거 관련 전역변수의 필드 값을 전달받아 상기 달빅가상머신과 외부 디버거 간 연결 유무를 판단하고 판단 결과에 따라 상기 외부 디버거의 연결을 해제시키는 디버거탐지모듈;상기 전역변수 중 통신 관련 전역변수의 필드 값을 변조하기 위한 제어 명령을 생성하여 상기 달빅가상머신 어댑터에 전달하는 전송제어모듈; 및상기 전역변수 중 상기 외부 디버거가 사용하는 브레이크포인트 관련 전역변수의 필드 값을 변조하기 위한 제어 명령을 생성하여 상기 달빅가상머신 어댑터에 전달하는 브레이크포인트방지모듈을 포함하는 모바일 플랫폼 동적 분석 방지 장치
|
2 |
2
제1항에 있어서, 상기 달빅가상머신 어댑터는,전역변수 호출함수를 통해 접근하기 위한 전역변수를 호출하고, 상기 포인터변수에 저장된 주소값을 참고하여 제어 명령에 따라 해당 전역변수의 필드 값을 변조하는 모바일 플랫폼 동적 분석 방지 장치
|
3 |
3
제1항에 있어서, 상기 디버거탐지모듈은, 상기 달빅가상머신과 외부 디버거 간 연결이 감지되면, 상기 달빅가상머신 내 스레드(thread)와 상기 외부 디버거 간 커뮤니케이션을 제공하는 인터페이스를 통해 상기 외부 디버거의 연결을 해제시키는 모바일 플랫폼 동적 분석 방지 장치
|
4 |
4
제1항에 있어서,상기 제어 명령은,해당 전역변수의 필드 값을 변조하여 상기 외부 디버거의 연결을 해제시키기 위한 제어 명령인 모바일 플랫폼 동적 분석 방지 장치
|
5 |
5
제1항에 있어서, 상기 달빅가상머신은 안드로이드 플랫폼 내에서 실행되고, 상기 외부 디버거는 JDWP(Java Debug Wire Protocol)를 이용하여 어플리케이션을 디버깅하는 디버거인 모바일 플랫폼 동적 분석 방지 장치
|
6 |
6
모바일 플랫폼 동적 분석 방지 장치를 이용한 분석 방지 방법에 있어서,상기 모바일 플랫폼의 달빅가상머신(Dalvik Virtual Machine)에 접근하여 상기 모바일 플랫폼의 버전정보를 검출하는 단계;상기 버전정보를 참고로 상기 달빅가상머신 내 전역변수의 주소값을 포인터변수에 저장하는 단계;상기 주소값을 참고하여 상기 전역변수 중 디버거 관련 전역변수의 필드 값을 전달받아 상기 달빅가상머신과 외부 디버거 간 연결 유무를 판단하는 단계;상기 판단 결과 상기 달빅가상머신과 외부 디버거 간 연결이 감지되면, 상기 외부 디버거의 연결을 해제시키는 단계; 및상기 외부 디버거의 연결이 해제되면, 상기 전역변수 중 통신 및 상기 외부 디버거가 사용하는 브레이크포인트 관련 전역변수의 필드 값을 변조하는 단계를 포함하는 모바일 플랫폼 동적 분석 방지 방법
|
7 |
7
제6항에 있어서,상기 전역변수의 필드 값을 변조하는 단계는,전역변수 호출함수를 통해 접근하기 위한 전역변수를 호출하고, 상기 포인터변수에 저장된 주소값을 참고하여 해당 전역변수의 필드 값을 변조하는 모바일 플랫폼 동적 분석 방지 방법
|
8 |
8
제6항에 있어서,상기 외부 디버거의 연결을 해제시키는 단계는, 상기 달빅가상머신 내 스레드(thread)와 상기 외부 디버거 간 커뮤니케이션을 제공하는 인터페이스를 통해 상기 외부 디버거의 연결을 해제시키는 모바일 플랫폼 동적 분석 방지 방법
|
9 |
9
제6항에 있어서,상기 외부 디버거의 통신 요청이 감지 되지 않으면, 상기 모바일 플랫폼의 어플리케이션을 실행하는 단계를 더 포함하는 모바일 플랫폼 동적 분석 방지 방법
|
10 |
10
제6항에 있어서,상기 달빅가상머신은 안드로이드 플랫폼 내에서 실행되고, 상기 외부 디버거는 JDWP(Java Debug Wire Protocol)를 이용하여 어플리케이션을 디버깅하는 디버거인 모바일 플랫폼 동적 분석 방지 방법
|