paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Compositional Taint Analysis for Enforcing Security Policies at Scale

面向大规模安全策略执行的组合式污点分析
FSE Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering2023匹配度 4/10 · 该论文是纯静态分析(组合式污点分析)的工业级优化与落地,未涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析,与用户核心关注的交叉方向(PL↔AI)不直接匹配;但其工业部署与可扩展性优化对静态分析工程实践有参考价值。引用 11 inbox
Subarno Banerjee, Siwei Cui, Michael Emmi, Antonio Filieri, Liana Hadarean, Peixuan Li, Linghui Luo, Goran Piskachev, Nicolás Rosner, Aritra Sengupta, Omer Tripp, Jingbo Wang
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出上下文数据流建模,扩展组合式污点分析以检查复杂污点规约,并用三项优化实现生产级精度与可扩展性。

自动静态数据流分析可发现敏感数据泄漏与注入攻击等安全问题,但在大型工业代码库上兼顾高精度、高召回与可扩展性十分困难。组合式分析独立分析组件并生成可复用摘要,适合 CI/CD 与容器镜像扫描,却难以处理实际中的上下文污点规约。本文提出上下文数据流建模,在保持组合性的同时支持复杂污点规约,提升召回率与精度。为在生产中扩展,作者采用三项优化:丢弃已分析组件的中间结果、按污点规约缩小分析范围、缓存分析模型。在 OWASP 基准与内部真实代码上,误报率降低 9.85%;并基于 Maven JVM 包与 AWS 服务代码评估各优化的性能与可扩展性,最终在 Amazon 内外大规模执行安全策略。

问题
如何在组合式静态污点分析中支持实际出现的上下文相关污点规约,同时保持高精度、高召回并扩展到大型工业代码库与 CI/CD 扫描场景。
方法
提出上下文数据流建模以增强组合式分析,并引入三项生产优化:丢弃已分析组件的中间结果、面向污点规约的范围缩减分析,以及分析模型缓存。
评估
在包含 OWASP 开源基准和内部真实代码的测试集上评估精度,误报率降低 9.85%;并使用 Maven 中央仓库 JVM 包和 AWS 内部服务代码评估各优化的性能与可扩展性。
原文摘要(Abstract)

Automated static dataflow analysis is an effective technique for detecting security critical issues like sensitive data leak, and vulnerability to injection attacks. Ensuring high precision and recall requires an analysis that is context, field and object sensitive. However, it is challenging to attain high precision and recall and scale to large industrial code bases. Compositional style analyses in which individual software components are analyzed separately, independent from their usage contexts, compute reusable summaries of components. This is an essential feature when deploying such analyses in CI/CD at code-review time or when scanning deployed container images. In both these settings the majority of software components stay the same between subsequent scans. However, it is not obvious how to extend such analyses to check the kind of contextual taint specifications that arise in practice, while maintaining compositionality. In this work we present contextual dataflow modeling, an extension to the compositional analysis to check complex taint specifications and significantly increasing recall and precision. Furthermore, we show how such high-fidelity analysis can scale in production using three key optimizations: (i) discarding intermediate results for previously-analyzed components, an optimization exploiting the compositional nature of our analysis; (ii) a scope-reduction analysis to reduce the scope of the taint analysis w.r.t. the taint specifications being checked, and (iii) caching of analysis models. We show a 9.85% reduction in false positive rate on a comprehensive test suite comprising the OWASP open-source benchmarks as well as internal real-world code samples. We measure the performance and scalability impact of each individual optimization using open source JVM packages from the Maven central repository and internal AWS service codebases. This combination of high precision, recall, performance, and scalability has allowed us to enforce security policies at scale both internally within Amazon as well as for external customers.

链接与引用

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

BibTeX
@inproceedings{BanerjeeCEFHLLP23,
  title = {Compositional Taint Analysis for Enforcing Security Policies at Scale},
  author = {Subarno Banerjee and Siwei Cui and Michael Emmi and Antonio Filieri and Liana Hadarean and Peixuan Li and Linghui Luo and Goran Piskachev and Nicolás Rosner and Aritra Sengupta and Omer Tripp and Jingbo Wang},
  booktitle = {FSE},
  year = {2023},
  doi = {10.1145/3611643.3613889}
}