验证码的识别与攻防

2020-05-11 12:24黄泊
数字技术与应用 2020年2期

黄泊

摘要:随着网络技术的发展,信息安全问题也不容小觑,大量的羊毛党依靠网络信息安全漏洞窃取商家劳动成果,为电商带来经济上的损失,基于此,本文研究了验证码的识别与攻防。

关键词:验证码;电商网站;羊毛党

中图分类号:TP393.08 文献标识码:A 文章编号:1007-9416(2020)02-0195-02

0 引言

近年来,电商网络安全问题屡见不鲜,前段时间沸沸扬扬的果小云事件给各大电商们上了生动的一课,保护电商们的合法利益势在必行。每年的11月11日,俨然成为了大众的购物狂欢节,制定如此多的营销活动,很有可能由于忙中出乱而导致的信息纰漏,这无疑给了羊毛党可趁之际。因此,加强验证码识别与攻防工作,为电商合法利益筑起最后一道屏障。

1 验证码特征分析

1.1 验证码的特征

(1)验证码由计算机系统生成。(2)验证码的识别难度在普通人的认知范围之内。计算机系统所生成验证码难度识别范围应是常人直接理解的,而且要求人能够快速识别信息并解决它。如果计算机给予一个专业性较强的学术型问题让作为验证码让辨认者识别,即使是合法访问该网站也无法获得进入权限,那么验证码也就失去了其存在的实用价值。(3)计算机很难自动识别验证码。计算机无法推断出验证码验证公式,即使是最简单低级的验证码。验证码和验证信息集合范围必须足够大,这样計算机就无法通过几率事件识别验证码;验证码算法是公开的,以此其算法应该具备单向陷门函数特征,避免出现计算机识别验证方式。

1.2 验证码的形式化定义

当前而言,学术界对于验证码定义、分类及理解并未形成统一的认知,不同学者对于同种类型验证码的定义和描述也各不相同。从验证码特征来看,最贴切的定义为由计算机内部系统生成,防止计算机恶意入侵而人能够轻松识别的一种验证方式。

验证码的通用表达方式为(i,c,f)。其中i代表着验证码的集合范围;c代表验证码验证方式集合;f表示i到c的一对映射。为了降低计算机验证识别的几率,在人能够识别认知范围之内,可适当扩大验证码的集合范围,这样一来就避免计算机猜测识别认证的出现。假设i中存在n个元素,而被计算机随机猜中的概率则为1/n,那么在合理范围内无限扩大i,计算机破解几率也会相应降低;c中的元素需要简单的判断力才能识别出来,计算机缺乏感性思想因而无法轻易识别;f是陷门函数,存在目的在于为了避免计算机根据c中元素猜测出i中的元素。

2 验证码分类及其攻防对策研究

2.1 信息类型分类及其攻防对策

(1)正文验证码是计算机系统自主生成的一串图文,需要辨别者甄别图文中特定的文字。该验证码的攻击关键在于将图文中的字符与背景分离,并利用OCR技术或ASR技术,达到破解验证码的目的。想要提高正文验证码识别难度,可利用各种扭曲变形图案增强文字背景辨别难度,从而提高此类验证码安全性。(2)图像验证码是计算机从内部系统中随机选择的一副图像作为验证手段,辨别者需从图像中甄别特定图像信息,该验证答案并不统一,只适用于特定的验证中。由于该验证方式答案较为集中,仅有为数不多的答案供辨别着参考,容易受到猜测攻击。想要提高此类验证方式识别难度,让辨别者点击图像中包含的特定对象,减少猜测手段的使用。(3)图形验证码是计算机从内部系统中随机选择的一副图片作为验证手段,辨别者只需要甄选与组图相关内容即可完成验证。这种验证手段的缺陷在于忽视了相似性对比的考量。想要提高此类验证方式的辨别难度,可为辨别者提供一组多种类型的图形,并让辨别者从中筛选出特定类型的图片。图形验证码对计算机图形库的储存量有一定要求,以确保将图形选择重复率降至最低。(4)视频验证码是计算机从内部系统中选择一段视频作为验证手段,辨别者只有回答出与视频相关内容才能够完成验证。这种验证方式目前并不常见,通过播放一段视频,要求辨别者回答视频中的所发生的的事件、或视频中人物之间的关系等。(5)音频验证码是计算机中从内部系统中选择一段音频作为验证手段,辨别者通过重复音频中特定的语句完成验证,ASR技术对此类验证方式存在很大的威胁。想要提高此类验证方式识别难度,可用语言相关信息作为验证手段,如讲述一道简单的数学题,让辨别者输入正确答案[2]。

2.2 识别方式分类及其攻防对策

以识别方式为分类依据,验证码可分为显性验证码与隐性验证码两类。显性验证码又名直接验证码,可以让辨别者直接从图形文字中提取关键信息。隐性验证码是需要辨别者根据所提供的图形文字甄选特定信息,例如有些验证码为计算机系统中的生成图形,辨别者需要将图形旋转至正确方向。从当前已有的验证方式看,音频验证安全性最高。

3 验证码通用攻击及其对策研究

3.1 验证码的通用攻击

除了各类技术攻击,人为攻击验证码也十分普遍,常见的有代理人及走私攻击。代理人攻击是指攻击者借助某用户访问该网站的请求完成自己攻击目的,利用网站用户破解验证码,使用户在无意中帮助攻击者完成识别。走私攻击是指攻击者在其控制僵尸网络的僵尸中注入相关的恶意代码插件,当僵尸用户浏览网页或申请某种服务的过程中,攻击者在认为合理的用户操作前拦截其网络交互,然后发给僵尸用户一个攻击者需要解决的验证码,使用户以为是正常服务网站的验证码,并帮助攻击者完成验证。这两类验证码攻击方式都属于借助他人之手完成验证需求,但依靠计算机系统很难解决这类人为攻击手段。可见,当前验证码面临的攻击是来自多方面的,因此验证码的完善与改进还有很长的路要求。

3.2 动态验证码对策

动态验证码需要计算机系统与辨别者双方间的信息互动,很大程度上避免了机器代输验证码状况,有较强的的抵御分类攻击的能力。能否有效抵御代理人及走私攻击,应确保交互验证的程序不会被转发至第三方。因此在用户进入某个网站时,网站服务器首先应获取该计算机用户的IP地址等相关信息,确保验证信息不会传达至陌生IP地址。这样一来,即使第三方IP地址收到验证信息也会因为IP地址不符而无法通过验证。

3.3 隱性验证码对策

在设置隐性验证码时,尽量要求辨别者通过音频或图像表面现场传达深层次的含义,避免出现过于直观的暗示或解读。语言内涵丰富,情感复杂,是智能人工系统无法触及的领域,因此将语义规则作为验证手段,能够有效抵御计算机技术的攻击,另外,Cookie机制的应用也不失为一种有效的防御手段。

4 结语

总之,对于电商而言,验证码的识别与攻防难度直接关乎到他们的切身利益。网络购物的特点是发展速度快、时间短,目前并未有完善法律措施维护电商们的利益,羊毛党的无孔不入使电商蒙受巨大的经济损失,因此,提高验证码识别难度,针对相应的攻击手段完善技术缺陷是十分有必要的。

参考文献

[1] 张会奇.验证码识别的FCM改进算法研究[J].福建电脑,2019(10):31-33.

[2] 汤战勇,田超雄,叶贵鑫,等.一种基于条件生成式对抗网络的文本类验证码识别方法[J/OL].计算机学报,2019:1-18[2020-02-03].

Identification Attack and Defense of  Verification Code

——Take the E-commerce Website to Prevent the Wool Party as an Example

HUANG Bo

(Heyuan Open University, Heyuan  Guangdong  517000)

Abstract:With the development of network technology, the problem of information security should not be underestimated, a large number of wool parties rely on the loopholes of network information security to steal the labor achievements of businesses and bring economic losses to e-commerce, based on this, this paper studies the identification, attack and defense of verification code.

Key words:verification code; e-commerce website; wool party