서지주요정보
가상화 기법으로 난독화된 실행 파일의 구조 및 가상화 코드 역분석 = A reverse engineering approach to identify structure and virtualized code of virtualization-obfuscated binary executables
서명 / 저자 가상화 기법으로 난독화된 실행 파일의 구조 및 가상화 코드 역분석 = A reverse engineering approach to identify structure and virtualized code of virtualization-obfuscated binary executables / 원지혜.
발행사항 [대전 : 한국과학기술원, 2015].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8027734

소장위치/청구기호

학술문화관(문화관) 보존서고

MCS 15029

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

Most of recent malware are obfuscated using technique of virtualization which inserts a custom virtual machine and virtual instructions into a target program. As the cost to prevent malware attacks increases rapidly, the analysis of virtualization-obfuscated codes becomes essential. In the past, the study based on the structure of virtual machine has been conducted. However, the existing research on recovering of the bytecode semantics needs to be improved because various obfuscation techniques remain unresolved. Furthermore, a great deal of time and effort to identify the meaning of the program are required. To resolve the virtualization-obfuscation, we propose more accurate solution in order to identify the structure and virtual code of virtualization-obfuscated binary executables based on the mixture of static and dynamic analyses. A reverse-engineering approach is adopted. First, the structure of virtual machine is extracted. The structure information includes four memory addresses such as the initialization routine, handler mapping table, the interpreter and bytecodes. Second, instructions in the codes of the interpreter and bytecode handlers are simplified by applying compiler optimization techniques repeatedly. Next, each bytecode handler is automatically executed according to the virtual program counter on our simple virtual machine emulator. This emulator keeps the records of the execution context including virtual registers. Finally, the combination of executed bytecodes is translated into intermediate representations by the predefined translation rules. We introduce a deobfuscation method for virtualization-obfuscated executable. We implemented OllyDbg plugins in order to perform the reverse engineer process for binary executables which are virtually obfuscated by the commercial tool, Code Virtualizer. As a result, the plugins produce the intermediate representation close to the meaning of the original program. Moreover, we reduce the reverse-engineering process for virtualization-obfuscated executables. However, the proposed solution is effective when the structure and the instruction set architecture of virtual machine satisfy strong constraints: the virtualization-obfuscated executable has only one stack-based virtual machine for CISC processor. For the next step, we need the optimization of the intermediate representation and the translation into x86 assembly code.

최근에 등장하는 대부분의 악성 프로그램은 임의의 가상 머신과 해당 머신에서 실행할 수 있는 가상 명령어를 프로그램 내부에 삽입하는 가상화 기법을 이용하여 난독화 되어 있다. 악성 프로그램 공격에 대처하기 위한 비용이 급격히 증가하고 있기 때문에, 가상화로 난독화된 코드를 분석하는 일은 필수적이다. 과거에는 상용 난독화 도구가 사용하는 임의의 가상 머신의 구조 기반으로 연구가 진행됐다. 그러나 프로그램에 여러 난독화 기법이 적용되어 분석이 어렵기 때문에 가상화 바이트코드 의미 복구에 대한 기존 연구를 개선해야 한다. 그뿐만 아니라 난독화된 프로그램의 의미를 알아내기 위해서는 많은 노력과 시간이 필요하다. 따라서 우리는 정적 및 동적 분석 방법을 사용하여 가상화로 난독화된 실행 파일의 구조와 가상화 코드를 정확하게 알아내는 방법을 제안하고자 한다. 난독화된 실행 파일을 역분석 하려는 방법은 다음과 같다. 먼저, 가상 머신의 구조 정보를 추출한다. 구조 정보는 초기화 루틴, 핸들러 매핑 테이블, 그리고 바이트코드 인터프리터 4개의 메모리 주소 값을 가진다. 둘째, 인터프리터와 바이트코드 핸들러의 명령어를 컴파일러 최적화 기법을 반복 적용하여 간략화한다. 다음으로, 바이트코드는 자동으로 간단한 가상 머신 에뮬레이터에 의해 실행된다. 에뮬레이터는 가상 레지스터의 값을 포함하는 실행 흐름을 기록한다. 마지막으로, 실제 실행되는 바이트코드의 조합이 변환 규칙에 의해 중간 언어 명령어로 변환된다. 우리는 가상화 기법을 이용하여 난독화된 실행 파일에 대한 난독화 해제 방법을 소개한다. 우리는 상용 난독화 도구인 Code Virtualizer에 의해서 난독화된 실행 파일을 역분석하기 위해서 올리디버거 플러그인을 구현하였다. 결과적으로, 개발한 플러그인은 원본 프로그램의 의미와 비슷한 중간 언어 코드를 생성하였다. 또한, 플러그인은 가상화로 난독화된 실행 파일에 대한 역공학 과정을 줄였다. 하지만 제안한 해결 방법은 가상 머신의 구조와 명령어 집합 구조가 특정 조건을 만족할 때 효과적이다. 예를 들어, 가상화로 난독화된 실행 파일은 하나의 스택 기반 CISC 가상 머신을 가지고 있어야 한다. 추후 연구로는 중간 언어 코드의 최적화와 x86 어셈블리 코드로 변환하는 일이 남아 있다.

서지기타정보

서지기타정보
청구기호 {MCS 15029
형태사항 v, 39 p. : 삽화 ; 30 cm
언어 한국어
일반주기 저자명의 영문표기 : Ji Hye Won
지도교수의 한글표기 : 한태숙
지도교수의 영문표기 : Tai Sook Han
부록 수록
학위논문 학위논문(석사) - 한국과학기술원 : 전산학과,
서지주기 참고문헌 : p.
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서