Civet: An Efficient Java Partitioning Framework for Hardware Enclaves
Civet: An Efficient Java Partitioning Framework for Hardware Enclaves
复制标题
DOI:
--
复制
发表时间:
2020
期刊:
影响因子:
--
通讯作者:
Chia-che Tsai;Jeongseok Son;Bhushan Jain;John McAvey;Raluca A. Popa;Donald E. Porter
中科院分区:
文献类型:
--
作者:
Chia-che Tsai;Jeongseok Son;Bhushan Jain;John McAvey;Raluca A. Popa;Donald E. Porter
Hardware enclaves are designed to execute small pieces of sensitive code or to operate on sensitive data, in isolation from larger, less trusted systems. Partitioning a large, legacy application requires significant effort. Partitioning an application written in a managed language, such as Java, is more challenging because of mutable language characteristics, extensive code reachability in class libraries, and the inevitability of using a heavyweight runtime. Civet is a framework for partitioning Java applications into enclaves. Civet reduces the number of lines of code in the enclave and uses language-level defenses, including deep type checks and dynamic taint-tracking, to harden the enclave interface. Civet also contributes a partitioned Java runtime de-sign, including a garbage collection design optimized for the peculiarities of enclaves. Civet is efficient for data-intensive workloads; partitioning a Hadoop mapper reduces the en-clave overhead from 10 × to 16–22% without taint-tracking or 70–80% with taint-tracking.