Abstract
Runtime Intrusion Prevention Evaluator (RIPE), published in 2011, is a benchmark suite for evaluating mitigation techniques against 850 attack patterns using only buffer overflow. Since RIPE is built as a single process, defense and attack routines cannot help sharing process states and address space layouts when RIPE is tested. As a result, attack routines can access the memory space for defense routines without restriction. We separate RIPE into two independent processes of defense and attacks so that mitigations based on confidentiality such as address space layout randomization are properly evaluated. In addition, we add an execution mode to test robustness against brute force attacks. Finally, we extend RIPE by adding 38 attack forms to perform format string attacks and virtual table (vtable) hijacking attacks. The revised RIPE contributes to the diversification of attack patterns and precise evaluation of the effectiveness of mitigations.
2011년에 발표된 RIPE는 프로그램 공격에 대한 완화 기법 평가 도구로서 850 가지 패턴의 버퍼 오버플로우 기반 공격에 대한 완화 기법만을 평가한다. RIPE는 공격과 방어 루틴이 하나의 프로세스로 실행되도록 구성되어, RIPE가 실행될 때에는 공격과 방어 루틴이 프로세스 상태와 주소 공간 배치를 공유할 수밖에 없게 된다. 그 결과 공격 루틴은 방어 루틴의 메모리 공간을 아무런 제약 없이 접근할 수 있게 된다. 이 논문에서는 RIPE의 공격과 방어 루틴이 독립적인 2개의 프로세스로 동작하도록 하여 주소 공간 배치 난독화와 같은 기밀성에 근거한 방어 기법을 정확히 평가할 수 있도록 개선하였다. 또한 억지 공격에 대한 방어 능력을 실험할 수 있도록 실행 모드를 추가하였다. 마지막으로 vtable 포인터 공격과 형식문자열 공격을 수행하도록 38 가지 패턴의 공격을 추가하여 확장하였다. 개선 결과 공격 패턴이 다양하게 되었고, 보호 효과 평가의 정확성도 높아졌다.