CN110912874B - 有效识别机器访问行为的方法及系统 - Google Patents

有效识别机器访问行为的方法及系统 Download PDF

Info

Publication number
CN110912874B
CN110912874B CN201911079539.XA CN201911079539A CN110912874B CN 110912874 B CN110912874 B CN 110912874B CN 201911079539 A CN201911079539 A CN 201911079539A CN 110912874 B CN110912874 B CN 110912874B
Authority
CN
China
Prior art keywords
bot
user
access
real
time
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
Application number
CN201911079539.XA
Other languages
English (en)
Other versions
CN110912874A (zh
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.)
SuningCom Co ltd
Original Assignee
Suning Cloud Computing 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 Suning Cloud Computing Co Ltd filed Critical Suning Cloud Computing Co Ltd
Priority to CN201911079539.XA priority Critical patent/CN110912874B/zh
Publication of CN110912874A publication Critical patent/CN110912874A/zh
Application granted granted Critical
Publication of CN110912874B publication Critical patent/CN110912874B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种有效识别机器访问行为的方法及系统,方法包括:输入Waf访问日志;实时检测引擎消费Waf访问日志,输出Bot用户;管控中心对Bot用户进行管控,且将管控结果反馈至自适应学习模块;自适应学习模块自主更新,且将更新结果加载至实时检测引擎形成闭环。装置包括:Waf访问日志采集模块、实时检测引擎模块、管控中心模块和自适应学习模块。计算机设备和存储介质通过执行计算机程序能够实现上述方法过程。本发明结合Gini系数、稳定系数、白名单、模型自适应学习等,实现Bot用户实体访问行为检测,具有准确度高,可解释性、泛化能力强等特点,可以无缝对接WAF管理后台和防护体系,从而实现用户个性化配置和自动化编排响应。

Description

有效识别机器访问行为的方法及系统
技术领域
本发明涉及网络安全领域,特别涉及一种有效识别机器访问行为的方法及系统。
背景技术
随着互联网的发展,国家级力量的介入,网络安全战事持续升温。而Bot流量作为子弹充斥在这片战场的每个角落。2019年恶意机器流量报告(2019Bad Bot Report)指出,2018年间,37.9%的互联网流量来自于“机器人”(Bots),恶意Bot流量占据所有流量的20.4%。实际上,自2015年以来,恶意Bot访问占比大体上逐年升高。2019年的报告指出,在这些恶意Bot中,黄牛程序十分抢眼,并且其中有24.1%属于高级Bot程序,不易防控,这些恶意机器人被称为Advanced Persistent Bots(APBs,高级持久型机器人)。它们往往以僵尸网络的形式出现,通过匿名代理和随机化交互时间与其他身份隐藏技术来模拟真人访问行为。然而在我国当前消费升级的大环境下,尤其是在大型电商领域,实际的恶意Bot流量占比远高于20.4%这个数值,面临的恶意Bot流量威胁也更为严峻。作为守方,在攻防严重不对等的网络安全领域,如何以较低的成本识别出更多的恶意Bot流量成了一个永不过时的话题。
目前,识别恶意Bot流量有以下几种方案:1)人工分析:运营人员通过人工查看分析请求日志来识别恶意流量,无疑这种方式效率是极端低下的;2)限制源IP的请求速度:该方案实施简单,能够识别高频访问的简单Bot流量,但要求运营人员对自身站点业务理解深刻,阈值设置要求较高;此外,针对热门商品秒杀、抢购等场景,该方式容易造成误拦截;另外有些IP可能属于网关IP,请求频次累加在一起本身就很高;因此,在没有合理阈值的情况下,限制源IP请求速度会导致较高的误报率,后果更加严重;3)采用cookie、JS、设备指纹技术支持:Bot支持cookie和JS的成本不高,因此很容易被Bot团队绕过;设备指纹技术会计算关于浏览器的多个属性参数的hash值,然而Bot作为一个网络程序,本身就可以实现属性信息的篡改,且服务器端无法校验设备指纹信息的真实性,这种机制也很容易被Bot团队绕过;另外设备指纹冲突概率较高,代理机器很多是云主机或者其他方式统一装机的机器,设备指纹技术采集来的信息是一样的,因此理论上也会使得误报率增高;当然设备指纹做到更加精细化也是很有帮助的,但成本较高;4)威胁情报技术:威胁情报的核心在于共享,然而在国内的大环境下各大安全厂商更倾向于把自己的劳动成果拿来兑现,用户也更愿意拿来使用而不善于分享;因此威胁情报领域在国内一直发展缓慢,另外随着近几年云上产业的发展,Bot团伙更换IP的成本也越来越低,这也导致以IP为核心的威胁情报价值大大降低;5)基于访问链路转换概率的业务行为分析:大多数正常用户从一个页面A跳转到页面B再到C,然后是D,而异常用户可能跳过前面的步骤直接到C或D;基于这个前提,使用大量的正常访问链路数据去训练马尔可夫模型得到一个概率转换矩阵去检测异常值,这种方式针对黄牛场景比较有效,但缺乏通用型,不能够覆盖大多数Bot流量;另一方面,并不是所有的业务请求中都包含referer信息,这给数据采集增加了难度,在这种情况下只能通过JS核心链路埋点的方式去采集用户访问链路信息,然而该方式要求采集到的数样本数据足够充分才能有效的覆盖各种业务场景,理论上越是复杂的业务场景越不容易拟合。综上可知,目前现有的方法存在成本高、准确性地、普适性低等缺陷。
发明内容
本发明的目的在于提供一种具有高普适性、高可解释性、能够自动学习的Bot用户识别方案,降低Bot检测成本并提高Bot伪装成本。
实现本发明目的的技术解决方案为:一种有效识别机器访问行为的方法,该方法包括:
输入Waf访问日志;
实时检测引擎消费所述Waf访问日志,输出机器访问行为Bot用户至管控中心;
通过管控中心对检测到的Bot用户进行管控,且将管控结果反馈至自适应学习模块;
自适应学习模块根据管控结果进行更新,且将更新结果加载至实时检测引擎形成闭环,实现机器访问行为的自适应实时检测。
进一步地,所述实时检测引擎消费Waf访问日志,输出机器访问行为Bot用户至管控中心,具体包括:
自定义设置全局白名单;
构建Bot用户检测机器学习模型,同时构建自适应学习模块以对所述Bot用户检测机器学习模型进行实时更新,并进一步构建模型函数;
实时对Waf访问日志进行特征提取,所述特征包括用户的访问总量、访问时长、访问频率稳定系数以及访问资源的Gini系数;
将提取到的特征输入至所述模型函数,输出机器访问行为Bot用户;
根据全局白名单对所述Bot用户进行过滤,并对过滤后的Bot用户进行风险等级计算后输出至管控中心。
进一步地,所述构建Bot用户检测机器学习模型,同时构建自适应学习模块以对所述Bot用户检测机器学习模型进行实时更新,并进一步构建模型函数,具体包括:
将已标注的Bot用户和正常用户特征数据存入Hive表,形成训练样本知识库;
创建Spark任务周期性消费Hive表中的训练样本,生成Bot用户检测机器学习模型;
将所述Bot用户检测机器学习模型的参数文件以文本的形式保存至集群,构成自适应学习模块;
在分布式计算平台创建Flink实时计算任务,周期性加载集群上保存的模型参数文本,构建模型函数。
进一步地,所述通过管控中心对检测到的Bot用户进行管控,具体包括:
根据自定义设置的域名白名单对实时检测引擎检测输出的Bot用户进行过滤,并对未命中域名白名单的Bot用户进行标记;
按照自定义设置的基于风险等级的Bot用户自动限制配置,对上述标记后的Bot用户采取不同的限制手段;且针对未进行限制的标记过的Bot用户,及时发送告警通知;
展示上述标记过的Bot用户及对应的限制手段;
根据上述展示结果将属于正常业务调用的标记过的Bot用户添加至域名白名单;
对误判的标记过的Bot用户进行标注并解除对该Bot用户的限制,与此同时,管控中心自动将误判结果反馈至所述训练样本知识库。
一种有效识别机器访问行为的系统,该系统包括:
Waf访问日志采集模块,用于采集Waf访问日志并将其输入至实时检测引擎模块;
实时检测引擎模块,用于消费Waf访问日志,输出机器访问行为Bot用户至管控中心模块;
管控中心模块,用于显示Bot用户检测结果,并对检测到的Bot用户进行管控,且将管控结果反馈至自适应学习模块;
自适应学习模块,用于根据管控结果实现自适应学习模块自身的更新,并将更新结果加载至实时检测引擎形成闭环,实现机器访问行为的自适应实时检测。
进一步地,所述实时检测引擎模块包括:
全局白名单单元,该单元中所包含的Bot用户由用户自定义设置;
识别模型构建单元,用于构建Bot用户检测机器学习模型,同时构建自适应学习模块以对所述Bot用户检测机器学习模型进行实时更新,并进一步构建模型函数;
特征提取单元,用于提取Waf访问日志中的特征,所述特征包括用户的访问总量、访问时长、访问频率稳定系数以及访问资源的Gini系数;
Bot用户检测单元,用于将所述特征提取单元提取到的特征输入至所述模型函数,以检测出机器访问行为Bot用户;
过滤筛选及风险评估单元,用于根据所述全局白名单单元的内容对所述Bot用户检测单元的检测结果进行过滤筛选,并对过滤筛选后的Bot用户进行风险等级计算后输出至所述管控中心模块。
进一步地,所述识别模型构建单元包括:
Bot用户检测机器学习模型构建子单元,用于将已标注的Bot用户和正常用户特征数据存入Hive表,形成训练样本知识库;之后创建Spark任务周期性消费Hive表中的训练样本,生成Bot用户检测机器学习模型;
自适应学习模块构建子单元,用于将所述Bot用户检测机器学习模型的参数文件以文本的形式保存至集群,构成自适应学习模块;
模型函数构建子单元,用于在分布式计算平台创建Flink实时计算任务,周期性加载集群上保存的模型参数文本,构建模型函数。
进一步地,所述管控中心模块包括:
域名白名单过滤子单元,用于根据自定义设置的域名白名单对实时检测引擎检测输出的Bot用户进行过滤,并对未命中域名白名单的Bot用户进行标记;
自动限制子单元,用于按照自定义设置的基于风险等级的Bot用户自动限制配置,对上述标记后的Bot用户采取不同的限制手段;
风险用户展示子单元,用于展示上述标记过的Bot用户及对应的限制手段;
白名单添加子单元,用于根据风险用户展示结果将属于正常业务调用的标记过的Bot用户添加至域名白名单;
误判标注子单元,用于对误判的标记过的Bot用户进行标注并解除对该Bot用户的限制;
智能告警子单元,用于及时发送未对标记过的Bot用户进行限制的告警通知;
自动反馈子单元,用于在对误判的标记过的Bot用户进行标注和解除限制的同时,自动将误判结果反馈至所述训练样本知识库。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
输入Waf访问日志;
实时检测引擎消费所述Waf访问日志,输出机器访问行为Bot用户至管控中心;
通过管控中心对检测到的Bot用户进行管控,且将管控结果反馈至自适应学习模块;
自适应学习模块根据管控结果进行更新,且将更新结果加载至实时检测引擎形成闭环,实现机器访问行为的自适应实时检测。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
输入Waf访问日志;
实时检测引擎消费所述Waf访问日志,输出机器访问行为Bot用户至管控中心;
通过管控中心对检测到的Bot用户进行管控,且将管控结果反馈至自适应学习模块;
自适应学习模块根据管控结果进行更新,且将更新结果加载至实时检测引擎形成闭环,实现机器访问行为的自适应实时检测。
本发明与现有技术相比,其显著优点为:1)创新的引入Gini系数特征分别作为Bot用户访问资源和访问频率的混乱性度量,对用户的访问混乱行为进行了客观的数字化表达;2)创新的提出稳定系数特征,其综合了变异系数和Gini系数的特性,可以形象地对用户实体访问频率的离散程度和混乱度进行综合度量,从而有效地区分正常用户和Bot用户,提高了识别率、降低了误判率,且该稳定系数具有更高的适用性;3)创新的引入Bot检测模型的自适应学习,实现自动学习的Bot用户识别,实时性高,降低了Bot检测成本并提高Bot伪装成本;4)整体方法识别准确度高,可解释性、泛化能力强,可以无缝对接WAF管理后台和防护体系,从而实现用户个性化配置和自动化编排响应;5)针对具有威胁的恶意Bot用户实体,加入动态风险库,支持威胁情报;6)支持恶意Bot的多种限制措施和识别模型的自适应学习,有效缓解了传统检测方法过于依赖安全专家和检测成本高、覆盖率低的问题。
下面结合附图对本发明作进一步详细描述。
附图说明
图1为本发明一个实施例中有效识别机器访问行为方法的流程图。
图2为本发明一个实施例中有效识别机器访问行为的流程图。
图3为本发明一个实施例中正常用户访问频率时序图。
图4为本发明一个实施例中Bot用户1访问频率时序图。
图5为本发明一个实施例中Bot用户2访问频率时序图。
图6为本发明一个实施例中正常用户和Bot用户的稳定系数区别示意图。
图7为本发明一个实施例中有效识别机器访问行为系统示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,结合图1和图2,提供了一种有效识别机器访问行为的方法,该方法包括:
步骤S01、输入Waf访问日志;
步骤S02、实时检测引擎消费所述Waf访问日志,输出机器访问行为Bot用户至管控中心;
这里,Waf访问日志中包括了正常用户的访问行为以及Bot用户的访问行为,消费Waf访问日志是指对Waf访问日志进行分析处理以区分识别出Bot用户。
步骤S03、域名管理员通过管控中心对检测到的Bot用户进行管控,且将管控结果反馈至自适应学习模块;
这里,管控手段是指对Bot用户进行不同的处理,包括:接受用户实际可接受的Bot用户,限制恶意的Bot用户,反馈被错误识别的Bot用户等等。例如,搜索引擎、友商爬虫、内部系统接口调用等Bot行为对正常业务是有益的,这些Bot用户能被用户接受,可以保留。而及时上报识别错误的Bot用户,能够提高识别的准确率。此处的限制手段除了可以由管理员用户自行实施,也可以是由管控中心结合通过大量现有信息自定义设置的默认配置进行实施。
步骤S04、自适应学习模块根据管控结果进行更新,且将更新结果加载至实时检测引擎形成闭环,实现机器访问行为的自适应实时检测。
需要说明的是,上述步骤S01至步骤S04也可以不限于上述先后顺序执行,也可以同时执行。
上述有效识别机器访问行为方法中,是输入Waf访问日志,由实时检测引擎消费所述Waf访问日志,输出机器访问行为Bot用户至管控中心;域名管理员通过管控中心对检测到的Bot用户采取相应的管控手段,且将管控结果反馈至自适应学习模块;自适应学习模块根据管控结果进行更新,且将更新结果加载至实时检测引擎形成闭环,实现机器访问行为的自适应实时检测。如此,即可以根据Waf访问日志识别检测出机器访问行为,且提高了检测的实时性、准确率,特别是在Waf访问日志信息量较多时,效果更为明显。此外,该方法处理最终检测出来的Bot用户的方式更加人性化,管理员用户可以根据实际需求自定义处理Bot用户,保留有益的去除恶意的。
在其中一个实施例中,上述实时检测引擎消费Waf访问日志,输出机器访问行为Bot用户至管控中心,具体包括:
系统管理员用户自定义设置全局白名单;
构建Bot用户检测机器学习模型,同时构建自适应学习模块以对所述Bot用户检测机器学习模型进行实时更新,并进一步构建模型函数;
实时对Waf访问日志进行特征提取,所述特征包括用户的访问总量、访问时长、访问频率稳定系数以及访问资源的Gini系数;
将提取到的特征输入至所述模型函数,输出机器访问行为Bot用户;
根据全局白名单对所述Bot用户进行过滤,并对过滤后的Bot用户进行风险等级计算后输出至管控中心。
这里,全局白名单是白名单的一种,其由系统管理员添加和管理,在实时检测模块中生效。
采用本实施例的方案,通过全局白名单限制可以筛选出系统所认为的Bot用户,将对正常业务有益的Bot用户保留,如搜索引擎、友商爬虫、内部系统接口调用等等。且能够实时更新检测模型,可以提高检测的准确性和实时性。
在其中一个实施例中,上述访问资源的Gini系数的计算公式为:
Figure BDA0002263497080000071
式中,pk表示一个统计时间窗口内事件k发生的概率;K表示所有事件k构成的基本事件空间;k为K中的一个事件元素;当k表示访问资源时,具体表示为访问资源的类型。
Gini系数越小,混乱度越小,表示越有可能为Bot访问行为,反之为正常用户行为。
采用本实施例的方案,将Gini系数分别作为Bot用户访问资源和访问频率的混乱性度量,对用户的访问混乱行为进行了客观的数字化表达,识别结果更加准确。
针对利用Gini系数对访问资源行为进行混乱性度量的说明:通过对大量正常请求和Bot请求的观察发现,两者在访问页面的混乱性上存在较大的区别。正常用户根据需求和主观意识去决定点击某个链接,整个访问链路更加随机;正常用户通过浏览器或APP向服务器目资源发送URL页面请求,Web服务器收到请求后向浏览器返回请求资源,然后浏览器会对接收到的网页框架文件进行解析,分析出文件中所需的嵌入对象(这些对象可能包括JS脚本、CSS、图像音频等),紧接着浏览器按照嵌入对象的顺序再次向各个对应的资源服务器发送对象请求,服务器收到这些请求后将对象传回;浏览器收到对象资源后,将它们装载进网页文件中,通过处理将一个完整的网页呈现在用户面前。在这个过程中,虽然正常用户只产生了一次“点击”请求,但实际上服务器会产生多条Web请求日志,而Bot用户则不然。Bot用户指向性比较明确,它会按照既定的策略向服务器发送一条明确的请求,服务器收到请求后将网页框架文件返回,Bot收到文件后对文件进行解析,将目的信息保留;而对于网页文件中其他的链接和嵌入对象,根据Bot性质的不同,会选择直接丢弃或是按照需求对特征定的对象链接加入到自己的访问队列中。无论Bot怎么处理,都有有一个显著的特点,就是它并不会立刻向服务器发送嵌入对象请求,因此Bot用户一次请求只会产生一条Web请求日志。综上所述,正常用户通过浏览器或者APP访问页面,产生的请求日志比较混乱,而Bot用户则比较明确和集中。如Bot黄牛或Bot爬虫,在一个时间段内会集中的去刷某个固定的接口。
Gini系数和熵具备相似的性质,均可表示随机变量的混乱性,实际上墒之半与Gini系数具有几乎重叠的函数曲线。Gini系数的计算方式不需要对数运算,相对而言效率也更高。因此,计算单个用户在一个会话窗口时间段内请求接口的Gini系数,可识别出对应场景的Bot用户,无论该Bot怎么随机化请求间隔时间和访问频率。
示例性地,在其中一个实施例中,上述访问资源的Gini系数的计算为:
假设用户在一段时间内访问的资源集合为D且满足:
D1={a,b,a,a,a,b,a,a,a,a} (2)
D2={a,b,c,d,e,f,a,c,e,f} (3)
在不考虑访问顺序的情况下,D1代表访问了a资源8次,b资源2次,则:
Gini(D1)=0.2(1-0.2)+0.8(1-0.8)=0.32 (4)
同理:
Gini(D2)=0.2(1-0.2)+0.1(1-0.1)+0.2(1-0.2)+0.1(1-0.1)+0.2(1-0.2)+0.2(1-0.2)=0.82 (5)
Gini系数越小说明其混乱度越小,越有可能是Bot行为,反之则为正常用户行为。
在其中一个实施例中,上述访问频率稳定系数的求取过程包括:
求取访问频率的Gini系数Gini(p):
Figure BDA0002263497080000091
式中,pk表示一个统计时间窗口内事件k发生的概率;K表示所有事件k构成的基本事件空间;k为K中的一个事件元素;当k表示访问频率时,具体表示单位时间内的访问频率;
结合变异系数Cv和访问频率的Gini系数Gini(p)求取访问频率稳定系数Cs为:
Figure BDA0002263497080000092
其中,变异系数Cv为:
Figure BDA0002263497080000093
式中,N为统计元素的个数,xi为第i个单位时间对应的访问频率,σ为访问频率的标准差,μ为访问频率的均值。
稳定系数Cs越小,则认为访问频率稳定,越有可能为Bot访问行为;反之为正常用户访问行为。
采用本实施例的方案,提出的稳定系数综合了变异系数和Gini系数的特性,既可以描述数列的离散聚合程度,又能够描述其混乱程度,是反映数列稳定程度的一种有效度量指标。同时稳定系数继承了变异系数的无量纲属性优势,因此具备良好的普遍适用性。在Bot检测的应用领域,该稳定系数可以形象地对用户实体访问频率的离散程度和混乱度进行综合度量,从而有效地区分正常用户和Bot用户,同时具备更高的识别率和更低的误判率优势。稳定系数作为一个通用的数列稳定性的统计度量指标,不仅可以用在Bot行为检测,也可以用于其他有数列稳定性度量需求的各个领域。
针对利用稳定系数对访问频率行为进行稳定性度量的说明:正常人在浏览页面的时候,在一个持续的会话期内,产生的访问请求频次波动较大(如图3所示);而Bot请求则是程序设定好的,每次请求间隔多久,或伪造随机间隔时长(如图4、图5所示)。通过观察可以很直观感受到正常用户访问频率离散程度比较高,Bot用户离散程度相对较低。标准差是总体各单位标准值与其平均数离差平方的算术平方根,能反应一组数据的离散程度:
Figure BDA0002263497080000101
然而每个系统的业务场景不同,访问频率也不在同一个数量级,针对这种情况采用标准差作为阈值并不是一个通用的方式。因此,利用标准差除以均值来统一下量纲,也就是变异系数(Coefficient of Variation):
Figure BDA0002263497080000102
由于变异系数没有量纲,这样就不需要考虑每个系统访问频率量级即可进行客观的判别。根据实际场景测试,去零后一个会话窗口内正常人访问频率变异系数都大于0.7,而Bot访问频率变异系数均小于0.5(如图6所示)。
变异系数已经能很好的区分正常用户和Bot用户在访问频率上的区别,然而在实际生产环境中发现,单纯使用变异系数作为判断依据仍会有遗漏。如图5所示,该Bot用户1秒请求1次,隔30秒会1秒请求多次,这样就导致标准差比较大,同时变异系数也较大,实际为0.867不足以判断其为Bot流量。这种情形只是变异系数无法描述的场景之一,理论上单纯用变异系数来作为判断依据就是不够充分的。
经过对大量用户的观察,发现Bot用户每秒的访问频率大多数都固定在1个或少数几个数值,而正常用户每次点击触发的请求数量更加多样化。基于这个前提,用户实体单位时间访问频率的混乱性描述,对区分正常用户Bot用户是有价值的。因此增加一个如上式1所示的访问频率的Gini系数来做个均衡(这里将不同的访问频率作为一个具体的类别,如k1可能表示每秒访问3次,k2可能表示每秒访问5次)。
正常用户访问频率随机且差异较大,Bot用户访问频率相对固定,即使随机化请求间隔时间,其单位时间的请求频次也是相对固定的。访问频率的变异系数描述了用户访问频率的离散程度,变异系数越小越有可能是Bot行为;访问频率的Gini系数则描述了用户访问频率的集中程度,Gini系数越小越有可能是Bot行为。因此从这两个角度去综合描述用户访问频率的稳定性,使两者乘积的开平方作为用户实体访问频率稳定性的度量,即为上式7所示的稳定系数。
在其中一个实施例中,上述在求取访问频率的Gini系数之前,还包括:
判断访问频率的单位统计时间是否为1秒,若是,直接求取访问频率的Gini系数;
反之,对单位统计时间内所有访问频率构成的数列先进行分箱操作,之后求取访问频率的Gini系数。
针对该实施例的说明,当单位统计时间为1秒时,按照大多数用户的访问频率的值域并不大,因此不需要分箱操作。但当单位统计时间较长,或应用在其他数列元素值域较大的领域或场景时,在计算其Gini系数之前需要对数列中元素进行适当的分箱操作。
在其中一个实施例中,上述分箱操作包括:
线性分箱操作:将数列所有元素除以一个实数后取整,即传统意义上的等距分箱操作;
非线性分箱操作:将数列所有元素取以e为底的对数后取整;
卡方分箱:对数列按照大小进行排序,根据显著性水平和自由度计算每一对相邻的元素的卡方值,然后将其中卡方值最小的一组合并为一类元素;重复上述操作,直到达到所有相邻元素的卡方值都不低于事先设定阈值或目标分组个数满足条件为止。
本实施例中,卡方分箱操作更符合数列的自然规律,但相对的具有计算复杂度高与终止条件不好设置的缺点。非线性分箱则适用于特定场景,因此在Bot检测的应用中,三者各有优劣。
示例性地,在其中一个实施例中,当Cs<0.5时,认为访问频率比较稳定,属于Bot访问频率行为。如图5的场景,其变异系数值为0.867,Gini系数值为0.058,则稳定系数值为0.225,识别为Bot。
示例性地,在其中一个实施例中,上述访问频率稳定系数的计算为:
假如有如下真实Bot与正常用户的访问频率序列S1和S2,单位统计时长为1秒:
S1={2,2,2,2,2,8,2,2,2,2} (11)
S2={1,3,3,2,3,5,3,2,2,1} (12)
则S1和S2的变异系数分别为:
Figure BDA0002263497080000121
Figure BDA0002263497080000122
S1在10每秒访问频率为2的有9次,每秒访问频率为8的有1次,也就是访问频率为2的概率是0.9,访问频率为8的概率是0.1,则S1的访问频率Gini系数为:
Gini(S1)=0.1(1-0.1)+0.9(1-0.9)=0.18 (15)
同理S2的访问频率Gini系数为:
Gini(S2)=0.2(1-0.2)+0.4(1-0.4)+0.3(1-0.3)+0.1(1-0.1)=0.7 (16)则S1和S2的稳定系数分别为:
Figure BDA0002263497080000123
Figure BDA0002263497080000124
对于Bot访问序列S1来说,只观察变异系数时,接近0.7的值不足以说明其为Bot访问行为。这时候用Gini系数来对变异系数进行平均,得到稳定系数为0.35,则更有把握判断其为Bot访问行为。同理,对正常用户访问序列S2来说,只看访问频率变异系数很可能误判为bot,当加入Gini系数来计算其平稳系数为0.56,则更有把握说其为正常用户访问行为。因此稳定系数大大减低了变异系数带来的误判率的同时,也提升了对Bot用户识别的召回率,说明稳定系数具有更强的鲁棒性。
不妨考虑下将单位统计时长设置为1分钟,对应的统计时间窗口也增至1小时,然后对每分钟统计的访问频率进行适当的分箱操作。这时候再来计算其访问频率的稳定系数,就可以发现一些通过伪造随机每秒访问频率的Bot用户。简而言之,利用稳定系数这个通用的衡量标准,在不同的单位统计时长和统计时间窗口的基础上可以检测到不同程度的Bot频率行为用户。
在其中一个实施例中,上述风险等级计算的公式为:
Figure BDA0002263497080000131
式中,Ls为风险等级,N为检测到的Bot用户成功访问的总次数,B为检测到该Bot用户成功访问的批次量。
在其中一个实施例中,上述构建Bot用户检测机器学习模型,同时构建自适应学习模块以对所述Bot用户检测机器学习模型进行实时更新,并进一步构建模型函数,具体包括:
将已标注的Bot用户和正常用户特征数据存入Hive表,形成训练样本知识库;
创建Spark任务周期性消费Hive表中的训练样本,生成Bot用户检测机器学习模型;
将所述Bot用户检测机器学习模型的参数文件以文本的形式保存至集群,构成自适应学习模块;
在分布式计算平台创建Flink实时计算任务,周期性加载集群上保存的模型参数文本,构建模型函数。
这里,Flink本身是是支持ML算法的,然而就目前的版本来说,要在一个任务中同时实现实时的WAF日志输入及特征计算、模型结果输出和周期性的消费另一个数据源进行ML模型的重训练几乎是不可行的。因此利用Spark计算引擎创建一个周期任务,通过消费每日更新的训练样本数据重新训练模型,然后将新生成的模型参数保存为一个文本文件。同时在Flink任务重创建一个与模型更新周期同步的周期读取参数文件,并在Flink中通过代码实现模型的计算逻辑。实时地将特征数据投入模型计算逻辑输出预测结果,从而最终实现Bot检测模型的自适应学习。
采用本实施例的方案,实现自动学习的Bot用户识别,实时性高,降低了Bot检测成本并提高Bot伪装成本。
在其中一个实施例中,上述域名管理员通过管控中心对检测到的Bot用户进行管控,具体包括:
域名白名单过滤:根据域名管理员设置的域名白名单对实时检测引擎检测输出的Bot用户进行过滤,并对未命中域名白名单的Bot用户进行标记;
这里,域名白名单是白名单的一种,其由各个域名管理员添加维护,部署在Bot检测服务管理后台,仅在当前系统生效。
这里,针对标记后的Bot用户,支持域名管理员对域名白名单Bot用户进行展示,也支持域名管理员一键屏蔽域名白名单Bot用户展示;
自动限制:按照域名管理员基于风险等级的Bot用户自动限制配置,对上述标记后的Bot用户采取不同的限制手段;
这里,管控中心模块对检测到的Bot用户默认不会限制,域名管理员可选择性开启默认限制功能;
这里,支持域名管理员根据各自域名的具体业务场景及对Bot流量的耐候性对自动限制策略进行调整;
这里,上述限制手段包括人机验证、限制访问速率、限制访问域名、一键封禁等等;
风险用户展示:展示上述标记过的Bot用户及对应的限制手段;
添加白名单:域名管理员根据风险用户展示结果将属于正常业务调用的标记过的Bot用户添加至域名白名单;
这里,正常业务调用的Bot用户是指某一领域能够接受、认同甚至需求的有益的Bot用户;
误判标注:对误判的标记过的Bot用户进行标注并解除对该Bot用户的限制;
智能告警:针对未进行限制的标记过的Bot用户,及时向域名管理员发送告警通知,并提示域名管理员开启自动限制功能或调整限制风险等级、误判标注、白名单添加等操作;
自动反馈:域名管理员对误判的标记过的Bot用户进行标注和解除限制的同时,管控中心自动将误判结果反馈至所述训练样本知识库,对自适应学习模块中的训练样本知识库进行更新,进而对所述Bot用户检测机器学习模型进行更新,实现自适应更新和学习。
采用本实施例的方案,可以对Bot用户进行不同的处理,包括:接受用户实际可接受的Bot用户,限制恶意的Bot用户,反馈被错误识别的Bot用户等等。例如,搜索引擎、友商爬虫、内部系统接口调用等Bot行为对正常业务是有益的,这些Bot用户能被用户接受,可以保留。而及时上报识别错误的Bot用户,能够提高识别的准确率。此处的限制手段除了可以由管理员用户自行实施,也可以是由管控中心结合通过大量现有信息自定义构建的数据库进行实施。
在一个实施例中,结合图7,提供了一种有效识别机器访问行为系统,包括:
Waf访问日志采集模块101,用于采集Waf访问日志并将其输入至实时检测引擎模块;
实时检测引擎模块102,用于消费Waf访问日志,输出机器访问行为Bot用户至管控中心模块;
管控中心模块103,用于显示Bot用户检测结果,并对检测到的Bot用户进行管控,且将管控结果反馈至自适应学习模块;
自适应学习模块104,用于根据管控结果实现自适应学习模块自身的更新,并将更新结果加载至实时检测引擎形成闭环,实现机器访问行为的自适应实时检测。
进一步地,在其中一个实施例中,上述实时检测引擎模块包括:
全局白名单单元,该单元中所包含的Bot用户由系统管理员用户自定义设置;
识别模型构建单元,用于构建Bot用户检测机器学习模型,同时构建自适应学习模块以对所述Bot用户检测机器学习模型进行实时更新,并进一步构建模型函数;
特征提取单元,用于提取Waf访问日志中的特征,所述特征包括用户的访问总量、访问时长、访问频率稳定系数以及访问资源的Gini系数;
Bot用户检测单元,用于将所述特征提取单元提取到的特征输入至所述模型函数,以检测出机器访问行为Bot用户;
过滤筛选及风险评估单元,用于根据所述全局白名单单元的内容对所述Bot用户检测单元的检测结果进行过滤筛选,并对过滤筛选后的Bot用户进行风险等级计算后输出至所述管控中心模块。
进一步地,在其中一个实施例中,上述识别模型构建单元包括:
Bot用户检测机器学习模型构建子单元,用于将已标注的Bot用户和正常用户特征数据存入Hive表,形成训练样本知识库;之后创建Spark任务周期性消费Hive表中的训练样本,生成Bot用户检测机器学习模型;
自适应学习模块构建子单元,用于将所述Bot用户检测机器学习模型的参数文件以文本的形式保存至集群,构成自适应学习模块;
模型函数构建子单元,用于在分布式计算平台创建Flink实时计算任务,周期性加载集群上保存的模型参数文本,构建模型函数。
进一步地,在其中一个实施例中,上述管控中心模块包括:
域名白名单过滤子单元,用于根据自定义设置的域名白名单对实时检测引擎检测输出的Bot用户进行过滤,并对未命中域名白名单的Bot用户进行标记;
自动限制子单元,用于按照自定义设置的基于风险等级的Bot用户自动限制配置,对上述标记后的Bot用户采取不同的限制手段;
风险用户展示子单元,用于展示上述标记过的Bot用户及对应的限制手段;
白名单添加子单元,用于根据风险用户展示结果将属于正常业务调用的标记过的Bot用户添加至域名白名单;
误判标注子单元,用于对误判的标记过的Bot用户进行标注并解除对该Bot用户的限制;
智能告警子单元,用于及时向域名管理员发送未对标记过的Bot用户进行限制的告警通知,并提示域名管理员开启自动限制功能或调整限制风险等级、误判标注、白名单添加等操作;
自动反馈子单元,用于在对误判的标记过的Bot用户进行标注和解除限制的同时,自动将误判结果反馈至所述训练样本知识库,对自适应学习模块中的训练样本知识库进行更新,进而对所述Bot用户检测机器学习模型进行更新,实现自适应更新和学习。
关于有效识别机器访问行为系统的具体限定可以参见上文中对于有效识别机器访问行为方法的限定,在此不再赘述。上述有效识别机器访问行为系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
输入Waf访问日志;
实时检测引擎消费所述Waf访问日志,输出机器访问行为Bot用户至管控中心;
域名管理员通过管控中心对检测到的Bot用户进行管控,且将管控结果反馈至自适应学习模块;
自适应学习模块根据管控结果进行更新,且将更新结果加载至实时检测引擎形成闭环,实现机器访问行为的自适应实时检测。
在其中一个实施例中,处理器执行计算机程序实现上述实时检测引擎消费Waf访问日志,输出机器访问行为Bot用户至管控中心,具体包括:
系统管理员用户自定义设置全局白名单;
构建Bot用户检测机器学习模型,同时构建自适应学习模块以对所述Bot用户检测机器学习模型进行实时更新,并进一步构建模型函数;
实时对Waf访问日志进行特征提取,所述特征包括用户的访问总量、访问时长、访问频率稳定系数以及访问资源的Gini系数;
将提取到的特征输入至所述模型函数,输出机器访问行为Bot用户;
根据全局白名单对所述Bot用户进行过滤,并对过滤后的Bot用户进行风险等级计算后输出至管控中心。
在其中一个实施例中,处理器执行计算机程序实现上述构建Bot用户检测机器学习模型,同时构建自适应学习模块以对所述Bot用户检测机器学习模型进行实时更新,并进一步构建模型函数,具体包括:
将已标注的Bot用户和正常用户特征数据存入Hive表,形成训练样本知识库;
创建Spark任务周期性消费Hive表中的训练样本,生成Bot用户检测机器学习模型;
将所述Bot用户检测机器学习模型的参数文件以文本的形式保存至集群,构成自适应学习模块;
在分布式计算平台创建Flink实时计算任务,周期性加载集群上保存的模型参数文本,构建模型函数。
在其中一个实施例中,处理器执行计算机程序实现上述访问资源的Gini系数计算,所用公式为:
Figure BDA0002263497080000171
式中,pk表示一个统计时间窗口内事件k发生的概率;K表示所有事件k构成的基本事件空间;k为K中的一个事件元素;当k表示访问资源时,具体表示为访问资源的类型。
Gini系数越小,混乱度越小,表示越有可能为Bot访问行为,反之为正常用户行为。
在其中一个实施例中,处理器执行计算机程序实现上述访问频率稳定系数计算,具体过程包括:
求取访问频率的Gini系数Gini(p):
Figure BDA0002263497080000181
式中,pk表示一个统计时间窗口内事件k发生的概率;K表示所有事件k构成的基本事件空间;k为K中的一个事件元素;当k表示访问频率时,具体表示单位时间内的访问频率;
结合变异系数Cv和访问频率的Gini系数Gini(p)求取访问频率稳定系数Cs
Figure BDA0002263497080000182
其中,变异系数Cv为:
Figure BDA0002263497080000183
式中,N为统计元素的个数,xi为第i个单位时间对应的访问频率,σ为访问频率的标准差,μ为访问频率的均值。
稳定系数Cs越小,则认为访问频率稳定,越有可能为Bot访问行为;反之为正常用户访问行为。
在其中一个实施例中,处理器执行计算机程序实现上述求取访问频率的Gini系数之前,还包括实现:
判断访问频率的单位统计时间是否为1秒,若是,直接求取访问频率的Gini系数;
反之,对单位统计时间内所有访问频率构成的数列先进行分箱操作,之后求取访问频率的Gini系数。
在其中一个实施例中,处理器执行计算机程序实现上述域名管理员通过管控中心对检测到的Bot用户进行管控,具体包括:
域名白名单过滤:根据域名管理员设置的域名白名单对实时检测引擎检测输出的Bot用户进行过滤,并对未命中域名白名单的Bot用户进行标记;
自动限制:按照域名管理员基于风险等级的Bot用户自动限制配置,对上述标记后的Bot用户采取不同的限制手段;
风险用户展示:展示上述标记过的Bot用户及对应的限制手段;
添加白名单:域名管理员根据风险用户展示结果将属于正常业务调用的标记过的Bot用户添加至域名白名单;
误判标注:对误判的标记过的Bot用户进行标注并解除对该Bot用户的限制;
智能告警:针对未进行限制的标记过的Bot用户,及时向域名管理员发送告警通知,并提示域名管理员开启自动限制功能或调整限制风险等级、误判标注、白名单添加等操作;
自动反馈:域名管理员对误判的标记过的Bot用户进行标注和解除限制的同时,管控中心自动将误判结果反馈至所述训练样本知识库,对自适应学习模块中的训练样本知识库进行更新,进而对所述Bot用户检测机器学习模型进行更新,实现自适应更新和学习。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
输入Waf访问日志;
实时检测引擎消费所述Waf访问日志,输出机器访问行为Bot用户至管控中心;
域名管理员通过管控中心对检测到的Bot用户进行管控,且将管控结果反馈至自适应学习模块;
自适应学习模块根据管控结果进行更新,且将更新结果加载至实时检测引擎形成闭环,实现机器访问行为的自适应实时检测。
在其中一个实施例中,计算机程序被处理器执行实现上述实时检测引擎消费Waf访问日志,输出机器访问行为Bot用户至管控中心,具体包括:
系统管理员用户自定义设置全局白名单;
构建Bot用户检测机器学习模型,同时构建自适应学习模块以对所述Bot用户检测机器学习模型进行实时更新,并进一步构建模型函数;
实时对Waf访问日志进行特征提取,所述特征包括用户的访问总量、访问时长、访问频率稳定系数以及访问资源的Gini系数;
将提取到的特征输入至所述模型函数,输出机器访问行为Bot用户;
根据全局白名单对所述Bot用户进行过滤,并对过滤后的Bot用户进行风险等级计算后输出至管控中心。
在其中一个实施例中,计算机程序被处理器执行实现上述构建Bot用户检测机器学习模型,同时构建自适应学习模块以对所述Bot用户检测机器学习模型进行实时更新,并进一步构建模型函数,具体包括:
将已标注的Bot用户和正常用户特征数据存入Hive表,形成训练样本知识库;
创建Spark任务周期性消费Hive表中的训练样本,生成Bot用户检测机器学习模型;
将所述Bot用户检测机器学习模型的参数文件以文本的形式保存至集群,构成自适应学习模块;
在分布式计算平台创建Flink实时计算任务,周期性加载集群上保存的模型参数文本,构建模型函数。
在其中一个实施例中,计算机程序被处理器执行实现上述访问资源的Gini系数计算,所用公式为:
Figure BDA0002263497080000201
式中,pk表示一个统计时间窗口内事件k发生的概率;K表示所有事件k构成的基本事件空间;k为K中的一个事件元素;当k表示访问资源时,具体表示为访问资源的类型。
Gini系数越小,混乱度越小,表示越有可能为Bot访问行为,反之为正常用户行为。
在其中一个实施例中,计算机程序被处理器执行实现上述访问频率稳定系数计算,具体过程包括:
求取访问频率的Gini系数Gini(p):
Figure BDA0002263497080000202
式中,pk表示一个统计时间窗口内事件k发生的概率;K表示所有事件k构成的基本事件空间;k为K中的一个事件元素;当k表示访问频率时,具体表示单位时间内的访问频率;
结合变异系数Cv和访问频率的Gini系数Gini(p)求取访问频率稳定系数Cs
Figure BDA0002263497080000203
其中,变异系数Cv为:
Figure BDA0002263497080000211
式中,N为统计元素的个数,xi为第i个单位时间对应的访问频率,σ为访问频率的标准差,μ为访问频率的均值。
稳定系数Cs越小,则认为访问频率稳定,越有可能为Bot访问行为;反之为正常用户访问行为。
在其中一个实施例中,计算机程序被处理器执行实现上述求取访问频率的Gini系数之前,还包括实现:
判断访问频率的单位统计时间是否为1秒,若是,直接求取访问频率的Gini系数;
反之,对单位统计时间内所有访问频率构成的数列先进行分箱操作,之后求取访问频率的Gini系数。
在其中一个实施例中,计算机程序被处理器执行实现上述域名管理员通过管控中心对检测到的Bot用户进行管控,具体包括:
域名白名单过滤:根据域名管理员设置的域名白名单对实时检测引擎检测输出的Bot用户进行过滤,并对未命中域名白名单的Bot用户进行标记;
自动限制:按照域名管理员基于风险等级的Bot用户自动限制配置,对上述标记后的Bot用户采取不同的限制手段;
风险用户展示:展示上述标记过的Bot用户及对应的限制手段;
添加白名单:域名管理员根据风险用户展示结果将属于正常业务调用的标记过的Bot用户添加至域名白名单;
误判标注:对误判的标记过的Bot用户进行标注并解除对该Bot用户的限制;
智能告警:针对未进行限制的标记过的Bot用户,及时向域名管理员发送告警通知,并提示域名管理员开启自动限制功能或调整限制风险等级、误判标注、白名单添加等操作;
自动反馈:域名管理员对误判的标记过的Bot用户进行标注和解除限制的同时,管控中心自动将误判结果反馈至所述训练样本知识库,对自适应学习模块中的训练样本知识库进行更新,进而对所述Bot用户检测机器学习模型进行更新,实现自适应更新和学习。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (8)

1.一种有效识别机器访问行为的方法,其特征在于,包括以下步骤:
输入Waf访问日志;
实时检测引擎消费所述Waf访问日志,输出机器访问行为Bot用户至管控中心;
通过管控中心对检测到的Bot用户进行管控,且将管控结果反馈至自适应学习模块;
自适应学习模块根据管控结果进行更新,且将更新结果加载至实时检测引擎形成闭环,实现机器访问行为的自适应实时检测;所述实时检测引擎消费Waf访问日志,输出机器访问行为Bot用户至管控中心,具体包括:
自定义设置全局白名单;
构建Bot用户检测机器学习模型,同时构建自适应学习模块以对所述Bot用户检测机器学习模型进行实时更新,并进一步构建模型函数;
实时对Waf访问日志进行特征提取,所述特征包括用户的访问总量、访问时长、访问频率稳定系数以及访问资源的Gini系数;
将提取到的特征输入至所述模型函数,输出机器访问行为Bot用户;
根据全局白名单对所述Bot用户进行过滤,并对过滤后的Bot用户进行风险等级计算后输出至管控中心;
所述访问频率稳定系数的求取过程包括:
求取访问频率的Gini系数Gini(p):
Figure FDA0003478601400000011
式中,pk表示一个统计时间窗口内事件k发生的概率;K表示所有事件k构成的基本事件空间;k为K中的一个事件元素;当k表示访问频率时,具体表示单位时间内的访问频率;
结合变异系数Cv和访问频率的Gini系数Gini(p)求取访问频率稳定系数Cs为:
Figure FDA0003478601400000012
其中,变异系数Cv为:
Figure FDA0003478601400000021
式中,N为统计元素的个数,xi为第i个单位时间对应的访问频率,σ为访问频率的标准差,μ为访问频率的均值。
2.根据权利要求1所述的有效识别机器访问行为的方法,其特征在于,所述构建Bot用户检测机器学习模型,同时构建自适应学习模块以对所述Bot用户检测机器学习模型进行实时更新,并进一步构建模型函数,具体包括:
将已标注的Bot用户和正常用户特征数据存入Hive表,形成训练样本知识库;
创建Spark任务周期性消费Hive表中的训练样本,生成Bot用户检测机器学习模型;
将所述Bot用户检测机器学习模型的参数文件以文本的形式保存至集群,构成自适应学习模块;
在分布式计算平台创建Flink实时计算任务,周期性加载集群上保存的模型参数文本,构建模型函数。
3.根据权利要求1所述的有效识别机器访问行为的方法,其特征在于,在所述求取访问频率的Gini系数之前,还包括:
判断访问频率的单位统计时间是否为1秒,若是,直接求取访问频率的Gini系数;
反之,对单位统计时间内所有访问频率构成的数列先进行分箱操作,之后求取访问频率的Gini系数。
4.根据权利要求2所述的有效识别机器访问行为的方法,其特征在于,所述通过管控中心对检测到的Bot用户进行管控,具体包括:
根据自定义设置的域名白名单对实时检测引擎检测输出的Bot用户进行过滤,并对未命中域名白名单的Bot用户进行标记;
按照自定义设置的基于风险等级的Bot用户自动限制配置,对上述标记后的Bot用户采取不同的限制手段;且针对未进行限制的标记过的Bot用户,及时发送告警通知;
展示上述标记过的Bot用户及对应的限制手段;
根据上述展示结果将属于正常业务调用的标记过的Bot用户添加至域名白名单;
对误判的标记过的Bot用户进行标注并解除对该Bot用户的限制,与此同时,管控中心自动将误判结果反馈至所述训练样本知识库。
5.基于权利要求1所述方法的有效识别机器访问行为的系统,其特征在于,包括:
Waf访问日志采集模块,用于采集Waf访问日志并将其输入至实时检测引擎模块;
实时检测引擎模块,用于消费Waf访问日志,输出机器访问行为Bot用户至管控中心模块;
管控中心模块,用于显示Bot用户检测结果,并对检测到的Bot用户进行管控,且将管控结果反馈至自适应学习模块;
自适应学习模块,用于根据管控结果实现自适应学习模块自身的更新,并将更新结果加载至实时检测引擎形成闭环,实现机器访问行为的自适应实时检测。
6.根据权利要求5所述的有效识别机器访问行为的系统,其特征在于,所述实时检测引擎模块包括:
全局白名单单元,该单元中所包含的Bot用户由用户自定义设置;
识别模型构建单元,用于构建Bot用户检测机器学习模型,同时构建自适应学习模块以对所述Bot用户检测机器学习模型进行实时更新,并进一步构建模型函数;
特征提取单元,用于提取Waf访问日志中的特征,所述特征包括用户的访问总量、访问时长、访问频率稳定系数以及访问资源的Gini系数;
Bot用户检测单元,用于将所述特征提取单元提取到的特征输入至所述模型函数,以检测出机器访问行为Bot用户;
过滤筛选及风险评估单元,用于根据所述全局白名单单元的内容对所述Bot用户检测单元的检测结果进行过滤筛选,并对过滤筛选后的Bot用户进行风险等级计算后输出至所述管控中心模块。
7.根据权利要求6所述的有效识别机器访问行为的系统,其特征在于,所述识别模型构建单元包括:
Bot用户检测机器学习模型构建子单元,用于将已标注的Bot用户和正常用户特征数据存入Hive表,形成训练样本知识库;之后创建Spark任务周期性消费Hive表中的训练样本,生成Bot用户检测机器学习模型;
自适应学习模块构建子单元,用于将所述Bot用户检测机器学习模型的参数文件以文本的形式保存至集群,构成自适应学习模块;
模型函数构建子单元,用于在分布式计算平台创建Flink实时计算任务,周期性加载集群上保存的模型参数文本,构建模型函数。
8.根据权利要求7所述的有效识别机器访问行为的系统,其特征在于,所述管控中心模块包括:
域名白名单过滤子单元,用于根据自定义设置的域名白名单对实时检测引擎检测输出的Bot用户进行过滤,并对未命中域名白名单的Bot用户进行标记;
自动限制子单元,用于按照自定义设置的基于风险等级的Bot用户自动限制配置,对上述标记后的Bot用户采取不同的限制手段;
风险用户展示子单元,用于展示上述标记过的Bot用户及对应的限制手段;
白名单添加子单元,用于根据风险用户展示结果将属于正常业务调用的标记过的Bot用户添加至域名白名单;
误判标注子单元,用于对误判的标记过的Bot用户进行标注并解除对该Bot用户的限制;
智能告警子单元,用于及时发送未对标记过的Bot用户进行限制的告警通知;
自动反馈子单元,用于在对误判的标记过的Bot用户进行标注和解除限制的同时,自动将误判结果反馈至所述训练样本知识库。
CN201911079539.XA 2019-11-07 2019-11-07 有效识别机器访问行为的方法及系统 Active CN110912874B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911079539.XA CN110912874B (zh) 2019-11-07 2019-11-07 有效识别机器访问行为的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911079539.XA CN110912874B (zh) 2019-11-07 2019-11-07 有效识别机器访问行为的方法及系统

Publications (2)

Publication Number Publication Date
CN110912874A CN110912874A (zh) 2020-03-24
CN110912874B true CN110912874B (zh) 2022-04-05

Family

ID=69816318

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911079539.XA Active CN110912874B (zh) 2019-11-07 2019-11-07 有效识别机器访问行为的方法及系统

Country Status (1)

Country Link
CN (1) CN110912874B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113569879B (zh) * 2020-04-28 2024-03-19 中国移动通信集团浙江有限公司 异常识别模型的训练方法、异常账号识别方法及相关装置
CN112351006B (zh) * 2020-10-27 2022-04-26 杭州安恒信息技术股份有限公司 一种网站访问攻击拦截方法及相关组件
CN112579418A (zh) * 2020-12-25 2021-03-30 泰康保险集团股份有限公司 识别访问日志的方法、装置、设备和计算机可读介质
CN116257884B (zh) * 2023-03-20 2023-09-05 杭州霖芮科技有限公司 一种基于流量分析的电商平台客户数据处理方法与系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107566399A (zh) * 2017-10-09 2018-01-09 郑州云海信息技术有限公司 一种提高存储安全性的方法、装置及可读存储介质
CN107679626A (zh) * 2017-10-10 2018-02-09 上海优刻得信息科技有限公司 机器学习方法、装置、系统、存储介质及设备
CN107682323A (zh) * 2017-09-20 2018-02-09 东北大学 一种工业控制系统网络访问安全性预警系统及方法
CN107707541A (zh) * 2017-09-28 2018-02-16 小花互联网金融服务(深圳)有限公司 一种流式的基于机器学习的攻击行为日志实时检测方法
CN109218294A (zh) * 2018-08-21 2019-01-15 杭州安恒信息技术股份有限公司 基于机器学习贝叶斯算法的防扫描方法、装置和服务器
CN109472505A (zh) * 2018-11-19 2019-03-15 四川大学 基于条件风险价值约束的多目标水资源均衡配置方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10075463B2 (en) * 2016-09-09 2018-09-11 Ca, Inc. Bot detection system based on deep learning
US10243981B2 (en) * 2016-09-09 2019-03-26 Ca, Inc. Bot detection based on divergence and variance
CN107404473A (zh) * 2017-06-06 2017-11-28 西安电子科技大学 基于Mshield机器学习多模式Web应用防护方法
CN110009479B (zh) * 2019-03-01 2021-02-19 百融云创科技股份有限公司 信用评价方法及装置、存储介质、计算机设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107682323A (zh) * 2017-09-20 2018-02-09 东北大学 一种工业控制系统网络访问安全性预警系统及方法
CN107707541A (zh) * 2017-09-28 2018-02-16 小花互联网金融服务(深圳)有限公司 一种流式的基于机器学习的攻击行为日志实时检测方法
CN107566399A (zh) * 2017-10-09 2018-01-09 郑州云海信息技术有限公司 一种提高存储安全性的方法、装置及可读存储介质
CN107679626A (zh) * 2017-10-10 2018-02-09 上海优刻得信息科技有限公司 机器学习方法、装置、系统、存储介质及设备
CN109218294A (zh) * 2018-08-21 2019-01-15 杭州安恒信息技术股份有限公司 基于机器学习贝叶斯算法的防扫描方法、装置和服务器
CN109472505A (zh) * 2018-11-19 2019-03-15 四川大学 基于条件风险价值约束的多目标水资源均衡配置方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于人类访问模型的应用层DDoS攻击检测研究;郭利菊,李平,底晓强,从立钢;《计算机安全》;20140630;11-14 *

Also Published As

Publication number Publication date
CN110912874A (zh) 2020-03-24

Similar Documents

Publication Publication Date Title
CN110912874B (zh) 有效识别机器访问行为的方法及系统
US11792229B2 (en) AI-driven defensive cybersecurity strategy analysis and recommendation system
US20220078210A1 (en) System and method for collaborative cybersecurity defensive strategy analysis utilizing virtual network spaces
KR102480204B1 (ko) 침입 탐지를 위한 지속적인 학습
EP3497609B1 (en) Detecting scripted or otherwise anomalous interactions with social media platform
CN110399925B (zh) 账号的风险识别方法、装置及存储介质
CN110177108B (zh) 一种异常行为检测方法、装置及验证系统
CN110958220B (zh) 一种基于异构图嵌入的网络空间安全威胁检测方法及系统
CN113347205B (zh) 一种检测业务访问请求的方法及装置
US20220210200A1 (en) Ai-driven defensive cybersecurity strategy analysis and recommendation system
CN106992994B (zh) 一种云服务的自动化监控方法和系统
US10911480B2 (en) Detection of scripted activity
US9490987B2 (en) Accurately classifying a computer program interacting with a computer system using questioning and fingerprinting
Chu et al. Bot or human? A behavior-based online bot detection system
US20220014561A1 (en) System and methods for automated internet-scale web application vulnerability scanning and enhanced security profiling
CN111177714A (zh) 异常行为检测方法、装置、计算机设备和存储介质
CN110535850B (zh) 帐号登录的处理方法和装置、存储介质及电子装置
CN109426700B (zh) 数据处理方法、装置、存储介质和电子装置
US11513772B1 (en) System and method of providing an interactive development platform in a distributed computing environment
CN108804501B (zh) 一种检测有效信息的方法及装置
CN114238885A (zh) 用户异常登录行为识别方法、装置、计算机设备和存储介质
CN112019377B (zh) 网络用户角色识别的方法、系统、电子装置和存储介质
CN113918938A (zh) 一种持续免疫安全系统的用户实体行为分析方法及系统
CN113746790B (zh) 一种异常流量管理方法、电子设备及存储介质
CN113657536A (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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: No.1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu Province, 210000

Patentee after: Jiangsu Suning cloud computing Co.,Ltd.

Address before: No.1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu Province, 210000

Patentee before: Suning Cloud Computing Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240514

Address after: 210000, 1-5 story, Jinshan building, 8 Shanxi Road, Nanjing, Jiangsu.

Patentee after: SUNING.COM Co.,Ltd.

Country or region after: China

Address before: No.1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu Province, 210000

Patentee before: Jiangsu Suning cloud computing Co.,Ltd.

Country or region before: China