Visible to the public AutoSlicer: Automatic Program Partitioning for Securing Sensitive Data Based-on Data Dependency Analysis and Code Refactoring

TitleAutoSlicer: Automatic Program Partitioning for Securing Sensitive Data Based-on Data Dependency Analysis and Code Refactoring
Publication TypeConference Paper
Year of Publication2022
AuthorsQiang, Weizhong, Luo, Hao
Conference Name2022 IEEE International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom)
KeywordsCode refactoring, codes, composability, compositionality, Computer bugs, Cyber Dependencies, dependency analysis, execution flow, Human Behavior, human factors, Manuals, Metrics, privacy, Program partitioning, Prototypes, pubcrawl, resilience, Resiliency, Scalability, source coding, Transforms
AbstractLegacy programs are normally monolithic (that is, all code runs in a single process and is not partitioned), and a bug in a program may result in the entire program being vulnerable and therefore untrusted. Program partitioning can be used to separate a program into multiple partitions, so as to isolate sensitive data or privileged operations. Manual program partitioning requires programmers to rewrite the entire source code, which is cumbersome, error-prone, and not generic. Automatic program partitioning tools can separate programs according to the dependency graph constructed based on data or programs. However, programmers still need to manually implement remote service interfaces for inter-partition communication. Therefore, in this paper, we propose AutoSlicer, whose purpose is to partition a program more automatically, so that the programmer is only required to annotate sensitive data. AutoSlicer constructs accurate data dependency graphs (DDGs) by enabling execution flow graphs, and the DDG-based partitioning algorithm can compute partition information based on sensitive annotations. In addition, the code refactoring toolchain can automatically transform the source code into sensitive and insensitive partitions that can be deployed on the remote procedure call framework. The experimental evaluation shows that AutoSlicer can effectively improve the accuracy (13%-27%) of program partitioning by enabling EFG, and separate real-world programs with a relatively smaller performance overhead (0.26%-9.42%).
DOI10.1109/TrustCom56396.2022.00042
Citation Keyqiang_autoslicer_2022