文|三易生活
如果經(jīng)常在互聯(lián)網(wǎng)上沖浪,想必各種稀奇古怪的驗(yàn)證碼多多少少都會(huì)給你留下深刻的印象。無論是谷歌在九宮格圖片里讓你識(shí)別斑馬線、還是在12306讓你在“一模一樣”的圖片里找不同,驗(yàn)證碼就是這樣一個(gè)讓人又愛又恨的存在,愛的是其確實(shí)讓垃圾郵件、機(jī)器人變少了,而恨的則是實(shí)在是太不人性化。
在諸多奇葩的驗(yàn)證碼里填寫出正確答案,如今也越來越成為用戶上網(wǎng)時(shí)的煩惱。正所謂用戶有需求,就會(huì)有人拿出解決方案。繼WWDC22上蘋果方面推出iOS 16后,日前來自XDA開發(fā)者論壇的相關(guān)消息顯示,在iOS 16的開發(fā)者預(yù)覽版中,官方悄然提供了一個(gè)名為Automatic Verification(自動(dòng)驗(yàn)證)的功能,可以讓iCloud代替用戶處理APP或網(wǎng)站中的驗(yàn)證碼(CAPTCHA)。
簡(jiǎn)單來說,蘋果在iOS 16中帶來的這個(gè)功能,等于說是用機(jī)器來幫人驗(yàn)證自己不是機(jī)器。為什么會(huì)這么說呢?其實(shí)這就要從驗(yàn)證碼的起源說起。早期的互聯(lián)網(wǎng)其實(shí)是自由開放以及混亂無序的,作為當(dāng)時(shí)全球最為知名的產(chǎn)品,雅虎郵箱也是上世紀(jì)末絕大多數(shù)用戶連接網(wǎng)絡(luò)世界的窗口,因此自然也成為了黑產(chǎn)眼中的香餑餑,他們編寫腳本自動(dòng)注冊(cè)了大量的雅虎郵箱、用于發(fā)送垃圾郵件。
彼時(shí),這一問題被雅虎的研究人員寫到了《我們無法解決的十大問題》這篇文章中,而在2001年卡耐基梅隆大學(xué)學(xué)生Luis von Ahn參加雅虎的主題講座時(shí),聽到垃圾郵件泛濫一事后設(shè)計(jì)出了“CAPTCHA”(全自動(dòng)公共圖靈測(cè)試),也就是如今大家熟知的“驗(yàn)證碼”體系。而驗(yàn)證碼技術(shù)的核心理論,就是區(qū)分正常人與機(jī)器,所提出的問題要容易被人解答、并且讓機(jī)器無法解答。
最終,Luis von Ahn發(fā)現(xiàn)人類可以用肉眼,輕易地識(shí)別出在圖片中、被扭曲過、污染過的文字信息,而當(dāng)年電腦并不能做到這一點(diǎn)。隨即在Luis von Ahn這一方案的基礎(chǔ)上,雅虎方面推出了EZ-Gimpy字符驗(yàn)證碼機(jī)制。早期驗(yàn)證碼中往往會(huì)出現(xiàn)一條不規(guī)則橫線覆蓋在需要識(shí)別的詞匯上,這其實(shí)就是在借助早期計(jì)算機(jī)視覺技術(shù)不發(fā)達(dá)的缺陷,讓機(jī)器識(shí)別不出被“污染”的詞匯。
作為一個(gè)反向的“圖靈測(cè)試”,在PC互聯(lián)網(wǎng)時(shí)代早期其確實(shí)起到了不小的作用,遏制了黑產(chǎn)利用自動(dòng)化程序?qū)崿F(xiàn)暴力破解、惡意注冊(cè)、刷票、批量操作的目的。畢竟黑產(chǎn)是一個(gè)典型講究成本收益的“生意”,只要收益不能覆蓋成本就自然會(huì)知難而退。彼時(shí),黑產(chǎn)粗糙的自動(dòng)化腳本面對(duì)字符驗(yàn)證碼確實(shí)是一籌莫展,例如當(dāng)時(shí)百度貼吧使用的反“爆吧”工具就有發(fā)貼需要驗(yàn)證碼的步驟。
但隨著OCR(光學(xué)字符識(shí)別)與計(jì)算機(jī)視覺技術(shù)的發(fā)展,機(jī)器在圖像識(shí)別上的能力升級(jí),使得單純基于字符的驗(yàn)證碼逐漸失效。特別是在二十一世紀(jì)的第二個(gè)十年,機(jī)器學(xué)習(xí)技術(shù)上了一個(gè)臺(tái)階后,卷積神經(jīng)網(wǎng)絡(luò)(CNN)以及生成對(duì)抗網(wǎng)絡(luò)(GAN)在業(yè)界大規(guī)模應(yīng)用后,在海量的數(shù)據(jù)樣本的“喂養(yǎng)”下,讓圖片驗(yàn)證碼也已經(jīng)落伍了。
無論字符的變形程度再高、再厲害,只需用圖像分割技術(shù)切到一定的顆粒度,再用卷積神經(jīng)網(wǎng)絡(luò)算法就能準(zhǔn)確地識(shí)別出來。甚至根據(jù)一項(xiàng)騰訊安全在多年前的爆料信息表明,國內(nèi)當(dāng)時(shí)就已有黑產(chǎn)團(tuán)隊(duì)實(shí)現(xiàn)了對(duì)字符驗(yàn)證碼98%的“爆破”幾率。
為此,互聯(lián)網(wǎng)廠商也紛紛升級(jí)了驗(yàn)證碼相關(guān)技術(shù)。既然純粹的字符、圖片已被攻克,而其核心又是區(qū)分人類與機(jī)器,那么驗(yàn)證碼與相關(guān)知識(shí)的結(jié)合,也使得“做題家”模式開始出現(xiàn),讓用戶需要根據(jù)問題去尋找驗(yàn)證碼的正確答案。
這一時(shí)期,想必有些玩家可能聽過EA旗下Origin平臺(tái)骰子驗(yàn)證碼的大名。這個(gè)驗(yàn)證碼要求用戶從六張骰子圖中,找到一張結(jié)果相加等于特定數(shù)字的圖片,而且要求在限定時(shí)間里連續(xù)答對(duì)15次。此外,最“經(jīng)典”的則莫過于12306的驗(yàn)證碼識(shí)圖了,其不僅讓機(jī)器束手無策、更是難倒了許多用戶。而這些,也使得好好的驗(yàn)證碼變成了考驗(yàn)用戶知識(shí)積累、觀察能力,以及手速的玩意。
顯然,驗(yàn)證碼技術(shù)的問題就出現(xiàn)在了這里,隨著攻防雙方不斷在技術(shù)端的升級(jí),使得其對(duì)用戶的友好性已經(jīng)逐漸消失,并變得極為“反人類”。同時(shí),也有部分廠商借助驗(yàn)證碼技術(shù)來實(shí)現(xiàn)商業(yè)目的,許多朋友可能遇到過谷歌、Meta、Twitter的九宮格圖片驗(yàn)證方式,即“選出下圖中的xxx”類型的的驗(yàn)證碼,雖然表面上是讓用戶標(biāo)識(shí)出特定物品,但背地里是卻借助用戶積累數(shù)據(jù)來訓(xùn)練自己的AI模型。
因此在相當(dāng)長的一段時(shí)間里,許多用戶對(duì)于驗(yàn)證碼可謂是厭煩透頂。為此,驗(yàn)證碼技術(shù)再次升級(jí)為行為驗(yàn)證模式或者說無知識(shí)型驗(yàn)證,如今各平臺(tái)常用的滑塊驗(yàn)證就是其中的典型,其特色就是采集用戶數(shù)據(jù),并借助基于人類固有的生物特征以及操作環(huán)境信息,來綜合決策判斷屏幕前到底是人還是機(jī)器。
比如說看起來簡(jiǎn)單的滑塊驗(yàn)證,盡管看似就是將拼圖拼完整,但是這其中的原理是人類拖動(dòng)滑塊通常是先快后慢,需要先快速拖到缺口附近、再在缺口附近進(jìn)行精準(zhǔn)校驗(yàn),而機(jī)器則往往是勻速拖動(dòng)這一滑塊。
那么問題來了,既然行為驗(yàn)證更為先進(jìn),為什么目前還有許多APP和網(wǎng)站依然在使用傳統(tǒng)的圖文驗(yàn)證碼呢?原因其實(shí)很簡(jiǎn)單,Web前端因?yàn)榇a都是明文形式的腳本語言,行為驗(yàn)證模式的核心就是將不可信的Web前端打造成可信的客戶端,這就需要代碼混淆與行為數(shù)據(jù)加密的支持。然而遺憾的是,很多基于Web的APP或網(wǎng)站并沒有這樣的技術(shù)能力。
無論如何,過去的二十年間互聯(lián)網(wǎng)行業(yè)關(guān)于驗(yàn)證碼的攻防,就一直都帶有非常明顯的身份特征,黑產(chǎn)方面希望攻破驗(yàn)證碼系統(tǒng)來實(shí)現(xiàn)批量化的推送垃圾廣告、機(jī)器人等等行為,而互聯(lián)網(wǎng)廠商則希望用驗(yàn)證碼技術(shù)來保護(hù)賬號(hào)體系的安全和穩(wěn)定。盡管蘋果方面目前并未公開Automatic Verification這一功能的原理,但其無外乎還是生成對(duì)抗網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)等人工智能技術(shù)的應(yīng)用。
誠然,這一自動(dòng)驗(yàn)證功能確實(shí)能夠在一定程度上,幫助用戶從絞盡腦汁填寫驗(yàn)證碼的苦海中脫離,但從技術(shù)倫理的角度出發(fā),這可能是一個(gè)非常危險(xiǎn)的舉措。畢竟在第三方開發(fā)者的視角,自動(dòng)驗(yàn)證功能與黑產(chǎn)的自動(dòng)化腳本其實(shí)并沒有本質(zhì)的區(qū)別,同樣違反了驗(yàn)證碼技術(shù)是用于區(qū)分人和機(jī)器行為的宗旨。