Font Size: a A A

Research On Active Software Fault Tolerance Mechanism For Memory Bugs

Posted on:2013-09-29Degree:MasterType:Thesis
Country:ChinaCandidate:W D ZhengFull Text:PDF
GTID:2248330392957880Subject:Information security
Abstract/Summary:PDF Full Text Request
With the expanding field of computer applications, the reliability of computersoftware becomes increasingly important. According to the US-CERT Vulnerability NotesDatabase, over a half of the vulnerabilities with the highest severity metric are bufferoverflow attacks. Currently researches mainly address memory bugs in two phases:software testing phase and after software is released. Software testing can hardly eliminateall the bugs. And solutions that aim to address memory bugs after software release canonly effectively tolerate heap related bugs and can not tolerate stack related bugs.Dynamic software fault tolerance mechanism for memory bugs proposes acomprehensive software memory bug tolerance architecture. It can actively tolerate stackand heap related memory bugs. Ultilizing the Dynamic Binary Instrumentation technology,the prototype system-Memshepherd dynamically maps stack buffers into heap space,intecepts access to stack buffers and redirect them to heap spaces. Thus, stack buffers areconverted to heap buffers. And, a redundant random heap layout is used to achieve activefault tolerance for memory bugs. Memshepherd can effectively prevent software servicetermination, undefined erroneous behavior or hacker exploit, caused by memory bugs.Thus, Memshepherd promotes both software availability and safety. And we don’t need totransform the source code of program or recompile program with a modified compiler.Therefore, our mechanism offers can be apply to more extensive range of programs.To evaluate the effectiveness of Memshepherd, we performed reliability analysis andsystem effectiveness tests. According to the reliability analysis, the lower boundprobability to successfully tolerate memory bugs is up to90%. We tested Memshepherdwith4applications and5memory bugs. Memshepherd can successfully tolerateStack-based buffer Overflow, Heap Overflow, Dangling Pointer and Iinvalid/Double Free.With the protection of Memshepherd, the buggy software would not suffer from failures orundefined behavior errors, when memory bugs are triggered. To4tested Web servers, theslowdown of average transaciton response time caused by Memshepherd is less than50%.
Keywords/Search Tags:Software Reliability, Memory Bugs, Fault Tolerance, Dynamic BinaryInstrumentation
PDF Full Text Request
Related items