CN107566391B - 域识别加主题识别构建机器学习模型检测网页暗链的方法 - Google Patents
域识别加主题识别构建机器学习模型检测网页暗链的方法 Download PDFInfo
- Publication number
- CN107566391B CN107566391B CN201710853580.2A CN201710853580A CN107566391B CN 107566391 B CN107566391 B CN 107566391B CN 201710853580 A CN201710853580 A CN 201710853580A CN 107566391 B CN107566391 B CN 107566391B
- Authority
- CN
- China
- Prior art keywords
- risk
- text
- theme
- domain
- webpage source
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种域识别加主题识别构建机器学习模型检测网页暗链的方法,包括:收集大量含已被标注为包含暗链的网页源码和标注为正常的网页源码作为训练集,通过可疑域识别、敏感域识别、安全域识别、全域分析和主题识别提取每个网页源码中风险文本、风险度、主题异样度、主题、风险文本向量、风险文本异常概率、以及风险文本长度,将训练集中所有网页源码的特征数据用机器学习算法进行模型训练得到分类判别模型,最后,将待预测网页源码的特征数据导入分类判别模型中,得到待预测网页源码是否包含暗链,因此,本发明对高混杂暗链代码识别效果好、特征提取的比较完整、且能够很好解决传统方法无法正确区分暗链和页面篡改的问题。
Description
技术领域
本发明属于网络安全技术领域,具体涉及一种域识别加主题识别构建机器学习模型检测网页暗链的方法。
背景技术
近年来,互联网行业蓬勃发展,网络已经成为人们主要的信息获取方式,随着各种新网站的出现,网络信息成指数级增长。在这种海量信息下,搜索引擎成为了主要的信息搜索工具,搜索引擎通过爬取网站信息并对网页内容计算权重做排名展示在搜索结果中。由于展示在搜索结果前部的网站有更大概率被用户访问,某些网站管理者为了获取更多访问量,往往采取各种作弊手段。“暗链”就是一种提高网站排名的作弊手段。具体说,“暗链”指的是攻击者获取网站权限后,修改网页源码,插入指向其他网站的反向连接代码,并且用户在正常浏览网页时无法看到此链接,但可被搜索引擎检索计算权重。一旦网页中存在暗链,通常这个网站已经被入侵,网站存在被植入恶意代码、网页被恶意篡改,数据信息泄露等风险。因此,“暗链”相比于其它搜索引擎作弊方式,具体有更大的危害性,并且难于发现。目前传统暗链检测方式都是基于规则的扫描方式,此种方式规则固定,很容易通过使用一些有技巧的代码编写方式绕过,规则扫描方式还需要大量人工维护对规则更新。这种基于规则无法对高技巧编码的识别,以及需要大量人工维护的问题,即是本文需要解决的技术问题。本文设计的基于机器学习的方案能很好的解决此类技术问题。
各搜索引擎也对通过页面注入暗链方式提升网站排名行为做了严格管控,但是这种暗链行为还是时有发生。目前在已公布的关于暗链检测的专利中,多数是使用基于规则的检测。如百度公开的暗链检测专利(申请号201210049496.2公布号CN102622435A),是使用基于规则加黑名单识别网页暗链,此方式对于高度混淆的暗链代码识别较弱。目前已公布的暗链检测专利中仅有一篇使用了机器学习算法,专利(申请号201410452221.2公布号CN104239485A)使用了机器学习对页面中提取的所有锚文本作为特征构建模型识别暗链,此种方式提取了页面所有锚文本,会产生很多噪音数据,提取的特征较粗,会降低识别效果,并且由于仅通过锚文本做特征会将不含暗链的页面内容篡改误识别为暗链。
发明内容
本发明是为了解决上述问题而进行的,目的在于提供一种对高混杂暗链代码识别效果好、特征提取的比较完整、且能够很好区分暗链和页面篡改的域识别加主题识别构建机器学习模型检测网页暗链的方法。
本发明提供了一种域识别加主题识别构建机器学习模型检测网页暗链的方法,其特征在于,包括以下步骤:
步骤1,收集大量网页源码作为训练集,所述训练集中包含已被标注为包含暗链的网页和标注为正常的网页;
步骤2,提取训练集中网页源码和待预测网页源码中用于构建机器学习模型的特征数据,所述特征数据包含风险度、主题异样度、主题、风险文本向量、风险文本异常概率、以及风险文本长度,
首先,将所述训练集中网页源码和待预测网页源码进行可疑域识别或敏感域识别得到每个网页源码的风险文本和风险度,进行安全域识别得到安全文本,或者,进行全域分析得到每个网页源码的风险文本、风险度和安全文本,根据所述风险文本和所述安全文本基于主题识别模型得到每个网页源码的主题异样度、以及主题,
然后,将每个所述风险文本进行处理,并用Doc2vec算法对处理后的风险文本进行训练得到Doc2vec模型,将处理后的风险文本用所述Doc2vec模型处理得到风险文本向量,计算风险文本异常概率,并计算出风险文本长度;
步骤3,将训练集中所有网页源码的特征数据用机器学习算法进行模型训练得到分类判别模型;
步骤4,将待预测网页源码的特征数据导入所述分类判别模型中,得到待预测网页源码是否包含暗链。
进一步,在本发明提供的域识别加主题识别构建机器学习模型检测网页暗链的方法中,还可以具有这样的特征:还包括步骤5,对分类判别模型识别的结果,进一步审核,并将已确认识别结果的待预测网页源码扩充到训练集,定期重新训练模型。
进一步,在本发明提供的域识别加主题识别构建机器学习模型检测网页暗链的方法中,还可以具有这样的特征:其中,得到每个网页源码的风险度、主题异样度、以及主题采用以下方法:
步骤21,分析网页源码,提取网页源码中所有可疑域,对每个可疑域进行风险度识别并获取锚文本,
首先,对每一个可疑域进行风险度识别,判断该可疑域是否为风险结构,若为风险结构,进一步判断该风险结构中的每个链接是否为风险链接,提取判断为风险链接的锚文本信息,然后,根据判断的每个可疑域是否为风险结构和风险结构中包含的风险链接计算得到该网页源码的风险度,将提取的可疑域中所有风险链接的锚文本信息作为该网页源码的风险文本;
步骤22,判断根据可疑域得到的该网页源码的风险度是否为0,如果该网页源码的风险度为0,则进行步骤23,若果网页源码的风险度不为0,则进行步骤25;
步骤23,分析网页源码,提取网页源码中所有敏感域,对每个敏感域进行风险度识别并获取锚文本,
首先,对每一个敏感域进行风险度识别,判断该敏感域是否为风险结构,若为风险结构,进一步判断该风险结构中的每个连接是否为风险链接,提取判断为风险链接的锚文本信息,然后,根据判断的每个敏感域是否为风险结构和风险结构中包含的风险链接计算得到该网页源码的风险度,将提取的敏感域中所有风险链接的锚文本信息作为该网页源码的风险文本;
步骤24,判断根据敏感域得到的该网页源码的风险度是否为0,如果风险度不等于0,则进行步骤25,如果风险度等于0,则进行步骤26;
步骤25,分析网页源码,提取网页源码中安全域,分析每个所述安全域,提取所述安全域的锚文本信息,将提取的所有的安全域的锚文本信息作为安全文本,
如果根据敏感域得到的该网页源码的风险度不等于0,则还需获取扩展敏感域文本信息,并对所述扩展敏感域文本信息进行主题识别,如果识别出主题为暗链文本常用主题,则提取该扩展敏感域文本信息补充到以敏感域识别得到的风险文本中,如果识别出主题不是暗链文本常用主题,则抛弃该扩展敏感域文本信息;
步骤26,对网页源码进行全域分析,提取风险文本和安全文本,并计算风险度;
步骤27,将上述步骤得到的安全文本和风险文本导入主题识别模型识别出主题,并计算出主题异样度。
进一步,在本发明提供的域识别加主题识别构建机器学习模型检测网页暗链的方法中,还可以具有这样的特征:其中,步骤27采用以下步骤得到:
步骤271,在识别主题和计算主题异样度前,需将提取到的安全文本和风险文本做特殊符号过滤;
步骤272,判断过滤后的风险文本是否为空,如果过滤后的风险文本不为空,进入步骤273,如果过滤后的风险文本为空,则进入步骤2710;
步骤273,对安全文本和风险文本进行主题识别并计算主题异样度;
步骤274,判断主题异样度是否为0,若主题异样度为0,则执行步骤275,若主题异样度不为0,进入步骤2716;
步骤275,判断是否进行过全域分析,如果没有做全域分析,则进入步骤276,否则,进入步骤2711,
步骤276,对网页源码进行全域分析,并提取网页源码的风险文本和安全文本;
步骤277,对提取的风险文本和安全文本做特殊符号过滤;
步骤278,判断风险文本是否非空,并且安全文本是否非空;如果风险文本非空且安全文本非空,则进入步骤279,否则,进入步骤2711;
步骤279,对风险文本和安全文本进行识别主题和计算主题异样度,然后进入步骤2716;
步骤2710,判断是否进行过全域分析,如果没有进行过全域分析,则重新执行步骤276-步骤279,如果进行过全域分析,则进入步骤2711;
步骤2711,置主题为None,表示未识别出,并置异样度为0,然后进入步骤2716;
步骤2716,将得到的主题和主题异样度输出。
进一步,在本发明提供的域识别加主题识别构建机器学习模型检测网页暗链的方法中,还可以具有这样的特征:对网页源码进行全域分析采用以下方法:
分析网页源码,提取所有<link>标签域、<a>标签域,对提取的所有标签域进行如下计算,
判断标签域内链接是否为风险链接,如果是风险链接则提取“text”和“tile”文本作为风险文本,如果不是风险链接则提取“text”和“tile”文本作为安全文本,并计算出网页源码的风险度。进一步,在本发明提供的域识别加主题识别构建机器学习模型检测网页暗链的方法中,还可以具有这样的特征:在步骤26进行全域分析后,还需要扩充以全域分析得到的风险文本中的锚文本数量,具体方法如下:
步骤261:提取页面<head>标签区域中<meta>标签内的keywords、description、content文本,<title>标签中的text文本。
步骤262:将步骤261中提取的文本导入主题识别模型中识别文本主题,若识别出为暗链文本常用主题,则将步骤261中提取的文本做扩充到以全域分析得到的风险文本中,否则抛弃步骤261中提取的文本。
进一步,在本发明提供的域识别加主题识别构建机器学习模型检测网页暗链的方法中,还可以具有这样的特征:其中,主题异样度采用以下方法计算:
对安全文本和风险文本进行去噪处理;
将处理后的安全文本和风险文本分别导入所述主题识别模型,分别得到所述安全文本的主题和主题匹配度,所述风险文本的主题和主题匹配度;
根据安全文本的主题和风险文本的主题是否相似、安全文本的主题匹配度和风险文本的主题匹配度得到主题异样度。
进一步,在本发明提供的域识别加主题识别构建机器学习模型检测网页暗链的方法中,还可以具有这样的特征:其中,所述主题识别模型包含:LDA主题模型、朴素贝叶斯主题模型、多模敏感词识别主题模型。
进一步,在本发明提供的域识别加主题识别构建机器学习模型检测网页暗链的方法中,还可以具有这样的特征:其中,所述机器学习算法包含:随机森林、SVM。
进一步,在本发明提供的域识别加主题识别构建机器学习模型检测网页暗链的方法中,还可以具有这样的特征:其中,对风险文本进行处理的方法如下:
对所述风险文本进行去噪处理;
使用开源分词工具对风险文本的中文文本做分词处理;
对做分词处理后的风险文本进行过滤,过滤掉常见停用词。
进一步,在本发明提供的域识别加主题识别构建机器学习模型检测网页暗链的方法中,还可以具有这样的特征:其中,对风险文本或安全文本进行去噪处理的方法如下:仅保留风险文本中的中文;或保留风险文本中的中文和英文;或保留风险文本中的中文、英文和数字。
进一步,在本发明提供的域识别加主题识别构建机器学习模型检测网页暗链的方法中,还可以具有这样的特征:其中,在训练Doc2vec模型时,还需要将训练集中每个网页源码对应的风险文本的ID与class标识合并字符串作为风险文本的tag,其中,class的值为0表示标识为正常的网页源码,class的值为1表示标识为包含暗链的网页源码。
进一步,在本发明提供的域识别加主题识别构建机器学习模型检测网页暗链的方法中,还可以具有这样的特征:其中,计算风险文本异常概率采用以下方法:
基于预定方法提取Doc2vec模型中与该风险文本的风险文本向量最接近的k个风险文本,
获取计算的风险文本和所述k个风险文本的tag,根据所述k个风险文本的tag得到所述k个风险文本的暗链占比,所述暗链占比即为该风险文本的风险文本异常概率。
本发明具有如下优点:
根据本发明所涉及的域识别加主题识别构建机器学习模型检测网页暗链的方法,通过构建机器学习模型改善传统基于规则的方法对高混杂暗链代码识别效果差的问题,通过引入域识别机制解决目前已公开的基于机器学习识别暗链方法特征提取不纯的问题,通过在域识别基础上做主题识别解决目前已公开的基于机器学习识别暗链方法无法很好区分暗链和页面篡改的问题,因此,本发明的域识别加主题识别构建机器学习模型检测网页暗链的方法对高混杂暗链代码识别效果好、特征提取纯、且能够很好解决无法区分暗链和页面篡改的问题。
附图说明
图1是本发明的域识别加主题识别构建机器学习模型检测网页暗链的方法的流程图;
图2是本发明的域识别加主题识别构建机器学习模型检测网页暗链的方法的逻辑简图;
图3是本发明获取第一阶段特征数据的流程图;
图4是本发明主题识别和计算主题异样度的详细流程图;
图5是本发明获取第二阶段特征数据的流程图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,以下实施例结合附图对本发明的域识别加主题识别构建机器学习模型检测网页暗链的方法作具体阐述。
如图1、图2所示,域识别加主题识别构建机器学习模型检测网页暗链的方法包含以下步骤:
步骤S1,收集大量网页源码作为训练集,训练集中包含已被标注为包含暗链的网页和标注为正常的网页。
步骤S2,提取训练集中网页源码和待预测网页源码中用于构建机器学习模型的特征数据,特征数据包含风险度、主题异样度、主题、风险文本向量、风险文本异常概率、以及风险文本长度。
提取网页源码的特征数据包含两个阶段,第一个阶段为提取网页源码的风险文本、风险度、主题异样度和主题。第二个阶段为提取网页源码的风险文本向量、风险文本异常概率和风险文本长度。
在第一个阶段提取网页源码的风险文本、风险度、主题异样度和主题时,将训练集中网页源码和待预测网页源码进行可疑域识别或敏感域识别得到每个网页源码的风险文本和风险度,进行安全域识别得到安全文本,或者,进行全域分析得到每个网页源码的风险文本、风险度和安全文本,根据风险文本和安全文本基于主题识别模型得到每个网页源码的主题异样度、以及主题。其中,分层级的域识别特征提取可提高对复杂暗链代码的识别能力,主题识别特征提取可较好区分网页暗链和页面篡改。
如图3所示,具体方法如下:
步骤S21,分析网页源码,提取网页源码中所有可疑域,对每个可疑域进行风险度识别并获取风险文本。可疑域具体指包含隐藏效果的代码区域,包括但不限于:
1、链接位于页面可见范围之外,即通过改变position位置达到页面不可见。可以将position位置属性设置成负数,则链接无法显示在可见页面之内。代码示例如下:
<divstyle="position:absolute;left:expression_r(1-900);top:expression_r(3-999);"><ahref="暗链">锚文本</a></div>
<divstyle="position:absolute;top:-999px;right:-999px;"><aherf="暗链">锚文本</a></div>
<divstyle="text-indent:-9999em;display:block;float:left">
<aherf="暗链">锚文本</a></div>
2、利用跑马灯marquee属性,即通过改变跑马灯marquee参数达到用户不可见。链接以跑马灯形式迅速闪现,跑马灯的长宽设置很小,同时将闪现的频率设置很大,使得查看页面时不会有任何影响。代码实例如下:
<marqueeheight=1width=4scrollamount=3000scrolldelay=20000>
<ahref="暗链">锚文本</a></marquee>
3、利用display:none和visibility:hidden隐藏区域里的内容,即通过设置“display:none”,”overflow:hidden”达到用户不可见。代码实例如下:
首先,对每一个可疑域进行风险度识别,判断该可疑域是否为风险结构,若为风险结构,进一步判断该风险结构中的每个链接是否为风险链接,提取判断为风险链接的锚文本信息,然后,根据判断的每个可疑域是否为风险结构和风险结构中包含的风险链接计算得到该网页源码的风险度,将提取的所有风险链接的锚文本信息作为该网页源码的风险文本。
其中,风险度的计算根据可疑域的先验风险值结合权重综合计算得到。
风险结构定义为,若域内所有<a>标签的数量占整个域中标签数量超过配置阈值,则为风险结构。
风险链接定义为标签定义的超链接为外链接,或者包括但不限于指向外网的短链接、跳转到搜索引擎搜索结果页面链接等。例如,满足如下任意点均作为风险链接:
1、链接指向为某个搜索引擎的搜索结果页,并且链接中包含搜索关键词。
2、链接为某个平台注册生成的短链接。例如,hxxp://sc.qq.com/fx/u?r=BuByFeA
3、链接为跳转链接。例如,hxxp://www.saisihulian.com/yirang.asp?jxybq/qr4h2.html
4、是外链接,并且不在常用网站白名单中。
步骤22,判断根据可疑域得到的该网页源码的风险度是否为0,如果该网页源码的风险度为0,则进行步骤23,若果网页源码的风险度不为0,则进行步骤25。
步骤23,分析网页源码,提取网页源码中所有敏感域,对每个敏感域进行风险度识别并获取风险文本。敏感域具体指可能含有隐藏效果代码区域,包括但不限于:
1、包含style属性赋值的<div>标签区域。
2、包含id属性赋值的<div>标签区域。
3、包含class属性赋值的<div>标签区域。
4、<td>标签区域。
5、<marquee>标签区域。
6、<ul>标签区域。
7、<tr>标签区域。
敏感域相比于可疑域覆盖粒度更粗,对可疑域无法识别捕获到的混淆变异类暗链代码有很好的捕获性。
首先,对每一个敏感域进行风险度识别,判断该敏感域是否为风险结构,若为风险结构,进一步判断该风险结构中的每个链接是否为风险链接,提取判断为风险链接的锚文本信息,然后,根据判断的每个敏感域是否为风险结构和风险结构中包含的风险链接计算得到该网页源码的风险度,将提取的敏感域中所有风险链接的锚文本信息作为该网页源码的风险文本。其中,风险度的计算根据敏感域的先验风险值结合权重综合计算得到。
步骤24,判断根据敏感域得到的该网页源码的风险度是否为0,如果风险度不等于0,则进行步骤25,如果风险度等于0,则进行步骤26。
步骤25,分析网页源码,提取网页源码中安全域,分析每个安全域,提取安全域的锚文本信息,将提取的所有的安全域的锚文本信息作为安全文本。
其中,安全域指内链接的<a>标签域。
如果根据敏感域得到的该网页源码的风险度不等于0,则还需获取扩展敏感域文本信息。
扩展敏感域,具体指网页源码<head>标签区域中是风险链接的<link>标签域、<meta>标签域。扩展敏感域文本信息就是提取扩展敏感域中符合条件的所有文本信息,包括<link>标签中的text、title文本,<meta>标签中的keywords、description、content文本,<title>标签中的text文本。
然后,对扩展敏感域文本信息做主题识别,如果识别出主题为暗链文本常用主题,则提取该扩展敏感域文本信息补充到以敏感域识别得到的风险文本中,如果识别出主题不是暗链文本常用主题,则抛弃该扩展敏感域文本信息。
步骤26,对网页源码进行全域分析,提取风险文本和安全文本。
对网页源码进行全域分析采用以下方法:
分析网页源码,提取所有<link>标签域、<a>标签域,对提取的所有标签域进行如下计算,
首先,判断标签域内链接是否为风险链接,如果是风险链接则提取“text”和“tile”文本作为风险文本,如果不是风险链接则提取“text”和“tile”文本作为安全文本。
在本实施例中,步骤26进行全域分析后,还需要扩充以全域分析得到的风险文本中的锚文本数量,以便于在后续用机器学习算法进行模型训练得到分类判别模型时,减小分类判别模型进行分类判别的误差。扩充以全域分析得到的风险文本中的锚文本数量方法如下:
步骤261:提取页面<head>标签区域中<meta>标签内的keywords、description、content文本,<title>标签中的text文本。
步骤262:将步骤261中提取的文本导入主题识别模型中识别文本主题,若识别出为暗链文本常用主题,则将步骤261中提取的文本做扩充到以全域分析得到的风险文本中,否则抛弃步骤261中提取的文本。
步骤27,将安全文本和风险文本导入主题识别模型识别出主题,并计算出主题异样度。主题识别模型指一种提取文本主题词的方法。
在本实施例中,主题识别模型包含:LDA主题模型、朴素贝叶斯主题模型、多模敏感词识别主题模型。主题识别模型提取的主题包括但不限于商广、淫秽、博彩、游戏、医疗等。
主题异样度采用以下方法计算:
对安全文本和风险文本进行去噪处理。在本实施例中,对安全文本和风险文本进行去噪处理的方法如下:仅保留风险文本中的中文;或保留风险文本中的中文和英文;或保留风险文本中的中文、英文和数字。
将处理后的安全文本和风险文本分别导入所述主题识别模型,分别得到安全文本的主题和主题匹配度,风险文本的主题和主题匹配度。
根据安全文本的主题和风险文本的主题是否相似、安全文本的主题匹配度和风险文本的主题匹配度得到主题异样度。
以多模敏感词识别主题模型为例说明识别主题和计算主题异样度:1、分别设置主题类别包括但不限于,商广,淫秽,博彩,游戏,医疗等。2、将训练集中的所有以标注为暗链的网页提取出风险文本后,分词处理使用领域专家知识及先验概率提取敏感词,存入不同主题库中。3、使用AC多模匹配算法对风险文本做敏感词匹配识别。使用如下公式计算匹配中的每个主题敏感词比例:
t主题敏感词比例=t主题匹配中的所有敏感词长度/文本长度
取比例最大的主题作为文本主题输出,此比例作为文本匹配度输出。
分别对风险文本和安全文本提取主题和主题匹配度后,再计算两类文本主题是否相似。然后结合先验知识人工设置主题异样度大小。
具体而言,这里会根据先验知识设置一个匹配阈值,根据先验知识设置多个主题异样分值。考虑安全文本的主题匹配度与匹配阈值大小关系、风险文本的主题匹配度与匹配阈值大小关系、安全文本主题和风险文本主题是否相等,根据这几种关系组合情况赋予主题异样度取值。
如图4所示,在本实施例中,为了提升识别出主题的可能性,对步骤27进行如下处理:
步骤271,在识别主题和计算主题异样度前,需将提取到的安全文本和风险文本做特殊符号过滤。然后进入步骤272。
在本实施例中,特殊符号过滤规则包括但不限于如下:
步骤272,判断过滤后的风险文本是否为空,如果过滤后的风险文本不为空,进入步骤273,如果过滤后的风险文本为空,则进入步骤2710。
步骤273,对安全文本和风险文本进行主题识别并计算主题异样度。然后进入步骤274。
步骤274,判断主题异样度是否为0,若主题异样度为0,则执行步骤275,若主题异样度不为0,进入步骤2716。
步骤275,判断是否进行过全域分析,如果没有做全域分析,则进入步骤276,否则,进入步骤2711,
步骤276,对网页源码进行全域分析,并提取网页源码的风险文本和安全文本。然后进入步骤277。
步骤277,对提取的风险文本和安全文本做特殊符号过滤。
步骤278,判断风险文本是否非空,并且安全文本是否非空;如果风险文本非空且安全文本非空,则进入步骤279,否则,进入步骤2711。
步骤279,对风险文本和安全文本进行识别主题和计算主题异样度,然后进入步骤2716。
步骤2710,判断是否进行过全域分析,如果没有进行过全域分析,则重新执行步骤276-步骤279,图3中,步骤2712-步骤2715与步骤276-步骤279相同,如果进行过全域分析,则进入步骤2711;
步骤2710,置主题为None,表示未识别出,并置异样度为0。然后进入步骤2716。
步骤2716,将得到的主题和主题异样度输出。
对步骤27做俩次主题识别是为了在首次对风险文本无法识别出主题时,扩展风险文本的提取范围,提升识别出主题的可能性。
第二个阶段为提取网页源码的风险文本向量、风险文本异常概率和风险文本长度。
在第二个阶段提取网页源码的网页源码的风险文本向量、风险文本异常概率和风险文本长度时,将第一阶段提取的每个网页对应的风险文本进行处理,并用Doc2vec算法对处理后的风险文本进行训练得到Doc2vec模型,将处理后的风险文本用所述Doc2vec模型处理得到风险文本向量,计算风险文本异常概率,并计算出风险文本长度。如图5所示,具体步骤如下:
步骤21b,将第一阶段提取的每个网页源码对应的风险文本进行处理。
对风险文本进行处理的方法如下:
步骤211b,对风险文本进行去噪处理。在本实施例中,对风险文本进行去噪处理的方法如下:仅保留风险文本中的中文;或保留风险文本中的中文和英文;或保留风险文本中的中文、英文和数字。
步骤212b,使用开源分词工具对风险文本的中文文本做分词处理。分词工具包括但不限于结巴分词、庖丁中文分词等。
步骤213b,对做分词处理后的风险文本进行过滤,过滤掉常见停用词。
步骤22b,在训练Doc2vec模型时,还需要将训练集中每个网页源码对应的风险文本的ID与网页类别class标识合并字符串作为风险文本的tag,其中,class的值为0表示标识为正常的网页源码,class的值为1表示标识为包含暗链的网页源码,在本实施例中,训练集的风险文本ID做过索引编号处理。
步骤23b,用Doc2vec算法对训练集中的处理后的风险文本进行训练得到Doc2vec模型。在本实施例中,用开源的Doc2vec算法对处理后的风险文本进行训练,可以使用各种Doc2vec工具包处理,包括但不限于gensimdoc2vec。
步骤24b,将训练得到的Doc2vec模型保存。
步骤25b,将处理后的风险文本用Doc2vec模型处理得到风险文本向量。其中,风险文本的处理过程与步骤21b相同。
步骤26b,计算风险文本异常概率。计算风险文本异常概率采用以下方法:
1、基于预定方法提取Doc2vec模型中与计算的风险文本的风险文本向量最接近的k个风险文本,
2、获取计算的风险文本和k个风险文本的tag,根据k个风险文本的tag得到k个风险文本的暗链占比,暗链占比即为计算的风险文本的风险文本异常概率。
步骤27b,计算出风险文本长度。在本实施例中,计算的风险文本长度为对风险文本进行去噪后的风险文本的长度。去噪方法与步骤211b描述的去噪方法相同。
步骤28b,将特征数据:风险度、主题异样度、主题、风险文本向量、风险文本异常概率、风险文本长度输出。
步骤S3,将训练集中所有网页源码的特征数据用机器学习算法进行模型训练得到。得到训练好的分类判别模型后将其存储。分类判别模型,用于在线对网页进行暗链识别。在本实施例中,机器学习算法包含但不限于:随机森林、SVM。
步骤S4,将待预测网页源码的特征数据导入分类判别模型中,得到待预测网页源码是否包含暗链。
步骤S5,对分类判别模型识别的结果,进一步审核,并将已确认识别结果的待预测网页源码扩充到训练集,定期重新训练模型。
在本实施例中,进一步审核采用人工审核,避免分类判别模型可能出现识别错误的情况,提高了数据集的准确性。并将识别出结果的待预测网页源码扩充到训练集,因此,用于训练主题识别模型的数据、用于训练Doc2vec模型的数据以及用于训练分类判别模型的数据均增加,定期重新训练得到新的主题识别模型、新的Doc2vec模型、新的分类判别模型。使得通过模型计算的准确性更高。
上述实施方式为本发明的优选案例,并不用来限制本发明的保护范围。
Claims (13)
1.一种域识别加主题识别构建机器学习模型检测网页暗链的方法,其特征在于,包括以下步骤:
步骤1,收集大量网页源码作为训练集,所述训练集中包含已被标注为包含暗链的网页和标注为正常的网页;
步骤2,提取训练集中网页源码和待预测网页源码中用于构建机器学习模型的特征数据,所述特征数据包含风险度、主题异样度、主题、风险文本向量、风险文本异常概率以及风险文本长度,
首先,将所述训练集中网页源码和待预测网页源码进行可疑域识别或敏感域识别得到每个网页源码的风险文本和风险度,进行安全域识别得到安全文本,或者,进行全域分析得到每个网页源码的风险文本、风险度和安全文本,根据所述风险文本和所述安全文本基于主题识别模型得到每个网页源码的主题异样度以及主题,
然后,将每个所述风险文本进行处理,并用Doc2vec算法对处理后的风险文本进行训练得到Doc2vec模型,将处理后的风险文本用所述Doc2vec模型处理得到风险文本向量,计算风险文本异常概率,并计算出风险文本长度;
步骤3,将训练集中所有网页源码的特征数据用机器学习算法进行模型训练得到分类判别模型;
步骤4,将待预测网页源码的特征数据导入所述分类判别模型中,得到待预测网页源码是否包含暗链。
2.根据权利要求1所述的域识别加主题识别构建机器学习模型检测网页暗链的方法,其特征在于,还包括:
步骤5,对分类判别模型识别的结果,进一步审核,并将已确认识别结果的待预测网页源码扩充到训练集,定期重新训练模型。
3.根据权利要求1所述的域识别加主题识别构建机器学习模型检测网页暗链的方法,其特征在于:
得到每个网页源码的风险度、主题异样度以及主题采用以下方法:
步骤21,分析网页源码,提取网页源码中所有可疑域,对每个可疑域进行风险度识别并获取锚文本,
首先,对每一个可疑域进行风险度识别,判断该可疑域是否为风险结构,若为风险结构,进一步判断该风险结构中的每个链接是否为风险链接,提取判断为风险链接的锚文本信息,然后,根据判断的每个可疑域是否为风险结构和风险结构中包含的风险链接计算得到该网页源码的风险度,将提取的可疑域中所有风险连接的锚文本信息作为该网页源码的风险文本;
步骤22,判断根据可疑域得到的该网页源码的风险度是否为0,如果该网页源码的风险度为0,则进行步骤23,如果网页源码的风险度不为0,则进行步骤25;
步骤23,分析网页源码,提取网页源码中所有敏感域,对每个敏感域进行风险度识别并获取锚文本,
首先,对每一个敏感域进行风险度识别,判断该敏感域是否为风险结构,若为风险结构,进一步判断该风险结构中的每个连接是否为风险链接,提取判断为风险链接的锚文本信息,然后,根据判断的每个敏感域是否为风险结构和风险结构中包含的风险链接计算得到该网页源码的风险度,将提取的敏感域中所有风险连接的锚文本信息作为该网页源码的风险文本;
步骤24,判断根据敏感域得到的该网页源码的风险度是否为0,如果风险度不等于0,则进行步骤25,如果风险度等于0,则进行步骤26;
步骤25,分析网页源码,提取网页源码中安全域,分析每个所述安全域,提取所述安全域的锚文本信息,将提取的所有的安全域的锚文本信息作为安全文本,
如果根据敏感域得到的该网页源码的风险度不等于0,则还需获取扩展敏感域文本信息,并对所述扩展敏感域文本信息进行主题识别,如果识别出主题为暗链文本常用主题,则提取该扩展敏感域文本信息补充到以敏感域识别得到的风险文本中,如果识别出主题不是暗链文本常用主题,则抛弃该扩展敏感域文本信息;
步骤26,对网页源码进行全域分析,提取风险文本和安全文本,并计算风险度;
步骤27,将上述步骤得到的安全文本和风险文本导入主题识别模型识别出主题,并计算出主题异样度。
4.根据权利要求3所述的域识别加主题识别构建机器学习模型检测网页暗链的方法,其特征在于:
步骤27采用以下步骤得到:
步骤271,在识别主题和计算主题异样度前,需将提取到的安全文本和风险文本做特殊符号过滤;
步骤272,判断过滤后的风险文本是否为空,如果过滤后的风险文本不为空,进入步骤273,如果过滤后的风险文本为空,则进入步骤2710;
步骤273,对安全文本和风险文本进行主题识别并计算主题异样度;
步骤274,判断主题异样度是否为0,若主题异样度为0,则执行步骤275,若主题异样度不为0,则进入步骤2716;
步骤275,判断是否进行过全域分析,如果没有做全域分析,则进入步骤276,否则,进入步骤2711;
步骤276,对网页源码进行全域分析,并提取网页源码的风险文本和安全文本;
步骤277,对提取的风险文本和安全文本做特殊符号过滤;
步骤278,判断风险文本是否非空,并且安全文本是否非空;如果风险文本非空且安全文本非空,则进入步骤279,否则,进入步骤2711;
步骤279,对风险文本和安全文本进行识别主题和计算主题异样度,然后进入步骤2716;
步骤2710,判断是否进行过全域分析,如果没有进行过全域分析,则重新执行步骤276-步骤279,如果进行过全域分析,则进入步骤2711;
步骤2711,置主题为None,表示未识别出,并置异样度为0,然后进入步骤2716;
步骤2716,将得到的主题和主题异样度输出。
5.根据权利要求1或3所述的域识别加主题识别构建机器学习模型检测网页暗链的方法,其特征在于:
对网页源码进行全域分析采用以下方法:
分析网页源码,提取所有<link>标签域、<a>标签域,对提取的所有标签域进行如下计算,
判断标签域内链接是否为风险链接,如果是风险链接则提取“text”和“tile”文本作为风险文本,如果不是风险链接则提取“text”和“tile”文本作为安全文本,并计算出网页源码的风险度。
6.根据权利要求5所述的域识别加主题识别构建机器学习模型检测网页暗链的方法,其特征在于:
在步骤26进行全域分析后,还需要扩充以全域分析得到的风险文本中的锚文本数量,具体方法如下:
步骤261:提取页面<head>标签区域中<meta>标签内的keywords、description、content文本,<title>标签中的text文本,
步骤262:将步骤261中提取的文本导入主题识别模型中识别文本主题,若识别出为暗链文本常用主题,则将步骤261中提取的文本做扩充到以全域分析得到的风险文本中,否则抛弃步骤261中提取的文本。
7.根据权利要求3所述的域识别加主题识别构建机器学习模型检测网页暗链的方法,其特征在于:
主题异样度采用以下方法计算:
对安全文本和风险文本进行去噪处理;
将处理后的安全文本和风险文本分别导入所述主题识别模型,分别得到所述安全文本的主题和主题匹配度,所述风险文本的主题和主题匹配度;
根据安全文本的主题和风险文本的主题是否相似、安全文本的主题匹配度和风险文本的主题匹配度得到主题异样度。
8.根据权利要求1所述的域识别加主题识别构建机器学习模型检测网页暗链的方法,其特征在于:
所述主题识别模型包含:LDA主题模型、朴素贝叶斯主题模型、多模敏感词识别主题模型。
9.根据权利要求1所述的域识别加主题识别构建机器学习模型检测网页暗链的方法,其特征在于:
所述机器学习算法包含:随机森林、SVM。
10.根据权利要求1所述的域识别加主题识别构建机器学习模型检测网页暗链的方法,其特征在于:
对风险文本进行处理的方法如下:
对所述风险文本进行去噪处理;
使用开源分词工具对风险文本的中文文本做分词处理;
对做分词处理后的风险文本进行过滤,过滤掉常见停用词。
11.根据权利要求7或10所述的域识别加主题识别构建机器学习模型检测网页暗链的方法,其特征在于:
对风险文本或安全文本进行去噪处理的方法如下:
仅保留风险文本中的中文;或
保留风险文本中的中文和英文;或
保留风险文本中的中文、英文和数字。
12.根据权利要求10所述的域识别加主题识别构建机器学习模型检测网页暗链的方法,其特征在于:
在训练Doc2vec模型时,还需要将训练集中每个网页源码对应的风险文本的ID与class标识合并字符串作为风险文本的tag,其中,class的值为0表示标识为正常的网页源码,class的值为1表示标识为包含暗链的网页源码。
13.根据权利要求12所述的域识别加主题识别构建机器学习模型检测网页暗链的方法,其特征在于:
计算风险文本异常概率采用以下方法:
基于预定方法提取Doc2vec模型中与该风险文本的风险文本向量最接近的k个风险文本,
获取计算的风险文本和所述k个风险文本的tag,根据所述k个风险文本的tag得到所述k个风险文本的暗链占比,所述暗链占比即为该风险文本的风险文本异常概率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710853580.2A CN107566391B (zh) | 2017-09-20 | 2017-09-20 | 域识别加主题识别构建机器学习模型检测网页暗链的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710853580.2A CN107566391B (zh) | 2017-09-20 | 2017-09-20 | 域识别加主题识别构建机器学习模型检测网页暗链的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107566391A CN107566391A (zh) | 2018-01-09 |
CN107566391B true CN107566391B (zh) | 2020-04-14 |
Family
ID=60981933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710853580.2A Active CN107566391B (zh) | 2017-09-20 | 2017-09-20 | 域识别加主题识别构建机器学习模型检测网页暗链的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107566391B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109033224B (zh) * | 2018-06-29 | 2022-02-01 | 创新先进技术有限公司 | 一种风险文本识别方法和装置 |
CN109165529B (zh) * | 2018-08-14 | 2021-05-07 | 杭州安恒信息技术股份有限公司 | 一种暗链篡改检测方法、装置和计算机可读存储介质 |
CN109582833B (zh) * | 2018-11-06 | 2023-09-22 | 创新先进技术有限公司 | 异常文本检测方法及装置 |
CN111488452A (zh) * | 2019-01-25 | 2020-08-04 | 深信服科技股份有限公司 | 一种网页篡改检测方法、检测系统及相关设备 |
CN111612284B (zh) * | 2019-02-25 | 2023-06-20 | 阿里巴巴集团控股有限公司 | 数据的处理方法、装置及设备 |
CN110138794A (zh) * | 2019-05-22 | 2019-08-16 | 杭州安恒信息技术股份有限公司 | 一种仿冒网站识别方法、装置、设备及可读存储介质 |
CN110808947B (zh) * | 2019-05-23 | 2022-03-04 | 南瑞集团有限公司 | 一种自动化的脆弱性量化评估方法及系统 |
CN111008347A (zh) * | 2019-11-25 | 2020-04-14 | 杭州安恒信息技术股份有限公司 | 一种网站识别方法、装置、系统及计算机可读存储介质 |
CN111552776B (zh) * | 2020-04-24 | 2021-03-19 | 周敬洋 | 一种基于人工智能的Meta分析生成方法 |
CN112487321A (zh) * | 2020-12-08 | 2021-03-12 | 北京天融信网络安全技术有限公司 | 一种检测方法、装置、存储介质及电子设备 |
CN116662585B (zh) * | 2023-07-26 | 2023-10-17 | 陕西淼华智脑科技有限公司 | 一种基于校园题库的数字信息检测方法及检测系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10019531B2 (en) * | 2013-05-19 | 2018-07-10 | Carmel Kent | System and method for displaying, connecting and analyzing data in an online collaborative webpage |
CN104239485B (zh) * | 2014-09-05 | 2018-05-01 | 中国科学院计算机网络信息中心 | 一种基于统计机器学习的互联网暗链检测方法 |
CN104767757B (zh) * | 2015-04-17 | 2018-01-23 | 国家电网公司 | 基于web业务的多维度安全监测方法和系统 |
-
2017
- 2017-09-20 CN CN201710853580.2A patent/CN107566391B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107566391A (zh) | 2018-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107566391B (zh) | 域识别加主题识别构建机器学习模型检测网页暗链的方法 | |
CN108965245B (zh) | 基于自适应异构多分类模型的钓鱼网站检测方法和系统 | |
CN102279875B (zh) | 钓鱼网站的识别方法和装置 | |
CN103544436B (zh) | 一种钓鱼网站鉴别系统和方法 | |
CN110727766B (zh) | 敏感词的检测方法 | |
CN104462152B (zh) | 一种网页的识别方法及装置 | |
US9519718B2 (en) | Webpage information detection method and system | |
CN104077396A (zh) | 一种钓鱼网站检测方法及装置 | |
CN111488623A (zh) | 一种网页篡改检测方法及相关装置 | |
CN109922065B (zh) | 恶意网站快速识别方法 | |
CN104156490A (zh) | 基于文字识别检测可疑钓鱼网页的方法及装置 | |
CN110191096A (zh) | 一种基于语义分析的词向量网页入侵检测方法 | |
CN103853744B (zh) | 一种面向用户生成内容的欺骗性垃圾意见检测方法 | |
US11775749B1 (en) | Content masking attacks against information-based services and defenses thereto | |
CN107239694A (zh) | 一种基于用户评论的Android应用权限推理方法及装置 | |
CN110909531A (zh) | 信息安全的甄别方法、装置、设备及存储介质 | |
CN106383862A (zh) | 一种违规短信检测方法及系统 | |
CN112016317A (zh) | 基于人工智能的敏感词识别方法、装置及计算机设备 | |
CN104036190A (zh) | 一种检测页面篡改的方法及装置 | |
CN114117299A (zh) | 一种网站入侵篡改检测方法、装置、设备及存储介质 | |
CN104036189A (zh) | 页面篡改检测方法及黑链数据库生成方法 | |
CN106909534A (zh) | 一种判别文本安全性的方法及装置 | |
CN111797904A (zh) | 网页页面特征的篡改检测方法及装置 | |
CN106484672A (zh) | 词汇识别方法和词汇识别系统 | |
Yuliani et al. | A framework for hoax news detection and analyzer used rule-based methods |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |