机器人对抗的常用手段介绍
2020-06-21 14:38:25
纪柯凌
现在是个安全厂家都提机器人防护,好像机器人防护都烂大街了。F5作为应用安全的领导者,都不太提这些名词了,改为宣传类似零信任、放欺诈等热点了。虽然机器人防护好像大家都在谈,功能也都有,但其实功力可是天差地别。 相同的防护功能和原理,不同厂家对细节的处理上就有大大的不同。下面我会简单说一些常用的防护手段。
识别一个流量是真实用户的浏览器访问,还是脚本或者机器人,其实有2个最基本的手段:
1、 DNS反解。
2、 挑战。
DNS反解是一种基础识别机器人的技术,根据流量中http header里的UA,做dns反向解析,看看来访问的流量IP是不是来自号称的域名。如果一个黑客伪造流量是
google的搜索引擎(好机器人),DNS反解就可以判断源IP是不是在撒谎。当然,这种技术也就对那些伪造为好机器人的恶意流量有效果,作用有限。
而挑战机制就是最主要的一种识别机器人的技术,简单说就是让被怀疑的用户做一些动作(验证码输入、http重定向等等),来判断源IP是人,还是脚本和机器人。挑战机制一般有重定向类型的,或者是插入JS类型的。 主要是利用了机器人功能有限,无法做太多的互动或者动作反馈。 不过黑客依然可以应对这种攻击做相应的调整,让机器人更智能。 甚至现在有很多clieckfarm类的真人流量攻击。 简单的挑战机制将无法有效进行防护。 这就考察一个厂家的挑战机制的全面性和功力了。F5在这方面有着绝对的统治地位。
挑战机制的另一个问题是防止误杀,很多厂家都有JS挑战,但是很少提到,对于越来越多的手机APP,如果不使用HTML5,而是native开发的,这些APP是无法插入
JS进行挑战的,因此正常用户的手机流量也会被误杀。 还有一些使用AJAX等的单页应用,网页的更新是局部的跟新,不是整个HTML的更新。这种也无法使用传统的JS挑战。需要对第一次HTML插入的JS有很高的要求和特殊的处理。 F5针对手机APP有专门的SDK,可以让手机端也能响应JS挑战。另外对于单页的应用,也有专门的JS进行处理。
以上都是一些简单的介绍,期待有更多大神来社区写一些更细节的技术文章分享。.
发布评论 加入社群
相关文章

Mirai和IoT僵尸网络(IoTBotnets)
纪柯凌
2020-06-21 11:40:46 1648

回复评论
发布评论