Authors: Sahel Alouneh; Mazen Kharbutli; Rana AlQurem
Addresses: German Jordanian University, Amman Madaba Street, P.O. Box 35247, Amman 11180, Jordan ' Jordan University of Science and Technology, P.O. Box 3030, Irbid 22110, Jordan ' Jordan University of Science and Technology, P.O. Box 3030, Irbid 22110, Jordan
Abstract: With software systems continuously growing in size and complexity, the number and variety of security vulnerabilities in those systems is increasing in an alarming rate. Unfortunately, all previously proposed solutions that deal with this problem suffer from shortcomings and therefore highlighting the need for further research in this vital area. In this paper, a software-based solution for stack-based vulnerabilities and attacks is proposed, implemented, and tested. The basic idea of our approach is to implement a patch tool that makes multiple copies of the return addresses in the stack, and then randomises the location of all copies in addition to their number. All duplicate copies are updated and checked in parallel such that any mismatch between any of these copies would indicate a possible attack attempt and would trigger an exception. The results of our implementation show high protection against integer overflow and buffer overflow attacks.
Keywords: buffer overflow attacks; security; software approach; stack memory protection; duplication; randomisation; stack-based vulnerabilities; patch tools; return addresses; integer overflow attacks.
International Journal of Internet Technology and Secured Transactions, 2016 Vol.6 No.4, pp.324 - 348
Received: 26 May 2016
Accepted: 12 Aug 2016
Published online: 16 Mar 2017 *