Page 293 - 《软件学报》2021年第9期
P. 293
吴森焱 等:融合多种特征的恶意 URL 检测方法 2917
程中,利用用户的浏览器或插件中存在的漏洞攻击用户,自动下载恶意软件.根据赛门铁克发布统计报告,2018
[1]
年发现的新增恶意 URL 达到近 3 亿个,恶意 URL 已经成为互联网安全中最主要的威胁之一 .
攻击者利用恶意 URL 进行攻击的整体流程通常包括:首先,攻击者入侵正常网站取得管理权限,并在页面
中插入自动重定向代码;这些代码会将用户引导到恶意 URL,一旦用户访问这个被篡改网站的 URL,用户会在
不知情的情况下被强制性自动跳转到恶意网站;恶意网站根据用户的请求信息判断用户的客户端环境,对于符
合攻击条件的用户,则直接返回包含恶意代码的恶意页面;当用户的浏览器在解析和执行这些恶意页面的过程
中,恶意代码就会自动执行,利用浏览器或插件的漏洞取得高级的系统权限,自动将恶意软件下载到用户客户
端,对用户造成持续性的危害.恶意 URL 的整个攻击流程不需要用户参与交互,攻击方式非常隐蔽.
目前,针对恶意网站的检测方法多是对页面代码进行静态分析或者采用动态执行的方式来进行检测.其中,
基于页面代码静态分析的方法通过对页面代码进行静态匹配与分析,然后基于启发式规则和机器学习进行检
测,常见的页面特征包括隐藏标签的数量、字符串的最大长度和页面中 URL 的数量等.基于页面代码静态分析
的方法检测速度较快,通常用于初步的筛选和过滤.基于动态执行的方法是在受控环境(如客户端蜜罐)中执行
源代码,监控触发的行为与系统状态变化,但只有在特定的环境下才会触发恶意 URL 的攻击行为.
尽管研究人员提出了多种检测方法,恶意 URL 会采用多种逃避检测的方法,例如用代码混淆来逃避静态分
析中的特征提取,从而使得基于静态特征的方法失效;用客户端环境探测来识别用户客户端类型,逃避基于行为
的动态执行检测;以及用页面重定向跳转将用户逐步引向真正的恶意站点,从而逃避静态特征提取.这些逃避手
段给恶意 URL 的检测带来了挑战.面对上述问题,我们从 3 个方面扩展了恶意 URL 的检测特征,将重定向跳转、
客户端环境探测等特点补充为检测依据,提出了融合多种特征的恶意 URL 检测方法.本文的主要贡献包括:
(1) 在特征选择方面,融合了页面内容、JavaScript 函数参数和 Web 会话流程这 3 个方面的 25 个特征,提
出了恶意 URL 的检测方法——HADMW,其中包含了重定向跳转、客户端探测、HTML5 新出现标签
和事件函数等新的页面特征,从 JavaScript 函数的参数长度和参数内容中提取的函数参数特征,以及
从会话流程中的协议、响应码和响应资源类型等方面提取的 Web 会话流程特征;
(2) 通过 HpHosts 和 ZeusTracker 等公开网站收集了 1 万多的恶意 URL 数据集,并对提出的检测方法进
行了测试,结果表明:HADMW 与部分特征组合方法相比具有更好的精确性和召回率,分别达到了
96.2%和 94.6%,说明特征融合有效提高了分类器的准确性;
(3) 将 HADMW 与现有开源项目以及免费版本的安全软件进行对比测试,结果表明:相比于现有检测工
具,HADMW 取得了更好的检测效果.
本文第 1 节介绍相关工作.第 2 节详细介绍选取的特征与原因.第 3 节介绍本文检测方法的基本思想.第 4
节介绍特征提取的过程与特征处理方法.第 5 节介绍实验测试的数据集、实验设计和实验结果.最后,第 6 节是
对本文工作的总结.
1 相关工作
目前,国内外安全厂商和科研人员针对恶意 URL 的检测方法展开多方面研究,并提出了多种检测方法,主
要包括采用基于黑名单过滤和签名匹配的方法,以及基于特征的检测方法.
[2]
基于黑名单过滤是一种常见的方法,该方法通过维护黑名单列表来检测恶意 URL .著名的 Google Safe
[3]
Browsing 就是 Google 公司基于该方法提供的工具,用于保护浏览器用户的安全 .基于签名匹配的方法通过将
页面源代码与签名进行匹配来检测恶意 URL,由于页面中恶意代码变化非常快,因此,基于签名匹配的方法很难
全面地检测恶意 URL.基于特征的检测方法依据安全专家的相关经验和知识来选取具有区分性的特征,不同类
型的特征适用于不同的检测场景.相关研究包括以下类型.
(1) 基于静态页面特征的方法
基于静态页面特征的方法是一种从页面源代码中选取特征、基于启发式规则和机器学习进行分类的检测
方法,常见的页面特征包括隐藏标签的数量、字符串的最大长度和页面中 URL 的数量等.文献[4]提出从页面中