SPLICE: Efficiently Removing a User's Data from In-memory Application State

PROCEEDINGS OF THE 2023 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, CCS 2023(2023)

引用 0|浏览3
暂无评分
摘要
SPLICE is a new programming framework that allows security-conscious applications to efficiently locate and delete a user's in-memory state. The core technical challenge is determining how to delete a user's memory values without breaking application-specific semantic invariants involving the memory state of remaining users. SPLICE solves this problem using three techniques: taint tracking (which traces how a user's data flows through memory), deletion by synthesis (which overwrites each user-owned memory value in place, replacing it with a value that preserves the symbolic constraints of enclosing data structures), and a novel type system (which forces applications to employ defensive programming to avoid computing over synthesize-deleted values in unsafe ways). Using four realistic applications that we ported to SPLICE, we show that SPLICE's type system and defensive programming requirements are not onerous for developers. We also demonstrate that SPLICE's run-time overheads are similar to those of prior taint tracking systems, while enabling strong deletion semantics.
更多
查看译文
关键词
In-memory deletion,taint tracking,constraint solvers,data structures,defensive programming
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要