“ CAPTCHA 作为常用的人机验证系统,已经经历了十余年的维护,目前针对CAPTCHA十分猖獗,甚至形成了相应的产业链–CAPTCHA farms。今天分享一篇S&P 24的论文,作者大规模研究了针对CAPTCHA在野攻击 ”
1. CAPTCHAs 简介
CAPTCHAs 在网页开发过程中非常常用,平时,尤其是在国内,我们经常会看到google蹦出来的人机验证界面。近期的研究显示,在account creation 页面上,60%的开发者都使用了CAPTCHAs。
1.1 CAPTCHAs 分类
CAPTCHAs分为三种,一种是Text CAPTCHAs,也就是上古时期的文字验证码,目前已经被用的越来越少了,2023年的研究显示,只有12% 的网站在使用CAPTCHAs 时会使用Text CAPTCHAs。另外一种是Puzzle-based CAPTCHAs,也就是让用户在3×3的网格里选择对应的图片,这种比较常见。最后一种是Puzzle-less CAPTCHAs,比如Google 2013年提出的 reCAPTCHA v2,让用户点击一个checkbox。点击的过程中记录用户行为,并进行人机检测。(下图是个截图,不用点)
1.2 CAPTCHAs & CAPTCHAs Farms
上图是CAPTCHAs的工作流程,当用户产生一次访问:
-
-
随后用户向CAPTCHAs service提交puzzle答案和token
-
CAPTCHAs service返回一个测试成功的token,来声明用户不是机器人。
对于网络攻击来说,要绕开CAPTCHAs并不容易,于是就有了CAPTCHAs Farms这样一条产业链。CAPTCHAs Farms使用第三世界国家廉价的工人来手动解决puzzle,价格低廉到只需要1-4美元就可以解决1000个CAPTCHAs 问题。参考文献[2]
-
首先,attacker向服务器发起请求,服务器返回一个token
-
攻击者本应将token传给CAPTCHA 厂商并交互,但是此时攻击者将token传给CAPTCHAs Farm
-
CAPTCHAs Farm 用token伪造和CAPTCHA 厂商沟通,答题,获得测试通过的token
-
CAPTCHAs Farm将测试通过的token传给attacker,攻击完成
在这个过程中,CAPTCHAs Farm会使用代理,伪造攻击者的IP地址,伪造User-Agent header,cookie等方法,绕开厂商监管。之前有部分工作提出过新的CAPTCHAs 算法来避免类似攻击[3],但是目前看来CAPTCHAs Farm依旧猖獗。
为了研究类似的CAPTCHAs Farms造成的影响,作者开发了一个测试框架,C-FRAME,来截取CAPTCHAs Farms API传输的数据。
2. CAPTCHAs 攻击分析
作者对于在野的CAPTCHAs攻击(2captcha 和 9kw这两个CAPTCHA Farm)进行了92天的追踪,截获了425,257条CAPTCHA-solving requsts。随后,作者对request的目标、来源地等进行了详细分析。
2.1 CAPTCHA attack 分类
-
欺诈 (Fraud): 包括流媒体欺诈、活动门票机器人、身份欺诈等,攻击者试图通过非法手段获利。例如,Taylor Swift 门票发售的时候,产生了很多相应的攻击。
-
滥用 (Abuse): 包括亚马逊 Flex 机器人、预约机器人、加密货币滥用等,攻击者试图利用平台漏洞为自己牟利。攻击者可能攻击政府网站,抢注护照预约名额等
-
垃圾邮件/诈骗 (Spam/Scam): 机器人创建大量虚假账号,发送垃圾邮件或实施诈骗。这其中Twitter收到的此类攻击最多,其次是LinkedIn,Discord等等
-
灰色/良性 (Gray/Benign): 虽然绕过验证码进行数据抓取并不一定出于恶意,但可能会干扰网站正常运行。例如,从政府网站、电子商务平台、个人信息搜索网站等抓取数据。
2.2 其他分析结果
经过分析,作者发现Funcaptcha收到的攻击request数量最多,例如LinkedIn,Twitter都在使用Funcaptcha的产品;Google 的 Recaptcha收到的攻击数量排名第二,但是这些request指向的不同域名最多。 同时,针对域名的分析发现,92天的实验中,twitter和sony几乎每天都会受到攻击。
对于地域的分析表明,俄罗斯,法国和巴西受到的攻击最多,反观中国受到的攻击相对较少。
[1] “C-FRAME: Characterizing and measuring in-the-wild CAPTCHA attacks”: https://www.computer.org/csdl/proceedings-article/sp/2024/313000a197/1WPcYnUG3Uk
[2] Re: Captchas-understanding captcha-solving services in an economic context (USENIX 2010)
[3] L. Tung, “Google algorithm busts CAPTCHA with 99.8 percent accuracy,” https://www.zdnet.com/article/google-algorithm-busts-captcha-with-99-8-percent-accuracy/
原文始发于微信公众号(安全研究GoSSIP):G.O.S.S.I.P 阅读推荐 2024-05-31 在野CAPTCHA攻击研究