BOT流量是指在互联网上对Web网站、APP应用、API接口通过工具脚本、爬虫程序或模拟器等非人工手动操作访问的自动化程序流量,一般也称为机器人流量。而恶意的BOT流量通过利用代理或秒拨IP、手机群控等手段来爬取信息数据、抢刷接口、薅羊毛、外挂作弊等恶意攻击行为,对业务带来信息泄露、资金损失等风险,损害网站和用户的利益。
腾讯安全团队发布的报告显示,整体互联网流量中BOT流量占整体互联网流量的60%,恶意攻击性的BOT流量占据互联网整体网络流量的46%。同时,在今年腾讯云安全中心已检测到的200多起复杂攻击事件中,也有大量BOT、养号、恶意注册、CC等高级手段能绕过传统设备。恶意BOT流量增长迅猛且呈现多端混杂的趋势,攻击目标从业务资源型BOT逐步切换为针对业务内容的API型BOT,对企业BOT防护的能力提出更多考验。
基于此,11月10日晚,腾讯安全联合安在新媒体举办了“【原引擎】云原生安全加速仓”第二期直播活动,以“BOT流量”为切入点,邀请腾讯安全高级产品经理赵思雨、腾讯安全高级安全专家马子扬两位专家,为大家详细介绍了应对新型BOT攻击的解决方案和实操演练。
《BOT流量管理应用场景与解决方案》
赵思雨 腾讯安全高级产品经理
通过持续监测云上安全风险,总结出当前应用安全态势呈现以下三个方面趋势。
一、攻击呈现服务化、产业化,上下游产业链持续丰富;新兴的云函数,serverless、云真机等技术,让攻击者使用资源成本更低。一些服务商也会为攻击者提供商业化的恶意BOT工具,形成了密切配合的上下游产业链。
二、攻击工具越发普及化、大众化,攻击技术和BOT工具更加普及,在公开代码平台、社交平台上已经开始广泛传播,使得部分正常用户也能使用BOT攻击工具,无意识的对业务进行访问和攻击;
三、攻击方式大多为自动化、武器化,攻击者在漏洞公布后的几个小时就可以通诺BOT工具开始全网大规模的扫描,
在去年年底爆发的log4j2漏洞就印证了这一点。
从本质上来说恶意BOT防护就是有效判定是否为正常用户,并阻止恶意脚本的自动化运行。基于此,Bot防护的应用场景绝不仅限于反爬虫等狭义的恶意BOT,还可以运用至:
网站安全防护:漏洞探测、零日漏洞、应用DDOS。
数据安全防护:防爬虫、防内鬼、防数据遍历、防拖库。
账号安全防护:暴力破解、批量注册。
交易欺诈防护:虚假交易、交易篡改、黄牛党等等。
传统BOT防护手段会给企业带来较多的不确定性,比如规则命中的准确性上会存在非黑即白的判定,同时,随着运维深入,多冲规则容易导致规则之间冲突和事后归因困难;其次,由于缺乏人工智能,缺乏情报类数据的参与,常规BOT判定的误报相对较多,防护效果在不同时期有较大的波动;再者,业务的强耦合会在前期开发过程中提升用户业务的工作量。还有其他问题,诸如私有化部署使得落地方案加重,防护成本会随着设备的不断升级而变高等等。
识别、防护和管控
用户最迫切需要的,是一个既能够精准准确识别恶意BOT,又能够简单高效搭建安全防线,还能能深入下钻反馈,形成闭环运营的管理的“一揽子解决方案”。
腾讯云WAF在解决BOT问题的核心逻辑就是做到:识别、防护和管控的协调统一。
在识别阶段,如果把攻击者的路径逐步拆解,我们会得到一条攻击全链路图谱,因此在实现全链路检测的系统化识别是识别准确性的重要保证。其中,如何能够料敌于先,在交手的第一时间就能快速判定恶意流量,这就需要第一手情报和前端对抗能力的保证。
在触达业务的过程中,要能应对更高级的拟真BOT和变种,“魔高一尺,道高一丈”。需要人工智能自学习的能力,并且在训练AI模型时需要海量数据基础和更强大的专家经验的加持。
在防护阶段,往往在攻击发生时,没有大量的时间做深入的判定和最佳策略决策,此时对客户来说“如何能快速的建立防线”是第一要务。指明哪些要拦截,哪些要做人机识别的判定,哪些可以直接放过,这些是客户的需求所在。这就是考验产品设计和对安全运维理解的时候。
防护阶段的第二大需求是,基于不同的场景需要不同的方式和模板,即把不同专家在不同场景和各个行业的经验固化下来,形成推荐化的配置,这样可以快速地帮客户解决在不同行业场景下的识别问题。
在管控阶段,直观分析是首要的能力,比如从海量的日志里第一时间直观地告知哪些业务遭受了攻击,遭受的是哪一类的攻击,这些攻击来自于哪里,等等。然后在这个直观的分析中要有能帮助客户进行下一步的决策。
精细化管理之后,必然要能对数据进行深挖下钻,这样才能进一步提升反馈,然后再通过反馈对策略进行调优,这样数据就能够实现运营闭环,同时这个闭环可以因正反馈而进行迭代,实现管理的可持续性。
腾讯实现BOT管理的重要思路
腾讯云WAF拥有庞大的基础信誉数据,包含了多年积累的各种恶意BOT类型、客户端的指纹数据、IDC中的IP数据、恶意爬虫的特征和腾讯沉淀了20多年的威胁情报。其中,情报更新迭代的速度也为腾讯WAF的基础提供了充分的价值,比如对于一些基础的脚本或恶意IP,可以非常快速地进行识别和封堵。
在客户端对抗方面,包含了执行环境监测、页面防调试技术、动态令牌技术和动态验证技术;在后端流量分析方面,包含了基础会话特征统计分析、行为特征统计分析、异常特征水位监测、专家和AI异常检测模型。
不仅有了以上识别的技术作为基础,在防护阶段,腾讯云WAF会联动腾讯的蓝军,通过他们在攻防演练、重保期间挖掘到的payload样本,不断优化迭代反馈防护策略来调整训练模型等,实现以攻促防,不断补位AI引擎上的这些能力,以及在算法和模型上实现进一步的迭代。
在电商抢购、恶意评论、下单锁座、水军引流、恶意注册、重保护航的场景下,腾讯会据细分行业下的典型暴的场景进行检测,为客户推荐处置方案,这些处置方案可以解决客户90%以上的BOT配置问题。
在管理阶段,借助于全流量的分类标签数据逐级下钻,最终为用户实现完整的分析分类管理的闭环运营能力,让BOT不仅防的准确,而且用的简单。
各阶段的关键点
识别阶段非常关键的点在于客户端的风险感知和识别,其中需要运用到的技术比如有动态令牌。对当前页面内的合法请求地址授予一定时间内有效的一次性令牌,同时阻拦没有令牌的非法请求。动态令牌可保障业务逻辑的正确运行并防止攻击者发出非法请求,可抵御越权访问、网页后门、重放攻击等。在动态验证过程中,会根据威胁态势生成不同的检测代码,以增加应用的不可预测性,提升攻击者或自动化工具假冒合法客户端的难度。
除了通过对抗的方式来进行人机的验证,判断访问的异常特征外,作为其能力的补充和迭代,腾讯还提供了更加强大的威胁情报。腾讯云WAF结合了情报海量的标签能力(每天处理近3万亿条信息)来提升BOT识别率,情报会赋予每个IP不同的标签,对于每个标签的置信度、威胁等级、活跃时间、人机概率等维度都通过特定的算法计算除了每个IP的BOT得分,再结合WAF自己其他方式的BOT检测方式综合给出一个结论,即恶意BOT分数。实验数据表明,相较于没有威胁情报,WAF的BOT识别提升了50%+。
到达后端之后,腾讯智能分析系统可多维度实时地进行运算来将BOT进行分类。其中会采集到协议的头部特征、请求特征、访问行为的特征、访问请求量等。从这些特征中会提炼它们的值,并做基础性地分析、高级地分析、场景化地分析,最后得到一个综合得分。此综合得分能够帮助用户快速地建立对BOT最直观的判定机制。
最后通过BOT得分,打通使用流,形成BOT流量管理闭环。
不同场景BOT防护方式
流量密集型BOT,集中表现在QPS突发超预期,比如非活动期间,业务QPS快速上涨,击穿QPS上限。再比如访问URL散列度过大或过于集中。
拟真型BOT,访问行为的序列与在真实用户访问行为序列特征相似,访问频次较慢,保安目的较为固定,行为具有特征,URL分布相对均匀。主要体现在获取敏感数据,秒杀抢购等资源抢占行为,或是影响商业投放等方面。
通常在业务大促期间,密集型Bot还表现为针对特定API定点峰值大,同时请求包含多个用户的恶意流量等业务流量混杂的特征。
在重保&攻防演练场景,BOT起到的是工具化的作用,比如通过BOT来实现自动化的扫描,实现API的绕过,通过BOT来攻击绕口令,挖掘网络暴露面等。
面对这些场景,BOT解决方案可通过前端对抗、威胁情报、AI评估与智能统计、动作设置、自定义会话策略等能力帮助客户防护BOT恶意流量攻击。
典型案例
国内某著名科技制造业公司,有官网、自建商城系统等业务,使用了第三方传统安全产品防护,前段时间活动上线当天,遭受了海量攻击以及高强度的攻防对抗。
攻击者在攻击手法上,通过长期踩点获取用户的暴露面和脆弱性资产信息,结合了养号、秒拨IP等多种手段,结合了CC、渗透、爆破等多种攻击(服务不可用来勒索),并且这多种攻击手段之间变换迅速。
腾讯云WAF因此紧急上线,首先,通过云WAF CC防护设置解决来自七层的集中式高频CC攻击;其次,借助威胁情报及BOT 管理及时发现并处置分布式低频CC攻击,处置来自代理、秒拨、IDC 的恶意访问源的恶意请求。第三步,配置WAF内置的业务安全,及时发现来自恶意手机号、接码平台的注册,保障了真实用户的合法权益。以上措施实施后,不仅客户业务的安全得到了保障,同时客户服务器的压力和带宽成本也大幅减小。
最后建议客户通过云监测梳理互联网暴露资产,及时发现互联网资产意外暴露,通过云防火墙进行合规配置,防护意外暴露。
《BOT管理的最佳实践》
马子扬 腾讯安全高级安全专家
当用户发现自己遭受了BOT攻击时,比如发现CPU满了、tcp连接数在不断上升,这时可以打开腾讯WAF的控制台,然后把对应的域名输入进去,再把对应业务的会员地址填好,接下来对接入域名进行修改,完成之后会发现被分配到了C name,把C name填写好之后,输入相应的验证码,等待全球的DNS解析,解析完成之后,就完成了一次对网站基础性的防护了。
在面对外挂时,一样可以通过BOT解决方案来处理。首先先通过BOT流量分析来做处置判断,把里面相关的分数波段描绘出来,并且针对这些不同分数段的攻击者进行针对性的处置措施,通过这样的能力可以看到恶意流量的路径也可以有效进行封堵。
BOT行为管理不仅能做到清洗流量,还能帮助客户的流量去伪存真,助力客户业务成长得又稳又真实。
BOT治理方案
BOT对抗正在不断升级,从Python到PhantomJS、Headless,再到模拟器、云真机,再到最后的真人真机,其功能点和技术手段正在不断地更新迭代。
Anti-BOT在客户端上有许多不同的特点,比如JS探针、APP中的SDK、加密通道,包括IP情报标签、IP代理情报,账号内容里的账号、邮箱、手机号、设备指纹,等等。
Anti-BOT在流量协议上一样有所作为,比如JA3指纹,它由某种开发请求工具发起,还有一些开发语言、流量工具的指纹也会包含在内;同时在HTTP头部协议里,它会有浏览器单独的特征,此外还有User-Agent特征,比如Curl、Python-lib,以及群控中警察遇到的低版本软件。Anti-BOT对浏览器头部字段的排序会有一定的要求。
Anti-BOT在行为方面,会基于客户端的对抗,收集用户的鼠标滑动、键盘灯行为数据,判断是否为真实的用户行为还是机器人;同时在后台分析中通过访问日志数据结合大数据分析以及机器学习分析用户行为,识别BOT行为。
BOT对抗技术是通过基础信誉数据+客户端对抗+后端流量分析等多个维度去达成的,连很多多元低频群控式的爬虫也可以很快就检测出来,哪怕它什么攻击也没做,也能识别出来。
在客户端对抗方面,包含了执行环境监测、页面防调试技术、动态令牌技术和动态验证技术;在后端流量分析方面,包含了基础会话特征统计分析、行为特征统计分析、基于异常特征水位的异常监测、基于专家及运营和AI异常检测模型和账号维度下的连续会话特征分析。
BOT流量整个治理闭环流程分为三步,首先第一步要将流量分析出来,之后对这些流量进行分类,第三步是处置,这样就形成了流量治理的闭环。比如先通过离线分析出来的内容将当前网络访问的恶意程度给量化,并且通过危险情报、智能统计、AI评估进行打分,分数越高,它的恶意程度会越大,最后通过评分进行快速处置。
在分类方面,主要区分恶意BOT、友好BOT,通过对流量的分析透视后,支持用户对流量进行标注区分不同类型的BOT,同时还能场景化,支持对登陆、爬取等多种场景化配置,区分不同类型的BOT。
在分析方面,通过实时和离线分析,对当前流量进行分析,得出当前访问流量的相关会话、统计、行为特征数据;并又丰富的报表展示,支持多维度的下钻分析。
在处置方面,支持多种动作,支持用户自定义会话key,可以定义更细粒度的分析,处理对象,避免出口IP的问题,并支持设置多种处置策略,不同的业务场景、不同的客户端支持设置不同的处置策略。
提问环节:
问题一:有利用人工智能来防护变种的BOT吗?
赵思雨:有。由于需要做全链路的检测,需要做全层次BOT的防护,所以在应对高级的防护,在应对BOT的变种时,人工智能是必要的选择。人工智能中,人工代表着专家历年来处置恶意BOT能力和经验的产品化、策略化、代码化;智能代表着借助AI算法并根据客户特征流量进行不地学习和迭代。
对此,腾讯具备足够多的用户数据和历史业务数据,也就意味着有足够大的样本和数据来给人工智能进行学习和训练;同时腾讯拥有强大的团队来帮助人工智能进行算法和模型的建立;而在本身的算法能力上,腾讯云包括腾讯外的许多软件上,大家都是有目共睹的。
问题二:如何预先感知BOT的攻击并对其采取防范措施?
马子扬:Anti-Bot里有大量专家经验的固化,因此通过这些经验就可以在BOT流量过来时进行快速地检测处置,化未知为已知。
问题三:如何来去建设纵深防御的架构?
赵思雨:BOT的影响范围不会只是防爬、防刷,它在数据安全、网络安全层面都会产生相应的影响。从腾讯WAF的角度来看,其目标是能给客户提供整体解决方案,首先在基础安全上能够借助AI加语义这种双引擎的规则,帮助客户进行初步安全能力的搭建;其次,AI引擎能帮助用户进行智能的防护能力的识别;第三在基础安全层面,WAF还能额外提供技术能力,比如访问控制、基于地域的封禁等。
再进一步,对于所有的执行工具、脚本,腾讯可以借助于防爆的模块,来搭建一套非常简单的基于评分体系的防护防线,除此之外,腾讯还有API防控的能力。这所有的能力都可联动腾讯的威胁情报和腾讯天域的流量风控,来帮助企业在业务安全层面和精准识别层面进行进一步的联动。
提问四:公司的电商直播业务流量在企业本地的IDC机房,腾讯安全的防护是如何把流量接入并进行防护的?
马子扬:腾讯云WAF是连接云上云下的一款构筑应用安全防线的软件,因此可以快速地去帮用户做一些流量牵引,比如通过使用SaaS WAF的形式将dns流量解析到WAF上面,然后在回归到IDC机房里,这样就能清洗这一部分的BOT流量。