[논문 리뷰] Analyzing the Gadgets Towards a Metric to Measure Gadget Quality
이 논문은 ROP 기반 공격과 같은 코드 재사용 공격을 위한 표준화된 평가 기준 부족 문제를 해결하기 위해 바이너리 코드 내 기기 품질을 평가하기 위한 네 가지 새로운 메트릭을 제안한다. 인텔 MPX 보호 기반 바이너리에 적용한 결과, 유용한 기기 수가 17% 증가함을 확인하여, 보안 목적을 가진 MPX가 오히려 악용 가능성 증가를 초래할 수 있음을 시사한다.
Current low-level exploits often rely on code-reuse, whereby short sections of code (gadgets) are chained together into a coherent exploit that can be executed without the need to inject any code. Several protection mechanisms attempt to eliminate this attack vector by applying code transformations to reduce the number of available gadgets. Nevertheless, it has emerged that the residual gadgets can still be sufficient to conduct a successful attack. Crucially, the lack of a common metric for "gadget quality" hinders the effective comparison of current mitigations. This work proposes four metrics that assign scores to a set of gadgets, measuring quality, usefulness, and practicality. We apply these metrics to binaries produced when compiling programs for architectures implementing Intel's recent MPX CPU extensions. Our results demonstrate a 17% increase in useful gadgets in MPX binaries, and a decrease in side-effects and preconditions, making them better suited for ROP attacks.
연구 동기 및 목표
- ROP 기반 공격을 위한 바이너리 코드 내 기기 품질 평가를 위한 표준화된 메트릭 부족 문제를 해결하기 위해.
- 컴파일러 최적화나 악용 방지 기법과 같은 바이너리 변환의 보안 영향을 비교할 수 있도록 하기 위해.
- 인텔의 MPX와 같은 보안 기법이 실제로 공격 표면을 줄이거나 증가시키는지, 기기 품질 변화를 통해 평가하기 위해.
- 다양한 악용 시나리오에서 기기 사용 가능성을 평가할 수 있는 실용적이고 도구 기반의 프레임워크를 제공하기 위해.
- 기존 메트릭이 기기 수 감소에만 초점이 맞춰져 있어 실제 악용 가능성 평가에 부적합하다는 것을 입증하기 위해.
제안 방법
- 실제 악용 시나리오(임의의 코드 실행, 정보 泄露) 기반의 두 메트릭과 일반 목적 메트릭(기기 다양성 및 사용성)을 포함한 네 가지 메트릭을 정의하여 기기 품질을 평가한다.
- 실제 악용 개발 과제를 반영하기 위해 기준 조건, 부작용, 명령어 수 등의 핵심 악용 특성 평가를 위한 메트릭을 설계한다.
- 기기 품질 분석을 위한 오픈소스 도구인 GaLity에 메트릭을 구현하여 바이너리 집합에 대한 자동화된 분석을 지원한다.
- 인텔의 MPX(Memory Protection Extensions)로 컴파일된 바이너리를 대상으로 사례 연구를 수행하여, 8개의 대표적인 x64 윈도우 바이너리 간 기기 집합을 비교한다.
- 정적 분석을 통해 기기를 추출하고, 레지스터 유지 조건 및 제어 흐름 무결성 검사를 포함한 악용 관련성 기반 점수를 매긴다.
- 정의된 메트릭을 사용하여 MPX 기반 바이너리와 비-MPX 대비 기기 품질 변화를 정량화한다.
실험 결과
연구 질문
- RQ1기존의 기기 수 감소를 위한 메트릭은 남아 있는 기기의 진정한 악용 가능성은 얼마나 잘못 반영하는가?
- RQ2악용 방지 기법과 같은 바이너리 변환이 가용 기기의 품질과 실용성에 어떤 영향을 미치는가?
- RQ3버퍼 오버플로우를 방지하기 위해 의도된 인텔의 MPX는 실제로 사용 가능한 ROP 기수와 품질을 증가시키는가?
- RQ4단순한 수치 감소를 넘어서 실제 악용 잠재력 반영이 가능한 표준화된 다차원 메트릭이 가능한가?
- RQ5특정 악용 시나리오(예: 임의의 코드 실행, 정보 泄露)는 기기 품질 평가에 어떤 영향을 미치는가?
주요 결과
- MPX 기반 바이너리에서 비-MPX 바이너리 대비 유용한 기기 수가 17% 증가하여 공격 표면이 명백히 증가함을 확인하였다.
- MPX 바이너리 내 기기들은 부작용이 감소하고 전제 조건이 줄어들어, 보안 목적과는 반대로 ROP 체이닝에 더 실용적으로 활용 가능하다.
- 기존 메트릭인 DAIR(Dynamic Average Indirect Target Reduction)는 기기 품질이나 사용성 요소를 고려하지 않아 부적합함을 드러냈다.
- MPX는 간접 점프 수를 줄이지만, 남아 있는 기기들은 수정되지 않은 바이너리 대비 품질이 높고 악용에 더 적합하다.
- 일부 보안 기법이 기기 품질 향상으로 인해 의도치 않게 보안을 악화시킬 수 있음을 시사하며, 품질 인식 평가의 필요성을 강조한다.
- 구현된 도구인 GaLity는 다양한 바이너리 및 변환 기법에 걸쳐 기기 집합의 자동화되고 재현 가능한 평가를 가능하게 한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.