Font Size: a A A

Security Execution Mechanism Based-on Program Partitioning

Posted on:2021-10-22Degree:MasterType:Thesis
Country:ChinaCandidate:H LuoFull Text:PDF
GTID:2518306104488114Subject:Cyberspace security
Abstract/Summary:PDF Full Text Request
Frequent privacy leaks in recent years have aroused public concerns about the security of applications.The protection of privacy data in the applications is directly related to whether users can use the program with confidence.Based on the principle of least privilege,the program partitioning can isolate operations related to private data by separating the entire program into multiple partitions,thereby protecting private data in the program.In order to solve the limitations of manual program partitioning,such as heavy workload,error-prone,and not generic,LLVM and Clang are used to build an automatic program partitioning framework based on data dependency analysis and code refactoring.During the construction of the data dependency graph,the introduction of the execution flow graph ensures that the dependency analysis is flowsensitive,avoids adding redundant data dependency edges to the graph,thus constructs an accurate data dependency graph.Based on the sensitive annotations in the source code and the data dependency graph,the two-phase partitioning algorithm and partition specifications generation algorithm calculate the composition of sensitive and insensitive partitions,and output the partition specifications for automatic code refactoring.The implementation of the code refactoring toolchain can automatically refactor the source code into sensitive and insensitive partitions on the remote procedure call framework,and implement the remote service interfaces that the partitions need to provide,thereby isolating access to privacy data.By automatically separating five common open source programs and all C/C++ programs in the SPEC CPU 2006 benchmark,the test results show that the proposed automatic program partitioning framework can ensure the construction of accurate data dependency graphs,output the partition specifications for code refactoring,and generate partitioned program on the remote procedure call framework.This framework can effectively separate the programs in the real world.In addition,the partitioned programs have a minor performance overhead.
Keywords/Search Tags:Data dependency, Execution flow, Dependency analysis, Program partitioning, Code refactoring
PDF Full Text Request
Related items