Control Flow Protection Against Return Oriented Attacks
Resumo
Recent ROP (Return Oriented Programming) attacks are characterized by evading traditional protection methods, encouraging the scientific community to seek for a reliable and practical security solution. This work presents a novel technique based on control flow protection, and with a low overhead, making it suitable for constrained architectures in terms of processing, storage and energy. A prototype of the protection technique was developed and tested for ARM-Linux environment. The results show that our solution is effective and capable of preventing such ROP attacks with negligible overhead.
Referências
Alhazmi et al. 2007 Alhazmi, O. H., Malaiya, Y. K., and Ray, I. (2007). Measuring, analyzing and predicting security vulnerabilities in software systems. Computers & Security, 26(3):219–228.
Bletsch, Tyler, Xuxian Jiang, and Vince Freeh. (2011) "Mitigating code-reuse attacks with control-flow locking." Proceedings of the 27th Annual Computer Security Applications Conference. ACM.
Christian Collberg and Jasvir Nagra. (2009). Surreptitious Software: Obfuscation, Watermarking, and Tamperproofing for Software Protection (1st ed.). Addison-Wesley Professional.
Huang, Zi-Shun, and Ian G. Harris. (2012) "Return-oriented vulnerabilities in ARM executables." Homeland Security (HST), 2012 IEEE Conference on Technologies for. IEEE.
Itzhak(Zuk) Avraham. (2011) Non-Executable Stack ARM Exploitation Research Paper. In BlackHat Security Convention. [link].
Pappas, Vasilis, Michalis Polychronakis, and Angelos D. Keromytis. (2012) "Smashing the gadgets: Hindering return-oriented programming using in-place code randomization." Security and Privacy (SP), 2012 IEEE Symposium on. IEEE.