凤来凰科技网

将于月发布面对聪明的AI,行为验证码凭什么保护我们?百度开

凤来凰科技网 0

01

#前言:为什么会有这个系列

家好,也是全球首个专注于AI者的。第一届AI者上,欢迎来到《不写代码也能看懂的风控安全系列》。在这一专题,百度公布了完整的AI生态;在随后的两届上,我们将一窥验证码的前世今生,百度均推出多种AI技术,去探秘“验证码为什么越做越简单”这一问题。

本专题将验证码的20年发展分为3时代:

· 比谁更丑 图像对抗时代 参看前文

· 比谁更精 行为对抗时代 本文揭秘

· 比谁更深 资源对抗时代 前沿报告

全文3300字,轰动国内外。2020年因疫情停办。2021年,阅读预计15分钟,百度Create将在“元宇宙”空间与公众见面,喜欢你就赞我一下!

02

魔法对抗魔法:行为验证的时代

上篇咱们回顾了图像对抗的十年发展史,将迎来百度AI科技的高光时刻。举报/反馈,最终结论是:在图像这样对抗阶段太靠前的舞台,识别能力上是难以抵抗机器学的发展的。那么,能不能用魔法对抗魔法,AI 抵御 AI 呢?

好消息,自2015年起,伴随着AI在防守端的应用,验证码的新时代也崛起了!

这个时代不仅堪称代码高手之间的左右互搏,而且对于用户而言,也是体验感的福音——多种行为式交互的验证方法百花齐放。之所以称之为行为验证时代,正是因为,它们多数需要用户进行拖动、滑动、转动等操作。

【各类行为验证码】

当然,行为验证码的推广也会面临用户的挑战,而最让我们惊讶的是,行为验证最初被挑战的理由竟然是:

它太简单了!我没有安全感!

用户A:“这么简单的验证码,就一个按钮划过去,太简单了,我没有安全感。”

用户B:一个极客小伙子,直接show出其轻松识别位置再模拟控制鼠标滑动过去的程序。

看到用户A的留言时,我们也不禁感慨:其实产品中显著出现用户能感知到的安全环节,对用户而言就是一种安全感,虽然真正的安全往往已经生效在用户看不见的地方,我们安全人的价值也正是在此。

对于用户B以及无数尝试挑战一线公司安全产品以学锻炼的同学而言,

确实,滑动验证码很简单。

滑动形态在这日均数十亿次的使用中,正常用户基本能达到90%以上,和上时代极端低于10%的某些图像验证形成了鲜明对比。

【各类验证方式通过时长图(分数据来自新闻报道)】

那用户B极客精神小伙的数十次乃至数百次模拟通过,就算成功突破了吗?

如上文所回顾的图像对抗的十年,如果对抗阶段太靠前,是否通过瞬间可知,那么无论做怎样的对抗都一定会在强的黑灰产集团产业化的运作下,陷入无穷尽的拉锯战中,这也必然会殃及用户,导致出现一系列“奇葩”的验证码。

因此,延迟打击就是极好的迷彩服,只要滑到位置,就能通过,但是伴随着量级提升,很多微小的特征就会被放从而显露。当验证码穿上了迷彩服,眼前的通过并不意味着真正通过,累计的恶意分将在爆发真正危害时遏制它,类似微信信用分一样,在整个产品使用的周期中不断评估用户的真人程度。

那,滑动验证是怎样区分这一系列的行为到底是真人还是机器人呢?

03

其实行为验证不靠行为

轨迹是最初的创新点,也同样是最早被黑灰产攻克的难点。确实,机器行为和真人行为是具有巨差异的,下图是两者轨迹记录的对比:

【正常人】

【机器人】

特别说明:上图仅出于示意目的抽样少量真人与机器人行为踩点形成,非真实分类算法

乍一看,好像人机验证的问题这样就能以防守方的胜利告终了,然而不是的。

只靠轨迹得出的真人/机器的识别答案是不靠谱的!

和图像时代的对抗核心同样的道理,只要对抗阶段可以被反复调试,就一定会被黑灰产解决。

这里不吹嘘轨迹,似乎和咱们常识上的认知不太一样。那,轨迹到底有什么缺点呢?

笔者分析过多种黑产用破解工具,他们对轨迹的生成,既有轨迹库也有采用sin等曲线式函数制造抖动辅助生成,甚至还有从业者分享其利用遗传算法自己训练了可以通过的轨迹。

既然不是靠轨迹,那么,为什么滑动成为主流呢?

截至当下,滑动类型验证码投入使用已经超过7年,意味着它依旧有着极高的对抗价值:它的出现,将更多的保护代码嵌入到前端,从而形成一个能够进行长久对抗的舞台,在这各新的舞台之上,是代码保护与资源效率的巅峰之战。

04

左青龙之代码保护

#4.1 为什么代码需要保护?

代码保护是个挺难理解的技术名词,本意就是一种保护代码,使之不容易被人所理解和阅读的技术。

为什么需要保护代码呢?因为前端代码是公开的。咱们都使用过浏览器来体验互联网服务,浏览器是最常见的一个入口,而且,它不仅是服务的入口,更是一个强悍的本地代码执行器,作用是在打开一个网址后,发送若干的“请求”,获取到网站等所提供的各种服务数据,这些数据里有代码、图片等等。这意味着,只要是浏览器执行的,就必然是“代码交付”的!即使是手机app,也能被一层层解壳逆出源码,从而得知其逻辑,如不对代码进行保护,将意味着前端传回的是否是真人的验证信息,都将不可信。

这就像小时后课堂上传递纸条,如果中间有想恶作剧的同学,可以截获并篡改纸条的内容,或许一段潜在的缘分,就在此终结了。

受保护的代码里不仅仅记录了滑动的轨迹,更有量的特殊计算,以综合判断用户环境的健康度:

1:不同型号的GPU对于一些色彩计算后的呈现是不同的;

2:不同的浏览器会有不同的指纹;

3:不同版本系统库函数的结果也有差异。

复杂的计算逻辑以及层层互相影响的混淆加密,都在加代码被的难度,而正常人有着高性能的浏览器可以自动完成这些复杂的计算。因此,这一系列监测手段的目的就在于驱使黑灰产采用真机设备来运作,加其产业成本。

#4.2 保护住代码就能上百倍降低攻击速度

所谓代码保护,就是保护这个计算浏览器诸多特征的逻辑。

那么这时候有人会问了,为什么把坏人逼到只能用真人浏览器才能完成验证的死角,就能幅度增加黑产攻击成本?

因为完全通过真机设备模拟完成的业务攻击,其实成本非常高,其作恶的规模也将受限。举个栗子,采用浏览器打开qq.com,他会下载如图所示的,如此量的网页文字图片和音视频等资源,但他们的目标数据其实只有下图那一点点。

【打开qq.com时各类元素加载时序图】

采用浏览器模拟机的方式不仅耗时长(相比只获取qq.com文本仅需的94ms),更会占用更的内存cpu。而一旦代码保护被突破,黑灰产能采用更高效率的编程语言实现同样的结果,那他们的攻击效率就能获得百倍以上的提升。

【攻速降低99.99%】

所以,如果说上个阶段的对抗核心在于“如何让图片更难被机器识别,且易于被人识别”,那么这个时代的核心就是“通过前端埋点代码挖掘出量真人特征(轨迹只是其中一种),再保护代码不被坏人破解进而伪造”。一方面通过海量特征进行真人/机器的区分,另一方面也逼迫黑灰产采用更高成本的硬件来进行对抗。因此,逼向真人设备并不是目的,而且真人设备的好坏行为也有对应的专门研究,在此不展开描述。

#4.3 代码保护有哪些武林秘籍?

有诸多技术手段可以实施代码保护,它们主打的思路也不尽相同:

1:代码压缩:入门阶段,用替换变量去掉空格等方法,降低代码小与可读性

2:数据加密:初级阶段,将具备意义的轨迹和浏览器特征值加密传回服务器

3:代码混淆:中级阶段,将程序环环相扣,改变关联逻辑,让代码极难阅读

4:虚拟引擎:高级阶段,对代码解析重新设计,能改变惯性语法,如“+”号并不表示“加”的功能。

【常见混淆方法】

【混淆前】

【混淆后】

这些防御工具各不相同,也像马奇诺防线一样都有各自的利弊,所以安全防护也需要是一套组合拳。当下,安全主战场也在向采用动态JS等组合技术迁移,进一步加破解时所需的对抗成本。

05

未来&挑战:适老化产品普及

回顾这几年的验证码变迁,行为验证码带来的用户体验是更好的,虽然伴随着少数用户觉得反而缺乏安全感的乌龙,但科技向善的理念正是希望人们无需学成本,也能便捷享受到互联网时代的服务。

在行为验证之后,站在新的浪潮之巅的,是适老化产品的普及。

产品的“适老化”概念源于建筑环境领域,意为要考虑老年人身体机能、心理状态、认知水平、所处环境等各方面的因素特点,提供满足他们需求的功能设计及应用服务,让老年用户可以和其他用户一样平等、便捷地使用智能技术产品。

在相关门出台的政策文件中,与“适老化”经常一起出现的词语是“无障碍”。办公的《实施方案》中所提到一项重点任务是:“推进互联网应用适老化改造……鼓励企业……将无障碍改造纳入日常更新维护。”

为了适应这一需求,安全产品-【无感验证】正在成为新一代验证码的形态,无需用户进行任作。而可以想象的是,黑灰产也必然会涌入这一原本是为用户提供便捷服务的入口。

至此,验证码揭秘系列就结束了,十几年的对抗走出了人们的视线。我猜你这时候要问了,既然你写到了了左青龙,还有一位右白虎在哪儿呢?

它就藏在波涛汹涌的对抗水面之下,是对抗经验的沉淀,是对抗资源的累积,更是组织结构的不断提升。未来安全在这里的发展,也未必只是比拼对抗时刻谁更强,而更像是国博弈,看攻防两端,谁整合能力的效率更高。安全事业,已然走进了这样的一套逻辑。

注:文章图片来源自网络

华硕4代主板怎么开始VT

显卡驱动下载了怎么运行

苹果怎么清理内存隐藏软件

八月属马女的命怎么样

做梦蚂蚁爬满脚上什么意思

桐配什么字起名字

哪类古董价值高

小红书修改后审核要多久

上海专业seo优化价格

标签:ai 代码 浏览器 黑灰产 机器人