事实证明,神经网络早已能够“假装”成人类——我们谈论的是一种新的生成对抗网络 (GAN) 模型,它可以识别 32 个访问过的网站上的验证码系统。
作者:Roberto Iriondo,卡内基梅隆大学机器学习系
免责声明
本文仅供教育目的,旨在告知用户开发网站时可能存在的漏洞。提供信息是为了防止漏洞被利用。网站编辑不支持互联网上任何类型的非法活动。
没有人喜欢验证码(我的意思是,没有人喜欢,因为机器人没有情感)——带有难以阅读的文本的烦人图片,您必须输入这些文本才能访问互联网上的任何内容。 CAPTCHA(告诉计算机和 人类的完全自动化公共图灵测试的 一部分) 旨在防止 自动化 程序恶意使用在线内容(填写表格、请求 访问已关闭的文件、重复登录同一个网站、 ETC。)。她需要确保您是人类而不是机器人。然而,过去曾有人尝试证明验证码系统存在缺陷。但它们都没有像兰卡斯特大学、西北大学和北京大学的研究人员团队提出的机器学习算法那么准确或快速。
算法图:
研究人员使用一小组未合成的验证码来训练验证码合成器。合成器 (1) 用于生成合成验证码 (2),用于训练基本求解器 (3)。然后对基本解算器进行细化,以创建针对非合成验证码的微调解算器。
Adrian Rosebrock是最早展示验证码漏洞的名人之一。 Adrian 在他的《使用 Python 进行计算机视觉深度学习》一书中解释了他如何绕过 E-ZPass 纽约网站上的验证码系统。为了训练他的深度模型,他使用了大量带有验证码示例的图像。
Adrian 的解决方案与兰卡斯特
西北大学和北京科学家的方法的主要区别在于,后者没有使用带有示例的数据集,而是使用生成对抗网络(GAN)合成验证码。几乎整个训练集都由生成的验证码组成,只有一小部分是真实的验证码。
生成对抗网络由 Ian Goodfellow 和其他科学家提出,是由两个神经网络组成的深层架构。这些网络在零和游戏中相互“竞争”,并合成接近原始样本的样本。这在模型无法访问大型数据集的情况下非常有用。
增强营销策略的企业的普遍做法。此类列表通 购买手机号码列表 常被用作接触潜在客户的工具,使公司能够通过短信或电话直接沟通。虽然这些优势看起来很诱人,但购买手机号码列表的后果值得仔细考虑。
研究人员使用 33 个基于文本的验证码方案评估了他们的方法,其中 11 个方案目前被Alexa统计的 32 个最受欢迎的网站所使用。这包括来自谷歌、微软、eBay、维基百科、百度和许多其他公司的方案。为这些系统创建的模型只需要 500 个真实的验证码,而其他模型(包括 Adrian 的模型)则需要数百万个示例。
GAN网络的初始化考虑了如图所示的验证码安全参数:
然后,它生成一个 CAPTCHA 批次,用来自各种验证码方案的 500 个真实图像来训练合成器:
用作合成器训练数据和求解器测试数据的文本验证码方案列表
研究人员使用 2 万个验证码来训练预处理模型,并使用 20 万个生成的验证码来训练基础求解器。
原型是使用Python创建的,预处理模型是在Pix2Pix应用程序中构建的,该应用程序是使用TensorFlow实现的。微调求解器是使用 Keras 制作的。
真实的 Google 验证码和验证码合成器创建的生成版本
使用生成的真实验证码训练 GAN 后,验证码求解器 美国手机号码列表 用于攻击 Megaupload、Blizzard、Authorize、Captcha.net、Baidu、QQ、reCaptcha、Wikipedia 等网站的安全系统。大多数验证码的识别准确率约为 80%,而在 Blizzard、Megaupload 和 Authorize.net 网站上识别准确率为 100%。该方法比之前所有使用大型、未综合训练数据集的解决方案更准确。
验证码求解器与其他四种方法的比较
除了提高准确性之外,研究人员在论文中提到,他们的方法比其他解决方案更高效、更便宜。这是第一个用于验证码识别的开源 GAN 神经网络 – 因此其效率高且成本低。
然而,该模型有一些局限性:例如,字符数可变的验证码。当前的方法使用固定数字 – 如果增加它,原型将无法工作。该模型也不支持详细的照片或视频验证码。理论上,它可以通过训练来摆脱这些限制,但目前它们仍然存在。
您访问的网站应使用更强大的方法来保护其系统
例如机器人检测措施、网络安全诊断和分析。它还应该支持跟踪设备位置、设备类型、使用的浏览器等,因为网站现在已经成为更容易受到攻击的目标。
您是否曾经坐在笔记本电脑前想出一项新业务、产品或解决老问题的方案,结果却被其他任务分散了注意力?只是你的思想混乱,这很正常。为了取得成果,爱德华·德·博诺提出将思维分为六种模式,只关注其中一种,解决特定问题。为了更清楚地说明,每种模式都 合作伙伴营销:您忽略的增长倍增器 发明了一顶彩色帽子(帽子可以是象征性的,也可以是真实的——这完全取决于你的判断)。
– 蓝帽 – 管理和协调
一开始佩戴以表明策略,并随着思维的进展定期佩戴以控制过程。
— 白帽 — 信息和事实。我们分析哪些数据丢失以及在哪里可以找到这些数据。我们会查看哪些数字已经过时以及统计数据是否符合现实。
– 红帽 – 情绪和感受。声明是根据个人经验和偏好做出的,非常适合评估解决方案的设计和美学方面。
– 黑帽 – 批判性思维。识别可能的风险、危险和障碍。红帽子可以很好地减缓意识的流动,但你不能把它戴在它之前,以免破坏创意的导火索。
– 黄帽子 – 乐观
积极的期望和假设。
– 绿帽子 – 创造力。不寻常的创意,甚至具有挑衅性的解决方案。在黑帽之后经常使用的一种思维飞跃,旨在为已识别的问题找到有趣的解决方案。