CN111831881A - 一种基于网站流量日志数据与优化谱聚类算法的恶意爬虫检测方法 - Google Patents
一种基于网站流量日志数据与优化谱聚类算法的恶意爬虫检测方法 Download PDFInfo
- Publication number
- CN111831881A CN111831881A CN202010636291.9A CN202010636291A CN111831881A CN 111831881 A CN111831881 A CN 111831881A CN 202010636291 A CN202010636291 A CN 202010636291A CN 111831881 A CN111831881 A CN 111831881A
- Authority
- CN
- China
- Prior art keywords
- community
- crawler
- cookies
- cookie
- mouse
- 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.)
- Granted
Links
Images
Classifications
-
- 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/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于网站流量日志数据与优化谱聚类算法的恶意爬虫检测方法,包括:预处理日志数据,过滤非页面请求,从请求记录中筛选相关字段用于爬虫检测;为每个cookie生成页面请求序列,基于页面请求序列,计算任意两cookie间行为相似度;构建以cookie为节点的完全图,任意两cookie节点间边的权重等于cookie间行为相似度;使用优化谱聚类算法对图进行社区划分;设计社区特征,并设置阈值进行爬虫社区识别;使用核密度估计算法对剩余未发现的爬虫cookie进行挖掘。本发明能够为网站监控爬虫、制定拦截规则、保护公司数据财产与用户隐私等提供技术支持;本发明基于易于获取的流量日志数据实现爬虫检测,具有较高的实际应用价值。
Description
技术领域
本发明属于数据挖掘技术领域,涉及网络数据保护,特别涉及一种基于网站流量日志数据与优化谱聚类算法的恶意爬虫检测方法。
背景技术
随着信息技术的发展,互联网在生产生活中扮演极其重要的角色,与此同时,互联网生态受到恶意爬虫的威胁也在日益增长,有的恶意爬虫通过爬取对手电商网站中所有商品的信息来实现恶意竞价,有的恶意爬虫非法爬取网站注册用户的隐私信息,还有的恶意爬虫抢占公共资源,例如在12306网站上抢购火车票等,这些恶意爬虫在非法获取网站数据的同时也占用了网站服务器大量的计算资源,严重影响了合法用户的网站访问体验,因此有效识别恶意爬虫,并对其进行封禁至关重要。
基于数据挖掘,通过分析网站流量日志数据进行爬虫识别在工业界被广泛采用,传统的爬虫识别主要基于特征工程或策略,前者为cookie或其他识别对象设计特征,基于专家经验,人工标记爬虫与非爬虫数据,得到训练集,训练分类器,用分类器对未知cookie进行分类,后者基于专家经验设计多种规则,当识别对象违反规则的程度超过阈值时,则判定为爬虫。这些技术对专家经验依赖过多,随着爬虫更新换代的速度加快,以及不同组织开发出的爬虫具有较大的差异性,反爬效果逐渐有限。
发明内容
为了克服上述传统反爬技术的缺点,本发明的目的在于提供一种基于网站流量日志数据与优化谱聚类算法的恶意爬虫检测方法,以cookie作为识别对象,通过计算页面请求序列的相似度来得到cookie间行为相似度,进而建立以cookie为节点,相似度为边权重的全连接图,使用经过优化的谱聚类社区划分算法对图进行社区划分,提取社区特征,通过设置阈值实现对爬虫社区以及爬虫cookie的识别,最后基于cookie键鼠特征以及核密度估计算法,在未知cookie中进一步挖掘爬虫cookie。本发明通过识别爬虫团伙的方法来实现爬虫检测,抓住了同一团伙内的爬虫行为相似这一不变性,能够有效应对高级爬虫更新换代快,不同组织爬虫行为差异性大等挑战,并且本发明为无监督技术,不需要大量的标记数据,极大地节省安全团队的人力与物力,具有较高的实用价值。
为了实现上述目的,本发明采用的技术方案是:
一种基于网站流量日志数据与优化谱聚类算法的恶意爬虫检测方法,包括以下步骤:
步骤1,从网站流量日志数据中提取客户端发送请求记录中包括时间戳、请求文件类型、cookie、键鼠行为在内的字段,基于请求文件类型对全部日志数据进行过滤,只保留针对页面文件的请求记录。其中键鼠行为字段包括:键盘事件计数值字段、两次key down时间间隔均值字段、mouse down和mouse up事件间隔均值字段、鼠标点击事件计数值字段、输入事件次数值字段、用户页面的停留时长字段。
步骤2,将针对页面文件的每一条请求记录映射为一个元素,针对相同页面文件的请求记录映射为相同元素,对于每个cookie,将其相关的页面请求记录按时间升序排序,并映射得到页面请求序列,基于页面请求序列计算任意两cookie间行为相似度,计算方法具体为:
步骤2.1,获取两个cookie的页面请求序列S1和S2;
步骤2.2,计算得到S1中所有3元子串集subseq_collection1与所有不重复3元子串集subseq_set1,以及S2中所有3元子串集subseq_collection2与不重复3元子串集subseq_set2,计算subseq_set1与subseq_set2的并集得到seqset;
步骤2.3,按照下式计算S1和S2间相似度Similarity(S1,S2):
其中,c1j表示3元子串j在subseq_collection1中出现的次数,c2j表示3元子串j在subseq_collection2中出现的次数。
步骤3,获取网站流量日志数据中涉及到的所有cookie,为每一个cookie定义一个节点,构建以cookie为节点的完全图G,任意两cookie节点间边的权重等于步骤2中所计算的该两cookie间的行为相似度。
步骤4:根据步骤3得到的完全图,使用经过优化的谱聚类算法对图进行社区划分,优化谱聚类算法的具体流程为:
步骤4.1,对于页面请求数量大于100的cookie,复制其所对应的节点,生成若干影子节点,影子节点与原型节点对应于相同的cookie,设某cookie共发起x次对页面的请求,则为该cookie对应的节点复制f(x)个影子节点,函数f(x)的定义如下:
步骤4.2,将所有影子节点加入到步骤3构建的完全图G中,并在影子节点间以及影子节点与图G原始节点间连接边,得到新的完全图G_new,根据步骤2中定义的页面请求序列相似度,为新添加的边计算权重;
步骤4.3,计算完全图G_new的邻接矩阵A,基于A使用N-cut谱聚类算法对完全图G_new进行社区划分;
步骤4.4,处理步骤4.3得到的社区划分结果,得到所有cookie的最终社区划分结果,若某cookie在完全图G_new中共对应n个节点,n个节点的社区标签的集合为label_collection,取label_collection中数量最多的标签作为该cookie的最终所属社区。
步骤5,设计社区特征,对步骤4社区划分结果中的各个社区进行特征提取,设置阈值,基于阈值识别爬虫社区,爬虫社区中的cookie均被判定为爬虫cookie,同一社区内的爬虫cookie被判定为来自同一爬虫组织。
其中,设计的社区特征,具体包括:
(1)导出子图非零边权重均值:对于社区c,获取其包含的cookie在完全图G中对应的节点集node_set,以node_set为节点集,生成完全图G的导出子图induced_subG,计算induced_subG所有非零边的权重均值作为特征;
(2)最大页面请求时间间隔:对于社区c,获取其包含的所有cookie的所有页面请求记录集合request_set,按时间升序对request_set中请求记录进行排序,计算所有相邻请求记录时间间隔,取最大时间间隔作为特征;
(3)cookie页面请求序列长度差异度:对于社区c,获取其包含的所有cookie的页面请求序列长度集合length_collection,计算length_collection中所有长度的均值得到mean,将length_collection中各个长度除以mean,然后计算方差作为特征。
识别爬虫社区的具体方法为:当一个社区的社区特征满足:导出子图非零边的权重均值大于设定阈值、最大页面请求时间间隔小于设定阈值并且cookie页面请求序列长度差异度小于设定阈值,则判定该社区为爬虫社区,社区中的cookie均被判定为爬虫cookie,并被标定为来自同一爬虫组织。
为各个社区特征设置阈值可分别为:导出子图非零边权重均值的设定阈值为0.85,最大页面请求时间间隔的设定阈值为100秒,cookie页面请求序列长度差异度的设定阈值为1。
步骤6,基于请求记录中的键鼠行为字段,为cookie设计若干键鼠特征,并对每个cookie提取键鼠特征,对于步骤5所识别的每个爬虫社区,统计社区中cookie群体的各个键鼠特征的样本分布情况,并使用核密度估计算法对各个键鼠特征的总体分布进行拟合估计,对于未被步骤5标记为爬虫的未知cookie,将其键鼠特征与各个爬虫社区键鼠特征的总体分布进行比较,若其各个键鼠特征在某一爬虫社区各个键鼠特征总体分布中均满足设定条件,则判定为该cookie为爬虫cookie。
其中,为cookie设计的键鼠特征分别为:
(1)各个页面请求记录中键盘事件计数值字段的平均值;
(2)各个页面请求记录中两次key down时间间隔均值字段的平均值;
(3)各个页面请求记录中mouse down和mouse up事件间隔均值字段的平均值;
(4)各个页面请求记录中鼠标点击事件计数值字段均值;
(5)各个页面请求记录中输入事件次数值字段均值;
(6)各个页面请求记录中用户页面的停留时长字段均值。
对步骤5中未被标记为爬虫的cookie进行检测,具体流程为:
步骤6.1,为所有cookie提取键鼠特征;
步骤6.2,对于每个爬虫社区crawl_c,获取crawl_c中所有cookie的键鼠特征feature1的集合feature1_collection,使用采用了带宽为5的高斯核的核密度估计算法对feature1的总体概率密度函数进行估计,得到p1(x),同样方法得到其他键鼠特征的总体概率密度估计函数p2(x),...,p6(x);
步骤6.3,对于一个键鼠特征向量为[value1,...,value6]的未知cookie,任取一个爬虫社区crawl_c,其各键鼠特征总体概率密度估计函数分别为p1(x),...,p6(x),当以下条件满足时,判定该未知cookie为爬虫cookie。
xc=argmaxpi(x)
|F(valuei)-F(xc)|<0.1
其中,i∈{1,...,6}对应于6个键鼠特征,pi(x)表示爬虫社区crawl_c的第i个键鼠特征经核密度估计拟合所得的概率密度函数,F(x)为pi(x)对应的分布函数,valuei为未知cookie的第i个键鼠特征值。
与现有技术相比,本发明的有益效果是:
1.本发明基于同团伙内爬虫行为相似这一物理不变性,来进行爬虫检测,能够有效应对爬虫更新换代频繁,不同团伙爬虫行为差异性大等挑战,具有较强的鲁棒性。
2.本发明检测爬虫过程中使用了谱聚类,核密度估计等经典算法,算法较为简单,因此在实际生产中使用本技术难度较低。
3.本发明的为无监督算法,不依赖标记数据数据,能够极大节省人力物力。
附图说明
图1为基于网站流量日志数据与优化谱聚类算法的恶意爬虫检测方法的流程示意图。
图2为页面请求序列相似度计算示意图。
图3为优化谱聚类社区划分算法流程示意图。
图4为某个爬虫社区键鼠特征一即feature1核密度估计概率密度函数图。
图5为某个爬虫社区键鼠特征二即feature2核密度估计概率密度函数图。
图6为某个爬虫社区键鼠特征三即feature3核密度估计概率密度函数图。
图7为某个爬虫社区键鼠特征四即feature4核密度估计概率密度函数图。
图8为某个爬虫社区键鼠特征五即feature5核密度估计概率密度函数图。
图9为某个爬虫社区键鼠特征六即feature6核密度估计概率密度函数图。
具体实施方式
下面结合实施例对本发明做进一步详细描述。
本发明为一种基于网站流量日志数据与优化谱聚类算法的恶意爬虫检测方法,其整体流程如图1所示,包括:
步骤S1:日志数据预处理;
本实施例数据收集自网站流量日志数据库,原始日志数据中共有506002条请求记录。从网站流量日志数据中提取时间戳、请求文件类型、cookie、键盘事件计数值字段、两次key down时间间隔均值字段、mouse down和mouseup事件间隔均值字段、鼠标点击事件计数值字段、输入事件次数值字段、用户页面的停留时长字段等字段。并基于请求文件类型对全部日志日志数据进行过滤,只保留针对页面文件的请求记录。预处理后日志数据有223568条。
步骤S2:将每一条页面请求记录映射为一个元素,针对相同页面文件的请求记录映射为相同元素,对于每个cookie,将其相关的页面请求记录按时间升序排序,并映射得到页面请求序列,基于页面请求序列计算任意两cookie间行为相似度,cookie页面请求序列相似度计算方法为:
步骤S201:获取两个cookie的页面请求序列S1和S2;
步骤S202:计算得到S1中所有3元子串集subseq_collection1与所有不重复3元子串集subseq_set1,以及S2中所有3元子串集subseq_collection2与不重复3元子串集subseq_set2,计算subseq_set1与subseq_set2的并集得到seqset;
步骤S203:按照下式计算S1和S2间相似度Similarity(S1,S2):
其中,c1j表示3元子串j在subseq_collection1中出现的次数,c2j表示3元子串j在subseq_collection2中出现的次数。
页面请求序列相似度计算过程如图2所示。
步骤S3:获取日志数据中涉及到的所有cookie,为每一个cookie定义一个节点,构建以cookie为节点的完全图G,任意两cookie节点间边的权重等于步骤S2中所计算的该对cookie间行为相似度;
步骤S4:根据步骤S3得到的完全图,使用经过优化的谱聚类算法对图进行社区划分,优化谱聚类算法的具体流程为:
步骤S401:对于页面请求数量大于100的cookie,复制其所对应的节点,生成若干影子节点(影子节点与原型节点对应于相同的cookie),设某cookie共发起x次对页面的请求,则为该cookie对应的节点复制f(x)个影子节点,函数f(x)的定义如下:
步骤S402:将所有影子节点加入到步骤S3构建的完全图G中,并在影子节点间以及影子节点与图G原始节点间连接边,得到新的完全图G_new,根据步骤S2中定义的页面请求序列相似度,为新添加的边计算权重;
步骤S403:计算G_new的邻接矩阵A,基于A使用N-cut谱聚类算法对图G_new进行社区划分;
步骤S404:处理步骤S403得到的社区划分结果,得到所有cookie的最终社区划分结果。设某cookie在图G_new中共对应n个节点,n个节点的社区标签的集合为label_collection,取label_collection中数量最多的标签作为该cookie的最终所属社区;
优化谱聚类社区划分算法流程如图3所示,在该示例中,图G本为完全图,这里只绘制了权重非零的边。
步骤S5:对步骤S4社区划分结果中的各个社区提取社区特征,基于阈值识别爬虫社区,爬虫社区中的cookie均被判定为爬虫cookie,同一社区内的爬虫cookie被判定为来自同一爬虫组织,爬虫社区识别具体流程为:
步骤S501,对各社区提取社区特征,提取的社区特征包括:
(1)导出子图非零边权重均值:对于一个社区c,获取其包含的cookie在图G中对应的节点集node_set,以node_set为节点集,生成图G的导出子图induced_subG,计算induced_subG所有非零边的权重均值作为特征;
(2)最大页面请求时间间隔:对于社区c,获取其包含的所有cookie的所有页面请求记录集合request_set,按时间升序对request_set中请求记录进行排序,计算所有相邻请求记录时间间隔,取最大时间间隔作为特征;
(3)cookie页面请求序列长度差异度:对于社区c,获取其包含的所有cookie的页面请求序列长度集合length_collection,计算length_collection中所有长度的均值得到mean,将length_collection中各个长度除以mean,然后计算方差作为特征;
步骤S502:为各个社区特征设置阈值分别为:
导出子图非零边权重均值:0.85
最大页面请求时间间隔:100秒
cookie页面请求序列长度差异度:1
步骤S503:识别爬虫社区,当一个社区的社区特征满足:导出子图非零边边权重均值大于0.85、最大页面请求时间间隔小于100秒并且cookie页面请求序列长度差异度小于1,则判定该社区为爬虫社区,社区中的cookie均被判定为爬虫cookie,并被标定为来自同一爬虫组织;
步骤S6:为每个cookie提取键鼠特征,对于步骤S5所识别的每个爬虫社区,统计社区中cookie群体的各个键鼠特征的样本分布情况,并使用核密度估计算法对各个键鼠特征的总体分布进行拟合估计。对于未被步骤S5标记为爬虫的未知cookie,将其键鼠特征与各个爬虫社区键鼠特征的总体分布进行比较,若其各个键鼠特征在某一爬虫社区各个键鼠特征总体分布中均满足设定条件,则判定为该cookie为爬虫cookie,具体为:
步骤S601:为所有cookie提取键鼠特征,所设计键鼠特征分别为:
(1)各个页面请求记录中键盘事件计数值字段的平均值;
(2)各个页面请求记录中两次key down时间间隔均值字段的平均值;
(3)各个页面请求记录中mouse down和mouse up事件间隔均值字段的平均值;
(4)各个页面请求记录中鼠标点击事件计数值字段均值;
(5)各个页面请求记录中输入事件次数值字段均值;
(6)各个页面请求记录中用户页面的停留时长字段均值;
步骤S602:对于每个爬虫社区crawl_c,获取crawl_c中所有cookie的键鼠特征feature1的集合feature1_collection,使用采用了带宽为5的高斯核的核密度估计算法对feature1的总体概率密度函数进行估计,得到p1(x)。同样方法得到其他键鼠特征的概率密度估计函数p2(x),...,p6(x),图4~图9为某一爬虫社区6个键鼠特征feature1~feature6经核密度估计算法拟合得到的概率密度函数图。
步骤S603:对于一个未知cookie,得到其键鼠特征值value1,...,value6,任取一个爬虫社区crawl_c,其各键鼠特征估计概率密度函数分别为p1(x),...,p6(x),当以下条件满足时,判定该未知cookie为爬虫cookie;
xc=argmaxpi(x)
|F(valuei)-F(xc)|<0.1
其中,i∈{1,...,6}对应于6个键鼠特征,pi(x)表示爬虫社区crawl_c的第i个键鼠特征经核密度估计拟合所得的概率密度函数,F(x)为pi(x)对应的分布函数,valuei为未知cookie的第i个键鼠特征值。
为了检验在本实施例中本发明所提出的基于网站流量日志数据与优化谱聚类算法的恶意爬虫检测方法的效果,在数据集上进行了测试,数据集中包含506002条请求记录,经过预处理后得到223568条针对页面的请求记录,共涉及8202个cookie,其中3111个cookie为爬虫cookie。
Precision等于正确识别的爬虫cookie数目与算法输出的全部爬虫cookie数目比,Recall等于正确识别的爬虫cookie数目与真实爬虫cookie数目(3111)比。
测试集的Precision值为97.9%,Recall为95.8%,对齐算法在测试数据集上的具体实验结果如表1所示。
表1本发明算法在测试集上的实验结果
该实验结果表明本发明所提出的基于网站流量日志数据与优化谱聚类算法的恶意爬虫检测方法,可以在基于网站流量日志数据精确检测爬虫,能够在极少误伤的情况下识别绝大多数爬虫。可见,本发明具有准确率高、鲁棒性强、计算难度低等优点,能够有效应对高级爬虫更新换代速度快,不同团伙间爬虫行为差异性大等挑战,能够为网站监控爬虫、制定拦截规则、保护公司数据财产与用户隐私等提供技术支持;本技术基于各网站易于获取的日志数据实现爬虫检测,具有较高的实际应用价值。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (9)
1.一种基于网站流量日志数据与优化谱聚类算法的恶意爬虫检测方法,其特征在于,包括以下步骤:
步骤1,从网站流量日志数据中提取客户端发送请求记录中包括时间戳、请求文件类型、cookie、键鼠行为在内的字段,基于请求文件类型对全部日志数据进行过滤,保留针对页面文件的请求记录;
步骤2,将每一条针对页面文件的请求记录映射为一个元素,针对相同页面文件的请求记录映射为相同元素,对于每个cookie,将其相关的页面请求记录按时间升序排序,并映射得到页面请求序列,基于页面请求序列计算任意两cookie间行为相似度;
步骤3,获取网站流量日志数据中涉及到的所有cookie,为每一个cookie定义一个节点,构建以cookie为节点的完全图,任意两cookie节点间边的权重等于步骤2中所计算的该两cookie间的行为相似度;
步骤4,根据步骤3得到的完全图,使用优化谱聚类算法对图进行社区划分;
步骤5,设计社区特征,对步骤4社区划分结果中的各个社区进行特征提取,设置阈值,基于阈值识别爬虫社区,爬虫社区中的cookie均被判定为爬虫cookie,同一社区内的爬虫cookie被判定为来自同一爬虫组织;
步骤6,基于请求记录中的键鼠行为字段,为cookie设计若干键鼠特征,并对每个cookie提取键鼠特征,对于步骤5所识别的每个爬虫社区,统计社区中cookie群体的各个键鼠特征的样本分布情况,并使用核密度估计算法对各个键鼠特征的总体分布进行拟合估计,对于未被步骤5标记为爬虫的未知cookie,将其键鼠特征与各个爬虫社区的键鼠特征总体分布进行比较,若其各个键鼠特征在某一爬虫社区各个键鼠特征总体分布中均满足设定条件,则判定为该cookie为爬虫cookie。
2.根据权利要求1所述基于网站流量日志数据与优化谱聚类算法的恶意爬虫检测方法,其特征在于,所述步骤1中,键鼠行为字段包括:键盘事件计数值字段、两次key down时间间隔均值字段、mouse down和mouse up事件间隔均值字段、鼠标点击事件计数值字段、输入事件次数值字段、用户页面的停留时长字段。
3.根据权利要求1所述基于网站流量日志数据与优化谱聚类算法的恶意爬虫检测方法,其特征在于,所述步骤2中的计算任意两cookie页面请求序列相似度,计算方法为:
步骤2.1,获取两个cookie的页面请求序列S1和S2;
步骤2.2,计算得到S1中所有3元子串集subseq_collection1与所有不重复3元子串集subseq_set1,以及S2中所有3元子串集subseq_collection2与不重复3元子串集subseq_set2,计算subseq_set1与subseq_set2的并集得到seqset;
步骤2.3,按照下式计算S1和S2间相似度Similarity(S1,S2):
其中,c1j表示3元子串j在subseq_collection1中出现的次数,c2j表示3元子串j在subseq_collection2中出现的次数。
4.根据权利要求1所述基于网站流量日志数据与优化谱聚类算法的恶意爬虫检测方法,其特征在于,所述步骤4中优化谱聚类算法具体流程为:
步骤4.1,对于页面请求数量大于100的cookie,复制其所对应的节点,生成若干影子节点,影子节点与原型节点对应于相同的cookie,设某cookie共发起x次对页面的请求,则为该cookie对应的节点复制f(x)个影子节点,函数f(x)的定义如下:
步骤4.2,将所有影子节点加入到步骤3构建的完全图G中,并在影子节点间以及影子节点与图G原始节点间连接边,得到新的完全图G_new,根据步骤2中定义的页面请求序列相似度,为新添加的边计算权重;
步骤4.3,计算完全图G_new的邻接矩阵A,基于A使用N-cut谱聚类算法对完全图G_new进行社区划分;
步骤4.4,处理步骤4.3得到的社区划分结果,得到所有cookie的最终社区划分结果,若某cookie在完全图G_new中共对应n个节点,n个节点的社区标签的集合为label_collection,取label_collection中数量最多的标签作为该cookie的最终所属社区。
5.根据权利要求1所述基于网站流量日志数据与优化谱聚类算法的恶意爬虫检测技术,其特征在于,所述步骤5中设计的社区特征,具体包括:
(1)导出子图非零边权重均值:对于社区c,获取其包含的cookie在完全图G中对应的节点集node_set,以node_set为节点集,生成完全图G的导出子图induced_subG,计算induced_subG所有非零边的权重均值作为特征;
(2)最大页面请求时间间隔:对于社区c,获取其包含的所有cookie的所有页面请求记录集合request_set,按时间升序对request_set中请求记录进行排序,计算所有相邻请求记录时间间隔,取最大时间间隔作为特征;
(3)cookie页面请求序列长度差异度:对于社区c,获取其包含的所有cookie的页面请求序列长度集合length_collection,计算length_collection中所有长度的均值得到mean,将length_collection中各个长度除以mean,然后计算方差作为特征。
6.根据权利要求5所述基于网站流量日志数据与优化谱聚类算法的恶意爬虫检测方法,其特征在于,所述步骤5中,识别爬虫社区的具体方法为:当一个社区的社区特征满足:导出子图非零边的权重均值大于设定阈值、最大页面请求时间间隔小于设定阈值并且cookie页面请求序列长度差异度小于设定阈值,则判定该社区为爬虫社区,社区中的cookie均被判定为爬虫cookie,并被标定为来自同一爬虫组织。
7.根据权利要求1所述基于网站流量日志数据与优化谱聚类算法的恶意爬虫检测方法,其特征在于,所述步骤5中,为各个社区特征设置阈值分别为:导出子图非零边权重均值的设定阈值为0.85,最大页面请求时间间隔的设定阈值为100秒,cookie页面请求序列长度差异度的设定阈值为1。
8.根据权利要求1所述基于网站流量日志数据与优化谱聚类算法的恶意爬虫检测方法,其特征在于,所述步骤6中,为cookie设计的键鼠特征分别为:
(1)各个页面请求记录中键盘事件计数值字段的平均值;
(2)各个页面请求记录中两次key down时间间隔均值字段的平均值;
(3)各个页面请求记录中mouse down和mouse up事件间隔均值字段的平均值;
(4)各个页面请求记录中鼠标点击事件计数值字段均值;
(5)各个页面请求记录中输入事件次数值字段均值;
(6)各个页面请求记录中用户页面的停留时长字段均值。
9.根据权利要求1所述基于网站流量日志数据与优化谱聚类算法的恶意爬虫检测方法,其特征在于,所述步骤6中对步骤5中未被标记为爬虫的cookie进行检测,具体流程为:
步骤6.1,为所有cookie提取键鼠特征;
步骤6.2,对于每个爬虫社区crawl_c,获取crawl_c中所有cookie的键鼠特征feature1的集合feature1_collection,使用采用了带宽为5的高斯核的核密度估计算法对feature1的总体概率密度函数进行估计,得到p1(x),同样方法得到其他键鼠特征的总体概率密度估计函数p2(x),...,p6(x);
步骤6.3,对于一个键鼠特征向量为[value1,...,value6]的未知cookie,任取一个爬虫社区crawl_c,其各键鼠特征总体概率密度估计函数分别为p1(x),...,p6(x),当以下条件满足时,判定该未知cookie为爬虫cookie。
xc=argmaxpi(x)
|F(valuei)-F(xc)|<0.1
其中,i∈{1,...,6}对应于6个键鼠特征,pi(x)表示爬虫社区crawl_c第i个键鼠特征经核密度估计拟合所得的概率密度函数,F(x)为pi(x)对应的分布函数,valuei为未知cookie的第i个键鼠特征值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010636291.9A CN111831881B (zh) | 2020-07-04 | 2020-07-04 | 一种基于网站流量日志数据与优化谱聚类算法的恶意爬虫检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010636291.9A CN111831881B (zh) | 2020-07-04 | 2020-07-04 | 一种基于网站流量日志数据与优化谱聚类算法的恶意爬虫检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111831881A true CN111831881A (zh) | 2020-10-27 |
CN111831881B CN111831881B (zh) | 2023-03-21 |
Family
ID=72900064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010636291.9A Active CN111831881B (zh) | 2020-07-04 | 2020-07-04 | 一种基于网站流量日志数据与优化谱聚类算法的恶意爬虫检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111831881B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112383544A (zh) * | 2020-11-13 | 2021-02-19 | 西安热工研究院有限公司 | 适用于电力scada的基于业务行为画像的反爬虫方法 |
CN113992730A (zh) * | 2021-10-27 | 2022-01-28 | 哈尔滨工业大学 | 一种基于知识构建的用户行为模拟方法、模拟系统、定制系统、计算机及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100299292A1 (en) * | 2009-05-19 | 2010-11-25 | Mariner Systems Inc. | Systems and Methods for Application-Level Security |
CN102890702A (zh) * | 2012-07-19 | 2013-01-23 | 中国人民解放军国防科学技术大学 | 一种面向网络论坛的意见领袖挖掘方法 |
CN103279484A (zh) * | 2013-04-23 | 2013-09-04 | 中国科学院计算技术研究所 | 一种面向微博客系统中未来意见领袖的创建方法及系统 |
CN107800684A (zh) * | 2017-09-20 | 2018-03-13 | 贵州白山云科技有限公司 | 一种低频爬虫识别方法及装置 |
CN109189660A (zh) * | 2018-09-30 | 2019-01-11 | 北京诸葛找房信息技术有限公司 | 一种基于用户鼠标交互行为的爬虫识别方法 |
CN111368164A (zh) * | 2020-02-24 | 2020-07-03 | 支付宝(杭州)信息技术有限公司 | 一种爬虫识别模型训练、爬虫识别方法、装置、系统、设备及介质 |
-
2020
- 2020-07-04 CN CN202010636291.9A patent/CN111831881B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100299292A1 (en) * | 2009-05-19 | 2010-11-25 | Mariner Systems Inc. | Systems and Methods for Application-Level Security |
CN102890702A (zh) * | 2012-07-19 | 2013-01-23 | 中国人民解放军国防科学技术大学 | 一种面向网络论坛的意见领袖挖掘方法 |
CN103279484A (zh) * | 2013-04-23 | 2013-09-04 | 中国科学院计算技术研究所 | 一种面向微博客系统中未来意见领袖的创建方法及系统 |
CN107800684A (zh) * | 2017-09-20 | 2018-03-13 | 贵州白山云科技有限公司 | 一种低频爬虫识别方法及装置 |
CN109189660A (zh) * | 2018-09-30 | 2019-01-11 | 北京诸葛找房信息技术有限公司 | 一种基于用户鼠标交互行为的爬虫识别方法 |
CN111368164A (zh) * | 2020-02-24 | 2020-07-03 | 支付宝(杭州)信息技术有限公司 | 一种爬虫识别模型训练、爬虫识别方法、装置、系统、设备及介质 |
Non-Patent Citations (1)
Title |
---|
邹建鑫等: "基于网站访问行为的匿名爬虫检测", 《计算机技术与发展》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112383544A (zh) * | 2020-11-13 | 2021-02-19 | 西安热工研究院有限公司 | 适用于电力scada的基于业务行为画像的反爬虫方法 |
CN112383544B (zh) * | 2020-11-13 | 2023-03-24 | 西安热工研究院有限公司 | 适用于电力scada的基于业务行为画像的反爬虫方法 |
CN113992730A (zh) * | 2021-10-27 | 2022-01-28 | 哈尔滨工业大学 | 一种基于知识构建的用户行为模拟方法、模拟系统、定制系统、计算机及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111831881B (zh) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109922069B (zh) | 高级持续性威胁的多维关联分析方法及系统 | |
CN108595655B (zh) | 一种基于会话特征相似性模糊聚类的异常用户检测方法 | |
CN112910929B (zh) | 基于异质图表示学习的恶意域名检测方法及装置 | |
CN111831881B (zh) | 一种基于网站流量日志数据与优化谱聚类算法的恶意爬虫检测方法 | |
CN112333195B (zh) | 基于多源日志关联分析的apt攻击场景还原检测方法及系统 | |
Ma et al. | De-anonymizing social networks with random forest classifier | |
CN111723371B (zh) | 构建恶意文件的检测模型以及检测恶意文件的方法 | |
CN105072214A (zh) | 基于域名特征的c&c域名识别方法 | |
CN108170467A (zh) | 约束限定聚类和信息度量软件胎记特征选择方法、计算机 | |
Xiao et al. | SFAD: Toward effective anomaly detection based on session feature similarity | |
Liu et al. | Functions-based CFG embedding for malware homology analysis | |
CN114662096A (zh) | 一种基于图核聚类的威胁狩猎方法 | |
CN106682515A (zh) | 恶意代码分析中行为能力的度量方法 | |
CN113254580A (zh) | 一种特殊群体搜索方法及系统 | |
CN111612531B (zh) | 一种点击欺诈的检测方法及系统 | |
CN108959922A (zh) | 一种基于贝叶斯网的恶意文档检测方法及装置 | |
CN115563626A (zh) | 一种面向cve的漏洞可利用性预测方法 | |
Liu et al. | An influence power-based clustering approach with PageRank-like model | |
CN114860903A (zh) | 一种面向网络安全领域的事件抽取、分类和融合方法 | |
CN113919415A (zh) | 一种基于无监督算法的异常群组检测方法 | |
CN115842645A (zh) | 基于umap-rf的网络攻击流量检测方法、装置及可读存储介质 | |
CN111163053B (zh) | 一种恶意url检测方法及系统 | |
Dromard et al. | Study and evaluation of unsupervised algorithms used in network anomaly detection | |
CN110197066B (zh) | 一种云计算环境下的虚拟机监控方法及监控系统 | |
Ge et al. | Webpage Matching Based on Visual Similarity. |
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 |