中文

RiskHarvester:一种基于风险的工具,用于确定软件制品中秘密移除工作的优先级

密码学与安全 2025-02-04 v1 软件工程

摘要

自2020年以来,GitGuardian 一直在检测 GitHub 仓库中检入的硬编码秘密。在2020至2023年间,GitGuardian 观察到硬编码秘密数量呈逐年上升趋势,并增长了四倍,其中2023年暴露了1280万个。然而,由于时间限制和技术挑战,移除软件制品中的所有秘密并不可行。此外,这些秘密的安全风险并不相同,其保护的资产范围从过时的数据库到敏感的医疗数据。因此,秘密的移除应根据安全风险的降低程度来确定优先级,而现有的秘密检测工具并不支持这一点。本研究的目标是通过我们基于安全风险的工具,帮助软件从业者确定秘密移除工作的优先级。我们提出了 RiskHarvester,这是一种基于风险的工具,可根据资产价值和攻击数据库的难易程度来计算安全风险评分。我们通过从源代码中的数据库关键词识别数据库中存在的敏感数据类别来计算资产价值。我们利用数据流分析、SQL 和 ORM 解析来识别数据库关键词。为了计算攻击难易程度,我们利用被动网络分析来检索数据库主机信息。为了评估 RiskHarvester,我们构建了 RiskBench,这是一个包含1791个数据库秘密-资产对的基准,其敏感数据类别和主机信息是从188个 GitHub 仓库中手动检索的。RiskHarvester 在检测用于计算资产价值的数据库关键词方面,精确率达到95%,召回率达到90%;在检测用于计算攻击难易程度的有效主机方面,精确率达到96%,召回率达到94%。最后,我们进行了一项调查(52名受访者),以了解开发者是否会根据安全风险评分来优先移除秘密。我们发现,86% 的开发者会按照安全风险评分从高到低的顺序优先移除秘密。

关键词

引用

@article{arxiv.2502.01020,
  title  = {RiskHarvester: A Risk-based Tool to Prioritize Secret Removal Efforts in Software Artifacts},
  author = {Setu Kumar Basak and Tanmay Pardeshi and Bradley Reaves and Laurie Williams},
  journal= {arXiv preprint arXiv:2502.01020},
  year   = {2025}
}