Expected Exploitability: Predicting the Development of Functional Vulnerability Exploits

预期的可利用性:预测功能性漏洞利用的发展

 

摘要:

  在披露时评估软件漏洞的可利用性是困难和容易出错的,因为通过现有指标进行技术分析提取的特征不能很好地预测利用的情况。此外,可利用性评估存在类别偏见,因为“不可利用”的标签可能不准确。

  为了克服这些挑战,我们提出了一个新的度量标准,叫做预期的可开发性(ee) ,它反映了随着时间的推移,功能性利用的可能性。我们解决方案的关键是对可利用性的随时间变化的观点,这与现有的衡量标准不同,它允许我们使用数据驱动的技术从披露后发布的工件中学习 ee,比如技术报告、概念验证漏洞和社交媒体讨论。我们的分析显示,为相关利用预测任务提出的先前特征并不总是有利于预测功能性利用的,我们设计了新颖的特征集来利用以前未被充分利用的数据。

  这个观点也允许我们研究标签偏差对分类器的影响。我们描述了利用预测的噪声生成过程,表明我们的问题受到类和特征相关的标签噪声的影响,这被认为是最具挑战性的类型。通过利用特定领域的观察,我们开发了将噪声鲁棒性结合到学习EE中的技术。

  在包含103137个漏洞的数据集上,我们表明EE比现有的度量(包括两个最先进的漏洞利用分类器)将精度从49%提高到86%,同时我们的度量的性能也随着时间的推移而提高。EE分数通过区分即将在不久的将来利用的漏洞,捕捉到了利用的紧迫性。最后,我们通过一个网络战游戏模拟展示了我们系统的实际效用,其中EE改进了玩家使用它的策略,而不是静态指标。

 

文章贡献:

1. 我们提出了可利用性的时变观点,并在此基础上设计了预期可利用性(EE),这是一种随着时间的推移学习和持续评估功能性利用可能性的度量。

2. 我们系统地描述了影响利用预测的噪声产生过程,并提出了一种在标签噪声存在的情况下学习EE的领域特定技术。

3. 我们探索了各种工件的时效性和预测效用,提出了新的和补充的PoCs功能,并为它们开发了可伸缩的特征提取器。

4. 我们进行了一个案例研究来调查EE的实际效用,表明它可以定性地改进基于可利用性估计所做的决策。

 

数据源:

1. 公共数据源,如NVD、Bugtraq、IBM XForce Exchange、Vulners

2. POCs: 抓取通过抓取ExploitDB、Bugtraq和Vulners来收集公共poc的数据集

3. 从推特上收集关于漏洞的社交媒体讨论

 

特征选取:

EE使用从我们数据集中的所有漏洞和PoC工件中提取的特征。表中总结并计算了各种类型的特征的数量。

特征说明

 这张表格给出了很多重要的观点:

1. 功能性利用的复杂度的一个重要度量指标就是PoCs的复杂性。这是因为如果触发漏洞需要一个复杂的PoC,那么利用也必须是复杂的。于是特征表中给出了PoCs代码复杂性的一些指标。

2. 部分PoCs没有代码,只有文本描述,所以我们还需要提取出这里面包含的一些技术信息。

3. NVD包含受漏洞影响的产品列表、与漏洞关联的相关缺陷CWE和漏洞评分CVSS体系。

 

测试结果

 

 

  在上图a 中,我们绘制了在数据集 ds1上训练的分类器的精确度召回权衡,在测试时间实例公开后30天进行评估。我们观察到静态可开发性指标没有一个超过0.5精度,而 ee 明显优于所有基线。对于60% 被利用的漏洞,性能差异尤为明显,ee 达到了86% 的精度,而作为次优分类器的 smc 仅获得了49% 的精度。我们还观察到,对于大约10% 的漏洞,30天内可用的工件的预测效用有限,这影响了这些分类器的性能。

 

posted @ 2021-12-19 22:13  chaosliang  阅读(334)  评论(0)    收藏  举报