一种恶意网页识别方法技术

技术编号:24289853 阅读:33 留言:0更新日期:2020-05-26 20:08
本发明专利技术公开了一种恶意网页识别方法,包括如下步骤:步骤1,获取恶意网页数据集,并通过数据预处理得到恶意网页的训练集和测试集;步骤2,利用Char‑CNN模型获取训练集和测试集的字符级嵌入;步骤3,构建BiLSTM‑Attention神经网络模型;步骤4,利用训练集及其字符级嵌入,以及静态词嵌入训练步骤3构建的BiLSTM‑Attention神经网络模型;步骤5,利用测试集及其字符级嵌入,以及静态词嵌入验证步骤4训练好的BiLSTM‑Attention神经网络模型;步骤6,经过步骤5验证后,将训练好的BiLSTM‑Attention神经网络模型用于对用户访问的网页数据进行恶意网页识别。本发明专利技术采用基于attention机制的双向长短时记忆循环神经网络,同时还使用字符级嵌入与静态词嵌入相结合的方法,实现了恶意网页识别的目的。

A malicious web page identification method

【技术实现步骤摘要】
一种恶意网页识别方法
本专利技术涉及互联网安全
,尤其是一种恶意网页识别方法。
技术介绍
近年来随着互联网行业不断发展,网络已经成为了人们生活中不可缺少的一部分。但与此同时,利用互联网的恶意犯罪活动也在不断的增长。利用恶意网页来进行钓鱼攻击,推广垃圾广告,引导下载恶意软件等操作是互联网犯罪的主要活动。根据<<全球中文钓鱼网站现状统计分析报告(2016年>>和中国反钓鱼联盟近年来的报告可知中国是受到恶意网页困扰比例最大的国家,并且恶意网页数量在逐年快速增长。如何快速有效的识别恶意网页,已经成为有待解决的网络空间安全问题之一。传统的识别恶意网页方法通常为基于黑名单技术的识别方法。也是现在在工业界应用最多的方法。黑名单技术是维护一个恶意域名列表,如果访问的域名不在恶意域名列表内,那么浏览器将认为这是一个正常的域名,如果在列表内,那么则认为是一个恶意域名。这种方法的优点在于技术实现简单,而且可以准确识别已经确认的恶意网页。但缺点在于不能识别以前未出现过的恶意域名,而且需要技术人员一直维护恶意域名列表。近年来随着机器学习技术的发展,有越来越多的人将机器学习技术应用于恶意网页检测。利用人工从url链接提取url长度,是否为https链接,域名长度等等特征,又或者利用蜜罐技术检测网页的内容,检测是否有恶意脚本,检测网站上的图片是否为违规图片等等,然后再基于机器学习算法如svm,随机森林等算法进行分类。但这种方法非常依赖于网络安全方面的专家,需要对恶意网页方面非常熟悉的人来对恶意网页数据集进行人工特征提取。人工提取的特征对于最后分类结果的好坏影响非常大。
技术实现思路
本专利技术所要解决的技术问题是:针对上述存在的问题,提供一种恶意网页识别方法,该方法利用字符级嵌入和双向长短时记忆循环神经网络(BiLSTM)直接对URL链接进行分类,从而达到识别恶意网页的目的。本专利技术采用的技术方案如下:一种恶意网页识别方法,包括如下步骤:步骤1,获取恶意网页数据集,并通过数据预处理得到恶意网页的训练集和测试集;步骤2,利用Char-CNN模型获取训练集和测试集的字符级嵌入;步骤3,构建BiLSTM-Attention神经网络模型;步骤4,利用训练集及其字符级嵌入,以及静态词嵌入训练步骤3构建的BiLSTM-Attention神经网络模型;步骤5,利用测试集及其字符级嵌入,以及静态词嵌入验证步骤4训练好的BiLSTM-Attention神经网络模型;步骤6,经过步骤5验证后,将训练好的BiLSTM-Attention神经网络模型用于对用户访问的网页数据进行恶意网页识别。综上所述,由于采用了上述技术方案,本专利技术的有益效果是:本专利技术采用基于attention机制的双向长短时记忆循环神经网络,同时还使用字符级嵌入与静态词嵌入相结合的方法,实现了恶意网页识别的目的,本专利技术的方法相比传统的恶意网页识别方法:1.不需要人员维护域名黑名单;2.不需要专业的网络安全人员设计特征;3.对于新出现的恶意网页识别率高;4.适用于识别移动端出现的恶意网页。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本专利技术的恶意网页识别方法的流程框图。图2为本专利技术构建的BiLSTM-Attention神经网络模型的结构示意图。图3为本专利技术将训练好的BiLSTM-Attention神经网络模型用于对用户访问的网页数据进行恶意网页识别的原理图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术,即所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1所示,一种恶意网页识别方法,包括如下步骤:步骤1,获取恶意网页数据集,并通过数据预处理得到恶意网页的训练集和测试集;具体地:步骤1.1,去除恶意网页数据集url链接缺失或者标签缺失的样本,然后进行分词处理;英文文本的分词是基于空格的,但url链接是特殊的英文文本,没有空格,本实施例采用pythonwordninia模块对恶意网页数据集中的url链接进行分词处理,保留url链接中所有的符号;步骤1.2,url链接中包含了许多缩写词语,所以还需要进行词干提取和词形还原等预处理操作。本实施例采用pythonNLTK包中的PorterStemmer和WordNetLemmatizer模块对恶意网页数据集中的url链接进行词干提取和词形还原;步骤1.3,为避免出现字母大写和小写混杂的情况,本实施例采用pythonlower()方法将恶意网页数据集中的url链接所有的字母转为小写或大写(优选小写),完成归一化操作;步骤1.4,将经过步骤1.1~步骤1.3处理后的恶意网页数据集按7:3或8:2(优选8:2)的比例分为训练集和测试集。步骤2,利用Char-CNN模型获取训练集和测试集的字符级嵌入;具体地:步骤2.1,构建一张字符表:将abcdefghijklmnopqrstuvwxyz0123456789-,;.!?:”’/\|_@#$%^&*~‘+-=<>()[]{}这69个字符使用one-hot编码,再加一个全0向量用于处理不在该字符表中的字符,形成包括70个字符的字符表,并将该字符表表示为one-hot向量,例如a[1,0,0,0…0],维度为50。步骤2.2,将训练集或测试集采用字符表的one-hot向量表示,然后输入Char-CNN模型训练,得到相应的字符级嵌入,例如:a[0.2324124,0.2124244,0.5252411,…]。其中,所述Char-CNN模型为一个6层卷积层的神经网络模型。步骤3,构建BiLSTM-Attention神经网络模型;BiLSTM模型即是双向LSTM(双向长短时记忆循环神经网络),Bi-LSTM模型使用向前和向后两个方向来对输入层的数据进行训练,故BiLSTM比LSTM能更好的捕获句子中上下文的信息,然后在BiLSTM模型上再加一层Attention层,即构成BiLSTM-Attention神经网络模型。如图2所示本文档来自技高网
...

【技术保护点】
1.一种恶意网页识别方法,其特征在于,包括如下步骤:/n步骤1,获取恶意网页数据集,并通过数据预处理得到恶意网页的训练集和测试集;/n步骤2,利用Char-CNN模型获取训练集和测试集的字符级嵌入;/n步骤3,构建BiLSTM-Attention神经网络模型;/n步骤4,利用训练集及其字符级嵌入,以及静态词嵌入训练步骤3构建的BiLSTM-Attention神经网络模型;/n步骤5,利用测试集及其字符级嵌入,以及静态词嵌入验证步骤4训练好的BiLSTM-Attention神经网络模型;/n步骤6,经过步骤5验证后,将训练好的BiLSTM-Attention神经网络模型用于对用户访问的网页数据进行恶意网页识别。/n

【技术特征摘要】
1.一种恶意网页识别方法,其特征在于,包括如下步骤:
步骤1,获取恶意网页数据集,并通过数据预处理得到恶意网页的训练集和测试集;
步骤2,利用Char-CNN模型获取训练集和测试集的字符级嵌入;
步骤3,构建BiLSTM-Attention神经网络模型;
步骤4,利用训练集及其字符级嵌入,以及静态词嵌入训练步骤3构建的BiLSTM-Attention神经网络模型;
步骤5,利用测试集及其字符级嵌入,以及静态词嵌入验证步骤4训练好的BiLSTM-Attention神经网络模型;
步骤6,经过步骤5验证后,将训练好的BiLSTM-Attention神经网络模型用于对用户访问的网页数据进行恶意网页识别。


2.根据权利要求1所述的恶意网页识别方法,其特征在于,步骤1的方法为:
步骤1.1,去除恶意网页数据集url链接缺失或者标签缺失的样本,并采用pythonwordninia模块对恶意网页数据集中的url链接进行分词处理,保留url链接中所有的符号;
步骤1.2,采用pythonNLTK包中的PorterStemmer和WordNetLemmatizer模块对恶意网页数据集中的url链接进行词干提取和词形还原;
步骤1.3,采用pythonlower()方法将恶意网页数据集中的url链接所有的字母转为小写或大写,完成归一化操作;
步骤1.4,将经过步骤1.1~步骤1.3处理后的恶意网页数据集按7:3或8:2的比例分为训练集和测试集。


3.根据权利要求1所述的恶意网页识别方法,其特征在于,步骤2的方法为:
步骤2.1,构建一张字符表:
将abcdefghijklmnopqrstuvwxyz0123456789-,;.!?:”’/\|_@#$%^&*~‘+-=<>()[]{}这69个字符使用one-hot编码,再加一个全0向量用于处理不在该字符表中的字符,形成包括70个字符的字符表,并将该字符表表示为one-hot向量;
步骤2.2,将训练集或测试集采用字符表的one-hot向量表示,然后输入Char-CNN模型训练,得到相应的字符级嵌入。


4.根据权利要求1或3所述的恶意网页识别方法,其特征在于,所述Char-CNN模型为一个6层卷积层的神经网络模型。


5.根据权利要求1所述的恶意网页识别方法,其特征在于,步骤3的方法为:
步骤3.1,构建输入层,所述输入层用于输入经过步骤1数据预处理后的恶意网页数据集;
步骤3.2,构建嵌入层,所述嵌入层利用恶意网页数据集的字符级嵌入,以及静态词嵌入替换恶意网页数据集中的单词,得到恶意网页数据集中每条url链接的嵌入表示;
步骤3.3,构建LSTM层,所述LSTM层包括两层,其中一层为前向传播层,另一层为后向传播层;每层LSTM层包括遗忘门,输入门,输出门和细胞状态,其中,
(1)更新遗忘门输出:ft=σ(wfht-1+Ufxt+bf);ht-1表示历史信息,xt表示流入细胞中新的信息,bf为偏置项;
(2)更新输入门两部分输出:
it=σ(wiht-1+Uixt+bi);
at=tanh(waht-1+Uaxt+ba);
(3)更新细胞状态:
Ct=Ct-1ft+itat;
(4)更新输出门两部分输出:
ot=σ(w0ht-1+U0xt+b0);
ht=ottanh(Ct);
(5)当前序列索引...

【专利技术属性】
技术研发人员:廖永建王勇王栋吴宇梁艺宽
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1