行业新闻与博客

机器学习技术应用于破解验证码





F-Secure 表示,使用其基于 AI 的 CAPTCHA 破解服务器 CAPTCHA22 破解 Microsoft Outlook 的基于文本的 CAPTCHA 时,其准确性达到了 90%。



在过去的两年中,这家安全公司一直在使用机器学习技术来训练能够解决特定 CAPTCHA 的独特模型,而不是尝试构建一种千篇一律的模型。



并且,最近,它决定在 Outlook Web App(OWA)门户使用的验证码上试用该系统。



根据 F-Secure 的说法,最初的尝试并不成功,该团队发现手动标记大约 200 个验证码后,它只能以 22%的准确度识别字符。



出现的第一个问题是噪声,团队确定噪声和文本的灰度值始终在两个不同且恒定的范围内。对该工具的调整有助于滤除噪音。



该团队还意识到,某些测试验证码被错误地标记,例如“ l”和“ I”(小写“ L”和大写“ i”)之间的混淆。解决此缺点使准确性提高了 47%。



皮皮特拉弦

但是,更具挑战性的是处理将 CAPTCHA 提交到 Outlook 的 Web 门户。



没有 CAPTCHA POST 请求,而是将 CAPTCHA 作为值附加在 cookie 上发送。在键入 CAPTCHA 的答案时,使用 JavaScript 记录用户的键盘记录。



F-Secure 的高级信息安全顾问 Tinus Green 说:“我们没有尝试复制 JS 中发生的事情,而是决定使用 Pyppeteer(一种浏览模拟 Python 包)来模拟用户输入的验证码。”



“这样做,JS 会自动为我们处理提交的内容。”



格林补充说:“只要验证码阻止了条目,我们就可以使用该仿真软件来解决验证码,一旦解决,我们就可以继续进行常规攻击,从而使流程再次自动化。



“我们现在还重构了 CAPTCHA22 以进行公开发布。”



验证码标志

验证码是许多网站使用的挑战响应测试,目的是区分人类用户注册或访问 Web 服务的真实请求与机器人的自动请求。



例如,垃圾邮件制造者试图绕过 CAPTCHA,以创建他们以后可以滥用以分发垃圾邮件的帐户。



对于网络犯罪分子和安全研究人员而言,CAPTCHA 颇具吸引力,网络管理员正努力保持领先地位。



例如,去年下半年,PortSwigger Web Security 在 Google 的 reCAPTCHA 中发现了一个安全漏洞,该漏洞使使用研究型 Burp Suite 扩展程序 Turbo Intruder 触发竞争条件而被部分绕过。



不久之后,来自马里兰大学的一组学者就可以使用名为 UnCaptcha 的基于 Python 的程序规避 Google reCAPTCHA v2 的反机器人机制,该程序可以解决音频方面的挑战。



格林说:“在创建用户友好的 CAPTCHA(我们称之为祖母安全)与足够复杂以防止通过计算机解决问题之间存在一个陷阱 22。在这一点上,似乎不存在余额。”



他说,网络管理员不应通过用户名枚举“放弃所需信息的一半”,并且应该要求用户设置符合 NIST 标准的强密码短语。



而且,他补充说:“接受帐户可能遭到破坏,因此实施 MFA(多因素身份验证)作为附加障碍。”



本文由机器译制