使用深度学习的方法对恶意web内容进行快速检测

作者:{Esi}@ArkTeam

原文作者:Joshua Saxe, Richard Harang, Cody Wild, Hillary Sanders

原文标题:A Deep Learning Approach to Fast, Format-Agnostic Detection of Malicious Web Content

原文出处:arXiv preprint arXiv:1804.05020, 2018.

恶意网页内容是当今网络攻击的一个主要因素。这种恶意内容分为两类。第一类是攻击者利用浏览器软件漏洞在用户计算机上实现恶意目的。第二类是网络钓鱼,其目标是欺骗用户泄露财务信息或登录凭据。检测和阻止此类内容存在多种挑战。首先,检测方法必须在用户端和防火墙中使用的商用硬件上快速运行,这样才不会降低用户的浏览体验。其次,检测方法必须能够抵御恶意网络内容中的语法和语义变化。最后,检测方法必须能够在大海捞针中找到针:能够找到嵌入在其他良性网页内容中的小代码片段。

过去关于web内容检测的工作主要依赖于语法分析或模拟HTML和Javascript来提取特征,这样做的效率会比较低,基于这样的问题,本文提出了一种深度学习的方法来检测恶意网页,使用简单正则表达式从静态HTML文件中提取与语言无关的标记,这种方法可以足够快的进行检测,同时可以在防火墙和web代理等高额数据环境中运行,并允许它避免复杂解析和仿真代码的攻击面暴露,最后在多个分层空间尺度上进行检查。

本文的方法涉及一个特征提取器,它从HTML文档中解析出一系列令牌,以及一个神经网络模型,通过在层级聚合级别使用共享权重检查来做出分类决策。下面是本文方法的整个系统的每个逻辑组件的介绍:

1.使用以下正则表达式对HTML文档进行标记:([\ x00- \ x7F] + | \ w +),将文档沿非字母数字单词边界切割;

2.将令牌流分成16个相等长度的连续块(其中切割后的文档length被定义为令牌数);

3.最后使用散列技巧的修改版本,将每个令牌块散列到1024个分区,为每个块创建一个单词样式表示;

4.将得到的HTML文档的特征表示,输入到神经网络中。

作者测试了本文对从威胁情报站点VirusTotal收集的数据的方法。 VirusTotal每天接收数万个新的HTML文件,使用来自数十家安全供应商的60个Web威胁扫描程序扫描它们。 Sophos订阅了VirusTotal的付费威胁情报服务,作为此订阅的一部分,会收到提交给VirusTotal的每个HTML文件及其相应的扫描结果。本文中使用的实验数据集是在2017年前10个月从VirusTotal Feed中收集的,如图1所示。

图1首次出现在VirusTotal上的本文培训和验证的集中样本

最后本文的实验结果作为ROC(接收器工作特性)曲线给出,它们显示了当调整检测阈值时真实阳性率(y轴)和假阳性率(x轴)之间的权衡。

图2 模型与两个标记包样式基线的性能

作者将本文提出的方法与许多基线进行比较,包括简单的词袋模型和更复杂的深层体系结构,并表明它以合理的计算成本实现了最佳结果。本文方法实现了超过97%的检测率,并且误报率只有0.1%,本文的结果表明利用深度学习的恶意内容检测模型可以基于简单的令牌流输入来学习Web内容。

发表评论

邮箱地址不会被公开。 必填项已用*标注