【背景】

        作者@呆子不开口经常在微博上发“你点我链接,我就进你支付宝账户”的POC链接系列,作者也担心怕路人甲、乙、丙经过分析URL得到漏洞细节,导致在漏洞尚未修复前泄漏了攻击细节带来不必要的麻烦。然后,带来了这篇关于如果改变这个尴尬处境的Paper.

【意义】

        保护好自己的POC(对应到我们则是:更好的保护好客户的业务系统)

【针对人群】

        作者的反分析是从保护自己的POC测试代码不被其它研究者甚至黑产技术人员所分析出攻击过程的角度出发,把那些试图从他的POC链接里挖出漏洞细节的一类人进行了如下分类:


image.png


    从RTA角度来看,从对抗羊毛党,黑产党的自动化攻击行为,做了以下理解:

  1. 小白场景(自动化脚本/自动化工具场景)————自动化请求触发**钓鱼链接**, 快速被标示为攻击者

  2. 鬼的场景 (人工分析场景)


  坏坏的环境

        主流浏览器指纹不全、浏览器启用了各类安全插件、请求是通过了匿名代理发起的、请求是来自黑名单IP区域发起、打开了隐身模式、不支持Cookie设置

  怪怪的行为

       正常业务请求夹杂着高质量的恶意请求,大量低质量的扫描行为导致的404 400 202 500等不正常响应状态很多,总是在夜深人静的时间段分外活跃, 似乎只对某1个或2个业务特别关注

  慢慢或快快的分析

       停留时间太长or太短, 停留时间总是没落在大数据行为分析后的结果图(基于统计分析后,得出的path停留时间方差图)

   键入时间,过快/过慢 、键入次数 过高/过低 (基于path的页面键入时间,键入时间、次数统计图)

   举例:自动化输入一般较快,键入次数少或十分有规律。


【一些思路】

  • HTTP层可以做什么

    1. 从UserAgent上做判断,建立恶意的UA库。比如:U带有SQLmap,Awvss,RASA,WebInspect等常见的攻击工具特征的UA。

    2. 限制黑名单TopIP, 介入信誉云库。

    3. 黑客的IP、一些安全社区论坛的IP,(传说知道创宇有各大黑客的IP定位信息)这里主要引入公开的网络威胁黑名单系统如:http://antivirus.neu.edu.cn/scan/ssh.php

    4. Referer限制,Referer来自黑客论坛,黑产网,黄赌毒网等进行标记。

    5. every cookie 机制(下发一种很难清除或修改的身份标识,一旦被识别为了攻击者,下发Every Cookie进行身份标示。关于every cookie:[ every cookie](http://www.ituring.com.cn/article/35102))

    6. JS渲染检测(检测运行客户端是否具有JS执行能力,原作者用的是下发一段 JS代码 运行后才有赋值,下一次请求校验这个值。)

    7. IP和UA做一致性校验,防止重放。


    在上面打开了在HTTP层能够做的事情的思路后,作者开始寻找**化被动为主动**的**以攻为守**的思路。简单总结,提到了有如下信息:

  •  人鬼识别

        1、跨域采集上网行为

        2、js的API去获得一些客户端信息

        3、识别结果,回传到服务器防止模拟操作。

        

【主动搜集参考】

        1、加载内网OA,CRM等地址

        2、加载CSDN、安全论坛信息

        3、检测代理IP等

        4、jsonp|img|script跨域等手段从一些购物网站、交友网站、论坛社区去获取登录信息

        5、webrtc获取攻击者内网IP等


    从RTA的角度来说,在我们判定了访问者为恶意攻击者时,我们可能会将攻击者导入我们的?(蜜罐)收集更多的攻击行为或留司法取证,如果可以判断目标特定为100%攻击者,是否有这样的开关,启用“以攻为防”的保护模式,主动去采集攻击者的周边信息,用来做攻击画像或司法取证,参考上面提到的思路,去尝试获取攻击者更多的周边信息。


    基于上面的信息采集,作者根据自己的判别方式,给访问用户一个判定结果,然后将这个判定结果安全的反馈给服务端,然后服务端根据结果判断返回真或假的数据。


回传客户端识别结果】

        1、代码加密混淆

        2、识别结果签名加密传输

        3、使用更难模拟或抓包的协议回传数据,如:websocket

        4、种下标示身份的everycookie(一旦被标记,很难否认身份。)


    这里的everycookie可以打开网站在线测试:

        [在线测试] https://samy.pl/evercookie/)


【作者的反分析流程设计图】


image.png

触发检测,得到假数据】

image.png


        作者是从保护自己的POC代码角度出发,所以一旦发现有人尝试分析其POC代码,会立即作出拒绝处理(返回虚假数据)。从RTA的角度,更多的是考虑引入蜜罐系统,拖延攻击或在司法取证上做更多工作。