Efficient Decoupled Taint Analysis for Java Applications

碩士 === 國立交通大學 === 網路工程研究所 === 108 === The technology of dynamic information flow tracking has been developed for a long time. Many related pieces of research mainly focus on the process of compiling the source code in the compiler part and embedding taint propagation logic. Therefore, the practice o...

Full description

Bibliographic Details
Main Authors: Lu, Wei-Huang, 盧威寰
Other Authors: Wu, Yu-Sung
Format: Others
Language:zh-TW
Published: 2019
Online Access:http://ndltd.ncl.edu.tw/handle/9jr4jn
Description
Summary:碩士 === 國立交通大學 === 網路工程研究所 === 108 === The technology of dynamic information flow tracking has been developed for a long time. Many related pieces of research mainly focus on the process of compiling the source code in the compiler part and embedding taint propagation logic. Therefore, the practice of taint propagation logic embedding relies on the rewriting of the compiler or coupling of a particular execution environment. In addition, the technology of dynamic information flow tracking often affects the implementation performance, which often makes the technology difficult to import into the production environment. In this study, the decoupled design is combined to separate the logic of the taint propagation from the target analysis program, greatly optimizing the analysis performance of the target program at runtime. During the execution of the original target program, the bytecode is instrumented by a dynamic rewriting technique to track the specific information when the program is executed. Then the translator that uses the bytecode rewriting technique rewrites the bytecode to generate the bytecode of the taint semantic version. Finally, the program of the taint semantic version has the same program behavior as the original program through the replay. This design can be done without modifying the execution environment and the compiler and allowing the taint propagation analysis to be performed in the native execution environment.