基于通用对抗扰动的图像验证码保护方法
2021-09-26戴佳筑
舒 乐,戴佳筑
上海大学 计算机工程与科学学院,上海200444
验证码(Completely Automated Public Turing test to tell Computers and Humans Apart,CAPTCHA)是一种反向图灵测试,它的作用是保证网站的访问者确实是人而不是计算机程序,能有效防止计算机程序进行的破解密码、自动刷票、自动发帖等恶意行为。验证码通常会设置一类问题,这种问题很容易被人解决,但是对计算机程序来说却是难题[1],比如基于文字/数字识别的文本验证码、基于图像识别的图像验证码等。然而深度学习的发展使得这些问题对于计算机来说已经不算难题,比如性能优异的卷积神经网络(Convolutional Neural Networks,CNN)模型识别图像的能力甚至已经超越了人类。已经有很多通过深度学习模型成功破解验证码的研究[2-5],传统的验证码已经不再安全。
针对上述问题,有许多研究者致力于研究更加安全的验证码。其中,针对图像验证码的安全性研究分为两类:第一类是在验证码中添加背景噪声或者对验证码进行扭曲变形[6-7];第二类是在验证码中添加对抗扰动(Adversarial Perturbation)[8]。然而,第一类方法在对验证码添加背景噪声或者对验证码进行扭曲变形后,虽然可以在一定程度上保证验证码中的图像不被CNN模型识别,但同时对验证码本身的改变过大,会对人眼的识别造成一定的影响。对抗扰动不同于背景噪声,它是一种人为生成的、能使得CNN模型以很高的概率输出错误分类结果的微小扰动向量,对抗扰动通常可以做到人眼不易察觉,即不会影响人眼对原图像的正常识别。在验证码中添加对抗扰动可以达到既很难让机器识别,又不影响人眼识别的目的。……
