快捷搜索:

企业要如何防御恶意 bot 流量?

作者: 互联网资讯  发布:2019-12-17

爬虫风险管理产品是阿里云云盾推出的新安全产品,1月底正式宣布商业化上线,提供可以覆盖Web/H5/API/APP多种业务形态的爬虫风险解决方案,对爬虫风险进行有序管理。恶意爬虫引发高风险

前言

随着传统行业互联网化及大类业务的数据化,使爬虫风险逐渐成为一个风险爆发点。有网络数据报告统计,目前互联网中超过60%的流量都是批量自动化的爬虫流量。

互联网安全公司 Imperva Incapsula 公布的《2016年机器流量报告》(Bot Traffic Report 2016)显示恶意 bot 流量( bot :即“机器人”流量,即自动化程序流量)占整体网络流量的比例高达 28.9% 。

广义的爬虫并不是仅仅定义为“爬数据”,恶意的黑客利用一些自动化程序“爬虫”来进行业务攻击和欺诈,例如撞库、占座、抢票、刷排名、接口滥用、刷红包等,趋利特征非常明显。常见爬虫主要会集中在类似航空、电商、咨讯、数据、金融、旅行等一些存在高价值数据、原创内容、高获利点的行业中。

恶意 bot 流量造成的业务网站平台服务不可用、用户体验降低、网站漏洞安全问题、业务故障等问题,导致企业数据被爬、接口被刷、CC攻击导致服务不可用等,给企业带来极高的风险及难以估计的损失。

图片 1

那么为了保障网站平台的正常运行,企业要如何防御恶意 bot 流量?

恶意爬虫流量往往会引发企业一系列安全问题,并对业务造成一定利益损失,甚至请求量级过大也会同步造成服务器的不可用。防爬任务困难重重

一.运营人员采用的方案

爬虫中也并不是完全都是恶意爬虫流量,有一部分友好的爬虫,例如搜索引擎爬虫、第三方合作伙伴程序、Robots 协议程序等。安全运维不但要区分出正常人请求和机器爬虫请求,还需要放行友好的爬虫,这会对爬虫识别检测精细度要求较高,并对不同类型的爬虫要有分类和标记。

作为一个网站的运营技术人员,当网站受到恶意 bot 的攻击时,例如爬虫或者扫描类行为,一般有以下 2 种解决方法:

难点其二在于业务渠道的多样性。行业的互联网化快速发展,尤其是移动端的兴起,一般客户业务中除基础的Web端外,移动端的H5/APP/小程序等也占据较大的业务流量。而爬虫往往攻击的是所有渠道中防护最薄弱及攻击成本最低的业务渠道,会持续在各渠道中切换尝试发现防护短板。如果防护方案比较单一,容易在对抗过程中产品顾此失彼的状态,最终防护失效,仍然造成业务影响。

查看请求日志,如 apache 的 access 日志,人工扫描分析日志内容并发现异常,可识别出恶意 bot 。

持续对抗的过程中,爬虫也是会学习进化的,从最初简单自动化脚本会逐步演变成模拟正常用户的访问请求,模拟小区宽带IP,模拟页面浏览停顿操作,模拟正常业务流程路径等等,我们变得越来越难识别恶意爬虫。

限制源 IP 的请求速度。方案简单,但对阈值的设置要求很高,不适用于以下 4 种场景

图片 2

1)秒杀、抢购等业务导致的瞬间请求激增;

难但并不是没有办法。和爬虫的对抗就像一场博弈,我们利用云上生态的优势降低防护成本,提高识别检测的实时性和精准度,逼得爬虫用来伪装的成本高于爬虫的获利时自然会放弃。我们建立独立的检测系统和防护体系,围而不全杀;用AI智能模型识别爬虫,让爬虫难以察觉识别逻辑而减缓变异进度;用人机的验证手段,做第二层的引擎判断,更灵活的对识别结果做处置,进一步减少对正常用户的误报。爬虫风险如何有序管理

2)代理模式,如大多数高校机构以及手机运营商的网关;

爬虫风险管理产品是一款云盾推出的新安全产品。

3)存在大量的资源文件的页面,会导致请求该页面时的关联请求激增;

图片 3

4)复杂业务本身会提供一些接口给其他服务,速率方面的浮动范围很大;

产品为SAAS模式,反向代理接入非常轻量和灵活,对七层流量做一次转发,通过云上综合的爬虫防护引擎识别并过滤爬虫流量,帮助客户降低恶意的自动化程序带来的业务影响。干净的业务流量会被继续转发到源站,保证业务正常运行。

因此在没有理想阈值的条件下,限制源 IP 请求速度会导致较高的误报率,相比恶意 bot 带来的危害,高误报引起的后果对企业而言或许更加严重。

图片 4

图片 5

产品建设了一整套有层次的爬虫检测模块,主要分为基础防护层、云端情报层、机器学习层,进行信息传递和鉴别,从提供流量上自定义爬虫特征规则工具,到共享云端优势的行业爬虫攻击情报,再到定制贴合客户业务的机器学习算法,逐步递进,快速帮助客户打造一套量身定做的反爬虫策略体系。

钓鱼。正常的 bot 会请求 robots.txt 文件,然后遵循 robots.txt 描述进行后续的 bot 行为(robots.txt是一种君子协议,对允许和不允许 bot 访问的内容进行标记)。借用此机制,如果在robots.txt中将一个不存在的url标注为拒绝,然后在网页中,内嵌这个隐藏的url连接,隐藏意味着human不会点击到这个连接,但是恶意的bot有很大概率会访问。事情变得简单很多,只需要在日志里过滤访问这个url的ip即可。但是这种防御方法仅能对抗低级的恶意bot,攻击者绕过此检测机制,仅需一行代码控制bot不请求上面提到的那个url即可。

图片 6

IP 白名单。攻击者一般会将 ua 伪造成正常的搜索引擎的 ua 或者普通的浏览器的 ua 。白名单机制对前面一种伪造方式有效果。建立起一套 ua 和 ip 的白名单库,即可识别出伪造的ua。但是成本会提高很多,需要维护ua和ip的白名单库。而且对第二种伪造的普通的ua无效。

产品除了能快速甄别爬虫的行为特征,还可以实现对不同风险等级的爬虫识别结果做不同的处置,合法爬虫做放行,恶意爬虫做阻断,遇到可疑的爬虫去做一个挑战或者校验,多验一次身来做最终判断。

优点:成本低廉,操作简单,能抵御绝大多数低级的恶意 bot 。

同时,产品内提供了数据可视化模块,从不同维度展示给用户,包括数据和数据之间的关联,让用户参与爬虫特征数据和防护数据之间关系的探索,不断沟通和迭代,不仅清晰地向用户展示爬虫入侵的每一步,也提高了用户反爬虫的策略决策能力。数据模块还集成了阿里云的SLS日志服务,可以查询和定位详细的日志内容,帮助用户了解防护情况和流量细节。

缺点:适用性较差。

图片 7

二.技术人员采用的方案:

当前产品防护场景主要集中在:

作为技术人员,采用的方法则多依赖技术特征的局限性生效,一般有以下 5 种技术解决方案:

图片 8

1. cookie支持

产品优势突出

bot 是一个网络程序,如果这个程序写的简单,它往往不支持cookie,但 cookie 是浏览器支持的特性。利用这个特性可以通过在服务端写入 cookie ,然后检查请求所带来的 cookie 的方式来查证是否是 bot,但由于让 bot 支持 cookie 的时间成本很低,所以这个方法的效果比较有限。

1、云端部署

2. JavaScript支持

云端有技术专家负责产品的规则更新,迅速解决实时风险。

由于 cookie 门槛低,所以大家想到的就是浏览器支持的 js 技术。如果一个普通的 bot 程序支持 js ,问题则会复杂很多,但也可以实现。

云上资源是可以随时弹性扩容的,针对高峰业务能够自由收缩,帮助客户解决因大促等问题需要扩充机器而带来的成本。

3. 设备指纹技术(浏览器指纹)

云上的威胁情报资源非常丰富,能够发现针对行业的集中式攻击,并可以将情报应用在行业客户的防御系统中。

设备指纹技术会计算关于浏览器的 50+ 以上属性参数的 hash 值,甚至更高级的收集客户端的动作,比如鼠标点击信息、返回等。近期流行的画布 (canvas) 指纹技术,基本含义就是调用设备接口生成一个复杂定义的图像,由于硬件配置、软件版本等因素的影响,生成的图像在像素级别存在一定区别,以此可作为一种指纹。

2、生态体系

图片 9

跨多行业的爬虫行为分析,利用关系网络进行恶意爬虫的扩充发现。

bot 支持 js ,但不是浏览器,或者 bot 的 ua 和指纹不匹配,这种都很容易识别。但对于一些高级的 bot ,这个方案也有局限性

爬虫业务目的非常明确,识别行业的集中式攻击,达成行业内共享风险防控。

很多 bot 作为浏览器插件方式工作,或者通过修改浏览器而实现,因此同样会返回正确的设备指纹来伪造成一个真实的浏览器或者移动终端;

沉淀网络上黑灰产的百万级已知针对性爬虫风险的IP/UA黑灰产数据。

bot 篡改指纹信息返回,服务器端无法校验指纹信息的伪造性。这种机制很容易被开发 bot 的团队绕过,因为目前 ssl 体系主要用的是服务器的身份校验,绝大多数网站还没使用 https ,如果引入非对称体系的加密通信,或客户端的身份校验,在现阶段还无法实现。当然,如果有一天客户端身份都能被验证,安全问题就简单多了;很多公司拥有专门的爬虫团队和反爬虫团队,用于爬取竞争对手数据和反竞争对手爬自己的数据;

共享亿级阿里系的设备端的风险情报。

设备指纹冲突概率较高,代理机器很多是云主机或者其他方式统一装机的机器。完全相同的硬件,操作系统版本,软件版本导致算出来的指纹是一样的,因此会使得误报率增高。

据了解,目前国内外有不少做恶意爬虫流量管理的厂商,侧重点也不尽相同,但阿里云爬虫风险管理产品则是侧重于多层的防护,除了人机识别等检测方式,还会通过行为分析、威胁情报、机器学习算法等方式辅助检测,可以覆盖包括APP在内的各种环境,云上反向代理的方式接入也非常轻量和灵活。

4. 行为分析技术

上面提到,bot 会使用浏览器插件模拟人的请求行为,例如鼠标的点击等,单纯的判断鼠标是否点击不足以判断恶意 bot 。恶意 bot 最终都会请求 web 服务。恶意表现的是在“行为”上,行为是一个抽象概念,因此难度也很高。

恶意 bot 访问目标的 url 资源,以及它提交的这些参数构成本质上的“恶意行为”,上面提到的很多恶意 bot 的技术都是为此目标服务的。越来越多的移动终端,对服务请求的表现本身就已经不是浏览器行为,如果不使用行为分析技术,这些都会触发误报。

行为分析技术一般都是安全类公司的实现方案,具体方案上存在一定区别。有简单分析客户点击节奏、时间等属性的,也有比较复杂的学习模型。作为乙方公司,一般难以实现到行为分析模型这个级别,主要是成本和技术上的考量。

本文由百乐门棋牌发布于互联网资讯,转载请注明出处:企业要如何防御恶意 bot 流量?

关键词: