近日,亚洲的黑帽黑客宣布他们已经成功破解了谷歌和Facebook的验证码服务,并且在他们的研究过程中还设计出了一款能够自动破解验证码服务(验证码服务用于验证当前系统的操作对象是否为自然人)的自动化攻击系统。 验证码是一种区分用户是计算机还是人类的公共安全自动化保护程序。它可以有效地防止黑客利用暴力破解方式来对某一个特定注册用户进行不断的登陆尝试。实际上,采用验证码是现在很多网站通行的安全保障方式,我们利用比较简易的方式就能够实现这个功能。这个问题可以由计算机生成并进行评判,但是必须只有人类才能解答出来。由于计算机无法提供验证码所对应的答案,所以回答出问题的用户就可以被认为是人类。 但是,验证码的设计初衷是为了在方便人类进行操作的同时,防止攻击者的暴力破解攻击。 对于安全风险系数较低的用户而言,网站实际上并不需要在这类用户登录系统的时候要求输入验证码,因为攻击者对他们的数据并不感兴趣。但是对于安全风险系数较高的用户而言,网站应该在注册和登录页面中设置图像加文字的双重验证码来对操作用户的身份进行检测。 这个攻击系统是由哥伦比亚大学的一个三人小组(Suphannee Sivakorn, Jason Polakis, 和Angelos D Keromytis)共同开发出来的。而且该小组的研究人员在上周举办于新加坡的亚洲黑帽黑客大会上也向全世界展示了这一自动化攻击系统。 研究人员利用了2235个验证码来对这款系统进行了测试,根据他们所得出的测试结果,这个攻击系统破解验证码的成功率为70.78%,平均破解一个验证码需要消耗19.2 秒。 除此之外,这一工具还可以对其他网站的验证码服务进行攻击,包括Facebook在其登录页面中所采用的验证码服务。该团队表示,这个系统破解Facebook验证码的成功率高达83.5%。 谷歌公司的安全技术人员在了解到了这一信息之后,便立刻对网站系统验证码的安全性能进行了强化。但是Facebook目前仍然没有就此次事件做出任何回应。 该团队在报告(标题为《我并不是人类:破解谷歌的双重验证码》)中写到:相较于其他类型的验证码破解工具,我们所开发出的这个攻击系统破解验证码服务的效率和速度都是最高的。 该团队还表示:“随着时间的不断推移,人们对于破解图像型的多重验证码也会更加的熟悉和了解,破解的成功率自然而然地也就会慢慢提升。显而易见的是,无论从时间还是效率上出发,我们所开发出的这个系统绝对是性价比最高的选择。” 除此之外,我们的系统还是一个可以进行完全脱机操作的验证码破解系统,而且相比于那些专业的破解程序而言,我们的系统无论是破解成功率,还是破解所需的时间,都是非常客观的,而且还不会增加攻击者的任何成本。 该团队发现,谷歌公司验证码服务的安全控制机制(用于确保用户回答的是正确答案)不会发生改变,所以我们可以采取一系列的方式来绕过它。 研究人员可以在虚拟主机中设置一个合法用户,并提供必要的身份验证标识。然后就可以生成一个空的cookie来破解验证码了。 这也就是那些黑帽黑客之所以能够成功破解验证码服务的原因了。在该团队所提供的概念验证示例中,一个IP地址在二十四小时之内可以破解63000个验证码的cookie内容,而且还不会触发任何的安全警报。 研究人员表示:“我们可以在一天内创建出63000个cookie,不仅不会触发任何形式的安全警报,而且也不会被防火墙屏蔽。目前我们唯一的限制就是设备的物理性能。” “这也就意味着,这些网站中还没有任何的安全保障机制来防止独立IP地址创建cookie。” 研究人员在对系统处理图片验证码的过程进行了研究和分析,并根据处理过程中存在的设计缺陷开发出了这个验证码自动破解系统。 当研究人员对双重验证码的工作机制进行进一步的研究之后,他们发现在图片验证码中,图片都是从一个很小的存储空间里获取得到的,而其中每一张图片都有一个单独的MD5值。但是研究人员可以利用哈希值来识别相同的图片,最常见的验证码图片曾出现过十多次。 自动化的攻击系统能够利用很多人类无法观察到的信息和元数据,再加上深度学习系统的辅助,这个系统就可以创建出备选的验证码图片,并以此来辅助攻击者进行破解。 |