Dissertation > Excellent graduate degree dissertation topics show

Attack Diagnosis on Binary Executables Using Dynamic Program Slicing

Author: HuangShan
Tutor: QiZhengWei
School: Shanghai Jiaotong University
Course: Software Engineering
Keywords: Dynamic program slicing binary analysis attack diagnosis potential vulnerabilities exploring
CLC: TP311.53
Type: Master's thesis
Year: 2012
Downloads: 108
Quote: 0
Read: Download Dissertation

Abstract


With the rapid development of computer techniques, many kinds of software have affected people more and more deeply in their work and daily life. However, the level of the practically used programs is often complex and of such a large scale so that it is not as easy to analyze and debug them as one might expect. And it is quite difficult to diagnose attacks and find vulnerabilities in such large-scale programs. Most of security issues of software are from their design flaws. Thus, it makes a big reduction of the risk and cost from malicious software attacks that finding potential vulnerabilities and diagnosing software attacks in time.Program slicing has been proved to be an effective approach to find vulnerabilities and diagnose software attacks. And it becomes a popular and effective method for program comprehension since it can reduce the analysis scope greatly and drop useless code which will not influence the final result. Generally, there are two methods to implement this technique, static way and dynamic way. The static way has high overhead and low runtime efficiency because it must load the whole target program when doing the slice analysis. It is also not very precise since it cannot get the accurate value, which can be obtained only when the target program is actually running. The program slicer that I designed and implemented in this paper uses the dynamic method to overcome the shortcomings of static analysis, and it can get precise slicing result with high efficiency and low overhead. After the dynamic program slicing was proposed, there has been any researches in this field. However, most of existing dynamic slicing tools perform dynamic slicing in the source code level, and the source code is not easy to obtain in practice, which makes the dynamic slicing on source code level be not practical. In this condition, this paper provides and implements a dynamic program slicer based on the binary program. The slicer can do the dynamic slicing analysis directly on the binary executables of target programs, which greatly expand the using scope of the dynamic program slicing technique.My research works and contributions mainly include the following points: 1) Combine the dynamic program slicing and binary analysis technique to provide the dynamic binary program slicing technique to improve the efficiency and reduce the overhead. 2) Put forward the idea of using dynamic binary program slicing technology to discover software vulnerability and diagnose attacks, and demonstrate the feasibility of this option in experiments. 3) Organize the slicing result by function CG (Call Graph) and CFG (Control Flow Graph) to make it hierarchical and structured. 4) Add two optimizations, which are Basic Block Execution and Function Filtering, to the tool to simplify the slicing process and improve the analysis efficiency greatly.It is proved in the experiments that the dynamic binary program slicer can not only finish dynamic slicing tasks efficiently and accurately, but can diagnose true software attacks and explore potential vulnerabilities as well. Benefit from the two optimizations, the overhead of my dynamic binary slicer is only 1.41 times, which is much lower than other similar analysis systems.

Related Dissertations

  1. Based on the binary code of the dynamic symbolic execution tool,TP309
  2. Research on Instruction-level Tracing and Replaying Techniques of Executable Files in Windows,TP309
  3. Binary code security analysis,TP311.1
  4. Design and Implementation of malicious code dynamic binary analysis platform,TP393.08
  5. VM-based information extraction and analysis of the key,TP316.7
  6. Analysis of Control Flow Based on Binary Executable,TP309
  7. The Research and Implementation of Dynamic Slicing System for C++ Program,TP311.11
  8. Cement Soil Strength Properties,TU525
  9. Clinical and Radiologic Studies on Invasive Pituitary Adenomas,R736.4
  10. Execution Trace-Based Dynamic Slicing on Binary Programs,TP311.11
  11. The Research and Implementation of Dynamic Slicing System for Object-Oriented Program,TP311.11
  12. Research on Program Slicing Technique and Its Application in Software Test Data Generation,TP311.11
  13. Communications software automated testing framework Research and Implementation,TP311.53
  14. A Study of 6 Sigma Management Applied in Software Testing,TP311.53
  15. Design and implementation of component-based software integration testing technology,TP311.53
  16. A Research of Software Aging Forecasting Method Based on Markov and Neural Network,TP311.53
  17. Software reliability growth analysis and dynamic evaluation,TP311.53
  18. Based on Improved Genetic Algorithm path-oriented test data generation,TP311.53
  19. STAF based WATIR and automated test design and implementation,TP311.53
  20. Research on Automatic Test Cases Generation Based on Output Domain,TP311.53
  21. Functional test method for embedded operating systems with,TP311.53
  22. Shandong Telchina Co.,Ltd., on the Status and Development of Software Testing,TP311.53

CLC: > Industrial Technology > Automation technology,computer technology > Computing technology,computer technology > Computer software > Program design,software engineering > Software Engineering > Software Maintenance
© 2012 www.DissertationTopic.Net  Mobile