Home > 열린광장 > 열린광장 > 세미나공지
제목 [세미나]Themida 및 VMProtect 언팩킹 분석 세미나
작성자 대학원담당 작성일 2017-11-29


- 제목 : [세미나]Themida 및 VMProtect 언팩킹 분석 세미나




- 연사 : 최석우 박사님 (국가보안기술연구소)




- 일시 : 12월1일 금요일 오후 1시




- 장소 : 산학협력관 85777




- 내용 :  Themida와 VMProtect를 분석하기 위한 방법을 소개한다. Themida와 VMProtect는 Anti-debugging, API 난독화, 가상화 기법 등을 통해 분석을 방해하고 있다. 이를 분석하기 위해서 패턴 검색을 이용한 언팩 스크립트가 소개 되었으나 패커 업데이트에 의해 잘 동작하지 않는다. 패커들이 실행 과정에서 임의성을 도입하고 있기 때문이다. 이를 해결하기 위해서 OEP를 탐지하고 API 난독화 해독을 이용하는 메모리 접근 기반의 분석 방법을 제안하였다. OEP 탐지는 일반적인 패커에서 원본 프로그램을 원래의 위치에 풀고 그 위치를 실행하는 성질을 이용한다. Themida나 VMProtect도 이와 같은 방식을 이용하기 때문에 OEP를 탐지할 수 있다. OEP 탐지 후에는 난독화 된 API 함수 호출을 복원해야 한다. Themida와 VMProtect에서 API 함수 호출은 CALL/JMP 또는 PUSH/RET 명령과 가비지 명령을 통해 난독화 되어 있다. 이 패턴을 검색한 후 원래의 API를 호출하는 명령으로 복원 해야 한다. Themida x86은 API 함수 코드 자체에 대한 실시간 난독화를 하므로 함수 읽기와 쓰기를 매칭 시켜 원래의 함수를 찾을 수 있다. Themida x64와 VMProtect는 대부분 CALL/JMP 명령어만을 난독화 하고 있기 때문에 실행 흐름을 따라가면 API 함수를 발견할 수 있다. 일부 함수에 대해서는 가상화를 하기 때문에 완전한 복원은 수동으로 해야 한다. OEP 탐지와 API 난독화 해독을 통해 Themida와 VMProtect가 분석 가능한 수준 까지 디버깅과 정적 분석이 가능하다. 이 방법은 디버거만을 이용하게 되면 안티 디버깅에 의해 방해를 받기 때문에 Pin을 이용하여 안티 디버깅을 우회 해야 한다.