0
Chrome瀏覽器的用戶對于下面這個(gè)框框應(yīng)該不陌生:
當(dāng)你勾選方框,Google會根據(jù)風(fēng)險(xiǎn)分析引擎判定瀏覽網(wǎng)頁的到底“是不是人”。這是一種簡潔又相對有效的人機(jī)識別方式,作用是把一些機(jī)器爬蟲篩掉。
“在網(wǎng)上,沒有人知道你是一條狗?!边@是互聯(lián)網(wǎng)剛剛開始進(jìn)入大眾市場的一句經(jīng)典宣言,現(xiàn)在大數(shù)據(jù)的加持下,這個(gè)結(jié)論可能被動搖了,但是對于網(wǎng)頁和應(yīng)用的所有者來說,他們很多時(shí)候都無法識別網(wǎng)絡(luò)的另一端到底是機(jī)器還是人。
21歲天才少年的創(chuàng)舉
最早遭遇這個(gè)問題的是雅虎。2000年,雅虎郵箱是當(dāng)時(shí)的當(dāng)紅炸子雞,弄潮兒人手一個(gè),是信息收發(fā)的主流方式。一些黑產(chǎn)盯上了這個(gè)渠道,用機(jī)器注冊了大量的馬甲郵箱,用于發(fā)垃圾郵件、網(wǎng)絡(luò)詐騙。一個(gè)時(shí)年21歲的、還在CMU上學(xué)的天才少年路易斯·馮·安給雅虎設(shè)計(jì)了一套人機(jī)驗(yàn)證方案,就是最初的字符驗(yàn)證碼。
當(dāng)時(shí),圖像識別對于計(jì)算機(jī)是個(gè)挑戰(zhàn),對人類而言卻是小菜一碟,通過這種方式,驗(yàn)證碼可以輕松地把黑產(chǎn)攔截在門外。驗(yàn)證碼從此變成了一種身份認(rèn)證標(biāo)配,被廣泛使用在各種網(wǎng)站上,發(fā)明者路易斯·馮·安在計(jì)算機(jī)行業(yè)聲名鵲起。
隨著OCR、計(jì)算機(jī)視覺技術(shù)的發(fā)展,計(jì)算機(jī)在圖像識別上的能力升級,單純基于字符的驗(yàn)證碼被爆破了。為了給機(jī)器制造一點(diǎn)麻煩,安全人員采用了各種辦法去“弄臟”字符,包括字體變形、扭曲、翻轉(zhuǎn)等等。在這個(gè)過程中,路易斯·馮·安還做了一件創(chuàng)舉,當(dāng)時(shí)有很多古書籍、舊報(bào)刊需要電子化,而很多古籍由于印刷質(zhì)量、保存狀況等原因,很多內(nèi)容是OCR無法識別的,路易斯·馮·安想,既然每天有很多人在電腦前識別一些電腦認(rèn)不出來的字符,能不能在做人機(jī)驗(yàn)證的同時(shí)順便把古籍電子化把這個(gè)工作“眾包”給網(wǎng)友?于是,文章開頭的reCaptcha也誕生了。
這是reCaptcha一個(gè)經(jīng)典的交互界面,兩個(gè)字符中其中一個(gè)是計(jì)算機(jī)能判別的,另一個(gè)是古籍上面掃描下來的無法識別的。用戶在輸入驗(yàn)證碼的同時(shí),順便也參與了古籍電子化工作。
2009年,reCaptcha被Google收購,如文章開頭展示的一樣,Google現(xiàn)在很多人機(jī)認(rèn)證的場景都是由reCaptcha在提供技術(shù)支持。
單純從技術(shù)攻防角度,基于字符的驗(yàn)證方式早就被爆破了。無論是變形多厲害的字符,用圖像分割技術(shù)切到一定的顆粒度,采用卷積神經(jīng)網(wǎng)絡(luò)算法也能很準(zhǔn)確地識別出來。騰訊安全曾經(jīng)協(xié)助警方破獲過一個(gè)國內(nèi)的“打碼”團(tuán)伙,他們用AI對驗(yàn)證碼進(jìn)行爆破,爆破率最高可以達(dá)到98%,剩余2% 以用眾包的方式找人去解決。
我們網(wǎng)上看到的“想做兼職嗎?動動手指就能賺錢”的短信,很多時(shí)候就是黑產(chǎn)團(tuán)伙發(fā)的招募信息。一些三四線城市空閑時(shí)間很充裕的用戶坐在電腦前手動輸入一個(gè)個(gè)驗(yàn)證碼,積攢到一定數(shù)量后,從中介手里拿到一定的報(bào)酬。據(jù)不完全統(tǒng)計(jì),這個(gè)鏈條上有百萬級別的從業(yè)者。
但黑產(chǎn)是一個(gè)典型的講究成本收益的“生意”,好比我們隨處可見的家用大門機(jī)械鎖,其實(shí)就是有限的排列組合,只要是小偷精力無限,總有一天能試到一把鑰匙能打開。在驗(yàn)證碼黑灰產(chǎn)也是一樣,AI計(jì)算需要高性能的計(jì)算機(jī)、人工識別需要酬勞,都需要付出成本,目前在無利可圖的網(wǎng)站,字符驗(yàn)證碼還是一種很流行的人機(jī)驗(yàn)證方式。
獨(dú)樹一幟的12306
“一輩子保持對生活和世界的新鮮感和好奇心,不斷探究身邊事物的本質(zhì),虛懷若谷,格物致知,再加上那么一點(diǎn)點(diǎn)運(yùn)氣,你就能通過12306的購票驗(yàn)證了?!?/p>
這是一個(gè)關(guān)于12306的段子,看到的人都會會心一笑。
在驗(yàn)證碼領(lǐng)域,12306絕對是獨(dú)樹一幟的存在,它有著極高的安全系數(shù),不僅有效地?cái)r截住了機(jī)器人、各種自動化搶票助手,也把很多真人攔截在門外。
對大多數(shù)人來說,買火車票是低頻場景,一年可能買不了幾次;加之也沒有第二個(gè)渠道可以買,12306會設(shè)置這樣的驗(yàn)證碼環(huán)節(jié),可能也是吃準(zhǔn)了這一點(diǎn)。但是對于絕大多數(shù)需要顧及用戶體驗(yàn)的服務(wù)提供商來說,過分復(fù)雜的驗(yàn)證碼會讓用戶流失,不可取。
目前應(yīng)用比較廣泛的幾種人機(jī)驗(yàn)證方式,包括上文提過的字符驗(yàn)證、圖像識別(例如“點(diǎn)擊下圖中倒立的文字”)、滑塊驗(yàn)證(例如“拖動鼠標(biāo)完成拼圖”)等等。
滑塊是用戶體驗(yàn)比較友好、同時(shí)安全系數(shù)也相對較高的一種認(rèn)證方式,因?yàn)樗趫D像驗(yàn)證的基礎(chǔ)上往前走了一步,基于采集用戶的行為數(shù)據(jù)、環(huán)境數(shù)據(jù)等等多維度來判斷用戶是人還是機(jī)器,例如人類拖動滑塊一般是先快后慢:先是快速拖到缺口附近,再在缺口附近進(jìn)行精準(zhǔn)地校驗(yàn),并停留片刻釋放;機(jī)器的活動軌跡相對而言比較規(guī)則。
在網(wǎng)上搜索“滑塊驗(yàn)證碼”,有N個(gè)帖子是關(guān)于“如何用***破解滑塊驗(yàn)證”的,很多已經(jīng)被證明有60%以上的識別率,但是識別成本也會比較高。又回到一個(gè)老生常談:沒有攻不破的系統(tǒng)。安全人員要做的事情,就是把攻擊門檻提高,讓黑產(chǎn)覺得投入產(chǎn)出比不值得而放棄。
易用優(yōu)先還是安全優(yōu)先,這是安全人員吾日三省吾身的問題。像票務(wù)網(wǎng)站、炒鞋、電商網(wǎng)站,這些網(wǎng)站的用戶賬號體系很有價(jià)值,對黑灰產(chǎn)而言是“大戶人家”,這些網(wǎng)站在設(shè)置驗(yàn)證碼的時(shí)候,安全性是首要考慮的。
騰訊云防火墻,最近對遠(yuǎn)程登錄的身份校驗(yàn)也進(jìn)行了一次功能升級,采用了賬號密碼+微信雙因子認(rèn)證方式。常規(guī)情況下雙因子認(rèn)證一般需要一個(gè)物理令牌,能保障安全性但是使用體驗(yàn)欠佳,而借助微信輔助身份認(rèn)證,提前對運(yùn)維人員的微信號進(jìn)行授權(quán),就可以通過賬號密碼+微信認(rèn)證遠(yuǎn)程登陸服務(wù)器,解決了一些移動辦公場景下服務(wù)器運(yùn)維的需求。
在可見的未來,驗(yàn)證碼還是一種行之有效的人機(jī)識別方式,安全人員和黑產(chǎn)在在驗(yàn)證碼上的對抗還會持續(xù)。但我們可以稍微寬慰的是,現(xiàn)在市面上大部分驗(yàn)證碼在實(shí)操層面上都是比較難以攻克的,一是單個(gè)驗(yàn)證碼生命周期很短暫,很快會失效;第二個(gè)是驗(yàn)證碼需要很強(qiáng)的圖片識別技術(shù),而且有些圖片只能在前端瀏覽器、客戶端顯示出來,對于根本就沒有前端的服務(wù)器來說,用機(jī)器去跑腳本可能都看不到,也就無法解碼。
除了黑產(chǎn)之外,對于各種密碼、驗(yàn)證碼來說,還有更大的對手,據(jù)騰訊安全云防火墻產(chǎn)品負(fù)責(zé)人周荃推測,就是量子計(jì)算。業(yè)界普遍承認(rèn)的一個(gè)事情,量子計(jì)算被開發(fā)出來了之后,現(xiàn)有的密碼體系和信任體系、網(wǎng)絡(luò)信任體系會全部崩潰,可能最難的密碼可能也只需要幾分鐘的時(shí)間就可以嘗試出來。但安全研究人員也認(rèn)為,后量子時(shí)代正常的密碼也可以設(shè)置得非常復(fù)雜,所有的計(jì)算機(jī)也可以基于量子計(jì)算去設(shè)計(jì)一套密碼,屆時(shí)也會有相應(yīng)的辦法能夠去保護(hù)安全。
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。