CN107679626A - 机器学习方法、装置、系统、存储介质及设备 - Google Patents

机器学习方法、装置、系统、存储介质及设备 Download PDF

Info

Publication number
CN107679626A
CN107679626A CN201710936223.2A CN201710936223A CN107679626A CN 107679626 A CN107679626 A CN 107679626A CN 201710936223 A CN201710936223 A CN 201710936223A CN 107679626 A CN107679626 A CN 107679626A
Authority
CN
China
Prior art keywords
data
time interval
user access
request
machine learning
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.)
Pending
Application number
CN201710936223.2A
Other languages
English (en)
Inventor
刘少东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANGHAI UCLOUD INFORMATION TECHNOLOGY Co Ltd
Original Assignee
SHANGHAI UCLOUD INFORMATION TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHANGHAI UCLOUD INFORMATION TECHNOLOGY Co Ltd filed Critical SHANGHAI UCLOUD INFORMATION TECHNOLOGY Co Ltd
Priority to CN201710936223.2A priority Critical patent/CN107679626A/zh
Publication of CN107679626A publication Critical patent/CN107679626A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开一种机器学习方法、装置、系统、存储介质及设备,用于恶意网络bot的识别。该方法包括:获取步骤,获取目标网站中的用户访问日志数据,用户访问日志数据包括用户请求的网络地址和请求之间的时间间隔;学习步骤,将用户访问日志数据进行机器学习,得到请求的时间间隔模型。本发明的技术方案无需使用侵入式技术,能够有效地识别网络异常bot,从而显著地提高了异常bot检测的准确率。

Description

机器学习方法、装置、系统、存储介质及设备
技术领域
本发明涉及计算机网络的数据处理领域,具体涉及一种机器学习方法、装置、系统、存储介质及设备。
背景技术
目前网站流量中已经超过50%来自网络bot(Robot,机器人),而在这些网络bot流量中,大约只有三分之一为正常的流量,例如搜索引擎的爬虫等。更多的异常流量用于诸如恶意爬虫,cc攻击,利用业务漏洞进行刷单刷接口,扫描等异常请求。这也直接导致异常bot的检测是目前业界比较迫切需要解决的问题。
针对此问题,业界目前采取的方案多为主动探测类方法,使用侵入式的SDK(Software Development Kit,软件开发工具包)实现特定信息的收集然后进行分析判断处理。
Bot本身是计算机程序,侵入式SDK的方法用于收集探测bot的一些参数信息。例如目前业界使用较为普遍的检测bot的Cookie支持性,Java script支持程度,验证码以及设备指纹技术等。侵入式的SDK需要在和潜在客户端交互时,进行干预处理。例如服务端再返回的信息中加上Cookie,script等,然后判断客户端返回的信息是否合规。验证码技术即为在交互过程中强制加入验证逻辑。设备指纹技术用于收集客户端的参数信息,返回给服务端加以判断客户端的合规性。
验证码技术主要存在三个问题。第一,验证逻辑会增加通信交互,从而增加正常业务时延;第二,验证码会降低客户体验,即使随机性的加入验证码对正常客户来说,体验会迅速下降;第三,验证码同样可以被bot绕过,随着深度学习技术在图像声音领域的应用,验证码被机器识别的概率越来越高。
Cookie/Java script探测对客户来说是透明的,但是缺陷比较明显,bot仅需要支持它们即可。Bot可以通过浏览器插件方式工作,或者修改浏览器而实现。随着应用的移动化,很多服务本身的移动端客户端也不支持Cookie/Java script,因此实际应用场景也会缩小。
设备指纹技术,是目前比较流行的技术。采集客户端多项属性参数计算哈希得到。例如比较突出的画布(canvas)指纹技术,原理是调用设备的canvas接口生成一个复杂定义的图像,由于硬件配置,软件版本等因素的影响,生成的图像在像素级别存在一定区别,以此作为一种指纹。这种技术同样存在三个问题:第一,bot通过浏览器插件或者修改浏览器得到,同样可以返回指纹;第二,设备指纹是由bot返回给服务端,因此bot可以修改。目前的通信体系,并没有普及服务端对客户端的身份校验,因此无法引入非对称加密技术来保证。第三,指纹冲突,随着云计算,IT基础设施的统一化处理,使得机器的硬件配置,操作系统版本以及应用软件版本完全一致,从而导致指纹冲突概率增加,准确度降低。
还有一些基于行为分析模型的实现多在尝试阶段。行为分析技术,原理上对行为(请求的资源)进行建模,例如基于贝叶斯,隐马尔科夫以及神经网络,这些实现都存在较高的误报和漏报问题。例如bot对某些模式的资源随机地发起模拟人的请求,行为模型都难以进行有效识别。
另一方面,侵入式SDK解决方案,在部署时成本较高,需要修改接入SDK,对原有业务代码进行改动。影响原有业务的安全性和隐私性。
发明内容
为了解决上述问题和现有技术的缺陷,本发明实施例提供了一种实现机器学习的方法、装置、系统、存储介质及设备。由于大部分诸如抢单、刷单和刷评论等的网络恶意bot无法在时间维度上模拟人的操作行为。本发明基于非侵入式的方式,仅使用网站的访问日志进行数据分析,在时间维度上区分恶意bot的请求。
第一方面,本发明实施例提供了一种实现机器学习的方法,该方法包括:获取步骤,获取目标网站中的用户访问日志数据,用户访问日志数据包括用户请求的网络地址和请求之间的时间间隔;学习步骤,将用户访问日志数据进行机器学习,得到请求的时间间隔模型。
结合第一方面,本发明实施例的机器学习的方法还可以进一步包括:拟合步骤,拟合用户访问日志数据,得到时间间隔的特征,特征包括时间间隔的异常度;确定步骤,根据用户访问日志数据,确定时间间隔的条件信息熵;建模步骤,根据异常度和条件信息熵,得到用于建立时间间隔模型的模型函数。
进一步地,模型函数通过条件信息熵累积异常度的修正值获得。
进一步地,确定步骤根据以下公式确定条件信息熵:
CCEm=H(X1,...Xm)-H(X1,...Xm-1)+perc(Xm)*EN(X1)
其中,X={Xi}表示所有时间间隔的随机序列,xi表示第i个请求和第i-1个请求的时间间隔,H(X1,...Xm)表示信息熵,perc(Xm)表示在长度为m的序列在样本序列中仅出现过一次所占的比例,EN(X1)表示当m=1时的信息熵。
进一步地,拟合步骤根据正态分布模型拟合用户访问日志数据。
进一步地,建模步骤根据以下公式建立时间间隔模型:
LCCEm=CCEm*∏x(1-f(x;u,σ))
其中,x>u+2σ或x<u-2σ,CCEm表示条件信息熵,f(x;u,σ)表示正态分布的概率密度函数。
进一步地,本发明实施例的机器学习的方法还可以进一步包括:泛化步骤,在学习步骤之前,根据目标网站的结构,对用于学习的用户访问日志数据进行泛化。
第二方面,本发明实施例提供了一种实现机器学习的装置,该装置包括:获取模块,用于获取目标网站中的用户访问日志数据,用户访问日志数据包括用户请求的网络地址和请求之间的时间间隔;学习模块,用于将用户访问日志数据进行机器学习,得到请求的时间间隔模型。
结合第二方面,本发明实施例提供的一种实现机器学习的装置还可以进一步包括:拟合单元,用于拟合用户访问日志数据,得到时间间隔的特征,特征包括时间间隔的异常度;确定单元,用于根据用户访问日志数据,确定时间间隔的条件信息熵;建模单元,用于根据异常度和条件信息熵,得到用于建立时间间隔模型的模型函数。
进一步地,模型函数通过条件信息熵累积异常度的修正值获得。
进一步地,确定单元根据以下公式确定条件信息熵:
CCEm=H(X1,...Xm)-H(X1,...Xm-1)+perc(Xm)*EN(X1)
其中,X={Xi}表示所有时间间隔的随机序列,xi表示第i个请求和第i-1个请求的时间间隔,H(X1,...Xm)表示信息熵,perc(Xm)表示在长度为m的序列在样本序列中仅出现过一次所占的比例,EN(X1)表示当m=1时的信息熵。
进一步地,拟合单元根据正态分布模型拟合用户访问日志数据。
进一步地,建模单元根据以下公式建立时间间隔模型:
LCCEm=CCEmx(1-f(x;u,σ))
其中,x>u+2σ或x<u-2σ,CCEm表示条件信息熵,f(x;u,σ)表示正态分布的概率密度函数。
进一步地,本发明实施例的机器学习的装置还可以进一步包括:泛化模块,用于在学习步骤之前,根据目标网站的结构,对用于学习的用户访问日志数据进行泛化。
第三方面,本发明实施例提供了一种实现机器学习的系统,该系统包括第二方面或结合第二方面的机器学习装置。
第四方面,本发明实施例提供了一种非易失性存储介质,该非易失性存储介质具有存储在其中的指令,当该指令被执行时,使得处理器执行机器学习方法,具体的,该指令包括:获取指令,获取目标网站中的用户访问日志数据,用户访问日志数据包括用户请求的网络地址和请求之间的时间间隔;学习指令,将用户访问日志数据进行机器学习,得到请求的时间间隔模型。
第五方面,本发明实施例提供了一种设备,包括存储器,存储有计算机可执行指令,处理器,处理器被配置为执行指令以实施机器学习的过程,该过程包括:获取步骤,获取目标网站中的用户访问日志数据,用户访问日志数据包括用户请求的网络地址和请求之间的时间间隔;学习步骤,将用户访问日志数据进行机器学习,得到请求的时间间隔模型。
基于上述方案,本发明的实施例将信息熵技术与网站访问日志数据结合,进行机器学习训练,获得网站访问请求的时间间隔模型。本发明的模型能够通过持续地自我学习进行不断地改进,具有良好的适应能力和鲁棒性,还能够在时间维度上区分网络恶意bot。此外,本发明的技术方案无需使用侵入式技术,并且难以被bot获取和模拟,能够有效地识别网络异常bot,从而显著地提高了异常bot检测的准确率。
附图说明
图1是根据本发明一个实施例的机器学习方法的示意性流程图。
图2是根据本发明一个实施例的学习步骤的示意性的流程图。
图3A是根据本发明一个实施例的机器学习方法的条件信息熵的测试曲线图。
图3B是根据本发明一个实施例的机器学习方法的恶意bot请求的测试曲线图。
图3C是根据本发明一个实施例的机器学习方法的正常请求的测试曲线图。
图4是根据本发明另一实施例的机器学习方法的示意性流程图。
图5A是根据本发明一个实施例的机器学习装置的示意性框图。
图5B时根据本发明另一实施例的机器学习装置的示意性框图。
具体实施方式
为使本发明实施例的目的和技术方案更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的技术方案可以针对目标网站进行单独部署,也可以与现有技术的异常bot检测方案结合部署,尤其可以与行为模型相结合部署。在以上场景中,都可以通过本发明的技术方案,降低异常bot检测的错误率,提升异常bot检测的准确率。
下面将结合图1详细描述根据本发明实施例的机器学习方法。
图1是根据本发明实施例的机器学习方法100的流程图。图1所示的方法可以由机器学习装置执行,具体地,如图1所示,在步骤S110、获取目标网站中的用户访问日志数据,所述用户访问日志数据包括用户请求的网络地址和所述请求之间的时间间隔。
应理解,目标网站可以设置在物理机上。物理机包括但不限于:微型机、小型机、中型机、大型机、巨型机或其他能够部署网站的物理设备。目标网站的物理机可通过网络连接,用户通过网络访问该目标网站,该网络包括但不限于:局域网、城域网或广域网。
可以理解,目标网站中记录有用户访问日志数据。具体地,该日志数据中包括用户的身份标识、用户的浏览数据等,浏览数据中包括用户请求页面的网络地址、用户页面停留的时间和用户来源页面的网络地址。其中,网络地址通常用URL(Uniform ResourceLocator,统一资源定位符)表示。术语“访问”与“请求”在本文中可互换使用,术语“页面”和“资源”也可互换使用。
根据本发明的实施例,从目标网站中可以大量获取用户访问日志数据,而获取的方式可以采用现有的大数据技术,例如,Hadoop、Spark和Storm等,本实施例对此不作限定。
具体地,利用大数据技术,从用户访问日志数据中获得该目标网站中,所有用户访问的URL以及访问各个URL的时间间隔,即页面停留时间。这些获取的数据可以用作机器学习的样本集。
接下来,在步骤S120、将所述用户访问日志数据进行机器学习,得到所述请求的时间间隔模型。
在本发明的实施例中,对于URL资源的访问,可以理解为一个离散事件。可以理解,网络bot和人请求资源时,请求之间的时间间隔(即,页面停留时间)存在不同,具体地,人是依据主观需求对目标URL进行点击触发(请求),而bot的请求时间是通过程序设定,例如间隔多久请求,或者伪造随机时间请求等。
换句话说,可以将时间间隔作为离散的随机变量,那么,用户在目标网站的请求活动的所有时间间隔可以构成一个随机序列X={Xi},其中,xi表示第i个请求和第i-1个请求的时间间隔。该随机序列X的信息熵表示为:
应注意,通常人在目标网站中请求资源时,下一个请求和上一个请求存在一定的关联。因此,这也会导致时间间隔随机变量和上一个值也是存在关联性。本质上,随机序列至少可以是一阶马尔科夫(Markov)过程。如果当前的请求和前面的多个请求都有关联,那就是多阶马尔科夫过程。针对这种情况,需要获得随机序列X的条件信息熵,表示为:
H(Xm|X1,...Xm-1)=H(X1,...Xm)-H(x1,…xm-1) (2)
其中,当m趋向于无穷大时,公式(2)的值可以表示每个随机变量的均熵值,其可以用来度量随机变量的规则性和复杂性。
根据本发明的实施例,在目标网站的请求活动中,m不能满足无穷大,因此,使用以下表达式:
CCEm=H(X1,...Xm)-H(X1,...Xm-1)+perc(Xm)*EN(X1) (3)
其中,perc(Xm)表示在长度为m的序列在样本序列中仅出现过一次所占的比例,EN(X1)表示当m=1时的信息熵。
此外,如上文所述,恶意bot经常使用完全随机的访问方式欺骗现有的检测手段。对于这种情况来说,完全随机其实也是一种异常,因为在实际场景中,没有人能够真正完全“随机”的访问URL,尤其以完全随机的时间间隔进行访问。
换句话说,应该在学习过程中考虑随机序列X的异常度。
因此,最终的时间间隔模型通过累积随机序列X的异常度的修正值获得。利用累积的方式,可以使自我学习过程持续进行,保证模型根据获取的数据持续不断的改进,提高区分恶意bot的准确度,并且具有良好的适应能力和鲁棒性。
下面结合图2详细说明步骤S120。
如图2所示,S120包括拟合步骤S121、拟合用户访问日志数据,得到时间间隔的特征,该特征包括时间间隔的异常度。
应理解,根据拟合的思想,为了度量时间间隔中诸如正常度和异常度的特征,可以根据需要,使用各种可以度量正常度和异常度的模型对用户访问日志数据进行拟合。举例来说,当日志数据的样本量很大时,可选地使用正态分布模型进行拟合,因为正态分布模型在无干预且样本量大的时候具有较好的拟合效果;当日志数据样本量较小时,可选地使用2/8模型(Pareto's law,巴莱多定律)拟合,其中20%可以表示异常度。此外,还可以使用诸如K-均值等能够区分和度量异常度的模型进行拟合,本实施例对此不作限制。
具体地,以正态分布模型作为一个实例。假设日志数据的样本集中,请求URL1到URL2的时间间隔为S,那么,可以合理地假设在样本集中,所有URL1到URL2的时间间隔构成正态分布的期望。因此,在学习过程中,以正态分布模型对URL1到URL2的时间间隔进行拟合。由此拟合之后,正态分布的中心部分表示大部分人的请求时间间隔,并且随着学习的持续进行,拟合的正态分布的准确性会不断地提高。
根据时间间隔拟合的正态分布,可以将该正态分布的概率密度函数用作于度量时间间隔的异常度,即对于概率密度函数,
可选地,当实际的时间间隔在小于u-2σ的部分或在大于u+2σ的部分时,认为是异常的,也就是,将两个标准差的置信度为95.449974%,作为异常的判别阈值。
接下来,在步骤S122、根据用户访问日志数据,确定时间间隔的条件信息熵。
具体地,将样本集中,URL1到URL2的所有时间间隔表示为随机序列X,然后根据上述公式(3),计算条件信息熵CCEm
接下来,在步骤S123、根据异常度和条件信息熵,得到用于建立时间间隔模型的模型函数。
具体地,根据S121中得到的时间间隔异常度,和S122中的条件信息熵,通过将条件信息熵与异常度的修正值累积的方式,得到模型函数,即根据上述公式(3)和(4),模型函数的表达式为:
LCCEm=CCEm*∏x(1-f(x;u,σ)),其中x>u+2σ或x<u-2σ (5)
其中,LCCEm表示最终的熵值。通过公式(5),在时间间隔模型中,偏离正态分布基线的异常URL请求的最终熵值会低于正常URL请求的最终熵值,并且通过累积的学习效应,即使随机请求这类异常的最终熵值也会低于正常请求的最终熵值。
图3A到3C是根据本发明实施例的时间间隔模型的测试数据图。
如图所示,图3A-3C的横坐标为阶数m到值,纵坐标为最终熵值。图3A为随机请求根据公式(3)的条件信息熵的数据图。图3A中分别示出了随机范围是5、10、20、30、40、50和100所对应的条件信息熵的曲线。
图3B为根据公式(5)的最终熵值的数据图。其中,图3B最底端的3条曲线从上到下分别对应图3A中随机范围为40、50和100的随机请求的最终熵的曲线。其它曲线为抓取的其他恶意bot的最终熵值。与图3A相比,图3B的bot的熵值更低,区分效果十分明显。
图3C为作为参考的正常请求的最终熵值的数据图。通过比较图3B和图3C,可以看出,正常请求的最终熵值相对于异常请求的最终熵值来说较大,因此根据最终熵值,时间间隔模型能够明显的区分出正常请求和异常bot请求。
可选地,在区分异常bot请求时,也可以根据需要的准确率灵活地设定最终熵的阈值,例如,对比图3B和图3C后,可以设定异常bot请求的最终熵的阈值为1,即最终熵值小于1的请求曲线认为是异常bot请求。
可选地,为了提高区分异常bot的准确率,还可以在最终熵值的曲线上结合对曲线的弯曲度的度量。
对比图3B和图3C可以看出,异常bot请求的曲线具有一定的弯曲度,而正常请求的曲线相对较为平直,这实质上是马尔科夫过程的反映。因此,可以使用以下表达式评估用户请求是否为异常bot请求,
ELCCEm=(1-C)*LCCEm+C*F(LCCEm) (6)
其中,C为系数,F(LCCEm)是衡量LCCEm迭代计算的值组成的线条的弯曲度的度量值,弯曲度越大该值越小,弯曲度越小,该值越大。F(LCCEm)可以采用诸如求偏导后平均、求梯度等多种数学方法计算曲度,本发明的实施例对此不作限制。
在本发明的实施例中,通过采用上述机器学习方法,能够获得时间间隔模型,该模型可以持续学习,并且在时间维度上对用户请求的时间间隔特征进行表征。因此,通过本发明的实施例,可以在时间维度上十分显著地区分正常请求和异常bot请求,进而有效地识别异常bot请求,提高异常bot检测的准确率。
上文结合图1至图3详细描述了根据本发明第一实施例的机器学习方法100,下面将结合图4描述根据本发明另一实施例的机器学习方法400。
图4是根据本发明实施例的机器学习方法400的示意性的流程图。
如图4所示,方法400中,步骤S410和S430与分别与方法100的步骤S110和S120相同,为了简略,在此省略具体描述。
其中区别在于,在S410之后,还包括步骤S420、根据目标网站的结构,对用于学习的用户访问日志数据进行泛化。
具体来说,针对各个目标网站资源配置结构的不同,可以在学习步骤S430之前,先对用户访问日志数据进行一定程度的泛化,这样可以使得时间间隔模型的适用性更强。
可选地,可以使用诸如K-均值等的聚类算法对日志数据聚类。例如,可以根据目标网站资源的类型设定聚类数量。
可选地,在对目标网站的结构较为熟悉的情况下,可以根据资源的编码规则设定聚类条件。
可选地,还可以根据URL的内容聚类。具体地,提取目标网站的URL,根据URL中资源的分类、标题等条目的随机性,设定聚类条件,例如,当一个条目的随机性超过预先设定的阈值时,该条目可以抽象为一类。
当资源泛化完成后,在学习步骤S430中,机器学习装置可以随机地选择一定数量的泛化样本进行拟合,作为一个实例,对于数据量较大的样本集,拟合五分之一的泛化样本就可以较为准确地区分异常bot请求;对于要求极其严格的应用场景,可以拟合半数以上或全部泛化样本,本发明对此不作限制。
可以理解,假若恶意bot想要模拟或者获得目标网站的时间间隔模型,那么bot必须要得到这些用于拟合的泛化样本,由于泛化样本的数量和选择方式都是随机的,bot基本上是无法获得样本的。
因此,本发明实施例的机器学习方法,强化了时间间隔模型的通用性,并且使异常bot无法获得和模拟本发明的时间间隔模型。因此,可以在时间维度上十分显著地区分正常请求和异常bot请求,进而有效地识别异常bot请求,提高异常bot检测的准确率。
上文中结合图1到图4,详细描述了根据本发明实施例的机器学习方法,下面将结合图5,描述根据本发明实施例的机器学习装置。
图5A是根据本发明实施例的机器学习装置500的示意性框图。如图5所示,该机器学习装置500包括:
获取模块510,用于获取目标网站中的用户访问日志数据,用户访问日志数据包括用户请求的网络地址和请求之间的时间间隔;
学习模块520,用于将用户访问日志数据进行机器学习,得到请求的时间间隔模型。
其中,学习模块520中进一步包括以下单元:
拟合单元521,用于拟合用户访问日志数据,得到时间间隔的特征,特征包括时间间隔的异常度;
确定单元522,用于根据用户访问日志数据,确定时间间隔的条件信息熵;
建模单元523,用于根据异常度和条件信息熵,得到用于建立时间间隔模型的模型函数。
可以理解地,本发明实施例的机器学习装置500中的各个模块的上述功能和/或其他操作为了实现图1和图2的方法的相应流程,为了简洁,在此适当省略详细描述。
因此,本发明实施例的机器学习装置500,能够获得时间间隔模型,该模型可以持续学习,并且在时间维度上对用户请求的时间间隔特征进行表征。因此,通过本发明的实施例,可以在时间维度上十分显著地区分正常请求和异常bot请求,进而有效地识别异常bot请求,提高异常bot检测的准确率。
图5B示出了根据本发明实施例的机器学习装置500’的示意性框图。如图5B所示,该机器学习装置500’与装置500相比,进一步包括:
泛化模块520’,用于根据目标网站的结构,对用于学习的用户访问日志数据进行泛化。
应理解,获取模块510’和学习模块530’分别与获取模块510和学习模块520相同。
可以理解地,本发明实施例的机器学习装置500’中的各个模块的上述功能和/或其他操作为了实现图4中方法的相应流程,为了简洁,在此省略详细描述。
因此,本发明实施例的机器学习装置500’,进一步强化了时间间隔模型的通用性,并且使异常bot无法获得和模拟本发明的时间间隔模型。因此,可以在时间维度上十分显著地区分正常请求和异常bot请求,进而有效地识别异常bot请求,提高异常bot检测的准确率。
进一步地,根据本发明的另一实施例,还提供一机器学习系统,该系统包括图5中描述的任一种机器学习装置。
进一步地,根据本发明的实施例,还提供一种非易失性存储介质,该非易失性存储介质具有存储在其中的指令,当该指令被执行时,使得处理器执行机器学习方法,具体的,该指令包括:获取指令,获取目标网站中的用户访问日志数据,用户访问日志数据包括用户请求的网络地址和请求之间的时间间隔;学习指令,将用户访问日志数据进行机器学习,得到请求的时间间隔模型。
进一步的,根据本发明的另一实施例,还提供一种设备,包括存储器,存储有计算机可执行指令,处理器,处理器被配置为执行指令以实施机器学习的过程,该过程包括:获取步骤,获取目标网站中的用户访问日志数据,用户访问日志数据包括用户请求的网络地址和请求之间的时间间隔;学习步骤,将用户访问日志数据进行机器学习,得到请求的时间间隔模型。
进一步的,上述设备中存储器和处理器通过总线互相连接。
可理解的,处理器可以为中央处理器(CPU),图像处理器(英文全称:graphicsprocessing unit,缩写:GPU),数字信号处理器(英文全称:digital signal processor,缩写:DSP)或其他形式的集成电路。
总线可以使用有线的连接方式或采用无线的通讯方式,本申请并不对此进行限定。总线还可以连接有输入/输出接口,辅助存储器(英文:secondary storage)和通信接口。
输入/输出接口连接有输入/输出设备,用于接收输入的信息,输出操作结果。输入/输出设备可以为鼠标、键盘、显示器、或者光驱等。
辅助存储器的存储介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如光盘)、或者半导体介质(例如固态硬盘(英文全称:solid state disk,缩写:SSD))等。
通信接口使用例如但不限于收发器一类的收发装置,来实现与其他设备或通信网络之间的通信,通信接口可以通过有线或者无线的形式与通信网络互连。该通信网络可以是因特网,内联网(英文:intranet),局域网(英文全称:local area network,缩写:LAN),广域网络(英文全称:wide area network,缩写:WAN),存储区域网络(英文全称:storagearea network,缩写:SAN)等,或者以上网络的任意组合。
本发明实施例的机器学习方法可以由处理器执行存储器中的软件代码来完成/支持。存储器可以包括一些软件,例如,操作系统(例如Darwin、RTXC、LINUX、UNIX、OSX、WINDOWS或嵌入式操作系统(例如Vxworks)),应用程序和数据处理模块。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
尽管本文已公开了各种方面和实施例,但其它方面和实施例对于本领域技术人员而言将是明显的。本文公开的各种方面和实施例是为了说明的目的,而不意在进行限制,真实的范围应当由所附权利要求以及这样的权利要求所被授权的等效物的全部范围指示。还要理解,本文中使用的术语仅是为了描述特定实施例的目的,而不意在进行限制。
因为可以对所描述的示例作出细节上的很多修改、变化和改变,但是意图在于前面的描述和附图中所示的所有事项被解释为说明性的,而不是限制的意思。

Claims (17)

1.一种机器学习方法,其特征在于,包括:
获取步骤,获取目标网站中的用户访问日志数据,所述用户访问日志数据包括用户请求的网络地址和所述请求之间的时间间隔;
学习步骤,将所述用户访问日志数据进行机器学习,得到所述请求的时间间隔模型。
2.根据权利要求1所述的方法,其特征在于,所述学习步骤进一步包括:
拟合步骤,拟合所述用户访问日志数据,得到所述时间间隔的特征,所述特征包括所述时间间隔的异常度;
确定步骤,根据所述用户访问日志数据,确定所述时间间隔的条件信息熵;
建模步骤,根据所述异常度和所述条件信息熵,得到用于建立所述时间间隔模型的模型函数。
3.根据权利要求2所述的方法,其特征在于,所述模型函数通过所述条件信息熵累积所述异常度的修正值获得。
4.根据权利要求3所述的方法,其特征在于,所述确定步骤根据以下公式确定所述条件信息熵:
CCEm=H(X1,…Xm)-H(X1,…Xm-1)+perc(Xm)*EN(X1)
其中,X={Xi}表示所有所述时间间隔的随机序列,xi表示第i个请求和第i-1个请求的时间间隔,H(X1,…Xm)表示信息熵,perc(Xm)表示在长度为m的序列在样本序列中仅出现过一次所占的比例,EN(X1)表示当m=1时的信息熵。
5.根据权利要求4所述的方法,其特征在于,所述拟合步骤根据正态分布模型拟合所述用户访问日志数据。
6.根据权利要求5所述的方法,其特征在于,所述建模步骤根据以下公式建立所述时间间隔模型:
LCCEm=CCEm*∏x(1-f(x;u,σ))
其中,x>u+2σ或x<u-2σ,CCEm表示所述条件信息熵,f(x;u,σ)为正态分布的概率密度函数。
7.根据权利要求1-6任一项所述的方法,其特征在于,包括:
泛化步骤,在所述学习步骤之前,根据所述目标网站的结构,对用于学习的所述用户访问日志数据进行泛化。
8.一种机器学习装置,其特征在于,包括:
获取模块,用于获取目标网站中的用户访问日志数据,所述用户访问日志数据包括用户请求的网络地址和所述请求之间的时间间隔;
学习模块,用于将所述用户访问日志数据进行机器学习,得到所述请求的时间间隔模型。
9.根据权利要求8所述的装置,其特征在于,所述学习模块进一步包括:
拟合单元,用于拟合所述用户访问日志数据,得到所述时间间隔的特征,所述特征包括所述时间间隔的异常度;
确定单元,用于根据所述用户访问日志数据,确定所述时间间隔的条件信息熵;
建模单元,用于根据所述异常度和所述条件信息熵,得到用于建立所述时间间隔模型的模型函数。
10.根据权利要求9所述的装置,其特征在于,所述模型函数通过所述条件信息熵累积所述异常度的修正值获得。
11.根据权利要求10所述的装置,其特征在于,所述确定单元根据以下公式确定所述条件信息熵:
CCEm=H(X1,…Xm)-H(X1,…Xm-1)+perc(Xm)*EN(X1)
其中,X={Xi}表示所有所述时间间隔的随机序列,xi表示第i个请求和第i-1个请求的时间间隔,H(X1,…Xm)表示信息熵,perc(Xm)表示在长度为m的序列在样本序列中仅出现过一次所占的比例,EN(X1)表示当m=1时的信息熵。
12.根据权利要求11所述的装置,其特征在于,所述拟合单元根据正态分布模型拟合所述用户访问日志数据。
13.根据权利要求12所述的装置,其特征在于,所述建模单元根据以下公式建立所述时间间隔模型:
LCCEm=CCEm*∏x(1-f(x;u,σ))
其中,x>u+2σ或x<u-2σ,CCEm表示所述条件信息熵,f(x;u,σ)表示正态分布的概率密度函数。
14.根据权利要求8-13任一项所述的装置,其特征在于,包括:
泛化模块,用于在所述学习模块之前,根据所述目标网站的结构,对用于学习的所述用户访问日志数据进行泛化。
15.一种实现机器学习的系统,包括权利要求8-14任一项所述的机器学习装置。
16.一种非易失性存储介质,该非易失性存储介质具有存储在其中的指令,当所述指令被执行时,使得处理器执行机器学习方法,所述指令包括:
获取指令,获取目标网站中的用户访问日志数据,所述用户访问日志数据包括用户请求的网络地址和所述请求之间的时间间隔;
学习指令,将所述用户访问日志数据进行机器学习,得到所述请求的时间间隔模型。
17.一种设备,包括存储器,存储有计算机可执行指令,处理器,所述处理器被配置为执行所述指令以实施机器学习的过程,所述过程包括:
获取步骤,获取目标网站中的用户访问日志数据,所述用户访问日志数据包括用户请求的网络地址和所述请求之间的时间间隔;
学习步骤,将所述用户访问日志数据进行机器学习,得到所述请求的时间间隔模型。
CN201710936223.2A 2017-10-10 2017-10-10 机器学习方法、装置、系统、存储介质及设备 Pending CN107679626A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710936223.2A CN107679626A (zh) 2017-10-10 2017-10-10 机器学习方法、装置、系统、存储介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710936223.2A CN107679626A (zh) 2017-10-10 2017-10-10 机器学习方法、装置、系统、存储介质及设备

Publications (1)

Publication Number Publication Date
CN107679626A true CN107679626A (zh) 2018-02-09

Family

ID=61139515

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710936223.2A Pending CN107679626A (zh) 2017-10-10 2017-10-10 机器学习方法、装置、系统、存储介质及设备

Country Status (1)

Country Link
CN (1) CN107679626A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108763274A (zh) * 2018-04-09 2018-11-06 北京三快在线科技有限公司 访问请求的识别方法、装置、电子设备及存储介质
CN109344328A (zh) * 2018-09-21 2019-02-15 百度在线网络技术(北京)有限公司 获取推荐系统最优参数组合的方法及装置
CN110266673A (zh) * 2019-06-11 2019-09-20 合肥宜拾惠网络科技有限公司 基于大数据的安全策略优化处理方法和装置
CN110912874A (zh) * 2019-11-07 2020-03-24 苏宁云计算有限公司 有效识别机器访问行为的方法及系统
CN111602409A (zh) * 2018-02-27 2020-08-28 欧姆龙株式会社 元数据生成装置、元数据生成方法和程序
CN111818011A (zh) * 2020-05-29 2020-10-23 中国平安财产保险股份有限公司 异常访问行为识别方法、装置、计算机设备和存储介质
CN112654047A (zh) * 2019-09-25 2021-04-13 中兴通讯股份有限公司 识别异常终端的方法、装置、基站及存储介质
CN113709159A (zh) * 2021-08-27 2021-11-26 北京天融信网络安全技术有限公司 访问数据检测方法、装置、设备及存储介质
CN114389875A (zh) * 2022-01-12 2022-04-22 国网山东省电力公司泰安供电公司 一种人机行为检测方法、系统、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744957A (zh) * 2014-01-06 2014-04-23 同济大学 基于Web用户时间属性的序列模式挖掘方法
CN104618343A (zh) * 2015-01-06 2015-05-13 中国科学院信息工程研究所 一种基于实时日志的网站威胁检测的方法及系统
CN105930727A (zh) * 2016-04-25 2016-09-07 无锡中科富农物联科技有限公司 基于Web的爬虫识别算法
CN106878314A (zh) * 2017-02-28 2017-06-20 南开大学 基于可信度的网络恶意行为检测方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744957A (zh) * 2014-01-06 2014-04-23 同济大学 基于Web用户时间属性的序列模式挖掘方法
CN104618343A (zh) * 2015-01-06 2015-05-13 中国科学院信息工程研究所 一种基于实时日志的网站威胁检测的方法及系统
CN105930727A (zh) * 2016-04-25 2016-09-07 无锡中科富农物联科技有限公司 基于Web的爬虫识别算法
CN106878314A (zh) * 2017-02-28 2017-06-20 南开大学 基于可信度的网络恶意行为检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
COLIN等: "企业如何防御恶意bot流量", 《HTTPS://WWW.SECPULSE.COM/ARCHIVES/59255.HTML》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111602409A (zh) * 2018-02-27 2020-08-28 欧姆龙株式会社 元数据生成装置、元数据生成方法和程序
CN111602409B (zh) * 2018-02-27 2022-05-03 欧姆龙株式会社 元数据生成装置、元数据生成方法和存储介质
CN108763274A (zh) * 2018-04-09 2018-11-06 北京三快在线科技有限公司 访问请求的识别方法、装置、电子设备及存储介质
CN108763274B (zh) * 2018-04-09 2021-06-11 北京三快在线科技有限公司 访问请求的识别方法、装置、电子设备及存储介质
CN109344328A (zh) * 2018-09-21 2019-02-15 百度在线网络技术(北京)有限公司 获取推荐系统最优参数组合的方法及装置
CN110266673B (zh) * 2019-06-11 2021-10-08 东方财富信息股份有限公司 基于大数据的安全策略优化处理方法和装置
CN110266673A (zh) * 2019-06-11 2019-09-20 合肥宜拾惠网络科技有限公司 基于大数据的安全策略优化处理方法和装置
CN112654047A (zh) * 2019-09-25 2021-04-13 中兴通讯股份有限公司 识别异常终端的方法、装置、基站及存储介质
CN110912874A (zh) * 2019-11-07 2020-03-24 苏宁云计算有限公司 有效识别机器访问行为的方法及系统
CN110912874B (zh) * 2019-11-07 2022-04-05 苏宁云计算有限公司 有效识别机器访问行为的方法及系统
CN111818011A (zh) * 2020-05-29 2020-10-23 中国平安财产保险股份有限公司 异常访问行为识别方法、装置、计算机设备和存储介质
CN113709159A (zh) * 2021-08-27 2021-11-26 北京天融信网络安全技术有限公司 访问数据检测方法、装置、设备及存储介质
CN114389875A (zh) * 2022-01-12 2022-04-22 国网山东省电力公司泰安供电公司 一种人机行为检测方法、系统、设备及介质
CN114389875B (zh) * 2022-01-12 2024-01-16 国网山东省电力公司泰安供电公司 一种人机行为检测方法、系统、设备及介质

Similar Documents

Publication Publication Date Title
CN107679626A (zh) 机器学习方法、装置、系统、存储介质及设备
JP6422617B2 (ja) ネットワークアクセス動作識別プログラム、サーバ及び記憶媒体
CN109922032B (zh) 用于确定登录账户的风险的方法、装置、设备及存储介质
EP2691848B1 (en) Determining machine behavior
Yang et al. Mining fraudsters and fraudulent strategies in large-scale mobile social networks
CN107423613B (zh) 依据相似度确定设备指纹的方法、装置及服务器
CN108491714A (zh) 验证码的人机识别方法
CN108763274B (zh) 访问请求的识别方法、装置、电子设备及存储介质
WO2019161027A1 (en) System and method for bot detection
CN110855648B (zh) 一种网络攻击的预警控制方法及装置
CN111949803A (zh) 一种基于知识图谱的网络异常用户检测方法、装置和设备
CN112434742A (zh) 一种识别以太坊上庞氏骗局的方法、系统及设备
CN110222790B (zh) 用户身份识别方法、装置及服务器
CN111090807A (zh) 一种基于知识图谱的用户识别方法及装置
CN109040027A (zh) 基于灰色模型的网络脆弱性节点的主动预测方法
CN106789837A (zh) 网络异常行为检测方法及检测装置
Rahman et al. New biostatistics features for detecting web bot activity on web applications
US20140012976A1 (en) User identification using multifaceted footprints
CN116362823A (zh) 用于行为稀疏场景的推荐模型训练方法、推荐方法及装置
CN113689270A (zh) 黑产设备的确定方法、电子设备、存储介质及程序产品
CN112347457A (zh) 异常账户检测方法、装置、计算机设备和存储介质
CN110472659A (zh) 数据处理方法、装置、计算机可读存储介质和计算机设备
CN113886821A (zh) 基于孪生网络的恶意进程识别方法、装置、电子设备及存储介质
WO2021262344A1 (en) Method and apparatus to detect scripted network traffic
CN117376228A (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
CB02 Change of applicant information

Address after: 200090 Room 201, 10 B, 619 Longchang Road, Yangpu District, Shanghai.

Applicant after: Excellent Polytron Technologies Inc

Address before: 200090 Shanghai city Yangpu District road 619 Longchang city concept 10 building B block.

Applicant before: SHANGHAI UCLOUD INFORMATION TECHNOLOGY CO., LTD.

CB02 Change of applicant information
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180209

WD01 Invention patent application deemed withdrawn after publication