美剧 WestWorld 第二集里有个场景十分有意思:游客来到西部世界公园,遇到了一个漂亮的女接待员,但无法区分对方是否是人类,于是产生了如下对话:
Guest: "Are you real?" -- Are you a Human or a Host?
Host: "If you can't tell, Does it matter?"
可以说科技尤其人工智能的发展,机器人已经足以模拟人类达到以假乱真的地步,不过今天要谈的并不是人工智能、不是机器学习。诚然AI可以在人机识别及诸多方面做得很好(假设有足够的训练样本),但它未必是最好、也不是唯一的选择,至少在我所说的当前场景中。
作为科普和背景铺垫,感兴趣的可以检索:
验证码的前世今生(前世篇)
验证码的前世今生(今生篇)
直入主题,安全领域中爬虫、暴力破解、扫描、DDoS等攻击行为都是通过工具发起,操纵者预设指令而工具去自动执行直到任务完成或出于某种原因中断运行。传统安全机制而言,WAF、IPS等这类产品的确在一定程度能够保护用户免受攻击,但鉴于它们都依赖于特征和规则库又有很多限制。
时代在变化,攻击者也在不断尝试新的机会和场景,比如竞争性爬虫、撞库、薅羊毛、虚假注册、灌水刷评论等等。全局分析时,我们可以认为这些操作都是恶意且应被阻断的,然而单独来看每一个操作又是合法且正常的,没有任何攻击特征,WAF解决不了,代码层面做诸多做限制也解决不了。
没有攻击特征,不代表无法识别,可以肯定的是这些针对业务发起的"定制"攻击绝大多数来自于自动化工具,或者说机器人。然而问题难就难在这里,怎么区分一个请求的发起者是人还是机器?
业务方会做很多事情限制非法机器人的访问,最常见的是使用图形验证码、短信验证码。验证码机制早期确实很有效果,但现在也遭遇着巨大的挑战,比如国内打码平台的出现及使用。另一方面,验证码会对用户体验造成较大伤害,企业不得不做一个安全与使用方便的折中,于是出现了滑块验证码。相比扭曲的图形验证码,理论上基于用户行为的滑块验证码无论从安全级别还是易用性都可以有巨大提升,然

最低0.47元/天 解锁文章
971

被折叠的 条评论
为什么被折叠?



