本文是一篇计算机论文,笔者认为恶意 URL 的研究对于互联网安全具有重要现实意义,综合本文以上研究,本文设计的模型还存在一些可以优化的方面,将会在未来的工作中进一步考虑:(1)在 CBLA 模型中对 URL 文本的预处理和向量化表示中,可以从 URL 字符串的字符级别与单词级别综合考虑进行分词,融合二者获得的特征信息,以获得更好的特征表示。
第一章 绪论
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 分词 ................................ 20
3.1.2 URL 词向量表示 ..................... 21
第四章 基于 BERT 特征表示的恶意 URL 检测模型 ............................... 34
4.1 Transformer 模型.............................. 34
4.1.1 词向量化 ................................ 35
4.1.2 位置编码 ............................. 35
第五章 总结与展望 .............................. 49
5.1 工作总结 .................................. 49
5.2 展望 ........................................ 50
第四章 基于 BERT 特征表示的恶意 URL 检测模型
4.1 Transformer 模型
2018 年谷歌的 BERT 模型横空出世,NLP 领域各大任务在精度与效率上都得到了明显提升。BERT 的核心部分是 Transformer 编码器[45],并且由于 Transformer 优秀的自注意力机制,逐渐受到广大研究者的青睐。在 Transformer 模型面世之前,许多序列模型都是基于 CNN 和RNN 的,而 Transformer 是完全基于 Attention 机制的,该机制要比 CNN 和 RNN 优秀。Attention 机制可以解决 RNN 及其变体存在的长距离依赖问题,有更好的记忆力,其次支持并行化计算,能够加快运算效率。Transformer 的 encoder 模块是 BERT 预训练模型的核心,其基本架构如下图所示:
图中 N 表示 Encoder 编码器的层数,在 Transformer 论文原文中模型叠加了 6 个完全一样的 Encoder 层,为了避免模型的网络过深,导致训练困难,模型中每一层中都加入了残差连接来优化训练。此外,在每层 Encoder 的内部,输入数据先进入 Multi-Head-Attention 层,计算权重分数,之后进入一层全连接前馈神经网络,实现标准归一化处理后,进入下一个 Encoder 层中往复处理。
第五章 总结与展望
5.1工作总结
近些年来互联网技术的发展越来越快,人们也享受着越来越便捷的服务,包括网络购物、在线支付,快捷搜索等。然而互联网中也有安全隐患,不法分子通过利用恶意网页伪装或盗取私密信息,对互联网用户和企业信息安全带来了巨大的威胁。URL 作为网页的访问入口,是不法分子植入恶意程序与脚本,实施网络犯罪的重要渠道。本文介绍了一些恶意 URL 攻击形式,又深入研究了 URL 字符串的特点以及现有方法的不足,在数据预处理与特征提取模块进行了大量研究,最后设计了多组对比实验验证了本文所提出方法的有效性。本文工作主要为:
(1)设计 URL 分词与词向量表示
研究了 URL 字符串的特殊性,设计了合适的分词技术,将 URL 字符串中的特殊符号也作为单词处理,将分词结果构建语料库后,使用 Word2vec 词嵌入技术获取 URL 字符串的词向量表示。
(2)基于 CNN 的恶意 URL 检测模型
实现 URL 分词以及词向量表示之后,结合深度学习技术构造了基于 CNN 与 BiLSTM 的神经网络模型以进一步提取隐含特征,其中 CNN 用于初步提取特征,BiLSTM 用来获取文本间的长期依赖。此外,在模型中还添加了 Attention 机制来学习文本序列中的重要信息,最终构建了 CBLA 模型用于检测恶意 URL。实验结果表明,该算法对恶意 URL 检测效率与准确率有所提升。
(3)基于 BERT 特征表示的恶意 URL 检测模型
提出一种基于 BERT 特征表示的检测模型。BERT 在文本预处理方面有两个优点,其一是BERT 模型使用 WordPiece 模型分词,它将单词进一步细化切分形成字符级的序列,能够大幅度提高语言模型的可能性;其二是词向量生成方面,BERT 对比 Word2vec 而言,其单词分词会经过三层编码和强大自注意力机制的 Transformer 编码器,这些处理步骤将会提高词向量的一词多义表征能力,泛化能力更强。基于这两个优点,本文根据数据集特点,对词向量的维度设置做出了改进,其次通过微调技术丰富了模型的权重参数并用于 URL 分类,最后根据BERT 生成的[CLS]词向量的特性,在 BERT 获得的特征向量后接入一层 BiLSTM 神经网络,构建了 BBL 检测模型,并与 CBLA 模型、基于微调的 BERT 模型对比分类效果。
参考文献(略)