paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Symbolic path cost analysis for side-channel detection

面向侧信道检测的符号路径代价分析
ISSTA Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis2018匹配度 2/10 · 论文聚焦于程序侧信道检测的静态分析,属于传统程序分析与安全领域,未涉及用户核心关注的 PL 与 AI/Agent 交叉、浮点程序分析或贝叶斯程序分析等方向。引用 24 inbox
Tegan Brennan, Seemanta Saha, Tevfik Bultan, Corina S. Păsăreanu
crossref: 2026-09-12

AI 速览

一句话:提出符号路径代价分析,通过分支/循环组件代价表达式与 SMT 查询静态检测程序侧信道。

软件侧信道威胁私密信息,静态检测困难。本文提出可扩展检测技术:给定程序与代价模型,将控制流图分解为嵌套分支/循环组件,组合式赋予符号代价表达式以过近似可观察代价;对组件代价取值之差做可满足性查询,检测代价不平衡路径。结合污点分析识别依赖秘密的条件,回答是否存在仅因秘密分支条件不同、且可观察侧信道值差超过阈值的路径对。额外优化查询可求最小循环迭代次数或最大代价差;符号执行可行性分析剔除不可行路径。原型在较大规模真实 Java 客户端-服务器与 P2P 应用上优于先进工具,展示效果与可扩展性。

问题
软件侧信道会泄露私密信息,如何可扩展地静态检测依赖秘密的可观察代价差异是关键挑战。
方法
将控制流图分解为嵌套分支和循环组件,组合式赋予符号代价表达式,并用 SMT 查询检测代价不平衡路径;结合污点分析与符号执行可行性分析。
评估
实现原型,在较大规模真实 Java 客户端-服务器和 P2P 应用上与先进工具比较,展示性能、有效性和可扩展性。
原文摘要(Abstract)

Side-channels in software are an increasingly significant threat to the confidentiality of private user information, and the static detection of such vulnerabilities is a key challenge in secure software development. In this paper, we introduce a new technique for scalable detection of side- channels in software. Given a program and a cost model for a side-channel (such as time or memory usage), we decompose the control flow graph of the program into nested branch and loop components, and compositionally assign a symbolic cost expression to each component. Symbolic cost expressions provide an over-approximation of all possible observable cost values that components can generate. Queries to a satisfiability solver on the difference between possible cost values of a component allow us to detect the presence of imbalanced paths (with respect to observable cost) through the control flow graph. When combined with taint analysis that identifies conditional statements that depend on secret information, our technique answers the following question: Does there exist a pair of paths in the program's control flow graph, differing only on branch conditions influenced by the secret, that differ in observable side-channel value by more than some given threshold? Additional optimization queries allow us to identify the minimal number of loop iterations necessary for the above to hold or the maximal cost difference between paths in the graph. We perform symbolic execution based feasibility analyses to eliminate control flow paths that are infeasible. We implemented our techniques in a prototype, and we demonstrate its favourable performance against state-of-the-art tools as well as its effectiveness and scalability on a set of sizable, realistic Java server-client and peer-to-peer applications.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot4817,
  title = {Symbolic path cost analysis for side-channel detection},
  author = {Tegan Brennan and Seemanta Saha and Tevfik Bultan and Corina S. Păsăreanu},
  booktitle = {ISSTA},
  year = {2018},
  doi = {10.1145/3213846.3213867}
}