Publications

Detailed Information

ActiMon: SoC FPGA 장치를 활용한 활성 함수 리스트 기반 ROP/JOP 통합 탐지 : ActiMon: Unified JOP and ROP Detection with Active Function Lists on an SoC FPGA

Cited 0 time in Web of Science Cited 0 time in Scopus
Authors

양명훈

Advisor
백윤흥
Major
공과대학 전기·정보공학부
Issue Date
2019-02
Publisher
서울대학교 대학원
Description
학위논문 (석사)-- 서울대학교 대학원 : 공과대학 전기·정보공학부, 2019. 2. 백윤흥.
Abstract
임베디드 시스템에서 널리 쓰이는 프로그래밍 언어인 C/C++의 문제점 중 하나는 메모리 오버플로우 취약점을 활용한 코드 재사용 공격이 가능하다는 점이다. 이로 인해 공격자는 프로그램의 제어 흐름을 조작함으로써 소프트웨어 개발자가 의도하지 않은 동작을 일으킬 수 있다. 코드 재사용 공격을 막기 위한 방법으로는 제어 흐름 무결성 검증 방법이 가장 대표적이며, 이를 구현하기 위한 다양한 접근법들이 제시되어 왔다. 현재까지 제시된 여러 제어 흐름 무결성 솔루션들 중에서, 소프트웨어 기반 솔루션은 상당한 런타임 오버헤드가 발생한다는 단점이 있으며, 하드웨어 기반 접근법은 오버헤드는 많이 줄어든다는 이점과 동시에, ASIC 설계를 요구하기 때문에 솔루션 탑재에 많은 시간이 소요될 뿐 아니라 초기 개발 비용도 증가된다는 단점이 있다.
이 논문에서는 오버헤드 감소라는 이점을 갖는 하드웨어 기반 솔루션을 채택하면서도 ASIC 설계로 인해 발생하는 단점들을 보완하기 위한 방법으로, FPGA를 활용한 제어 흐름 무결성 검증 방법을 제안한다. 그러나 FPGA는 태생적으로 CPU에 비해 속도가 현저히 느리므로, ASIC 설계가 필요한 기존의 하드웨어 기반 솔루션을 FPGA에 그대로 적용하는데 어려움이 있다. 이를 해결하기 위한 방안으로 바이너리 계측 도구를 활용하여 공격 탐지에 필요한 정보만을 탐지 하드웨어가 전달받을 수 있도록 하였다. 또한, 탐지 하드웨어는 활성 함수 리스트를 기반으로 동시에 여러 정보들이 처리될 수 있도록 하여 속도가 느린 FPGA에서도 CRA 탐지가 충분히 가능하도록 설계하였다.
본 논문의 실험장에서는 FPGA를 활용한 솔루션이 소프트웨어 기반 솔루션과 비교하여 코드 사이즈 및 성능 오버헤드가 줄어들었음을 보이고 있으며, 상용 SoC FPGA 장치를 활용하여 프로그램 동작 중에 발생한 ROP와 JOP 공격들이 성공적으로 탐지되고 있음을 보이고 있다.
One of the problems with C / C ++, a widely used programming language in embedded systems, is that it has a memory overflow vulnerability that can lead to code reuse attacks. This allows the attacker to manipulate the control flow of the program, causing malicious behaviors unintentionally. As a method to prevent this attack, Control-Flow Integrity(CFI) enforcement is the most powerful technique and there have been various approaches for implementing this technique. Among these approaches, the software-based approach leads to substantial run-time overhead and the hardware-based approach requires ASIC solutions which generally suffer from very high Entry-barrier in terms of manufacturing time and non-recurring cost.
To overcome the disadvantages of the existing solutions, this paper proposes a CFI enforcement using FPGA. However, since FPGAs are inherently slower than the host processors, it is difficult to directly adopt the existing hardware-based solutions requiring ASIC design to FPGAs. In order to solve this problem, our solution utilizes the binary measurement tool that allows the information necessary for attack detection to be selectively extracted. Furthermore, the detection hardware manages Active Function List to process multiple information simultaneously, complementing the limitation of slower FPGAs compared to CPUs.
Experimental results show that this solution reduces code size and performance overhead compared to the software-based solution and ROP/JOP attack are successfully detected using a commercial SoC FPGA device.
Language
kor
URI
https://hdl.handle.net/10371/150739
Files in This Item:
Appears in Collections:

Altmetrics

Item View & Download Count

  • mendeley

Items in S-Space are protected by copyright, with all rights reserved, unless otherwise indicated.

Share