검색 상세

RNN을 이용한 코드 재사용 공격 탐지 방법 연구

초록/요약

코드 재사용 공격은 프로그램 메모리상에 존재하는 실행 가능한 코드 조각을 조합하고, 이를 연속적으로 실행함으로써 메모리 영역에 직접 코드를 주입하지 않고도 임의의 코드를 실행시킬 수 있는 공격 기법을 말한다. 코드 재사용 공격은 스택 메모리 영역이나 힙 메모리 영역에서 코드가 실행되지 못하게 막는 , DEP(Data Execution Prevention) 기법을 우회할 수 있다. 이를 통해 시스템의 관리자 권한을 획득할 수 있기 때문에 공격에 대한 위험성이 크다고 할 수 있다. 이러한 코드 재사용 공격의 대표적인 종류로는 ROP(Return-Oriented Programming) 공격이 있으며, ROP 공격에 대응하기 위한 여러 가지 방어 기법들이 제시되어왔다. 기존에 제시된 방법들은 ROP 공격에서 발견할 수 있는 특징을 이용하여 탐지 규칙을 지정하는 Rule-base 방식의 알고리즘을 사용하였다. 그러나 위와 같은 방법은 탐지 규칙에 해당하지 않는 ROP 공격에 대해선 전혀 탐지가 되지 않는다는 한계점이 존재한다. 따라서 본 논문에서는 딥 러닝(Deep Learning)을 이용하여 ROP 공격을 탐지하는 방법을 제시한다. 특히 시퀀스 데이터 학습에 적합한 인공 신경망 모델인 RNN(Recurrent Neural Network)을 사용하여 명령어 시퀀스의 패턴을 학습하고, 이를 ROP 공격 탐지에 활용한다. 또한 텐서플로우(Tensorflow)와 DBI(Dynamic Binary Instrumentation) 도구를 활용한 실험을 통해 제안한 방법이 효과적으로 ROP 공격을 탐지하고 Rule-base 탐지 방법의 한계점을 해결함을 보인다.

more

초록/요약

A code reuse attack is an attack technique that can execute arbitrary code without injecting code directly into the stack by combining executable code fragments existing in program memory and executing them continuously. Code reuse attack can bypass and DEP(Data Execution Prevention) techniques that prevent code from executing in the stack and heap memory area. It can be said that the risk of attack is high because it can acquire the administrator authority of the system through this. ROP(Return-Oriented Programming) attack is typical type of code reuse attack and several defense techniques have been proposed to deal with this. The existing methods use a rule-based algorithm that specifies detection rules using features that can be found in ROP attacks. However, there is a limitation that the above method does not detect any ROP attacks that do not correspond to the detection rules. In this paper, we propose a method to detect ROP attacks using Deep Learning. In particular, we use RNN(Recurrent Neural Network), which is an artificial neural network model suitable for learning sequence data, to learn pattern of command sequence and use it for ROP attack detection. Experiments using Tensorflow and DBI (Dynamic Binary Instrumentation) tools show that the proposed method efficiently detects ROP attacks and solves the limitations of the rule-base detection method.

more

목차

1. 서론 1
2. 관련 연구 4
2-1. Return-Oriented Programming 4
2-2. ROP 공격에 대한 기존 방어 기법 6
2-3. Recurrent Neurak Network 7
2-4. Long Short-Term Memory 10
3. 제안하는 방법론 13
3-1. ROP 공격 탐지 개요 13
3-2. RNN의 입력 14
3-3. ROP 공격 탐지에 사용되는 RNN 구조15
3-4. RNN의 학습 16
3-5. ROP 공격 탐지 17
4. 실험 및 평가 18
4-1. 실험 환경 18
4-2. 정상 및 공격 데이터 18
4-3. 샘플링을 통한 추가 학습 데이터 확보 19
4-4. 탐지 성능 실험 22
5. 결론 24

more