第一章 绪论
1.1研究背景与意义
2019 年,中国互联网络信息中心向社会公布的第 44 次《中国互联网络发展状况统计报告》显示,截至当年 6 月,中国网民的数量已经达到 8.5 亿,互联网在城乡的普及率也达到了61.2%,该数据对比 2018 年底提升了 1.6 个百分点,并且这一数字还在不断增加。我国网站总数约为 518 万个, 对比 2018 年底下降 1.1%,仍然是极大的规模[1]。这表明互联网应用已经成为人们日常生活中不可或缺的一部分,而在人们在获得互联网便利的同时,也面临更多的安全风险。根据 2020 年 9 月国家互联网应急中心发布的月度报告-《CNCERT 互联网安全威胁报告》显示,2020 年 9 月,我国互联网网络安全状况整体评价为良,其中境内被篡改网站数量为 14350 个,包含 72 个政府网站,占篡改网站的比例为 0.5%,而在国家信息安全漏洞共享平台(CNVD)收集整理信息系统安全漏洞 1,518 个。其中,高危漏洞 423 个,可被利用来实施远程攻击的漏洞有 1,190 个,受影响的软硬件系统厂商包括 Cisco、Google、IBM、Microsoft、Apple、Oracle 等。这些漏洞类型分布前三位分别是应用程序漏洞、WEB 应用漏洞、操作系统漏洞[2]。
互联网中存在着大量不安全的网站,当用户为了使用互联网资源而进入相关网站时,有极大可能会遇到信息安全问题。互联网中存在诸多钓鱼网站以及危害性较大的SQL注入攻击、XSS 攻击,这对用户或者企业的隐私、财产安全构成了一定的安全威胁。随着网络攻击形式变得更加复杂化与自动化,恶意的程序以及脚本在网络中传播的越来越隐秘,这就要求网络安全研究者需要做出更加全面与深入的应对策略。网络中最常被用户点击的恶意 URL 链接,是传递网络恶意程序和脚本的常用媒介,并且这些恶意 URL 与真实 URL 极其相似,且存活时间长,攻击对象广泛[3]。所以,如何高效检测恶意 URL 链接是网络安全研究者的一个重要挑战与任务。
1.2国内外研究现状1.2.1 国内研究现状
互联网技术在全球的发展与应用,网络空间安全问题更加引人关注,如今的安全问题不仅是字面的信息安全,更多的是种类繁多的网络攻击,这些攻击很难单独处理并且制定统一解决方案,所以研究者们需要从多个层次上表现网络安全的新特征[4]。关于恶意 URL 的检测的研究可以分为主要三部分:维护特定数据库的黑名单检测技术[5]、人工提取特征的传统机器学习方法、自动提取特征的深度学习方法。
基于黑名单技术的检测模型是恶意 URL 检测算法中最传统与经典的模型,企业会在数据库中维护一份恶意 URL 黑名单,每当遇到新的 URL 请求时候,将其与黑名单进行比对,由此推断出该 URL 请求是否恶意。段新东等人[6]在传统黑名单检测基础上更新了黑名单特征,使用一种智能化学习的方式,逐步增强黑名单对恶意 URL 的检测能力。随着近年来机器学习在网络安全上的应用越来越广,研究者们将机器学习算法用于恶意 URL 的检测。刘健[7]将黑白名单技术、朴素贝叶斯算法以及决策树算法结合,提出了一种多层过滤检测模型,即该方法不局限于某一种单一的检测方法,URL 会通过多层检测模型,只有通过当前一层的检测,才可以进入到下一层模型中继续检测。黄华军等人[8]分析恶意 URL 字符串的组成结构和词汇,人工选取了 12 个特征的特征向量,之后采用支持向量机技术进行分类,获得了较好的结果。杨朋朋等人[9]提出一种基于启发式和特征的方法用于特征提取,设计并构建了恶意 URL的多分类模型。陈康等人[10]提出了一种基于深度学习的恶意 URL 分类算法,利用深度学习中对图像处理的方法将卷积神经网络应用到 URL 分类中,提升了检测精度和 F1 值。潘思晨等人[11]也同样使用卷积神经网络模型,着重研究了数据预处理的词嵌入模块,使用 Word2vec 词嵌入技术和 One-hot 编码技术做了对比,实验结果证明了词嵌入技术对词义特征获取效果更好,泛化能力更强。吴海滨[12]提出了一种基于URL上下文信息的检测方法,主要研究 Word2vec模型对 URL 的词向量表示,着重对卷积神经网络进行改进,优化特征提取进而实现 URL 分类。左雯等人[13]利用卷积神经网络与门控循环单元(Gate Recurrent Unit,GRU)结合的神经网络结构,并且使用剪枝策略,实现了分类效果的提升与计算效率的提高。
第二章 相关背景知识介绍
2.1 恶意 URL 攻击研究
随着近年来世界范围内互联网公司的崛起,越来越多的 Web 应用出现在国内外市场上。在国外有 Facebook,Youtube,Twitter 等大型网站,它们在世界范围内拥有海量的用户,而在国内也有以百度,阿里巴巴,腾讯等公司为首的众多企业,它们遍布在各个行业与生态,搭建了诸多网站平台,为互联网用户创造了极大的便利。互联网用户只需在浏览器中输入网页地址就访问企业提供的各种资源,然而,用户们也因此会遭遇一些不可避免的安全威胁。URL作为访问网络资源的入口,常常会被不法分子们通过某些手段所利用,如恶意 URL 中涉及钓鱼网页以及恶意程序以及脚本,其中钓鱼网页会窃取用户的私人信息,而恶意程序会在用户的计算机上下载脚本或者执行命令,这极大的侵害了用户计算机安全[20]。在当今的网络安全态势下,如何应对网络攻击与保障信息安全,必须纳入网络安全人员的考虑之中。这对人们日常生活、企业的经营发展以及政府的机密信息安防都有着重要的影响。
2.1.1 常见攻击形式
(1)钓鱼网站攻击 钓鱼网站攻击是比较常见的网络攻击形式,并且极具欺骗性。钓鱼网站的目的是为了获取用户的账号、密码以及个人信息。黑客或者不法分子仿照真实网站制作钓鱼网站,网站的URL 和登陆界面等信息与真实网站极其相似,攻击流程一般如下步骤:
1)精心构建与真实网站相似的钓鱼网站。
2)利用搜索引擎优化(Search Engine Optimization,SEO),或者网络邮件、恶意二维码等形式,诱导用户点击链接。
3)获取到用户登录网站时输入的账户名与密码。
4)设置虚假的紧急要求,如要求密保验证、多次输入等哄骗型手段,获取更精确的用户信息。
5)成功截获用户的登录或者其他重要信息,留待未来实施诈骗行为。
一旦黑客建立起假冒网站后,他们就可以依赖内容形式上的欺骗技巧,并且使用广撒网的思想,引诱大量无知的用户去访问这些假冒网站。这对用户的经济、安全方面都造成了巨大的威胁与侵害,更甚者会对社会与国家安全造成不可估量的危害。
2.2文本表示技术
计算机拥有强大的数学计算能力,但是它无法直接处理文本或者图像等信息,所以当使用机器学习或者深度学习方法研究 URL 数据集的时候,往往需要对 URL 文本进行特殊处理。机器学习中经典做法是对初始文本进行特征处理操作,使用一些特征提取方法把 URL 中的每个单词和符号都使用数字矩阵的形式表示出来,转换为计算机可理解的形式。通过这种矩阵表示的方式,就可以规范化模型输入,之后送入神经网络模型进行训练并且不断调整。虽然模型最终展现的效果与很多因素相关,比如优化器、学习率以及正则化方法等,但是特征处理工作却是其中最基础的,最必要的步骤。
目前在机器学习中经常使用的特征表示技术包含传统的词表示法,如 TF-IDF 、One-hot编码等,以及基于神经网络模型的分布式表示法,如 Word2vec、ELMo(Embedding From Language Model)、GPT(Generative Pre-Train)、BERT(Bidirectional Encoder Representations from Transformers)等。
2.2.1 传统词表示技术
(1)TF-IDF
TF-IDF(Term Frequency–Inverse Document Frequency)本质上是一种统计学习方法[21],在文本处理和语义分析领域有很广泛的使用,常用来评估一个词条对于当前文章或者语库中全部文章的重要程度。
TF-IDF 算法会计算词条在不同文档中的出现频率,来得出词条对文章的代表性。如果某词条在当前文档中出现频率高,在其他文档中频率低,则表示该词条对当前文档有较好的代表性。计算一个词条的 TF-IDF 值和两个要素相关。
(2)One-hot 编码
该编码又称为独热码,主要是利用寄存器状态来对所有数据的状态进行编码,且每个状态都有独立的寄存器位,在任意时候只有一位有效。在一个向量空间中,独热向量将每个词使用 N 维向量表示,表示当前词时,则当前维度值为 1,其他位置均为 0,是一个只有 0 和 1的矩阵。
第三章 基于 CNN 的恶意 URL 检测模型 ............................. 19
3.1 URL 特征表示 ............................. 19
3.1.1 URL 分词 ................................