요즘 보안쪽 논문을 보면, 생각했던것과 많이 달라 이쪽 대학원을 가야하나 말아야하나 망설여지지만, 그중 이 논문은 가장 괜찮았다.
Smashing the Gadgets: Hindering Return-Oriented Programming Using In-Place Code Randomization
ROP gadget을 없애는 방법을 제시하고있는데, 그중 가장 기억에 남는건 첫번째 방법인 Atomic Instruction Substitution이다.
linux계열을 ROP로 공격할땐, 별로 소용이 없을것 같긴 하지만,
windows계열에서는 꽤나 도움이 될듯하다.
이 논문에서 예를 든건
cmp al,bl 과 같은것들을 cmp bl,al로 바꿈으로써, ret(C3)를 없앤다는 내용이다.
의미상으로는 전혀 다른게 없지만, ret이 없어짐으로써 가젯으로는 소용이 없어졌다.
속도상의 손해도 거의 없을것 같다.
사실 이방법만으로는 가젯파괴가 많이 힘들지도 모르지만,
단순한 아이디어치고는 상당히 괜찮은것 같다.
'Computer Security > System' 카테고리의 다른 글
CVE-2013-2094 리눅스 로컬권한상승 취약점 (7) | 2013.08.06 |
---|---|
Race Condition one-shot exploit (1) | 2013.08.02 |
시스템함수를 통한 리버스텔넷 (추가) (1) | 2013.07.11 |
libc 주소 randomization 해제 트릭 (1) | 2013.05.29 |
리버스쉘과 바인드쉘이 안될때 대처법 (dup2+/bin/sh) (0) | 2013.04.22 |