Lune

OOPSLA2024顶会

Seneca: Taint-Based Call Graph Construction for Java Object Deserialization

Joanna C. S. Santos, Mehdi Mirakhorli, Ali Shokri

2024年份
9被引次数
3顶会引用

摘要

Object serialization and deserialization are widely used for storing and preserving objects in les, memory, or database as well as for transporting them across machines, enabling remote interaction among processes and many more. This mechanism relies on reection, a dynamic language that introduces serious challenges for static analyses. Current state-of-the-art call graph construction algorithms do not fully support object serialization/deserialization, i.e., they are unable to uncover the callback methods that are invoked when objects are serialized and deserialized. Since call graphs are a core data structure for multiple types of analysis (e.g., vulnerability detection), an appropriate analysis cannot be performed since the call graph does not capture hidden (vulnerable) paths that occur via callback methods. In this paper, we present S, an approach for handling serialization with improved soundness in the context of call graph construction. Our approach relies on taint analysis and API modeling to construct sound call graphs. We evaluated our approach with respect to soundness, precision, performance, and usefulness in detecting untrusted object deserialization vulnerabilities. Our results show that S can create sound call graphs with respect to serialization features. The resulting call graphs do not incur signicant runtime overhead and were shown to be useful for performing identication of vulnerable paths caused by untrusted object deserialization.

CCS Concepts: • Software and its engineering ! Automated static analysis; Software verication and validation.

问问这篇 Paper

智能体会读完全文。

Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。

可以从这些问题问起

智能体调用

Luneget_paper_fulltext

在 Lune 里问

免费开始,无需绑卡

引用它的顶会 Paper3

问问它们各自怎么用它

它引用的顶会 Paper4

相关 Paper

黄昏的海面,两侧是细线勾勒的悬崖