中文

AssetHarvester:用于检测软件制品中密钥-资产对的静态分析工具

密码学与安全 2024-11-21 v2 软件工程

摘要

GitGuardian监控公开GitHub存储库中的密钥暴露情况,报告称开发者在2023年泄露了超过1200万个密钥(数据库和其他凭证),较2021年增长了113%。尽管存在密钥检测工具,但开发者因误报(25%-99%)而忽视工具报告的警告。每个密钥保护的资产价值不同,可通过资产标识符(DNS名称和公共或私有IP地址)进行访问。密钥的资产信息可帮助开发者筛选误报并优先处理源代码中的密钥。然而,现有密钥检测工具未提供资产信息,导致开发者仅凭密钥值或手动查找每个报告密钥的资产难以筛选。本研究旨在通过提供密钥保护的资产信息帮助软件实践者优先处理密钥。我们present了AssetHarvester,这是一个用于检测存储库中密钥-资产对的静态分析工具。由于资产位置可能远离密钥定义位置,我们调查了密钥-资产共现模式,发现四种模式。为识别这四种模式的密钥-资产对,我们利用了模式匹配、数据流分析和快速近似启发式方法三种技术。我们精选了来自188个公开GitHub存储库中提取的1791个四类数据库密钥-资产对作为基准进行评估。AssetHarvester在检测密钥-资产对方面表现出97%的精确率、90%的召回率和94%的F1分数。我们的发现表明,AssetHarvester中采用的数据流分析在检测密钥-资产对方面可实现0%误报,并有助于提高密钥检测工具的召回率。

关键词

引用

@article{arxiv.2403.19072,
  title  = {AssetHarvester: A Static Analysis Tool for Detecting Secret-Asset Pairs in Software Artifacts},
  author = {Setu Kumar Basak and K. Virgil English and Ken Ogura and Vitesh Kambara and Bradley Reaves and Laurie Williams},
  journal= {arXiv preprint arXiv:2403.19072},
  year   = {2024}
}

备注

Accepted in the proceedings of the 47th International Conference on Software Engineering (ICSE 2025)