CN109522692A - 网页机器行为检测方法及系统 - Google Patents
网页机器行为检测方法及系统 Download PDFInfo
- Publication number
- CN109522692A CN109522692A CN201811374037.5A CN201811374037A CN109522692A CN 109522692 A CN109522692 A CN 109522692A CN 201811374037 A CN201811374037 A CN 201811374037A CN 109522692 A CN109522692 A CN 109522692A
- Authority
- CN
- China
- Prior art keywords
- sample
- sample point
- label
- behavior
- point
- 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
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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2155—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2133—Verifying human interaction, e.g., Captcha
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
提供了一种网页机器行为检测方法及系统。所述方法包括:获取多条网页操作行为样本,其中,所述多条网页操作行为样本包括多条具有机器行为标签的机器行为样本、多条具有人类行为标签的人类行为样本和多条不具有标签的未知行为样本;从所述多条网页操作行为样本分别提取行为特征;将每条网页操作行为样本作为一个样本点,基于提取的行为特征计算各个样本点之间的距离;基于计算出的各个样本点之间的距离,构建将k近邻图和互k近邻图融合的融合k近邻图;基于构建的融合k近邻图,对各个样本点执行聚类分析;基于聚类分析的结果,从已具有标签的样本点开始向不具有标签的样本点执行标签扩散;根据标签扩散的结果确定未知行为样本是否为机器行为。
Description
技术领域
本发明总体说来涉及互联网行为管理领域,更具体地说,涉及一种基于新型的半监督机器学习算法检测网页机器行为的方法及系统。
背景技术
当前互联网行为中总是存在恶意的机器行为,例如,利用机器或软件替代人在特定网站注册、登录,从事抢票或灌水等非正常活动,给网站的正常经营造成极大干扰。因此,需要解决如何区别互联网人类行为和机器行为的防止恶意互联网机器行为的问题。
现有的防止网页恶意机器行为的方案主要分为以下几类:
1、图片验证码:这是目前最常见的验证方式,图片内容可以是字符也可以是某种物体的识别。该类验证方式最大的特点是安全程度和用户体验呈反比,即验证码设置得越复杂,越可以阻止机器自动识别,但是也增加了人类用户的识别困难,有些验证码甚至连人类用户都要尝试多次才能输入正确。
2、滑块验证码:近几年提出的较新的验证方式,用户需要滑动一个方块至指定位置,通过算法分析用户滑动滑块的行为特征,计算每次滑动与人类滑动行为的相似性,判断滑块行为是否是人类操作。该方法的优点是用户体验相对友好,但仍然需要一个验证的流程,打断用户的使用,影响用户体验。
3、网页机器行为识别:通过记录一段时间内在网页上的鼠标、触控、键盘操作行为,提取相关特征,计算某次操作的特征与人类特征的距离,距离较远的操作行为,就判定为机器行为。该方法的好处是使用场景更多,可以在不需要输入验证码的场景下识别机器行为,几乎不会打断用户的使用。缺点是仅计算操作行为之间的相似性,需要人工设定阈值,没有使用机器学习模型,泛化性差。
4、使用有监督学习算法进行网页行为分析,但是有监督学习算法需要大量的恶意机器行为样本,而在实际应用中,人类行为的获取比较简易,但是恶意的机器操作行为获取代价很大且数量非常少,因此不可能获取足够的机器样本。此外,相比于正常的人类行为,恶意机器行为仅占极小部分,从机器学习算法角度来考虑,这是一个正负样本严重不平衡的分类问题。因此使用传统的有监督算法训练出的模型识别机器行为的准确率很低,无法满足高精度要求的应用场景。基于上述原因,利用有监督学习算法来识别机器行为的方法无法推广。
发明内容
本发明的示例性实施例旨在克服上述现有网页恶意机器行为防止方法中存在的用户体验差、泛化性差、需要大量机器行为样本等的缺陷。
根据本发明的示例性实施例,提供一种网页机器行为检测方法,包括:获取多条网页操作行为样本,其中,所述多条网页操作行为样本包括多条具有机器行为标签的机器行为样本、多条具有人类行为标签的人类行为样本和多条不具有标签的未知行为样本;从所述多条网页操作行为样本分别提取行为特征;将每条网页操作行为样本作为一个样本点,基于提取的行为特征计算各个样本点之间的距离;基于计算出的各个样本点之间的距离,构建将k近邻图和互k近邻图融合的融合k近邻图;基于构建的融合k近邻图,对各个样本点执行聚类分析;基于聚类分析的结果,从已具有标签的样本点开始向不具有标签的样本点执行标签扩散;根据标签扩散的结果确定未知行为样本是否为机器行为。
可选地,机器行为样本的数量可小于人类行为样本的数量,人类行为样本的数量可小于未知行为样本的数量。
可选地,行为特征可包括以下各个特征值中的至少一个:鼠标点击/屏幕触控次数、鼠标点击/屏幕触控平均时间间隔、鼠标点击/屏幕触控最大时间间隔、鼠标点击/屏幕触控最小时间间隔、键盘点击次数、键盘点击每个按键的次数占所有样本中点击该按键次数的比重、键盘点击不同按键的数量、键盘点击平均时间间隔、键盘点击最大时间间隔、键盘点击最小时间间隔、在将显示器屏幕等分为预定数量的区域的情况下光标在每个区域的点击/触控次数占该样本的鼠标点击/屏幕触控次数的比重。
可选地,基于提取的行为特征计算各个样本点之间的距离的步骤可包括:对于各个样本点两两进行计算,其中,对于任意两个样本点,计算这两个样本点的每对相应特征值之间的差值的平方和的算术平方根,作为这两个样本点之间的距离。
可选地,构建融合k近邻图的步骤可包括:基于计算出的各个样本点之间的距离,分别确定各个样本点之间是单向连通关系、双向连通关系还是无连通关系;基于确定结果构建融合k近邻图。
可选地,融合k近邻图可被构建为:
其中,Xi和Xj分别为两个样本点,表示距离样本点Xi最近的P2个样本点的集合,表示距离样本点Xi最近的P1个样本点的集合,表示距离样本点Xj最近的P1个样本点的集合,其中,P1和P2的值由用户设置。
可选地,对各个样本点执行聚类分析的步骤可包括:基于各个样本点之间的双向连通关系,将各个样本点分别划分到孤立点集合或各个子簇。
可选地,将各个样本点分别划分到孤立点集合或各个子簇的步骤可包括:针对各个样本点中的每个样本点执行以下操作:计算与该样本点具有双向连通关系的样本点的数量;将计算出的数量与预定值进行比较;如果计算出的数量小于或等于所述预定值,则将该样本点确定为孤立点,并将该样本点划分到孤立点集合;如果计算出的数量大于所述预定值,则将该样本点划分到各个子簇,其中,在划分子簇的过程中,针对各个样本点中的任意两个样本点,如果这两个样本点都不为孤立点且具有双向连通关系,则将这两个样本点划分到同一子簇。
可选地,如果计算出的数量小于或等于所述预定值,则将该样本点确定为孤立点,并将该样本点划分到孤立点集合的步骤可包括:当样本点Xi满足H(i)≤P1-P3时,确定样本点Xi为孤立点,并将样本点Xi划分到孤立点集合S,其中,H(i)表示与样本点Xi具有双向连通关系的样本点的数量,P3的值由用户设置。其中,如果计算出的数量大于所述预定值,则将该样本点划分到各个子簇的步骤可包括:当样本点时,将满足的样本点Xj与样本点Xi划分到同一个子簇。
可选地,从已具有标签的样本点开始向不具有标签的样本点执行标签扩散的步骤可包括:按顺序执行以下步骤:(1)针对所包含的具有标签的样本点仅包括具有机器行为标签的样本点的子簇,将该子簇中的其它不具有标签的样本点贴上机器行为标签,针对所包含的具有标签的样本点仅包括具有人类行为标签的样本点的子簇,将该子簇中的其它不具有标签的样本点贴上人类行为标签;(2)针对仅包括不具有标签的样本点的子簇,针对该子簇中的所有样本点,分别在与每个样本点距离最近的属于其它子簇的P2个样本点之中,从距离最近的样本点开始按距离逐步探索已具有标签且属于所有样本点都具有相同标签的子簇的特定样本点;一旦搜索到特定样本点,则停止搜索,当特定样本点的数量为一个或特定样本点的数量为多个且具有相同的标签时,将该子簇中的所有样本点贴上与特定样本点相同的标签,当特定样本点的数量为多个且具有不同的标签且不同的标签所对应的特定样本点的数量不同时,将该子簇中的所有样本点贴上与数量最多的对应的特定样本点相同的标签,当特定样本点的数量为多个且具有不同的标签且不同的标签所对应的特定样本点的数量相同时,将该子簇中的所有样本点贴上机器行为标签;如果没有搜索到特定样本点,则不对该子簇中的样本点贴标签;(3)针对未具有标签的孤立点、既包括具有机器行为标签的样本点又包括具有人类行为标签的样本点的子簇中的其它未具有标签的样本点以及在步骤(2)中未获得标签的样本点中的每个样本点,将该样本点贴上与该样本点距离最近的具有标签的样本点相同的标签。
可选地,所述网页机器行为检测方法还可包括:在聚类分析完成之后,当所有子簇都不包括具有机器行为标签的样本点时,重新由用户调整参数P1、P2和P3中的至少一个,根据重新调整的参数对各个样本点重新执行聚类分析。其中,执行标签扩散的步骤可包括:基于新的聚类分析的结果,从已具有标签的样本点开始向不具有标签的样本点执行标签扩散。
根据本发明的另一示例性实施例,提供一种网页机器行为检测系统,包括:样本获取装置,被配置为获取多条网页操作行为样本,其中,所述多条网页操作行为样本包括多条具有机器行为标签的机器行为样本、多条具有人类行为标签的人类行为样本和多条不具有标签的未知行为样本;特征提取装置,被配置为从所述多条网页操作行为样本分别提取行为特征;样本点距离计算装置,被配置为将每条网页操作行为样本作为一个样本点,基于提取的行为特征计算各个样本点之间的距离;融合k近邻图构建装置,被配置基于计算出的各个样本点之间的距离,构建将k近邻图和互k近邻图融合的融合k近邻图;聚类分析装置,被配置为基于构建的融合k近邻图,对各个样本点执行聚类分析;标签扩散装置,被配置为基于聚类分析的结果,从已具有标签的样本点开始向不具有标签的样本点执行标签扩散;机器行为判断配置,被配置为根据标签扩散的结果确定未知行为样本是否为机器行为。
可选地,机器行为样本的数量可小于人类行为样本的数量,人类行为样本的数量可小于未知行为样本的数量。
可选地,行为特征可包括以下各个特征值中的至少一个:鼠标点击/屏幕触控次数、鼠标点击/屏幕触控平均时间间隔、鼠标点击/屏幕触控最大时间间隔、鼠标点击/屏幕触控最小时间间隔、键盘点击次数、键盘点击每个按键的次数占所有样本中点击该按键次数的比重、键盘点击不同按键的数量、键盘点击平均时间间隔、键盘点击最大时间间隔、键盘点击最小时间间隔、在将显示器屏幕等分为预定数量的区域的情况下光标在每个区域的点击/触控次数占该样本的鼠标点击/屏幕触控次数的比重。
可选地,样本点距离计算装置可对于各个样本点两两进行计算,其中,对于任意两个样本点,样本点距离计算装置可计算这两个样本点的每对相应特征值之间的差值的平方和的算术平方根,作为这两个样本点之间的距离。
可选地,融合k近邻图构建装置可基于计算出的各个样本点之间的距离,分别确定各个样本点之间是单向连通关系、双向连通关系还是无连通关系,并基于确定结果构建融合k近邻图。
可选地,融合k近邻图构建装置可将融合k近邻图构建为:
其中,Xi和Xj分别为两个样本点,表示距离样本点Xi最近的P2个样本点的集合,表示距离样本点Xi最近的P1个样本点的集合,表示距离样本点Xj最近的P1个样本点的集合,其中,P1和P2的值由用户设置。
可选地,聚类分析装置可基于各个样本点之间的双向连通关系,将各个样本点分别划分到孤立点集合或各个子簇。
可选地,聚类分析装置可针对各个样本点中的每个样本点执行以下操作:计算与该样本点具有双向连通关系的样本点的数量;将计算出的数量与预定值进行比较;如果计算出的数量小于或等于所述预定值,则将该样本点确定为孤立点,并将该样本点划分到孤立点集合;如果计算出的数量大于所述预定值,则将该样本点划分到各个子簇,其中,在划分子簇的过程中,针对各个样本点中的任意两个样本点,如果这两个样本点都不为孤立点且具有双向连通关系,则将这两个样本点划分到同一子簇。
可选地,如果计算出的数量小于或等于所述预定值,则当样本点Xi满足H(i)≤P1-P3时,聚类分析装置可确定样本点Xi为孤立点,并将样本点Xi划分到孤立点集合S,其中,H(i)表示与样本点Xi具有双向连通关系的样本点的数量,P3的值由用户设置。其中,如果计算出的数量大于所述预定值,则当样本点时,聚类分析装置可将满足的样本点Xj与样本点Xi划分到同一个子簇。
可选地,标签扩散装置可按顺序执行以下步骤:(1)针对所包含的具有标签的样本点仅包括具有机器行为标签的样本点的子簇,将该子簇中的其它不具有标签的样本点贴上机器行为标签,针对所包含的具有标签的样本点仅包括具有人类行为标签的样本点的子簇,将该子簇中的其它不具有标签的样本点贴上人类行为标签;(2)针对仅包括不具有标签的样本点的子簇,针对该子簇中的所有样本点,分别在与每个样本点距离最近的属于其它子簇的P2个样本点之中,从距离最近的样本点开始按距离逐步探索已具有标签且属于所有样本点都具有相同标签的子簇的特定样本点;一旦搜索到特定样本点,则停止搜索,当特定样本点的数量为一个或特定样本点的数量为多个且具有相同的标签时,将该子簇中的所有样本点贴上与特定样本点相同的标签,当特定样本点的数量为多个且具有不同的标签且不同的标签所对应的特定样本点的数量不同时,将该子簇中的所有样本点贴上与数量最多的对应的特定样本点相同的标签,当特定样本点的数量为多个且具有不同的标签且不同的标签所对应的特定样本点的数量相同时,将该子簇中的所有样本点贴上机器行为标签;如果没有搜索到特定样本点,则不对该子簇中的样本点贴标签;(3)针对未具有标签的孤立点、既包括具有机器行为标签的样本点又包括具有人类行为标签的样本点的子簇中的其它未具有标签的样本点以及在步骤(2)中未获得标签的样本点中的每个样本点,将该样本点贴上与该样本点距离最近的具有标签的样本点相同的标签。
可选地,所述网页机器行为检测系统还可包括:参数调整装置,被配置为在聚类分析完成之后,当所有子簇都不包括具有机器行为标签的样本点时,重新由用户调整参数P1、P2和P3中的至少一个,其中,聚类分析装置根据重新调整的参数对各个样本点重新执行聚类分析,并且标签扩散装置基于新的聚类分析的结果,从已具有标签的样本点开始向不具有标签的样本点执行标签扩散。
根据本发明的另一示例性实施例,提供一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行根据本发明的网页机器行为检测方法。
根据本发明的另一示例性实施例,提供一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行根据本发明的网页机器行为检测方法。
根据本发明的网页机器行为检测方法及系统,在提取行为样本的特征时,提取鼠标移动轨迹、鼠标点击/屏幕触控次数、点击/触控时间间隔、键盘点击次数、键盘点击间隔、键盘按键等全方位多维度的特征。这些特征直接与行为标签强相关,而不像如IP地址之类可以轻易伪造的特征,因此可保证检测结果准确性。
此外,根据本发明的网页机器行为检测方法及系统,提出了一种使用新型的半监督机器学习算法对网页机器行为进行检测,充分利用已知和未知行为的样本的信息,综合考虑了少量已知机器攻击行为、较多已知人类行为和大量未知行为的特征,因此,仅利用少量的已标注为机器行为的样本就可对未知行为样本进行检测,不仅无需大类已知机器行为,还利用半监督机器学习算法进行聚类分析,泛化性强,检测结果准确,用户体验好,解决了现有技术中网页机器行为识别算法的缺陷。
附图说明
从下面结合附图对本发明实施例的详细描述中,本发明的这些和/或其他方面和优点将变得更加清楚并更容易理解,其中:
图1示出根据本发明的示例性实施例的网页机器行为检测系统的框图;
图2示出根据本发明的示例性实施例的聚类分析装置对各个样本点执行聚类分析的示意图;
图3示出根据本发明的示例性实施例的网页机器行为检测方法的流程图。
具体实施方式
为了使本领域技术人员更好地理解本发明,下面结合附图和具体实施方式对本发明的示例性实施例作进一步详细说明。
本发明利用一种新型的半监督学习算法对网页机器行为进行检测,首先,通过从网页行为样本提取全方位多维度的特征,保证检测结果的准确性;其次,提供一种基于新型的非线性聚类算法的半监督学习算法,即,首先采用基于结合k近邻图和互k近邻图的特点而成的融合k近邻图对网页操作行为的样本执行聚类分析,从网页操作行为的角度分析,可以知道人类操作行为大多是类似的,数学上可以表示为几个较大的簇,而恶意的机器行为,都包含某种目的性,比如在短时间内大量点击某些按钮,或者每隔固定的时间点击一次鼠标/键盘,因此在数学上这些机器行为会聚集成小而紧凑的簇,因此,利用融合k近邻图对网页操作行为的样本执行聚类分析能够得到很好的聚类效果;其次,利用半监督算法,准确地发现这些恶意机器行为组成的簇。下面,将参照图1至图3具体描述本发明示例性实施例的网页机器行为检测方法及系统。另外,为了清楚和简洁,将省略对公知的功能和结构的描述。
图1示出根据本发明的示例性实施例的网页机器行为检测系统的框图。
参照图1,根据本发明的示例性实施例的网页机器行为检测系统100包括样本获取装置101、特征提取装置102、样本点距离计算装置103、融合k近邻图构建装置104、聚类分析装置105、标签扩散装置106、机器行为判断装置107。此外,根据本发明的另一示例性实施例,网页机器行为检测系统100还可包括参数调整装置108。
样本获取装置101可获取多条网页操作行为样本。例如,样本获取装置101可从数据源(例如,互联网、服务器、数据库等)批量获取网页操作行为的记录,作为网页操作行为样本。这里,一条网页操作行为样本可包括预定时间段内的网页操作行为。该预定时间段可由用户设置,例如,十分钟,即,样本获取装置101获取的每一条网页操作行为样本都是特定对象(人或机器)的十分钟内的网页操作行为。在实际当中,可以针对不同对象分别获取按时间顺序排序的网页操作行为序列,并对每个对象对应的序列以十分钟为间隔进行截取获得网页操作行为样本。
根据本发明的示例性实施例,网页操作行为可包括鼠标点击/屏幕触控行为和键盘点击行为中的至少一种行为。对于鼠标点击/屏幕触控行为,其数据样本可为三元数组(x,y,t),其中,x和y为屏幕中光标的坐标值,t为鼠标点击/屏幕触控的时刻。对于键盘点击行为,其数据样本可为二元数组(k,t),其中,k表示点击了哪个按键,t为键盘点击的时刻。然而,网页操作行为可不限于上述行为,还可包括任何可能的网页操作行为。
根据本发明的示例性实施例,在由样本获取装置101获取的多条网页操作行为样本中,包含少量的已知的机器行为样本、较多的已知的人类行为样本以及大量的未知行为样本。也就是说,已知的机器行为样本的数量可小于已知的人类行为样本的数量,已知的人类行为样本的数量可小于未知行为样本的数量。此外,已知的机器行为样本可具有机器行为标签,已知的人类行为样本可具有人类行为标签,未知行为样本可不具有标签。例如,机器行为样本的标签可由1标记,人类行为样本的标签可由0标记。
在样本获取装置101获取到多条网页操作行为样本之后,特征提取装置102可从所述多条网页操作行为样本分别提取行为特征。
根据本发明的示例性实施例,行为特征可包括以下各个特征值中的至少一个:鼠标点击/屏幕触控次数、鼠标点击/屏幕触控平均时间间隔、鼠标点击/屏幕触控最大时间间隔、鼠标点击/屏幕触控最小时间间隔、键盘点击次数、键盘点击每个按键的次数占所有样本中点击该按键次数的比重、键盘点击不同按键的数量、键盘点击平均时间间隔、键盘点击最大时间间隔、键盘点击最小时间间隔、在将显示器屏幕等分为预定数量(例如,5×5)的区域的情况下光标在每个区域的点击/触控次数占该样本的鼠标点击/屏幕触控次数的比重。此外,特征提取装置102可将提取的上述多种行为特征的特征值分别归一化到0至1之间,作为提取的行为特征。此外,如果从网页操作行为样本中未提取到上述行为特征中的部分特征值(例如,未提取到与键盘点击行为相关的特征值),则可将相应的特征值记为0。
在特征提取装置102从所述多条网页操作行为样本分别到提取行为特征之后,样本点距离计算装置103可将每条网页操作行为样本作为一个样本点,基于提取的行为特征计算各个样本点之间的距离。
根据本发明的示例性实施例,样本点距离计算装置103可对于各个样本点两两进行计算,其中,对于任意两个样本点,样本点距离计算装置103可计算这两个样本点的每对相应特征值之间的差值的平方和的算术平方根,作为这两个样本点之间的距离。
例如,样本点距离计算装置103可通过下面的公式(1)来计算两个样本点Xi和Xj之间的距离d(Xi,Xj)。
其中,Z1i、Z2i、…、Zni表示样本点Xi的行为特征的各个特征值,Z1j、Z2j、…、Znj表示样本点Xj的行为特征的各个特征值,n表示提取的行为特征的特征值的数量。
在样本点距离计算装置103计算出各个样本点之间的距离之后,融合k近邻图构建装置104可基于计算出的各个样本点之间的距离,构建将k近邻图和互k近邻图融合的融合k近邻图。
常见的近邻图一般分为两类:k近邻图和互k近邻图。在实际应用中,k近邻图可以有效地发现数据集中大量存在的连通关系,但是无法区分边界模糊的两个簇,互k近邻图可以有效地找出数据集中的高密度区域,但是互为k近邻点的数据点数量较少较分散,形成的子簇数量多且每个簇内的点很少。因此,单独的k近邻图和互k近邻图都无法有效地处理非线性数据集的聚类和半监督问题。因此,为了同时获得k近邻图和互k近邻图的上述优点,避免k近邻图和互k近邻图的上述缺点,融合k近邻图构建装置104可构建一种融合了k近邻图和互k近邻图的特点的融合k近邻图。
根据本发明的示例性实施例,融合k近邻图构建装置104可基于计算出的各个样本点之间的距离,分别确定各个样本点之间是单向连通关系、双向连通关系还是无连通关系,并基于确定结果构建融合k近邻图。
例如,融合k近邻图构建装置104可通过下面的公式(2)来构建融合k近邻图Ah(i,j)。
其中,Xi和Xj分别为两个样本点,表示距离样本点Xi最近的P2个样本点的集合,表示距离样本点Xi最近的P1个样本点的集合,表示距离样本点Xj最近的P1个样本点的集合,这里的样本点之间的距离都是由样本点距离计算装置103根据上述计算样本点距离的方法计算得到的。
此外,P1和P2是融合k近邻图的两个参数,可由用户设置。其中,P1是用于计算每个样本点的互近邻点的参数,P2是用于计算每个样本点的近邻点的参数。如果两个样本点Xi和Xj具有单向连通关系,则认为这两个样本点Xi和Xj为单向连通点,并且Ah(i,j)=1。这里,单向连通关系是非对称关系,Ah(i,j)=1表示样本点Xj为样本点Xi的近邻点,而样本点Xi不为样本点Xj的近邻点。如果两个样本点Xi和Xj具有双向连通关系,则认为这两个样本点Xi和Xj为双向连通点,并且Ah(i,j)=2。这里,双向连通关系是对称关系,Ah(i,j)=2表示样本点Xi和Xj互为近邻点。此外,邻接矩阵中的值(1和2)仅仅作为标志位使用,所以融合k近邻图是一个无权图,这样设计的好处是在不影响效果的前提下,减少算法的复杂度。此外,在编程时不需要开辟一块n×n的内存空间储存邻接矩阵,而可以用P1×n和P2×n两个矩阵代替,P1+P2的值远远小于数据集总量n,所以可以节省大量的内存空间。
在融合k近邻图构建装置104构建好融合k近邻图之后,聚类分析装置105可基于构建的融合k近邻图,对各个样本点执行聚类分析。
根据本发明的示例性实施例,聚类分析装置105可基于融合k近邻图中显示的各个样本点之间的双向连通关系,将各个样本点分别划分到孤立点集合或各个子簇。
根据本发明的示例性实施例,聚类分析装置105可针对各个样本点中的每个样本点执行以下操作:计算与该样本点具有双向连通关系的样本点的数量;将计算出的数量与预定值进行比较;如果计算出的数量小于或等于所述预定值,则将该样本点确定为孤立点,并将该样本点划分到孤立点集合;如果计算出的数量大于所述预定值,则将该样本点划分到各个子簇,其中,在划分子簇的过程中,针对各个样本点中的任意两个样本点,如果这两个样本点都不为孤立点且具有双向连通关系,则将这两个样本点划分到同一子簇。
例如,当样本点Xi满足以下条件时,聚类分析装置105可将样本点Xi确定为孤立点,并将样本点Xi划分到孤立点集合S:
H(i)≤P1-P3 (3)
其中,H(i)表示与样本点Xi具有双向连通关系的样本点的数量,P3是用于控制孤立点集合S的大小的参数,并可由用户设置。如果P1-P3被设置的较大,则孤立点的约束条件将会放宽,因此会有大量的样本点被标注为孤立点。如果P1-P3被设置的较小,则孤立点的约束条件将会收紧,因此会有少量的样本点被标注为孤立点。
当样本点Xi不满足上述条件时,则认为样本点Xi不是孤立点,即,样本点聚类分析装置105可将样本点Xi划分到子簇。子簇是聚类分析过程中最小的计算单位,代表高密度区域。子簇可由多个样本点组成,当样本点Xi被划分到一个子簇中时,如果另一个样本点Xj满足以下条件,则将该样本点Xj与样本点Xi划分到同一子簇:
也就是说,当样本点Xi和样本点Xj都不是孤立点,且样本点Xi和样本点Xj具有双向连通关系时,这两个样本点Xi和样本点Xj可被划分到同一个子簇。另外,如果第三个样本点Xo满足和中的任意一个条件,则可将样本点Xo与样本点Xi和样本点Xj划分到同一个子簇。另外,如果第四个样本点Xe满足和中的任意一个条件,则可将样本点Xe与样本点Xi、样本点Xj和样本点Xo划分到同一个子簇。针对其它的样本点,可依此类推。
在编程实现中,可以用多叉树来描述一个子簇,即以某一个样本点作为根节点,与该根节点具有双向连通关系的所有样本点为该根节点的子节点,然后不断的迭代生长这个树,但是必须保证这棵多叉树中不会出现重复的节点,如果某个节点的子节点与已经存在的其他节点重复,则这个子节点不能被添加到这棵树上。所以迭代终止的条件就是这棵多叉树不再生长。从公式(4)中可知,同一个子簇中的样本点是成对出现且对称的,即,若Xi是Xj的双向连通点,那么Xj也是Xi的双向连通点。因此,不论选择哪个点作为根节点生长一个多叉树,都不会改变同一个子簇中的样本点。
图2示出根据本发明的示例性实施例的聚类分析装置105对各个样本点执行聚类分析的示意图。
如图2-1所示,可获得按照相互之间的距离分布的各个样本点的集合。如图2-2所示,聚类分析装置105可将各个样本点划分到孤立点集合(例如,孤立点a和孤立点b)或者各个子簇(例如,子簇1、子簇2、子簇3、子簇4和子簇5)。
返回参照图1,在聚类分析装置105获得聚类分析结果之后,标签扩散装置106可基于聚类分析的结果,从已具有标签的样本点开始向不具有标签的样本点执行标签扩散。这里,为了便于描述,可将机器行为样本点称为正样本,将人类行为样本点称为负样本,将未知行为样本点称为未知样本。在由聚类分析装置105找出了样本集中大量小而紧凑的子簇之后,标签扩散装置106可基于已知的正样本和负样本的子簇分布来判断未知样本是正样本还是负样本。
根据本发明的示例性实施例,标签扩散装置106可首先执行子簇内部的标签扩散,再执行子簇之间的标签扩散,最后执行样本点之间的标签扩散。例如,标签扩散装置106执行标签扩散的过程可分为如下三个步骤:
在步骤一,在由聚类分析装置105获得的多个子簇中,针对仅包括正样本和未知样本的子簇,可将该子簇中的未知样本视为也是正样本,因此,可将该子簇中的未知样本贴上正样本的标签,即,机器行为标签。在由聚类分析装置105获得的多个子簇中,针对仅包括负样本和未知样本的子簇,可将该子簇中的未知样本视为也是负样本,因此,可将该子簇中的未知样本贴上负样本的标签,即,人类行为标签。
在步骤二,在由聚类分析装置105获得的多个子簇中,针对仅包括未知样本的子簇,针对该子簇中的所有样本点,分别在与每个样本点距离最近的属于其它子簇的P2个样本点之中,从距离最近的样本点开始按距离逐步探索已具有标签且属于所有样本点都具有相同标签的子簇的特定样本点,一旦探索到特定样本点,则停止探索。
下面将举例说明该探索过程。假设一个仅包括未知样本的子簇SC包括样本点a、样本点b、样本点c和样本点d。针对该子簇中的样本点a、样本点b、样本点c和样本点d,分别逐步探索样本点a、样本点b、样本点c和样本点d的1近邻点、2近邻点、…、P2近邻点。这里,1近邻点指的是距离样本点最近的样本点,2近邻点指的是距离样本点第二近的样本点,依此类推,P2近邻点指的是距离样本点第P2近的样本点,其中,P2是在融合k近邻图构建装置104构建融合k近邻图时由用户设置的用于计算每个样本点的近邻点的参数。具体的探索步骤为:首先探索样本点a、样本点b、样本点c和样本点d的1近邻点,如果在样本点a、样本点b、样本点c和样本点d的1近邻点之中都不存在已具有标签且属于所有样本点都具有相同标签的子簇的特定样本点,则进一步探索样本点a、样本点b、样本点c和样本点d的2近邻点,如果在样本点a、样本点b、样本点c和样本点d的2近邻点之中都不存在已具有标签且属于所有样本点都具有相同标签的子簇的特定样本点,则进一步探索样本点a、样本点b、样本点c和样本点d的3近邻点,依此类推,一旦探索到具有标签且属于所有样本点都具有相同标签的子簇的特定样本点,则停止探索,或者如果在探索样本点a、样本点b、样本点c和样本点d的P2近邻点时还未探索到具有标签且属于所有样本点都具有相同标签的子簇的特定样本点,则停止探索。
一旦搜索到特定样本点之后,可先确定特定样本点的数量。如果特定样本点的数量为一个,则表示该子簇中只有一个样本点的k近邻点(k∈[1,P2])为特定样本点,并将该子簇中的所有样本点贴上与特定样本点相同的标签。例如,在上述示例中,在该子簇SC中,假设仅样本点a的k近邻点为特定样本点,且该特定样本点为正样本,则将该子簇SC中的所有样本点贴上正样本的标签(即,机器行为标签)。
如果特定样本点的数量为多个,则表示该子簇中有多个样本点的k近邻点(k∈[1,P2])为特定样本点,并确定这多个特定样本点的标签是否相同。如果这多个特定样本点的标签都相同,则将该子簇中的所有样本点贴上与特定样本点相同的标签。例如,在上述示例中,在该子簇SC中,假设样本点a、样本点b、样本点c和样本点d中的至少两个样本点的k近邻点为特定样本点,且这些特定样本点都为负样本,则将该子簇SC中的所有样本点贴上负样本的标签(即,人类行为标签)。
如果这多个特定样本点的标签不相同,则确定不同的标签所对应的特定样本点的数量是否相同。如果不同的标签所对应的特定样本点的数量不同,则将该子簇中的所有样本点贴上与数量最多的对应的特定样本点相同的标签。如果不同的标签所对应的特定样本点的数量相同,则将该子簇中的所有样本点贴上机器行为标签。例如,在上述示例中,在该子簇SC中,样本点a、样本点b、样本点c和样本点d的k近邻点(k∈[1,P2])都为特定样本点,假设样本点a的k近邻点为正样本,样本点b、样本点c和样本点d的k近邻点都为负样本,即,在四个特定样本点中,有三个负样本,一个正样本,负样本的数量更多,则将该子簇SC中的所有样本点贴上负样本的标签(即,人类行为标签),又假设样本点a和样本点b的k近邻点为负样本,样本点c和样本点d的k近邻点为正样本,即,在四个特定样本点中,有两个负样本,两个正样本,正样本和负样本的数量一样多,则将该子簇SC中的所有样本点贴上正样本的标签(即,机器行为标签)。
如果在探索样本点a、样本点b、样本点c和样本点d的P2近邻点时还未探索到具有标签且属于所有样本点都具有相同标签的子簇的特定样本点,则停止探索,并且不对该子簇中的样本点贴标签。例如,在上述示例中,在该子簇SC中,样本点a、样本点b、样本点c和样本点d的1近邻点至P2近邻点都不是特定样本点,则不对该子簇SC中的样本点贴标签。
在步骤三,针对未具有标签的孤立点、既包括正样本又包括负样本的子簇中的其它未具有标签的样本点以及在步骤(2)中未获得标签的样本点中的每个样本点,将该样本点贴上与该样本点距离最近的具有标签的样本点相同的标签。
上面详细描述了标签扩散装置106执行标签扩散的示例性实施例,然而,本领域技术人员清楚,标签扩散装置106执行标签扩散的方法不限于上述方法,还可使用其它合理或已知的方法执行标签扩散。
在标签扩散装置106执行完标签扩散之后,每个未知行为样本点都贴上了机器行为标签或者人类行为标签,机器行为判断装置107可根据标签扩散的结果确定每个未知行为样本是否为机器行为。另外,机器行为判断装置107还可输出被确定为是机器行为的网页操作行为样本,用户由可根据机器行为判断装置107的输出采取执行拦截、禁止访问或人工核查等措施,阻止机器操作行为。
此外,根据本发明的示例性实施例,在聚类分析装置105获得聚类分析结果时,聚类分析结果可能存在这样的情况:即,所有子簇都不包括具有机器行为标签的样本点。如果聚类分析结果存在这样的情况,则认为这样的聚类分析结果不合理,参数调整装置108可根据用户重新输入的参数P1、P2和P3中的至少一个来调整参数P1、P2和P3中的至少一个。在参数调整装置108重新调整参数之后,聚类分析装置105可根据重新调整的参数对各个样本点重新执行聚类分析,并且标签扩散装置106基于新的聚类分析的结果,从已具有标签的样本点开始向不具有标签的样本点执行标签扩散。
图3示出根据本发明的示例性实施例的网页机器行为检测方法的流程图。
参照图3,在步骤S301,样本获取装置101可获取多条网页操作行为样本。例如,样本获取装置101可从数据源(例如,互联网、服务器、数据库等)批量获取网页操作行为的记录,作为网页操作行为样本。这里,一条网页操作行为样本可包括预定时间段内的网页操作行为,该预定时间段可由用户设置,例如,十分钟,即,样本获取装置101获取的每一条网页操作行为样本都是特定对象(人或机器)的十分钟内的网页操作行为。在实际当中,可以针对不同对象分别获取按时间顺序排序的网页操作行为序列,并对每个对象对应的序列以十分钟为间隔进行截取获得网页操作行为样本。
根据本发明的示例性实施例,网页操作行为可包括鼠标点击/屏幕触控行为和键盘点击行为中的至少一种行为。对于鼠标点击/屏幕触控行为,其数据样本可为三元数组(x,y,t),其中,x和y为屏幕中光标的坐标值,t为鼠标点击/屏幕触控的时刻。对于键盘点击行为,其数据样本可为二元数组(k,t),其中,k表示点击了哪个按键,t为键盘点击的时刻。然而,网页操作行为可不限于上述行为,还可包括任何可能的网页操作行为。
根据本发明的示例性实施例,在由样本获取装置101获取的多条网页操作行为样本中,包含少量的已知的机器行为样本、较多的已知的人类行为样本以及大量的未知行为样本。也就是说,已知的机器行为样本的数量可小于已知的人类行为样本的数量,已知的人类行为样本的数量可小于未知行为样本的数量。此外,已知的机器行为样本可具有机器行为标签,已知的人类行为样本可具有人类行为标签,未知行为样本可不具有标签。例如,机器行为样本的标签可由1标记,人类行为样本的标签可由0标记。
在步骤S302,特征提取装置102可从所述多条网页操作行为样本分别提取行为特征。
根据本发明的示例性实施例,行为特征可包括以下各个特征值中的至少一个:鼠标点击/屏幕触控次数、鼠标点击/屏幕触控平均时间间隔、鼠标点击/屏幕触控最大时间间隔、鼠标点击/屏幕触控最小时间间隔、键盘点击次数、键盘点击每个按键的次数占所有样本中点击该按键次数的比重、键盘点击不同按键的数量、键盘点击平均时间间隔、键盘点击最大时间间隔、键盘点击最小时间间隔、在将显示器屏幕等分为预定数量(例如,5×5)的区域的情况下光标在每个区域的点击/触控次数占该样本的鼠标点击/屏幕触控次数的比重。此外,特征提取装置102可将提取的上述多种行为特征的特征值分别归一化到0至1之间,作为提取的行为特征。此外,如果从网页操作行为样本中未提取到上述行为特征中的部分特征值(例如,未提取到与键盘点击行为相关的特征值),则可将相应的特征值记为0。
在步骤S303,样本点距离计算装置103可将每条网页操作行为样本作为一个样本点,基于提取的行为特征计算各个样本点之间的距离。
根据本发明的示例性实施例,样本点距离计算装置103可对于各个样本点两两进行计算,其中,对于任意两个样本点,样本点距离计算装置103可计算这两个样本点的每对相应特征值之间的差值的平方和的算术平方根,作为这两个样本点之间的距离。
例如,样本点距离计算装置103可通过下面的公式(1)来计算两个样本点Xi和Xj之间的距离d(Xi,Xj)。
其中,Z1i、Z2i、…、Zni表示样本点Xi的行为特征的各个特征值,Z1j、Z2j、…、Znj表示样本点Xj的行为特征的各个特征值,n表示提取的行为特征的特征值的数量。
在步骤S304,融合k近邻图构建装置104可基于计算出的各个样本点之间的距离,构建将k近邻图和互k近邻图融合的融合k近邻图。
常见的近邻图一般分为两类:k近邻图和互k近邻图。在实际应用中,k近邻图可以有效地发现数据集中大量存在的连通关系,但是无法区分边界模糊的两个簇,互k近邻图可以有效地找出数据集中的高密度区域,但是互为k近邻点的数据点数量较少较分散,形成的子簇数量多且每个簇内的点很少。因此,单独的k近邻图和互k近邻图都无法有效地处理非线性数据集的聚类和半监督问题。因此,为了同时获得k近邻图和互k近邻图的上述优点,避免k近邻图和互k近邻图的上述缺点,融合k近邻图构建装置104可构建一种融合了k近邻图和互k近邻图的特点的融合k近邻图。
根据本发明的示例性实施例,融合k近邻图构建装置104可基于计算出的各个样本点之间的距离,分别确定各个样本点之间是单向连通关系、双向连通关系还是无连通关系,并基于确定结果构建融合k近邻图。
例如,融合k近邻图构建装置104可通过下面的公式(2)来构建融合k近邻图Ah(i,j)。
其中,Xi和Xj分别为两个样本点,表示距离样本点Xi最近的P2个样本点的集合,表示距离样本点Xi最近的P1个样本点的集合,表示距离样本点Xj最近的P1个样本点的集合,这里的样本点之间的距离都是由样本点距离计算装置103根据上述计算样本点距离的方法计算得到的。
此外,P1和P2是融合k近邻图的两个参数,可由用户设置。其中,P1是用于计算每个样本点的互近邻点的参数,P2是用于计算每个样本点的近邻点的参数。如果两个样本点Xi和Xj具有单向连通关系,则认为这两个样本点Xi和Xj为单向连通点,并且Ah(i,j)=1。这里,单向连通关系是非对称关系,Ah(i,j)=1表示样本点Xj为样本点Xi的近邻点,而样本点Xi不为样本点Xj的近邻点。如果两个样本点Xi和Xj具有双向连通关系,则认为这两个样本点Xi和Xj为双向连通点,并且Ah(i,j)=2。这里,双向连通关系是对称关系,Ah(i,j)=2表示样本点Xi和Xj互为近邻点。此外,邻接矩阵中的值(1和2)仅仅作为标志位使用,所以融合k近邻图是一个无权图,这样设计的好处是在不影响效果的前提下,减少算法的复杂度。此外,在编程时不需要开辟一块n×n的内存空间储存邻接矩阵,而可以用P1×n和P2×n两个矩阵代替,P1+P2的值远远小于数据集总量n,所以可以节省大量的内存空间。
在步骤S305,聚类分析装置105可基于构建的融合k近邻图,对各个样本点执行聚类分析。
根据本发明的示例性实施例,聚类分析装置105可基于融合k近邻图中显示的各个样本点之间的双向连通关系,将各个样本点分别划分到孤立点集合或各个子簇。
根据本发明的示例性实施例,聚类分析装置105可针对各个样本点中的每个样本点执行以下操作:计算与该样本点具有双向连通关系的样本点的数量;将计算出的数量与预定值进行比较;如果计算出的数量小于或等于所述预定值,则将该样本点确定为孤立点,并将该样本点划分到孤立点集合;如果计算出的数量大于所述预定值,则将该样本点划分到各个子簇,其中,在划分子簇的过程中,针对各个样本点中的任意两个样本点,如果这两个样本点都不为孤立点且具有双向连通关系,则将这两个样本点划分到同一子簇。
例如,当样本点Xi满足以下条件时,聚类分析装置105可将样本点Xi确定为孤立点,并将样本点Xi划分到孤立点集合S:
H(i)≤P1-P3 (3)
其中,H(i)表示与样本点Xi具有双向连通关系的样本点的数量,P3是用于控制孤立点集合S的大小的参数,并可由用户设置。如果P1-P3被设置的较大,则孤立点的约束条件将会放宽,因此会有大量的样本点被标注为孤立点。如果P1-P3被设置的较小,则孤立点的约束条件将会收紧,因此会有少量的样本点被标注为孤立点。
当样本点Xi不满足上述条件时,则认为样本点Xi不是孤立点,即,样本点聚类分析装置105可将样本点Xi划分到子簇。子簇是聚类分析过程中最小的计算单位,代表高密度区域。子簇可由多个样本点组成,当样本点Xi被划分到一个子簇中时,如果另一个样本点Xj满足以下条件,则将该样本点Xj与样本点Xi划分到同一子簇:
也就是说,当样本点Xi和样本点Xj都不是孤立点,且样本点Xi和样本点Xj具有双向连通关系时,这两个样本点Xi和样本点Xj可被划分到同一个子簇。另外,如果第三个样本点Xo满足和中的任意一个条件,则可将样本点Xo与样本点Xi和样本点Xj划分到同一个子簇。另外,如果第四个样本点Xe满足和中的任意一个条件,则可将样本点Xe与样本点Xi、样本点Xj和样本点Xo划分到同一个子簇。针对其它的样本点,可依此类推。
在编程实现中,可以用多叉树来描述一个子簇,即以某一个样本点作为根节点,与该根节点具有双向连通关系的所有样本点为该根节点的子节点,然后不断的迭代生长这个树,但是必须保证这棵多叉树中不会出现重复的节点,如果某个节点的子节点与已经存在的其他节点重复,则这个子节点不能被添加到这棵树上。所以迭代终止的条件就是这棵多叉树不再生长。从公式(4)中可知,同一个子簇中的样本点是成对出现且对称的,即,若Xi是Xj的双向连通点,那么Xj也是Xi的双向连通点。因此,不论选择哪个点作为根节点生长一个多叉树,都不会改变同一个子簇中的样本点。
在步骤S306,标签扩散装置106可基于聚类分析的结果,从已具有标签的样本点开始向不具有标签的样本点执行标签扩散。
这里,为了便于描述,可将机器行为样本点称为正样本,将人类行为样本点称为负样本,将未知行为样本点称为未知样本。在由聚类分析装置105找出了样本集中大量小而紧凑的子簇之后,标签扩散装置106可基于已知的正样本和负样本的子簇分布来判断未知样本是正样本还是负样本。
根据本发明的示例性实施例,标签扩散装置106可首先执行子簇内部的标签扩散,再执行子簇之间的标签扩散,最后执行样本点之间的标签扩散。例如,标签扩散装置106执行标签扩散的过程可分为如下三个步骤:
在步骤一,在由聚类分析装置105获得的多个子簇中,针对仅包括正样本和未知样本的子簇,可将该子簇中的未知样本视为也是正样本,因此,可将该子簇中的未知样本贴上正样本的标签,即,机器行为标签。在由聚类分析装置105获得的多个子簇中,针对仅包括负样本和未知样本的子簇,可将该子簇中的未知样本视为也是负样本,因此,可将该子簇中的未知样本贴上负样本的标签,即,人类行为标签。
在步骤二,在由聚类分析装置105获得的多个子簇中,针对仅包括未知样本的子簇,针对该子簇中的所有样本点,分别在与每个样本点距离最近的属于其它子簇的P2个样本点之中,从距离最近的样本点开始按距离逐步探索已具有标签且属于所有样本点都具有相同标签的子簇的特定样本点。
一旦探索到特定样本点,则停止探索。当特定样本点的数量为一个或特定样本点的数量为多个且具有相同的标签时,将该子簇中的所有样本点贴上与特定样本点相同的标签。当特定样本点的数量为多个且具有不同的标签且不同的标签所对应的特定样本点的数量不同时,将该子簇中的所有样本点贴上与数量最多的对应的特定样本点相同的标签。当特定样本点的数量为多个且具有不同的标签且不同的标签所对应的特定样本点的数量相同时,将该子簇中的所有样本点贴上机器行为标签。
如果没有搜索到特定样本点,则不对该子簇中的样本点贴标签。
在步骤三,针对未具有标签的孤立点、既包括正样本又包括负样本的子簇中的其它未具有标签的样本点以及在步骤(2)中未获得标签的样本点中的每个样本点,将该样本点贴上与该样本点距离最近的具有标签的样本点相同的标签。
上面详细描述了标签扩散装置106执行标签扩散的示例性实施例,然而,本领域技术人员清楚,标签扩散装置106执行标签扩散的方法不限于上述方法,还可使用其它合理或已知的方法执行标签扩散。
在标签扩散装置106执行完标签扩散之后,每个未知行为样本点都贴上了机器行为标签或者人类行为标签,在步骤S307,机器行为判断装置107可根据标签扩散的结果确定每个未知行为样本是否为机器行为。另外,机器行为判断装置107还可输出被确定为是机器行为的网页操作行为样本,用户由可根据机器行为判断装置107的输出采取执行拦截、禁止访问或人工核查等措施,阻止机器操作行为。
此外,根据本发明的示例性实施例,在聚类分析装置105获得聚类分析结果之后,聚类分析结果可能存在这样的情况:即,所有子簇都不包括具有机器行为标签的样本点。如果聚类分析结果存在这样的情况,则认为这样的聚类分析结果不合理,并在步骤S308,参数调整装置108可根据用户重新输入的参数P1、P2和P3中的至少一个来调整参数P1、P2和P3中的至少一个,并且方法返回到步骤S305,聚类分析装置105可根据重新调整的参数对各个样本点重新执行聚类分析,并在步骤S306,签扩散装置106基于新的聚类分析的结果,从已具有标签的样本点开始向不具有标签的样本点执行标签扩散。
根据本发明的网页机器行为检测方法及系统,在提取行为样本的特征时,提取全方位多维度的特征。这些特征直接与行为标签强相关,而不像如IP地址之类可以轻易伪造的特征,因此可保证检测结果准确性。
此外,根据本发明的网页机器行为检测方法及系统,提出了一种使用新型的半监督机器学习算法对网页机器行为进行检测,充分利用已知和未知行为的样本的信息,综合考虑了少量已知机器攻击行为、较多已知人类行为和大量未知行为的特征,因此,仅利用少量的已标注为机器行为的样本就可对未知行为样本进行检测,不仅无需大类已知机器行为,还利用半监督机器学习算法进行聚类分析,泛化性强,检测结果准确,用户体验好,解决了现有技术中网页机器行为识别算法的缺陷。
以上已参照图1至图3描述了根据本发明示例性实施例的网页机器行为检测方法及系统。
图1所示出的系统和装置可被分别配置为执行特定功能的软件、硬件、固件或上述项的任意组合。例如,这些系统、装置或单元可对应于专用的集成电路,也可对应于纯粹的软件代码,还可对应于软件与硬件相结合的模块。此外,这些系统、装置或单元所实现的一个或多个功能也可由物理实体设备(例如,处理器、客户端或服务器等)中的组件来统一执行。
此外,参照图3所描述的方法可通过记录在计算机可读存储介质上的程序(或指令)来实现。例如,根据本发明的示例性实施例,可提供一种用于网页机器行为检测的计算机可读存储介质,其中,在所述计算机可读存储介质上记录有用于执行参照图3所描述的网页机器行为检测的方法步骤的计算机程序(或指令)。例如,所述计算机程序(或指令)可用于执行以下方法步骤:获取多条网页操作行为样本,其中,所述多条网页操作行为样本包括多条具有机器行为标签的机器行为样本、多条具有人类行为标签的人类行为样本和多条不具有标签的未知行为样本;从所述多条网页操作行为样本分别提取行为特征;将每条网页操作行为样本作为一个样本点,基于提取的行为特征计算各个样本点之间的距离;基于计算出的各个样本点之间的距离,构建将k近邻图和互k近邻图融合的融合k近邻图;基于构建的融合k近邻图,对各个样本点执行聚类分析;基于聚类分析的结果,从已具有标签的样本点开始向不具有标签的样本点执行标签扩散;根据标签扩散的结果确定未知行为样本是否为机器行为。
上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,应注意,所述计算机程序还可用于执行除了上述步骤以外的附加步骤或者在执行上述步骤时执行更为具体的处理,这些附加步骤和进一步处理的内容已经在参照图3进行相关方法的描述过程中提及,因此这里为了避免重复将不再进行赘述。
应注意,根据本发明示例性实施例的网页机器行为检测系统可完全依赖计算机程序的运行来实现相应的功能,即,各个单元在计算机程序的功能架构中与各步骤相应,使得整个系统通过专门的软件包(例如,lib库)而被调用,以实现相应的功能。
另一方面,图1所示的各个装置也可以通过硬件、软件、固件、中间件、微代码或其任意组合来实现。当以软件、固件、中间件或微代码实现时,用于执行相应操作的程序代码或者代码段可以存储在诸如存储介质的计算机可读介质中,使得处理器可通过读取并运行相应的程序代码或者代码段来执行相应的操作。
例如,本发明的示例性实施例还可以实现为计算装置,该计算装置包括存储部件和处理器,存储部件中存储有计算机可执行指令集合,当所述计算机可执行指令集合被所述处理器执行时,执行根据本发明的示例性实施例的网页机器行为检测方法。
具体说来,所述计算装置可以部署在服务器或客户端中,也可以部署在分布式网络环境中的节点装置上。此外,所述计算装置可以是PC计算机、平板装置、个人数字助理、智能手机、web应用或其他能够执行上述指令集合的装置。
这里,所述计算装置并非必须是单个的计算装置,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。计算装置还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子装置。
在所述计算装置中,处理器可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
根据本发明示例性实施例的网页机器行为检测方法中所描述的某些操作可通过软件方式来实现,某些操作可通过硬件方式来实现,此外,还可通过软硬件结合的方式来实现这些操作。
处理器可运行存储在存储部件之一中的指令或代码,其中,所述存储部件还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,所述网络接口装置可采用任何已知的传输协议。
存储部件可与处理器集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储部件可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储部件和处理器可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器能够读取存储在存储部件中的文件。
此外,所述计算装置还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。计算装置的所有组件可经由总线和/或网络而彼此连接。
根据本发明示例性实施例的网页机器行为检测方法所涉及的操作可被描述为各种互联或耦合的功能块或功能示图。然而,这些功能块或功能示图可被均等地集成为单个的逻辑装置或按照非确切的边界进行操作。
因此,参照图3所描述的方法可通过包括至少一个计算装置和至少一个存储指令的存储装置的系统来实现。
根据本发明的示例性实施例,所述至少一个计算装置是根据本发明示例性实施例的用于网页机器行为检测的计算装置,存储装置中存储有计算机可执行指令集合,当所述计算机可执行指令集合被所述至少一个计算装置执行时,执行参照图3所描述的方法步骤。例如,当所述计算机可执行指令集合被所述至少一个计算装置执行时,可执行以下方法步骤:获取多条网页操作行为样本,其中,所述多条网页操作行为样本包括多条具有机器行为标签的机器行为样本、多条具有人类行为标签的人类行为样本和多条不具有标签的未知行为样本;从所述多条网页操作行为样本分别提取行为特征;将每条网页操作行为样本作为一个样本点,基于提取的行为特征计算各个样本点之间的距离;基于计算出的各个样本点之间的距离,构建将k近邻图和互k近邻图融合的融合k近邻图;基于构建的融合k近邻图,对各个样本点执行聚类分析;基于聚类分析的结果,从已具有标签的样本点开始向不具有标签的样本点执行标签扩散;根据标签扩散的结果确定未知行为样本是否为机器行为。
以上描述了本发明的各示例性实施例,应理解,上述描述仅是示例性的,并非穷尽性的,本发明不限于所披露的各示例性实施例。在不偏离本发明的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。因此,本发明的保护范围应该以权利要求的范围为准。
Claims (10)
1.一种网页机器行为检测方法,包括:
获取多条网页操作行为样本,其中,所述多条网页操作行为样本包括多条具有机器行为标签的机器行为样本、多条具有人类行为标签的人类行为样本和多条不具有标签的未知行为样本;
从所述多条网页操作行为样本分别提取行为特征;
将每条网页操作行为样本作为一个样本点,基于提取的行为特征计算各个样本点之间的距离;
基于计算出的各个样本点之间的距离,构建将k近邻图和互k近邻图融合的融合k近邻图;
基于构建的融合k近邻图,对各个样本点执行聚类分析;
基于聚类分析的结果,从已具有标签的样本点开始向不具有标签的样本点执行标签扩散;
根据标签扩散的结果确定未知行为样本是否为机器行为。
2.如权利要求1所述的网页机器行为检测方法,其中,机器行为样本的数量小于人类行为样本的数量,人类行为样本的数量小于未知行为样本的数量。
3.如权利要求1所述的网页机器行为检测方法,其中,行为特征包括以下各个特征值中的至少一个:鼠标点击/屏幕触控次数、鼠标点击/屏幕触控平均时间间隔、鼠标点击/屏幕触控最大时间间隔、鼠标点击/屏幕触控最小时间间隔、键盘点击次数、键盘点击每个按键的次数占所有样本中点击该按键次数的比重、键盘点击不同按键的数量、键盘点击平均时间间隔、键盘点击最大时间间隔、键盘点击最小时间间隔、在将显示器屏幕等分为预定数量的区域的情况下光标在每个区域的点击/触控次数占该样本的鼠标点击/屏幕触控次数的比重。
4.如权利要求3所述的网页机器行为检测方法,其中,基于提取的行为特征计算各个样本点之间的距离的步骤包括:
对于各个样本点两两进行计算,其中,对于任意两个样本点,计算这两个样本点的每对相应特征值之间的差值的平方和的算术平方根,作为这两个样本点之间的距离。
5.如权利要求1所述的网页机器行为检测方法,其中,构建融合k近邻图的步骤包括:
基于计算出的各个样本点之间的距离,分别确定各个样本点之间是单向连通关系、双向连通关系还是无连通关系;
基于确定结果构建融合k近邻图。
6.如权利要求5所述的网页机器行为检测方法,其中,融合k近邻图被构建为:
其中,Xi和Xj分别为两个样本点,表示距离样本点Xi最近的P2个样本点的集合,表示距离样本点Xi最近的P1个样本点的集合,表示距离样本点Xj最近的P1个样本点的集合,
其中,P1和P2的值由用户设置。
7.如权利要求5或6所述的网页机器行为检测方法,其中,对各个样本点执行聚类分析的步骤包括:
基于各个样本点之间的双向连通关系,将各个样本点分别划分到孤立点集合或各个子簇。
8.一种网页机器行为检测系统,包括:
样本获取装置,被配置为获取多条网页操作行为样本,其中,所述多条网页操作行为样本包括多条具有机器行为标签的机器行为样本、多条具有人类行为标签的人类行为样本和多条不具有标签的未知行为样本;
特征提取装置,被配置为从所述多条网页操作行为样本分别提取行为特征;
样本点距离计算装置,被配置为将每条网页操作行为样本作为一个样本点,基于提取的行为特征计算各个样本点之间的距离;
融合k近邻图构建装置,被配置基于计算出的各个样本点之间的距离,构建将k近邻图和互k近邻图融合的融合k近邻图;
聚类分析装置,被配置为基于构建的融合k近邻图,对各个样本点执行聚类分析;
标签扩散装置,被配置为基于聚类分析的结果,从已具有标签的样本点开始向不具有标签的样本点执行标签扩散;
机器行为判断装置,被配置为根据标签扩散的结果确定未知行为样本是否为机器行为。
9.一种包括至少一个计算装置和至少一个存储指令的存储装置的系统,其中,所述指令在被所述至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1到7中的任一权利要求所述的网页机器行为检测方法。
10.一种存储指令的计算机可读存储介质,其中,当所述指令被至少一个计算装置运行时,促使所述至少一个计算装置执行如权利要求1到7中的任一权利要求所述的网页机器行为检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811374037.5A CN109522692B (zh) | 2018-11-19 | 2018-11-19 | 网页机器行为检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811374037.5A CN109522692B (zh) | 2018-11-19 | 2018-11-19 | 网页机器行为检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109522692A true CN109522692A (zh) | 2019-03-26 |
CN109522692B CN109522692B (zh) | 2019-10-18 |
Family
ID=65776553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811374037.5A Active CN109522692B (zh) | 2018-11-19 | 2018-11-19 | 网页机器行为检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109522692B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110266727A (zh) * | 2019-07-09 | 2019-09-20 | 中国工商银行股份有限公司 | 模拟浏览器行为的识别方法、服务器及客户端 |
CN111552867A (zh) * | 2020-03-31 | 2020-08-18 | 北京城市网邻信息技术有限公司 | 一种业务信息的推荐方法和装置 |
CN113360899A (zh) * | 2021-07-06 | 2021-09-07 | 上海观安信息技术股份有限公司 | 一种机器行为的识别方法及系统 |
CN113608946A (zh) * | 2021-08-10 | 2021-11-05 | 国家计算机网络与信息安全管理中心 | 基于特征工程和表示学习的机器行为识别方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130346219A1 (en) * | 2012-06-25 | 2013-12-26 | Microsoft Corporation | Bid estimation for contextual advertisements |
CN106557786A (zh) * | 2016-11-25 | 2017-04-05 | 江南大学 | 一种自动确定聚类中心的势能聚类算法 |
CN107977555A (zh) * | 2017-11-10 | 2018-05-01 | 传神语联网网络科技股份有限公司 | 一种判断识别对象是人类还是机器的方法 |
CN108287989A (zh) * | 2018-01-18 | 2018-07-17 | 北京科技大学 | 一种基于轨迹的滑动验证码人机识别方法 |
-
2018
- 2018-11-19 CN CN201811374037.5A patent/CN109522692B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130346219A1 (en) * | 2012-06-25 | 2013-12-26 | Microsoft Corporation | Bid estimation for contextual advertisements |
CN106557786A (zh) * | 2016-11-25 | 2017-04-05 | 江南大学 | 一种自动确定聚类中心的势能聚类算法 |
CN107977555A (zh) * | 2017-11-10 | 2018-05-01 | 传神语联网网络科技股份有限公司 | 一种判断识别对象是人类还是机器的方法 |
CN108287989A (zh) * | 2018-01-18 | 2018-07-17 | 北京科技大学 | 一种基于轨迹的滑动验证码人机识别方法 |
Non-Patent Citations (4)
Title |
---|
HORNG-LIN SHIEH 等: "Semi-supervised Clustering Based on K-Nearest Neighbors", 《2012 THIRD INTERNATIONAL CONFERENCE ON DIGITAL MANUFACTURING & AUTOMATION》 * |
QIN YIKUN等: "A Novel clustering method based on hybrid K-nearest-neighbor graph", 《PATTERN RECOGNITION》 * |
李林林 等: "基于K均值和K近邻的半监督流量分类算法", 《信息工程大学学报》 * |
黄虹玮 等: "基于复杂学习分类系统的密度聚类方法", 《计算机应用》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110266727A (zh) * | 2019-07-09 | 2019-09-20 | 中国工商银行股份有限公司 | 模拟浏览器行为的识别方法、服务器及客户端 |
CN111552867A (zh) * | 2020-03-31 | 2020-08-18 | 北京城市网邻信息技术有限公司 | 一种业务信息的推荐方法和装置 |
CN113360899A (zh) * | 2021-07-06 | 2021-09-07 | 上海观安信息技术股份有限公司 | 一种机器行为的识别方法及系统 |
CN113360899B (zh) * | 2021-07-06 | 2023-11-21 | 上海观安信息技术股份有限公司 | 一种机器行为的识别方法及系统 |
CN113608946A (zh) * | 2021-08-10 | 2021-11-05 | 国家计算机网络与信息安全管理中心 | 基于特征工程和表示学习的机器行为识别方法 |
CN113608946B (zh) * | 2021-08-10 | 2023-09-12 | 国家计算机网络与信息安全管理中心 | 基于特征工程和表示学习的机器行为识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109522692B (zh) | 2019-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109522692B (zh) | 网页机器行为检测方法及系统 | |
Nie et al. | Characterizing temperature, power, and soft-error behaviors in data center systems: Insights, challenges, and opportunities | |
CN105283866B (zh) | 包括使用相似频率的优化分析的应用跟踪方法和系统 | |
CN110020422B (zh) | 特征词的确定方法、装置和服务器 | |
Zhao et al. | Seenomaly: Vision-based linting of gui animation effects against design-don't guidelines | |
CN101751535B (zh) | 通过应用程序数据访问分类进行的数据损失保护 | |
US9171072B2 (en) | System and method for real-time dynamic measurement of best-estimate quality levels while reviewing classified or enriched data | |
CN108416198A (zh) | 人机识别模型的建立装置、方法及计算机可读存储介质 | |
CN110442712B (zh) | 风险的确定方法、装置、服务器和文本审理系统 | |
CN106028134A (zh) | 针对移动计算设备检测体育视频精彩部分 | |
CN109933984A (zh) | 一种最佳聚类结果筛选方法、装置和电子设备 | |
CN110674144A (zh) | 用户画像生成方法、装置、计算机设备和存储介质 | |
Wu et al. | Link prediction of time-evolving network based on node ranking | |
Lerman et al. | Using stochastic models to describe and predict social dynamics of web users | |
CN110263539A (zh) | 一种基于并行集成学习的安卓恶意应用检测方法及系统 | |
Camina et al. | Towards a masquerade detection system based on user’s tasks | |
Jalali et al. | Bringing deep causality to multimedia data streams | |
Wang et al. | Automatic identification and location of tunnel lining cracks | |
Shi et al. | Segmentation quality evaluation based on multi-scale convolutional neural networks | |
CN109816004A (zh) | 房源图片分类方法、装置、设备及存储介质 | |
CN116016365B (zh) | 一种加密流量下基于数据包长度信息的网页识别方法 | |
KR102598231B1 (ko) | 스포츠 이벤트 운영관리 플랫폼 서비스 제공 시스템 | |
EP3262509B1 (en) | Remote supervision of client device activity | |
Jia et al. | Prediction for student academic performance using smnaive bayes model | |
CN108510007A (zh) | 一种网页篡改检测方法、装置、电子设备及存储介质 |
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 |