서지주요정보
이중 Just-In-Time 컴파일을 통한 플랫폼 독립적 에뮬레이터 설계 = Design of a platform-independent emulator using dual Just-In-Time compilation
서명 / 저자 이중 Just-In-Time 컴파일을 통한 플랫폼 독립적 에뮬레이터 설계 = Design of a platform-independent emulator using dual Just-In-Time compilation / 김영훈.
발행사항 [대전 : 한국과학기술원, 2023].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8041363

소장위치/청구기호

학술문화관(도서관)2층 학위논문

MIS 23015

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

Despite the availability of various dynamic binary analysis frameworks, developing complex binary analyses such as dynamic taint analysis or dynamic symbolic execution remains challenging. The challenges arise from several factors. Firstly, the intermediate representations (IRs) used in existing frameworks do not accurately represent instruction semantics. For example, in QEMU, the semantics of certain instructions are expressed through external function calls rather than solely within the IR. Secondly, many frameworks are limited to Linux environments, making them platform-dependent. Thirdly, implementing dynamic binary analysis using existing frameworks incurs significant costs. This is because the primary focus of the IRs in these frameworks is on program execution rather than providing concise syntax suitable for binary analysis. In this thesis, we propose BRemu, a platform-independent emulator that utilizes a concise IR capable of expressing precise semantics. BRemu performs emulation in a platform-independent runtime through a dual Just-In-Time (JIT) compilation. This involves translating the IR to another IR and further compiling it into machine code. Benchmarking BRemu against existing frameworks using NBench and SPEC CPU 2017 shows its suitability for dynamic binary analysis, albeit with slower performance (2.4x slower than QEMU in NBench and 5.4x slower in SPEC CPU 201) still sufficient for effective analysis.

다양한 동적 바이너리 분석 프레임워크가 존재해왔지만 동적 오염 분석이나 동적 기호 실행 등 복잡한 동적 바이너리 분석기를 작성하는 것은 여전히 쉽지 않다. 첫째, 기존 프레임워크에서 사용하고 있는 중간 언어는 명령어의 시맨틱을 정밀하게 표현하지 않기 때문이다. 예를 들어 QEMU의 경우 일부 명령어의 시맨틱을 순전히 중간 언어로만 표현하지 않고 외부 함수 호출을 통해 처리한다. 둘째, 많은 프레임워크가 오직 리눅스 환경에서만 동작하는 등 플랫폼에 종속적이다. 셋째, 기존 프레임워크는 바이너리 동적 분석을 구현하기 위한 비용이 크다. 왜냐하면 기존 프레임워크의 중간 언어는 프로그램의 실행에만 초점이 맞춰져 있어 중간 언어 자체가 간결하지 않기 때문이다. 이러한 문제점들을 해결하기 위해 우리는 간결하면서도 시맨틱을 정밀하게 표현하는 중간 언어를 사용하는 플랫폼 독립적 에뮬레이터인 BRemu를 제안한다. BRemu는 중간 언어를 다른 중간 언어로 변환하고, 이를 다시 기계어로 변환하는 이중 Just-In-Time (JIT) 컴파일을 통해 플랫폼 독립적인 런타임에서의 에뮬레이션을 효과적으로 수행한다. NBench, SPEC 2017 벤치마크를 사 용하여 BRemu와 기존 프레임워크의 성능을 비교한 결과 QEMU에 비해 NBench 벤치마크 기준 약 2.4배, SPEC CPU 2017 벤치마크 기준 5.4배 느린 성능을 보여주었다.

서지기타정보

서지기타정보
청구기호 {MIS 23015
형태사항 iv, 24 p. : 삽도 ; 30 cm
언어 한국어
일반주기 저자명의 영문표기 : Yeonghun Kim
지도교수의 한글표기 : 차상길
지도교수의 영문표기 : Sang Kil Cha
부록 수록
학위논문 학위논문(석사) - 한국과학기술원 : 정보보호대학원,
서지주기 참고문헌 : p. 23-24
주제 동적 바이너리 분석
에뮬레이션
중간 언어
Just-In-Time 컴파일
Dynamic binary analysis
Emulation
IR
Just-In-Time compilation
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서