投稿邮箱

digitcw@163.com

您的位置:首页 > 技术研究 >
面向场景的自适应Bot机器人流量识别和防护方法
作者:赵法彬   添加时间:2022-03-08
文章提供了一种面向场景的自适应Bot机器人流量识别和防护方法,通过采集业务运营过程中全量恶意僵尸Bot数据和正常业务数据代入动态学习模型中进行训练,生成不同的业务编排模型。

面向场景的自适应Bot机器人流量识别和防护方法

徐  涛,王  艳,王圣贺,白燕妮,刘长波,田金英

(天翼安全科技有限公司,北京  100010)

摘要:文章提供了一种面向场景的自适应Bot机器人流量识别和防护方法,通过采集业务运营过程中全量恶意僵尸Bot数据和正常业务数据代入动态学习模型中进行训练,生成不同的业务编排模型。结合动态模型学习框架充分衡量分类精度指标,最大程度降低了Bot流量的误报率与漏报率;最终通过模型并结合多层次防护检测规则不断学习优化防护框架,逐渐精准预测各类未知与新型攻击,达到最佳的Bot防护效果。

关键词:Bot机器人;网络攻击;自适应学习




0  引言


随着现代社会互联网需求的指数式增长,网络安全问题也日益突出。Imperva发布的《Bad Bot Report 2021》显示,2020年机器流量占比超过40.8%,其中恶意机器流量的占比到达了25.6%,到达历史新高。在这些恶意Bot流量中,高级持久性机器人(Advanced Persistent Bots,APBs)在机器流量中占比达到57.1%[1]。APBs是中等及以上复杂程度的恶意僵尸程序,难以检测和缓解。例如,恶意抢购程序,即通过匿名代理,秒拨IP及虚拟身份信息等一系列技术手段来到达模拟真实用户访问行为。在2020年疫情期间,恶意抢购程序对口罩、消毒液等紧缺物资的抢购现象尤为明显。因此,在攻防严重不对等的网络安全领域,如何以更低成本、更高识别精确、更低误拦截率的方式,识别出更多的恶意Bot流量成为客户面临的安全难题。

目前,恶意Bot流量的识别主要通过以下几种方式:

(1)限制源IP的请求频率:通过定义访问频率阈值,能有针对性地对访问频率过高的Bot流量进行过滤。虽然限制源IP的频率实现起来比较简单,且操作方便,但是如何合理设置频率阈值是需要解决的问题,并且当正常流量突增时,要及时、准确地调整阈值,否则会严重影响业务。

(2)设备指纹技术[2]:Bot程序可以通过修改各项属性绕过设备指纹验证,对于同一出口设备,会产生误判情况。设备指纹更精细,可达到的防护效果更好,但是防护成本较高。

(3)基于业务访问链路行为分析[3]:通过Referer字段表示请求的来源位置[4],对用户访问业务链路的先后顺序进行校验,对于需要明确访问顺序的,如果用户跳过中间步骤则判定为异常访问。但并不是所有请求中都含有Referer信息,此时需要通过探针对请求进行探测监控,但是当业务比较复杂时,不具备普遍性。

综上可知,现有的方法存在成本高、准确性和普适性低等缺陷。为此,本文提出了一种面向场景的自适应Bot机器人流量识别和防护方法。基于访问流量的自适应学习引擎进行深度分析,精确识别恶意Bot流量、合规Bot流量及其他正常流量;结合实时的流量分析特征、业务场景和服务器状态指标,动态生成各类型业务场景防护策略。在精确识别恶意流量的同时有效降低误拦截概率,同时也降低用户使用成本及部署门槛。


1  系统方案设计


1.1 基于自适应学习的Bot机器人攻击防护方案

为解决现有技术对恶意Bot流量识别不精确、误拦截概率高,用户维护成本及使用门槛高等情况,本文提出了一种面向场景的自适应Bot机器人流量识别和防护方法。面向正常用户、合法、恶意与未知Bot四种业务流量场景,通过对访问流量使用自研的自适应流量学习引擎进行深度分析,可以精确的识别恶意Bot流量及其他正常流量,并通过实时的流量分析,动态生成各类型业务场景防护策略。

如图1所示,自适应流量学习引擎通过访问行为、访问特征、流量交互及访问信息收集对访问流量进行初步分析,识别具有明显特征的恶意流量。初步流量分析后,将其他未识别出明显特征的流量进行深度的差分计算。根据计算结果,将访问流量按照不同的业务场景及风险等级进行划分,生成各类型业务场景的动态策略。动态持续计算引擎可以根据各业务情况进行实时动态分析对当前业务场景策略进行实时动态调整,并将自适应学习成果加载至安全检测规则形成闭环。通过引入自适应流量学习引擎,系统不仅可以精确识别恶意流量还能有效降低误拦截概率,同时将系统部署在云端,用户侧不需独立安装软件程序或部署硬件设备,降低了用户使用的成本及部署门槛。

系统部署后,会产生大量的日志数据,这些数据存储了所有经过系统的Web攻击数据和流量数据等,可以反映系统当前的运行状态以及Bot流量的数据和形式。为便于对数据流量进行分析,以及对恶意Bot流量溯源,该系统也提供全流量日志服务,可实时采集、展示与储存已接入系统防护的业务全量Bot日志,支持对采集日志的各类指标数据进行分析和查询,并快速生成多维度的流量统计报表。同时,从日志中统计、提取的恶意Bot流量特征规则可通过自定义的形式加入到特征库中,从而进一步加固和提高系统的防护效果[5]。


QQ截图20220308155854 

图1 面向场景的自适应Bot机器人识别流量防护方案


1.2 主要功能


1.2.1 Bot特征检测和识别

本系统结合Bot访问异常特征与访问行为提炼了2000+精准Bot画像标签,同时将特征标签按照危险等级划分为低、中、高危三类,并将Bot机器人类型细分为间谍程序类Bot、搜索引擎类Bot与拒绝服务类Bot等20大类。其中,Bot访问异常特征包括使用模拟器、代理、Root设备以及HTTP请求字段畸形、不完整或不合法,如访问请求头部信息、访问请求方法与访问请求参数违规;Bot访问行为包括访问次数、访问频率、访问路径、访问时间、访问逻辑、服务响应时间与服务响应状态等。

系统基于已知的Bot特征标签库的特征字串对业务请求流量进行精确匹配,初步划分出人为正常流量、Bot合法流量、Bot恶意流量与未知流量,并将初步划分的业务流量按照类型执行相应的防护规则,进行Bot流量分类管理。根据客户端Bot类型,分别进行精准访问控制和限速等其他缓解策略,如对受信任的Bot流量进行正常传递,对可疑Bot流量进行预警、环境判断与访问频率检测,对恶意僵尸Bot流量采取不响应策略。同时,针对友商爬虫等合法的Bot流量也可通过设置全局或Bot管理白名单,定义合法IP、URL与检测规则,放行因触发相关规则而导致拦截的Bot流量。

Bot特征检测和识别结合动态模型学习框架充分衡量指标分类精度,通过模型并结合多层次防护检测规则不断学习优化防护框架,保证了Bot行为特征标签的准确性,逐渐精准预测各类未知与新型攻击,最大程度降低了Bot流量的误报率与漏报率,能够实现更佳的Bot防护效果。


1.2.2 基于场景的分级筛选模型

分级筛选模型由信息收集、流量交互、行为分析、差分计算、风险流量过滤、恶意流量分解以及动态业务场景防御策略模型六个模块构成。

信息收集会提取业务流量的访问次数、访问频率、访问路径、访问实体、访问时间、访问逻辑、服务响应时间与服务响应状态等数据信息。

流量交互是指当流量访问数据库时,为了辨别正常流量和Bot流量,后台会给前端发送一些交互命令,如果前端用户按照命令执行了制定的行为则为正常流量,否则为Bot流量。

行为分析指系统会制定业务编排模型,规定一个访问行为的正常逻辑顺序,对合法的Bot业务流量建模并从该模型中区分出异常情况,对可疑或恶意Bot攻击流量中解析出异常Bot流量模型。

差分计算是指业务流量按照所匹配特征规则的危险等级和策略的精准度进行函数计算。危险等级越高、策略越精准的流量越可能是恶意流量。

业务请求流量经特征检测初步分类后,整体业务流量数据将通过自适应防护模型进行完备的差分计算,将提取到的数据信息分别代入对应函数模型计算业务流量安全系数。经过分级筛选模型处理后,未知Bot流量将有明确的分析结果。根据计算结果,将访问流量按照不同的业务场景及风险等级进行划分,生成各类型业务场景的动态策略。


1.2.3 动态持续计算引擎

动态持续计算引擎的模块主要包括基于应用的压力计算和数据标注。基于应用的压力测试模块通过统计服务器响应请求的延迟时间,当延迟时间较长时,将启动相应策略以降低服务器的压力,保障正常业务的执行。数据标注通过采用人工或机器学习的方式对消耗服务器资源较大的行为进行标注。有些业务功能会消耗服务器大量的资源,恶意Bot一般会访问这些消耗资源大的请求,通过发送少量的请求达到攻击服务器的目的。通过本文所提的方法可以减轻这种请求访问的频率。

业务场景动态策略在阻断恶意Bot流量时,动态持续计算引擎也会根据各业务当前流量、访问连接、服务器响应延迟及资源占用高的URL调用情况等进行实时动态分析,并将计算分析结果实时反馈至自适应流量分析引擎,对当前业务场景策略进行实时动态调整。


2  应用场景

本系统对不同应用场景将根据自适应学习引擎自动化生成微服务防护模型,通过可拔插的插件化管理,根据客户的需求单独对应用进行接入和配置,一定程度上降低了部署复杂度和配置修改对系统整体的影响,能够快速保护应用程序免受机器人的攻击与渗透,保护场景如下所示:

(1)登录保护:可防止自动执行用户账号登录行为,如登录凭据破解:通过尝试不同的用户名和密码来破解有效的登录凭据;凭据填充:通过批量性的登录尝试验证被盗用户名/密码的有效性。

(2)搜索防护:可防止对应用或web页面内容的收集及通过搜索接口发起dos攻击,如WEB爬虫:通过搜索接口来爬取应用内容;dos攻击:创建对服务器计算压力或资源消耗较大的搜索查询。

(3)表单提交:可防止在应用程序中自动提交表单的行为,如操作加速:执行操作来加快通常缓慢、乏味或耗时的操作的进程;黄牛:通过软件或脚本(如抢票机器人)抢购有限的商品或服务。

(4)注册保护:防止同会话恶意创建多个账号的行为,防护账号滥用,如发送垃圾邮件及传播恶意软件。

(5)网页爬取:可防止收集应用内容或其他数据以在别处使用的行为,包含持续性或周期性发生的网络爬虫。部分爬虫也可用于密码分析、逆向工程或会话分析,如整站页面代码抓取:通过爬取的目标网站全站web页面代码,构造非法钓鱼网站诱导用户。


3  结束语

利用自研的Bot行为特征库、自适应Bot防御引擎与流量细分管理模块,通过多层次防护检测规则与全流量日志服务,实现了对Bot机器人准确鉴别、管理与追踪溯源的能力。



参考文献

[1] Bad Bot Report 2021: The Pandemic of the Internet [EB/OL].2021-4-13. https://www.imperva.com/blog/bad-bot-report-2021-the-pandemic-of-the-internet/

[2] 袁明凯.一种机器行为确定方法、网页浏览器及网页服务器[P].中国专利:CN110069910A,2019-07-30.

[3] 薛少勃.基于流量的网络异常行为检测方法研究[D].哈尔滨:哈尔滨工程大学,2019.

[4] 高阳.基于WEB日志的入侵检测算法研究[D].北京:北京邮电大学,2018.

[5] 陈麟,李焕洲,吴贞东.防火墙通信日志处理技术研究[J].微计算机信息,2007(30):116-117+177.



作者简介:

徐涛(1989-)男,汉族,安徽人,工程师,研究方向为网络安全、应用安全等。

王艳(1995-),女,汉族,安徽人,工程师,研究方向为网络安全等。

王圣贺(1993-),女,汉族,吉林人,研究方向为网络安全、应用安全等。

白燕妮(1988-),女,陕西人,工程师,研究方向为网络安全等。

刘长波(1980-),男,汉族,山东人,高级工程师,研究方向为网络安全等。

田金英(1992-),女,汉族,河北人,工程师,研究方向为网络安全等。