这样的验证码能抗 AI 吗?

人工智能 卷积神经网络 图像识别 图像分割 特征提取 验证码
2021-10-25 00:20:05

假设我们有一个验证码系统,它由一张灰度图片(街道的一部分或类似于重新验证码的东西)组成,分为 9 个块,缺少 2 个块。

您需要从超过 15 种可能性中选择合适的缺失部分来完成图片。

拼图块的边缘经过毛刺处理,并具有额外的变形,例如重 jpeg 压缩、随机仿射变换和模糊边缘。

每张挑战图片都是独一无二的 - 从超过 300 万张图像的数据集中提取。

神经网络是否有可能可靠地(超过 50%)预测丢失的部分?有时这些是断章取义的,需要人类逻辑来估计正确的部分。

按正确顺序选择两个答案的机会是 1/15*1/14。

2个回答

好吧,给你一个简短的回答,我会说是的,比更标准的验证码方法更具抵抗力......

话虽如此,对于专门为击败您所描述的机制而设计的自定义模型,我仍然会预测 75-80% 的成功预测率。我之所以对这样的评价相当有信心,主要是因为以下几点:

  1. 研究人员已经开始探索的新技术,旨在成为“结构保持卷积”,它利用更高维的过滤器来存储额外的相关数据。

  2. 我认为您提到的混淆工作肯定会在一定程度上有所帮助,尽管通过在数据集上训练模型很容易击败它们,您在预处理期间提取部分样本并注入相同类型的噪声和故障处理等。

    • 一个值得探索的想法是使用对抗模型处理您的数据集,然后您可以使用该模型生成对抗噪声,然后将其输入图像的预处理步骤并替换(或扩展)混淆工作!

TL;DR:如果你不能打败他们,那就加入他们吧!只需训练一个模型来击败您的验证码实现,然后使用该模型生成对抗性示例,然后对您的数据集进行相应的混淆!

有关我在进一步混淆工作的建议中所谈论内容的更多信息,请浏览您可以在 Google Scholar - Ensemble Adversarial Training Examples上找到的一些论文

这根本没有抵抗力。对边界之间边缘像素相似度的简单比较应该足以彻底打破这种方法。

我们可以做一个非常简单的计算。假设图片为 8 位黑白,每个边框为 50x50 像素。还假设分布在 0-255 之间连续均匀(应该可能是正态分布,但无论如何)。您总共有 200 个像素,它们在边界之间相互接壤。假设 在至少 10% 的图像中,自然生成的图像在亮度方面是连续的,具有 +/- 10 个单位的亮度是可以接受的。因此,我们有 20 个像素可以使用。

在图像不正确的情况下,我们假设像素亮度在 [0-255] 范围内是 iid,因此我们大约有 8% (21/256) 的机会使边界周围的每个像素具有可接受的相似性。这给了我们大约 10^-22 这个算法被愚弄的机会。你可能不同意我假设的参数,但坦率地说,我可能在估计下限时过于慷慨了。

这里有两个教训: 1. 仅仅因为你和其他人想不出办法来破坏你的安全系统并不意味着它实际上是安全的。2. 现代机器学习技术并不比手工算法强,尽管我也想一个简单的神经网络可以轻松解决这个问题。