CN104239485B - 一种基于统计机器学习的互联网暗链检测方法 - Google Patents
一种基于统计机器学习的互联网暗链检测方法 Download PDFInfo
- Publication number
- CN104239485B CN104239485B CN201410452221.2A CN201410452221A CN104239485B CN 104239485 B CN104239485 B CN 104239485B CN 201410452221 A CN201410452221 A CN 201410452221A CN 104239485 B CN104239485 B CN 104239485B
- Authority
- CN
- China
- Prior art keywords
- webpage
- word
- dark chain
- chain
- disaggregated model
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
Abstract
本发明涉及一种基于统计机器学习的暗链检测方法,其步骤包括:1)收集真实的网页源码数据作为分类模型的训练集,将其分为含有暗链和不含暗链两类;2)从收集的所有两类网页的Html源码文件中分别提取锚文本,即链接字段的文字内容,再将锚文本分割为单个词语;3)将分词后的两类文本进行向量化;4)对每个文本对应的向量进行降低维度处理;5)利用分类器对步骤4)得到的两类数据进行训练,得到分类模型;6)将得到的分类模型用于待检测的未知网页,得到暗链检测结果。本发明利用网页的源码有效自动地检测网页中是否含有暗链的存在,能够为搜索引擎打击网络作弊提供理论和实践支持。
Description
技术领域
本发明属于网络技术、搜索技术领域,具体涉及一种基于统计机器学习的互联网暗链检测方法。
背景技术
搜索引擎作为互联网的重要入口,成为了网民们每日必不可少的工具,而搜索结果排名对于搜索结果的呈现非常重要。搜索引擎有专门的算法(例如谷歌的PageRank等)衡量网页相对重要程度,并以此确定搜索结果排名。由于搜索引擎是利用“爬虫”沿着网页间的链接抓取网页内容,所以大多数衡量网页重要程度的算法中,网页的外部链接是一个重要因素,即外部网站指向目标网页的链接越多,目标网页的权重值越高,在搜索结果中也就越容易排到前面的位置。搜索引擎结果高排名一定程度上能带给一个网站很高的关注度,所以很多站长在建设自己的网站时,都会相互友情链接相关网站。而其中不乏利用黑灰色技术(称为黑帽SEO)的作弊者,在网站中植入暗链就是其中一种手段。
暗链又称为黑链,是一种写在网页中,但是被设置为人眼看不见的链接,目的是吸引搜索引擎爬虫的抓取,并不在浏览器中展示给读者,只有在查看网页源码时才能发现。暗链制造者利用了网页权重算法对于链接的重视,在网页中写大量的暗链,链向意图提升权重的网页,达到提升目标网页权重的目的。参与使用暗链的人往往是通过用非法手段拿到他人网站权限并在其中写入大量的不相关的暗链,或者站长自身参与暗链交换合作,在自己的网站页面写入大量。由于其隐藏特性,暗链很难被发现,加之网络作弊地下产业在暴利诱使下不断大量在互联网中植入暗链,所以也很难被彻底清除。暗链类似于现实中电线杆小广告一样的存在,被称为“网络牛皮癣”。这种作弊手法不仅严重影响网站形象信誉,更破坏了公平的搜索引擎排名机制,影响搜索结果质量。因此暗链的检测很有必要。
尽管搜索引擎对于黑帽SEO不断进行惩罚,但仍然有很多暗链存在于互联网中。大的搜索引擎并未公布其发现网络作弊的具体算法或方法。现在检测方法多数是站长自测,即自己检查网页源码,看是否有不明代码,或者利用工具查看网站修改时间等是否异常。这些方法对于铲除暗链的力量很有限,并且对检测人员知识要求很高。不能做到自动、大量检测。现有的已公布的百度检测暗链的一项技术专利(专利号201210049496.2,公开号:CN102622435A)是基于规则的的检测方法,即利用隐藏技术识别结合黑白名单确定是否有暗链。这种检测方法对于暗链利用的其中一种隐藏方式(JavaScript脚本中定义不可见代码)识别较弱,目前利用这种方式隐藏的暗链占有很大比重,新的隐藏方式无法自动应变,因此会有漏检的情况。
发明内容
基于现有技术的局限性,本发明提供了一种新的互联网暗链检测方法,利用网页的源码有效自动地检测网页中是否含有暗链的存在,为搜索引擎打击网络作弊提供理论和实践支持。
本发明利用网页内容的特征进行训练,分类为含有暗链和不含暗链的模型训练,之后将待检测的网页分类为含有暗链和不含暗链两类。基于机器学习的方法在文本分类、垃圾邮件过滤、异常检测等领域被广泛应用,并被证实切实有效。本方法可以做到分类模型的自动挖掘和动态优化,是一种启发式方法。
具体来说,本发明采用的技术方案如下:
一种基于统计机器学习的暗链检测方法,其步骤包括:
1)收集真实的网页源码数据作为分类模型的训练集,将其分为含有暗链和不含暗链两类;
2)预处理环节:从步骤1)收集的所有两类网页的HTML源码文件中分别提取锚文本,即链接字段的文字内容,再将锚文本分割为单个词语;
3)将步骤2)中得到的数据即分词后的两类文本进行向量化;
4)对每个文本对应的向量进行降低维度处理(步骤3)得到了每个文本对应的向量,但维度很高,但并不是所有的维度都有意义,因此需要进行降低维度处理,即特征选择,保证模型训练的效率);
5)利用分类器对步骤4)得到的两类数据进行训练,得到分类模型;
6)将步骤5)得到的分类模型用于待检测的未知网页,得到暗链检测结果。
进一步地,步骤1)通过专家标注对网页进行分类。
进一步地,步骤2)中,如果是中文网页,则利用开源的分词器(如庖丁中文分词器、Mmseg等分词器)将锚文本分割为单个词语;如果是英文网页,那么不涉及使用专门的分词器,只通过词汇分割、词汇过滤步骤即可得到单个词语。
进一步地,步骤3)至步骤5)采用开源的机器学习和数据挖掘工具实现,比如Weka、Scikit、Orange等。
本发明提出了一种将网页源码中的锚文本作为分类训练集的分类方法,在训练分类模型前,将锚文本转换为向量后进行特征选择,降低维度;然后利用机器学习的分类算法进行分类模型训练,得到的分类模型可用于批量自动地分类未知网页,检测是否含有暗链。
与现有技术相比,本发明的有益效果如下:
1)可以利用专家标注的数据集训练分类模型,将未知网页输入到分类模型进行网页自动分类为含有暗链和不含暗链两类。不需要投入人力了解暗链相关知识。
2)利用网页源码的内容特征,不针对暗链的隐藏技术手段来检测,当出现新的隐藏技术手段可以做到动态自适应,有效检测。
附图说明
图1是本发明方法的总体流程图。
图2是本发明的数据准备和预处理流程图。
图3是本发明的分类模型训练流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步说明。
图1是本发明的基于统计机器学习的暗链检测方法方法的总体流程图,包括数据准备和预处理流程(收集网页源码样本并分类、提取锚文本、分词及向量化),以及进行分类模型训练、将分类模型用于待检测的未知网页等步骤。
图2展示了本发明的数据准备和预处理流程。步骤如下
1)分别收集含有暗链的源码和不含有暗链的HTML源码文件,前者由人筛选识别选得到;后者选择DMOZ目录中收录的各类网页首页的HTML源码文件(一个由全球志愿者共同维护的开放式分类目录,互联网中最重要的网站目录导航)。两类的HTML文本可利用爬虫批量爬取网站首页得到。
2)两类源码文件样本分别进行提取锚文本,将锚文本分割为独立词语。如果是中文网页,涉及到使用中文分词工具(如庖丁分词器mmseg等),并且分词过程中为了减少无意义词语和保留重要词语,在中文分词器中添加停用词表(包括无意义的虚词、代词、量词等)和自定义词语词库(暗链锚文本中特有的词语)。
3)将两类分词后的锚文本转换为Weka需要的数据格式。
4)将上一步骤得到的数据,分别输入到开源的机器学习和数据挖掘工具Weka中向量化,即以每一个词语作为一个维度,文本存在该词语,对应维度即为1,否则为0,将所有的文本转化为对应的向量。
图3展示了本发明分类模型训练流程。步骤如下
1)为了保证训练模型的效率,利用Weka的特征选择功能降低每个文本对应的向量的维度,即对向量的每个维度进行评判,看其对于类别影响的程度,Weka可以利用不同的评判算法进行特征选择。可选择对于分类效果较好的特征选择算法,比如图2所示的信息增益方法、卡方校验方法等。
以卡方校验方法为例说明文本分类中特征选择的过程:统计样本集中文档总数N;统计没歌词的正文当出现频率A、负文档出现频率B、正文档部出现频率C、负文档不出现的频率D。对于每个词语,计算卡方值,公式如下:
将每个词按卡方值从大到小排序,选取前K个值作为特征,即降维至K维。
2)在上一步骤得到的精简后的向量基础上,利用Weka提供的分类算法进行分类模型训练。可以使用多种分类方法进行分类训练,比如图2所示的Bayes、SVM、SMO、Adaboost等方法,根据训练结果的性能选择适合该数据集的指标最好的分类器。以AdaBoost算法为例,说明训练分类器的过程:设一个待分类项为x={a1,a2,…,am},每个a为x的一个特征属性,类别为C1,C2,…,Cn,计算每个类别在训练样本中的出现频率及每个特征属性划分对每个类别的条件概率估计(计算公式为P(Ci|x)=P(x|Ci)P(Ci)/P(x)),并将结果记录。
然后利用训练模型进行分类未知网页。步骤如下
1)将待检测的网页的域名输入爬虫程序,批量抓取其网页的HTML源码,并存储为文件。
2)对步骤1)得到的源码进行预处理步骤,与上面的数据预处理方法相同,即进行锚文本提取,分词,向量化。
3)在步骤2)得到的测试集上,利用已经训练好的分类模型,进行分类。已经训练好的分类模型可用于批量自动地分类未知网页,检测是否含有暗链。
上述向量化、特征选择以及分类模型训练三个阶段也可以不依赖于现有的集成工具软件,比如以上提到的Weka、Scikit、Orange等,可以自行编写程序完成,为了缩短工作周期,使用了以上提到的开源工具简化工作步骤。
表1列出了采用本发明方法的五种分类器和四种特征提取算法的准确率和召回率,使用的数据集是中文网页(人工筛选得到的含有暗链的中文网页以及从DMOZ目录中收集的正常的不含暗链的中文网页)其中,指标Precision是准确率,Recall是召回率,F-measure是综合前两者的一个指标值,ROC areas值为ROC曲线面积,这四个指标均为越接近1,性能越好。加粗的表示准确度等数据性能相对更好。
表1.五种分类器和四种特征提取算法的准确率和召回率
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求所述为准。
Claims (5)
1.一种利用网页源码并基于统计机器学习的暗链检测方法,其步骤包括:
1)收集真实的网页源码数据作为分类模型的训练集,将其分为含有暗链和不含暗链两类;
2)从两类网页的Html源码文件中分别提取锚文本,并将锚文本分割为单个词语;该步骤在中文网页的分词过程中,在中文分词器中添加停用词表和自定义词语词库,以减少无意义词语和保留重要词语;所述自定义词语词库为暗链锚文本中特有的词语;
3)对分词后的两类文本进行向量化;进行向量化时,以每一个词语作为一个维度,文本存在该词语则对应维度即为1,否则为0,以此将所有的文本转化为对应的向量;
4)对每个文本对应的向量进行降低维度处理,即进行特征选择;
5)利用分类器对步骤4)得到的两类数据进行训练,得到分类模型;
6)将步骤5)得到的分类模型用于待检测的未知网页,得到暗链检测结果;将分类模型用于待检测的未知网页的方法是:
a)将待检测的网页的域名输入爬虫程序,批量抓取其网页的Html源码,并存储为文件;
b)对步骤a)得到的源码进行预处理步骤,即进行锚文本提取、分词和向量化;
c)在步骤b)得到的测试集上,利用已经训练好的分类模型进行分类,以检测是否含有暗链。
2.如权利要求1所述的方法,其特征在于:步骤1)通过专家标注将网页分为所述的两类。
3.如权利要求1所述的方法,其特征在于:步骤1)利用爬虫批量爬取网站首页得到两类Html文本。
4.如权利要求1所述的方法,其特征在于:步骤2)中,如果数据集是中文网页,则利用开源的中文分词器将锚文本分割为单个词语;如果是英文网页,则直接通过词汇分割和词汇过滤得到单个词语。
5.如权利要求1所述的方法,其特征在于:步骤3)至步骤5)采用开源的机器学习和数据挖掘工具实现,所述开源的机器学习和数据挖掘工具包括但不限于Weka、Scikit、Orange。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410452221.2A CN104239485B (zh) | 2014-09-05 | 2014-09-05 | 一种基于统计机器学习的互联网暗链检测方法 |
PCT/CN2014/095168 WO2016033907A1 (zh) | 2014-09-05 | 2014-12-26 | 一种基于统计机器学习的互联网暗链检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410452221.2A CN104239485B (zh) | 2014-09-05 | 2014-09-05 | 一种基于统计机器学习的互联网暗链检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104239485A CN104239485A (zh) | 2014-12-24 |
CN104239485B true CN104239485B (zh) | 2018-05-01 |
Family
ID=52227544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410452221.2A Active CN104239485B (zh) | 2014-09-05 | 2014-09-05 | 一种基于统计机器学习的互联网暗链检测方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104239485B (zh) |
WO (1) | WO2016033907A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239485B (zh) * | 2014-09-05 | 2018-05-01 | 中国科学院计算机网络信息中心 | 一种基于统计机器学习的互联网暗链检测方法 |
CN105512285B (zh) * | 2015-12-07 | 2018-11-06 | 南京大学 | 基于机器学习的自适应网络爬虫方法 |
CN107122327B (zh) | 2016-02-25 | 2021-06-29 | 阿里巴巴集团控股有限公司 | 一种利用训练数据训练模型的方法和训练系统 |
CN107016298B (zh) * | 2017-03-27 | 2020-07-10 | 北京神州绿盟信息安全科技股份有限公司 | 一种网页篡改监测方法及装置 |
CN107273416B (zh) * | 2017-05-05 | 2021-05-04 | 深信服科技股份有限公司 | 网页暗链检测方法、装置及计算机可读存储介质 |
CN107566391B (zh) * | 2017-09-20 | 2020-04-14 | 上海斗象信息科技有限公司 | 域识别加主题识别构建机器学习模型检测网页暗链的方法 |
CN107741959A (zh) * | 2017-09-21 | 2018-02-27 | 北京知道未来信息技术有限公司 | 一种基于机器学习的伪静态url识别方法及系统 |
CN109165529B (zh) * | 2018-08-14 | 2021-05-07 | 杭州安恒信息技术股份有限公司 | 一种暗链篡改检测方法、装置和计算机可读存储介质 |
CN109213918A (zh) * | 2018-09-25 | 2019-01-15 | 杭州安恒信息技术股份有限公司 | 基于机器学习的网页暗链检测方法和装置 |
CN109522494B (zh) * | 2018-11-08 | 2020-09-15 | 杭州安恒信息技术股份有限公司 | 一种暗链检测方法、装置、设备及计算机可读存储介质 |
CN109617864B (zh) * | 2018-11-27 | 2021-04-16 | 烟台中科网络技术研究所 | 一种网站识别方法及网站识别系统 |
CN109597926A (zh) * | 2018-12-03 | 2019-04-09 | 山东建筑大学 | 一种基于社交媒体突发事件的信息获取方法及系统 |
CN109981630B (zh) * | 2019-03-19 | 2022-03-29 | 齐鲁工业大学 | 基于卡方检验和ldof算法的入侵检测方法及系统 |
CN111079042B (zh) * | 2019-12-03 | 2023-08-15 | 杭州安恒信息技术股份有限公司 | 一种基于文本主题的网页暗链检测方法和装置 |
CN112487321A (zh) * | 2020-12-08 | 2021-03-12 | 北京天融信网络安全技术有限公司 | 一种检测方法、装置、存储介质及电子设备 |
CN112541476B (zh) * | 2020-12-24 | 2023-09-29 | 西安交通大学 | 一种基于语义特征提取的恶意网页识别方法 |
CN112968875B (zh) * | 2021-01-29 | 2022-11-01 | 上海安恒时代信息技术有限公司 | 网络关系构建方法及系统 |
CN113810400A (zh) * | 2021-09-13 | 2021-12-17 | 北京百度网讯科技有限公司 | 网站寄生虫检测方法、装置、设备和介质 |
CN115277211B (zh) * | 2022-07-29 | 2023-07-28 | 哈尔滨工业大学(威海) | 基于文本和图像多模态色情和赌博域名自动检测方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101350011A (zh) * | 2007-07-18 | 2009-01-21 | 中国科学院自动化研究所 | 一种基于小样本集的搜索引擎作弊检测方法 |
CN101493819A (zh) * | 2008-01-24 | 2009-07-29 | 中国科学院自动化研究所 | 一种搜索引擎作弊检测的优化方法 |
CN102004764A (zh) * | 2010-11-04 | 2011-04-06 | 中国科学院计算机网络信息中心 | 互联网不良信息检测方法以及系统 |
CN103150369A (zh) * | 2013-03-07 | 2013-06-12 | 人民搜索网络股份公司 | 作弊网页识别方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7743045B2 (en) * | 2005-08-10 | 2010-06-22 | Google Inc. | Detecting spam related and biased contexts for programmable search engines |
US8392823B1 (en) * | 2003-12-04 | 2013-03-05 | Google Inc. | Systems and methods for detecting hidden text and hidden links |
CN103856442B (zh) * | 2012-11-30 | 2016-08-17 | 腾讯科技(深圳)有限公司 | 一种黑链检测方法、装置和系统 |
CN103679053B (zh) * | 2013-11-29 | 2017-03-15 | 北京奇安信科技有限公司 | 一种网页篡改的检测方法及装置 |
CN104239485B (zh) * | 2014-09-05 | 2018-05-01 | 中国科学院计算机网络信息中心 | 一种基于统计机器学习的互联网暗链检测方法 |
-
2014
- 2014-09-05 CN CN201410452221.2A patent/CN104239485B/zh active Active
- 2014-12-26 WO PCT/CN2014/095168 patent/WO2016033907A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101350011A (zh) * | 2007-07-18 | 2009-01-21 | 中国科学院自动化研究所 | 一种基于小样本集的搜索引擎作弊检测方法 |
CN101493819A (zh) * | 2008-01-24 | 2009-07-29 | 中国科学院自动化研究所 | 一种搜索引擎作弊检测的优化方法 |
CN102004764A (zh) * | 2010-11-04 | 2011-04-06 | 中国科学院计算机网络信息中心 | 互联网不良信息检测方法以及系统 |
CN103150369A (zh) * | 2013-03-07 | 2013-06-12 | 人民搜索网络股份公司 | 作弊网页识别方法及装置 |
Non-Patent Citations (2)
Title |
---|
基于URL特征的网页分类研究;李玄;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120415(第04期);论文正文第4、6-18页 * |
链接作弊垃圾网页的检测算法研究;徐桢虎;《中国优秀硕士学位论文全文数据库 信息科技辑》;20121015(第10期);论文正文第1-2、8-10、14-19页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104239485A (zh) | 2014-12-24 |
WO2016033907A1 (zh) | 2016-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104239485B (zh) | 一种基于统计机器学习的互联网暗链检测方法 | |
TWI735543B (zh) | 網頁文本分類的方法和裝置,網頁文本識別的方法和裝置 | |
CN109101469B (zh) | 从数字化文档提取可搜索的信息 | |
CN103605794B (zh) | 一种网站分类方法 | |
Veit et al. | Coco-text: Dataset and benchmark for text detection and recognition in natural images | |
CN106599155B (zh) | 一种网页分类方法及系统 | |
US9720912B2 (en) | Document management system, document management method, and document management program | |
EP2821927A1 (en) | Document classification system, document classification method, and document classification program | |
CN105512285B (zh) | 基于机器学习的自适应网络爬虫方法 | |
CN104268134B (zh) | 一种主客观分类器构建方法和系统 | |
CN104077396A (zh) | 一种钓鱼网站检测方法及装置 | |
CN103064971A (zh) | 一种基于评分和中文情感分析的垃圾评论检测方法 | |
CN104834940A (zh) | 一种基于支持向量机的医疗影像检查疾病分类方法 | |
CN109918648B (zh) | 一种基于动态滑动窗口特征评分的谣言深度检测方法 | |
CN110532563A (zh) | 文本中关键段落的检测方法及装置 | |
CN112541476B (zh) | 一种基于语义特征提取的恶意网页识别方法 | |
CN109165529B (zh) | 一种暗链篡改检测方法、装置和计算机可读存储介质 | |
Sheshikala et al. | Natural language processing and machine learning classifier used for detecting the author of the sentence | |
CN109710725A (zh) | 一种基于文本分类的中文表格列标签恢复方法和系统 | |
CN107909396A (zh) | 一种互联网广告投放的反作弊监控方法 | |
CN104036190A (zh) | 一种检测页面篡改的方法及装置 | |
CN101350019A (zh) | 基于预定义槽间向量模型的网页信息抽取方法 | |
CN116911286A (zh) | 词典构建方法、情感分析方法、装置、设备及存储介质 | |
CN108268458A (zh) | 一种基于knn算法的半结构化数据分类方法及装置 | |
CN106933924A (zh) | 一种信息识别方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210209 Address after: 100190 room 506, building 2, courtyard 4, South 4th Street, Zhongguancun, Haidian District, Beijing Patentee after: CHINA INTERNET NETWORK INFORMATION CENTER Address before: 100190 No. four, 4 South Street, Haidian District, Beijing, Zhongguancun Patentee before: Computer Network Information Center, Chinese Academy of Sciences |
|
TR01 | Transfer of patent right |