探秘安全 | 如何利用AI提升未知威胁检测能力

2020-07-16 14:12:03

来源:深信服科技

据MarketsandMarkets人工智能网络安全预测报告,到2026年,AI赋能的网络安全市场规模预计将从2019年的88亿美元增长到382亿美元,年复合增长率高达23.3%。

市场增长的主要驱动力源于当前日益复杂的网络安全形势,网络犯罪和黑客攻击的规模和频率不断增加,且黑客不断试水新技术来进行攻击,未知威胁频发。安全团队对于未知威胁的抵御越来越捉襟见肘,行业开始寻求更先进的解决方案来抵御未知威胁。深信服认为,为达成上述效果,在未知威胁检测方面,AI技术具有不可替代的优势。

为什么利用AI能够检测未知威胁?

泛化能力越强,检测未知威胁的能力就越强, 检出率就越高。

随着新型病毒的大量出现以及网络攻击的愈加频繁,现在业界普遍使用的基于规则或特征码的检测方案的有效性正在变得越来越低。一方面,黑白名单和传统特征规则只能处理已知的恶意软件,而对于未知攻击,这类检测方案的效用通常很低。另一方面,攻击者的技术升级,新型恶意软件越来越多,安全专家通过人工分析恶意样本以提取新规则或特征码的难度大大增加。

而基于人工智能的恶意文件查杀引擎优于传统基于特征码的查杀引擎,原因在于机器学习、神经网络等AI技术具有泛化能力,通过使用已知样本进行训练就可以在未知样本集达到很好的效果,因此可以发现新型的恶意文件。

以黑样本为例,在攻击手段迭代更新的过程中,黑客并不总是另起炉灶来重新制作攻击向量。他们常常是通过对现有攻击手段进行优化、整合和更新,进而实施下一次攻击。因此,未知威胁和已知威胁通常具有某种意义上的相似性。而AI检测算法就是期望通过对已知数据的学习,提取其中的固定模式,最终达到检测相似未知的目的。相似的,白样本的演进流程中同样存在这样的比变量,比如开发代码复用等。综上所述,安全检测场景中的泛化能力其本质是检测算法是否能够提取潜在的固定模式,进而在相似样本集上输出一致的检测结果。

那么,如何评估检测算法的泛化能力呢?

基于前面对泛化能力的分析,深信服安全专家给出了检测算法泛化能力的一个评估方法:检测算法的泛化能力等同其对相似样本检测结果的一致性。

简单来说,可以通过以下两步来衡量一个检测算法的泛化能力:

1. 定义样本相似性,用来描述你的泛化需求。比如指定相差10条指令的恶意文件为相似文件,那么你所关注的就是在已知样本和未知样本拥有10条指令差异下的泛化检测能力。

2. 统计检测算法在这些相似样本上的结果一致性。一致性是表示检测算法输出的统一程度,具有强泛化能力的检测算法应当在相似样本上输出相同的检测结果。因此,一致性越高,则说明算法的泛化能力越强;反之,泛化能力越弱。

泛化能力的量化评估公式具体如下:

1. 随机选取N个样本集,每个集合内的样本相互间具有相似性,标记为S1,S2,...,SN。

2. 对每一个集合Si, 评估检测算法的结果一致性。假设Si 有M 个样本,将算法的检测结果序列记为o1,o2,...,oM,计算o1,o2,...,oM表征的熵,记为ei。假设此检测任务的理论最大熵值为E,则可以使用E-ei表征算法对Si的结果一致性。

3. C= E- (e1 + e2 + ... + eN)/N 则表征了算法在整个样本集上的平均一致性, 即泛化能力。

业界引擎的泛化能力分布

目前很多安全产品中都集成了恶意文件检测能力,在Virustotal平台上就有70多家的恶意文件检测引擎。从公开信息上看,不少检测引擎都标称采用了机器学习算法。那么现在业界检测引擎的泛化能力到底如何,AI检测引擎之间是否有差异?

我们构建了包含15万黑样本的共7256个相似样本集。这些样本覆盖了2019.1.1~2020.5.20期间的线上热门样本。此外,通过VT平台获取70+业界引擎对相似样本集的检测结果(手动触发重分析,确保为引擎最新结果),以公平比较他们的泛化能力。如下图所示。图中的每一个点对应VT上一种检测引擎,其中蓝色的点表示深信服SAVE引擎的AI模型在不同配置下的效果;黄色实心点表示可从公开信息确认的业界机器学习引擎;灰色的点表示技术路线未知的其他引擎。

▲业界引擎的泛化能力分布

• 从图中可以观测到,检测率的整体趋势是随着泛化能力增强而增强。将业界所有引擎综合起来看,随着泛化能力数值变大,检出率的变化范围越来越窄,并最终收敛到100%。
• 大部分业界已知AI引擎均较其他未知引擎有更强的泛化能力,而未知引擎的泛化能力普遍较弱。但部分技术未知引擎也体现出了很强的泛化能力,可能也使用了AI技术来支撑检测。
• 相较于其他所有引擎,深信服安全智能检测引擎SAVE AI 模型几乎总是能在相同检出率下,达到最强的泛化能力。需要注意的是,此AI模型训练于去年10月份,相似样本集中约有一半样本属于AI模型的未知样本。
如何构建泛化能力
以深信服SAVE安全智能检测引擎为例,SAVE在设计过程中,从样本质量、特征设计、算法组合、以及模型训练方法等多个维度来思考AI的泛化能力构建方法。
提升泛化能力的前提是理解泛化的本质。因此深信服构建了多个内部系统来支撑算法团队对样本演变过程理解和使用,比如NLP标签系统和Origin相似代码搜索系统:
• 数据标签的质量决定了最终AI模型的能力上限。我们利用NLP技术将样本来自多个源头的文本标签信息进行整合(黑白标签,家族标签等),用以提升数据标签精度以及信息含量。通过NLP系统处理过的标签,可以更好的掌握样本间的家族关系。
• 为了从更深层次理解样本代码的关联关系,我们基于大数据平台构建了Origin 系统。通过Origin,可以从海量样本中进行快速的相似代码匹配,定位样本代码片段的来源、属性、以及演变过程。更可以对线上样本进行快速的聚类分析,加快对问题的闭环速度。
随着对泛化能力本质的理解深入,SAVE AI算法也在持续演进。前述分析系统获得的准确标签和关联关系,支撑安全专家不断挖掘更优质的判别输入,选择更有效的高维特征提取方法,细化模型的检测的功能,以及提升模型的精度。与此同时,为了保证AI模型的泛化能力持续保持在较高水准,深信服对端到端的训练流程进行了分布式重构。通过分布式集群,可以在数千万量级的样本集上,以天为单位进行模型更新迭代,确保线上模型效果的稳定性。
恶意软件的检测流程往往是将AI检测算法和传统检测算法结合使用,大致有两种思路来进行整合:第一种是以传统检测技术为主,同时以AI为辅来提升未知检测能力;第二种是以AI能力为主,尽可能释放AI模型的泛化能力,同时利用其他手段来提升鉴白能力。
从前面的实验结果看,业界大部分基于AI的文件检测引擎的确较其他类型引擎有明显的泛化能力提升。为提升对未知威胁的检测能力,适应病毒瞬息万变的发展态势,厂商应尽可能释放AI模型的泛化能力。
索取“此产品”的详细资料,请留言
  • *姓名:
  • *手机:
  • *邮寄地址:
<