[논문 리뷰] ROPNN: Detection of ROP Payloads Using Deep Neural Networks
ROPNN는 주소 공간 레이아웃(ASL) 기반 디어셈블리와 컨volutional 신경망(CNN)을 결합하여 ROP 패킷을 탐지하는 딥러닝 기반의 침입 탐지 시스템이다. 악성 또는 양성으로 간주되는 가젯 체인을 분류함으로써 99.3%의 탐지율과 0.01%의 거짓 양성률을 기록하며 런타임 오버헤드가 전혀 없어 실세계 구현에 매우 효과적이고 실용적이다.
Return-oriented programming (ROP) is a code reuse attack that chains short snippets of existing code to perform arbitrary operations on target machines. Existing detection methods against ROP exhibit unsatisfactory detection accuracy and/or have high runtime overhead. In this paper, we present ROPNN, which innovatively combines address space layout guided disassembly and deep neural networks to detect ROP payloads. The disassembler treats application input data as code pointers and aims to find any potential gadget chains, which are then classified by a deep neural network as benign or malicious. Our experiments show that ROPNN has high detection rate (99.3%) and a very low false positive rate (0.01%). ROPNN successfully detects all of the 100 real-world ROP exploits that are collected in-the-wild, created manually or created by ROP exploit generation tools. Additionally, ROPNN detects all 10 ROP exploits that can bypass Bin-CFI. ROPNN is non-intrusive and does not incur any runtime overhead to the protected program.
연구 동기 및 목표
- 높은 탐지 정확도, 낮은 거짓 양성률, 낮은 런타임 오버헤드, 최소한의 프로그램 수정 요구 조건을 충족하지 못하는 기존 ROP 탐지 방법의 한계를 해결한다.
- 허각 기반, 시그니처 기반, CFI, 통계 기반 탐지 방법이 가지는 회피 가능성, 높은 오버헤드, 투명성 부족 등의 단점을 극복한다.
- 생산 환경에 배포 가능한 고정확도이자 비침습적인 탐지 시스템을 개발한다. 보호 대상 프로그램의 수정 없이도 작동한다.
- 수동적인 특징 공학이나 임계값 조정 없이도 엔드 투 엔드로 가젯 체인을 분류할 수 있도록 딥러닝을 활용한다.
- 현대적인 방어 기법인 ASLR과 암호화된 트래픽 환경에서도 작동 가능하도록 네트워크 스택에 전략적으로 배치함으로써 호환성을 확보한다.
제안 방법
- 응용 프로그램의 입력 데이터를 코드 포인터로 간주하고 ASL 기반 디어셈블리를 사용하여 네트워크 트래픽에서 잠재적 가젯 체인을 추출한다.
- ‘ret’ 명령어로 끝나는 시퀀스를 가젯 후보로 식별하는 디어셈블러를 구축하여, 데이터 영역에 포함된 경우에도 작동하도록 한다.
- 추출한 가젯 체인을 딥 컨volution 신경망(CNN)에 입력하여 '악성 ROP 패킷' 또는 '양성 데이터'로 이진 분류한다.
- 수동적인 특징 공학이나 임계값 설정 없이 최소한의 사전 처리된 데이터를 사용하여 CNN를 엔드 투 엔드로 훈련시킨다.
- 보호 대상 프로그램과 독립적으로 작동하는 별도의 네트워크 IDS로 ROPNN를 배포하여 런타임 오버헤드가 전혀 없고 대상 환경의 변경이 필요 없도록 한다.
- 디어셈블리와 동적 메모리 스냅샷 업데이트를 병렬 처리하여 ASLR 환경에서도 정확도를 유지하고 고속 트래픽(665 Mb/s)을 지원한다.
실험 결과
연구 질문
- RQ1딥 뉴럴 네트워크는 높은 정확도와 낮은 거짓 양성률로 ROP 패킷을 효과적으로 탐지하는 데에 적용될 수 있는가?
- RQ2보호 대상 프로그램이나 실행 환경의 수정 없이도 비침습적이고 런타임 오버헤드가 없는 탐지 시스템을 구축할 수 있는가?
- RQ3코드 레이아웃에 대한 사전 지식 없이도 ASL 기반 디어셈블리 접근법이 네트워크 입력 데이터에서 잠재적 가젯 체인을 얼마나 효과적으로 식별하는가?
- RQ4ROPNN은 수동으로 제작된 것과 자동 생성된 ROP 악성코드를 모두 탐지할 수 있는가? 특히 Bin-CFI를 우회하는 악성코드도 포함하여 탐지 가능한가?
- RQ5암호화된 트래픽과 ASLR와 같은 동적 메모리 레이아웃을 포함한 실제 환경 조건에서 ROPNN의 성능은 어떠한가?
주요 결과
- ROPNN는 실제 세계에서 수집한 100개의 ROP 악성코드에 대해 99.3%의 탐지율을 기록했으며, 수동으로 제작되거나 ROP 생성 도구를 통해 생성된 악성코드를 포함한다.
- 매우 낮은 거짓 양성률 0.01%를 기록하여 악성 패킷과 양성 데이터를 정밀하게 구분함을 보여주며 높은 정밀도를 입증한다.
- Bin-CFI를 우회하는 데 목적이 있는 10개의 ROP 악성코드를 모두 탐지하여 고도로 발전한 회피 기법에 대한 강력한 저항성을 보였다.
- 디어셈블러는 665 Mb/s의 처리 속도를 기록했으며, CNN는 1초에 27,000개의 잠재적 가젯 체인을 분류할 수 있었고, 평균적으로 1초에 13개 정도만 분류기로 전달되었다.
- 보호 대상 프로그램에 런타임 오버헤드가 전혀 없으며, 별도로 배포 가능하여 투명하고 비침습적인 시스템임을 입증했다.
- ROPNN는 주소가 아닌 명령어 수준의 특징을 사용하기 때문에 ASLR 환경에서도 효과적이며, 프로그램 재시작 시 동적으로 메모리 스냅샷을 업데이트함으로써 지속적인 탐지 성능을 유지를 한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.