预测功能性漏洞利用

VSole2022-03-25 07:07:38

简介

该文为发表于USENIX 2021的Expected Exploitability: Predicting the Development of Functional Vulnerability Exploits。众所周知,武器化的漏洞利用程序会对网络安全造成巨大破坏,也因此网络安全行业将这种通过利用软件漏洞自动传播的恶意软件视为主要的网络攻击威胁之一。目前评估软件漏洞的可利用性仍然是一件困难且容易出错的任务,现有漏洞可利用性的评价指标往往存在不完善、不准确的问题。在本篇论文中,作者建立了一个称为“预期可利用性”的指标来改善这一情况。这一指标随着时间的推移不断预测开发功能性漏洞利用的可能性,以此帮助研究人员发现哪些漏洞应该得到优先关注。

方法

作者首先定义了其预测目标:功能性漏洞利用。该概念是漏洞PoC的一种延续,其能够达到漏洞规定的全部安全影响。同时作者也指出虽然功能性漏洞利用更加容易用于现实世界的攻击,但其仍然受到漏洞本身以外因素(例如攻击者选择、修补延迟)的影响。因此,为了依照这个概念对数据集进行标注,本文的思路是从IBM X-Force Exchange威胁情报共享平台和Tenable Nessus漏洞扫描器中提取Temporal CVSS中的可利用性指标。再从Metasploit、Canvas等渗透工具中找到可利用的漏洞。最后,作者从Bugtraq、Skybox、AlienVault OTX等论坛通过NLP手段提取在野利用信息作为存在功能性漏洞利用的证据。综合上述多种途径,最后确定了32093个漏洞含有功能性漏洞利用。

在得到ground truth之后,作者主要对其特征选择上的创新点进行详细阐述。整体结构如下图所示,除了提取漏洞报告和NVD数据的特征,还创新性的提取PoC代码特征和文字特征。

直觉上,作者认为PoC复杂性是决定功能性漏洞利用复杂性的主要指标之一。因为如果触发漏洞需要复杂的PoC,那么功能性漏洞利用的代码也一定很复杂。另一方面,已存在复杂的PoC在一定程度上有利于开发功能性漏洞利用。因此,本文通过将代码转换为抽象语法树的方法,从中提取能标志PoC复杂度的特征,例如节点类型的统计信息、树的结构特征,以及程序内控制语句的统计信息以及它们之间的关系。此外,本文还提取PoC中的调用外部库函数的特征。作者还从AST中提取圈复杂度,用于表征程序中独立代码路径的数量。除了AST相关的特征,本文以文件大小和语言保留关键字分布的统计形式对PoC编程语言进行表征。还引入NLP处理技术,使用一组二进制unigram特征捕捉代码、描述性文字和注释中的文本信息。这些特定信息(例如漏洞作者名字)能够使分类器捕获漏洞利用程序的风格特征。具体特征选择情况如下图所示,可以看到选取特征的数量相当可观。

最后对于分类器的选择,作者并未在此多做纠结,选择了基础的两层前馈神经网络辅以ReLU激活函数作为分类模型使用,并针对多种损失函数进行较为详尽的测试。

实验

在实验阶段,作者首先针对特征中存在噪声的问题对多种损失函数进行了测试。结果表明,作者改进得到的特征前向校准(FFC)损失函数能够有效改善由特征噪声带来的分类器性能下降问题。

之后,作者设计实验证明了其特征选择的优越性。如下图所示,使用PoC代码特征和PoC文字特征了分类器能够取得更好的效果。并且,融合NVD和漏洞报告特征也能有效提高分类器的准确率。

网络安全分类器
本作品采用《CC 协议》,转载必须注明作者和本文链接
人工智能到底起到了多大的作用?还是人工智能只是因为未能满足过高的期望而受到置疑?今天我们来看一看人工智能在网络安全领域的实际应用。
提出了一个基于迁移学习的预测漏洞可利用性的框架
人工智能(AI)和机器学习(ML)如今深入我们日常生活的方方面面,包括网络安全。在网络安全人员手里,AI/ML可以识别漏洞并减少事件响应耗时。但在网络罪犯手里,AI/ML就能用于制造重大伤害。
对决策者和从业者来说,务实的做法是细致了解哪些任务可以从机器学习中受益,哪些任务不能。
从勒索软件攻击和恶意内部人员到意外滥用和民族国家行为者,网络威胁有多种形式。企业必须从源头保护有价值的数据以防止泄露。未正确识别数据状态将会导致安全性不足。数据丢失防护由自动跟踪敏感数据的技术、产品和技术组成。数据丢失防护还可用于防止企业数据被传输到未经验证的实体或通过非法转移方法进行传输。
二进制可视化和机器学习的结合在网络安全方面已经展示了巨大潜力,恶意软件和钓鱼网站检测就是其中的热点领域,本文我们将介绍该领域的两大创新应用进展。
将人工智能应用于恶意加密流量的检测
近年来,网络威胁正在成倍增加和升级。面对日益严峻的网络安全态势,人工智能中特别是尖端的机器学习方法已经开始应用到网络防御领域,包括根据数据模式来开发用于防御网络攻击的预测模型等。这种人工智能方法可能非常有效,但却使机器学习型系统容易受到错误和恶意干扰的影响,因此开发能够防止欺骗性攻击的稳固性机器学习型系统已迫在眉睫,但各种稳固性措施通常会削弱机器学习型系统的准确性。鉴于此,本报告分析了如何在机器学
预测功能性漏洞利用
2022-03-25 07:07:38
该文为发表于USENIX 2021的Expected Exploitability: Predicting the Development of Functional Vulnerability Exploits。众所周知,武器化的漏洞利用程序会对网络安全造成巨大破坏,也因此网络安全行业将这种通过利用软件漏洞自动传播的恶意软件视为主要的网络攻击威胁之一。目前评估软件漏洞的可利用性仍然是一件困难且容
随着软件定义网络、网络功能虚拟化、人工智能等技术的演进发展,云环境部署与应用日趋成熟。分布式拒绝服务(Distributed Denial of Service,DDoS)攻击的新变种反射型 DDoS 因低成本、难追踪等特点得到快速泛滥,云环境中的主机和应用服务面临着反射型 DDoS 攻击威胁。
VSole
网络安全专家