對傳統驗證碼而言,便捷和安全長期以來一直是魚與熊掌的關係。
這可從 12306 與黃牛多年的鬥爭史中看出。
最先開始,買火車票只需要輸入簡單數字或數字加字母即可,後來有了加減法算式,以宅宅的數學水平勉強可以應付。
直到出現一閃一閃的動態碼和變形字母,第一次體會到眼睛都快看瞎了,還是輸不對的抓狂情況↓↓↓
但這些與後來推出的圖片驗證碼相比,還只是小兒科,一大波網友用自己的 PS 技能大開腦洞,以此吐槽12306 反人類的驗證碼設計↓↓↓
▲網友戲稱不懂娛樂圈、不看動作片的人,沒資格買票回家
越複雜的驗證碼越能保障安全?
12306 拼命把驗證碼弄複雜的原因,目的就是識別出背後同你一起搶票的機器。
作為區分計算機和人類的一種程序算法,驗證碼可有效對抗機器的大批量自動化訪問,這也催生了從事識別驗證碼的各路黑產。
有關驗證碼的黑色產業鏈,雷鋒網此前曾做過相關報導一秒分辨出楊臣剛、王大治和孫楠,這個黑產居然用AI 來"打碼",其中提到的「撞庫」便是黑產慣用的伎倆。
在網絡黑產中,不法分子竊取網站資料庫後,需要確認帳號對應的密碼是否正確,將有價值的數據通過驗證的方式篩選出來,這一過程叫「曬密」,即撞庫。
那這與驗證碼有何關係?
「曬密」最核心的障礙就是網際網路公司設置的驗證碼安全體系。每天面對數以億計的「曬密」需求,黑產分子不可能人工逐個識別,而是需要提高「曬密」效率,批量識別。
如果闖過了驗證碼這關,黑產就可以使用海量的帳號密碼去「薅羊毛」、進行垃圾註冊、搶票等。
在巨大的利益面前,「打碼平臺」這一專業服務便應運而生,下圖就是機器識別數字字母驗證碼的過程。
為了提高黑客的攻擊成本,我們的驗證碼變得越來越複雜,便捷和安全在很長時間中,只能二選一。
但是,近年來隨著人工智慧在圖像識別領域的飛速發展,當機器 PK 肉眼時,還真不一定誰佔上風。
在雷鋒網對「快啊答題」的報導中就提到:
其打碼平臺基於主流 AI 深度學習 Caffe 框架,使用 vgg16 卷積核神經網絡模型,可以直接輸入原始圖像(避免了對圖像的複雜前期預處理),並能通過深度的機器學習來獲得較高的驗證碼識別率。
當機器可以理解圖像的含義時,傳統的驗證碼就不再安全了。
揭秘行為式驗證碼背後的故事
那有沒有一種方法可以同時兼顧安全和用戶體驗?
一家名為極驗的公司,正嘗試通過深度學習,構建生物行為特徵模型來解決上述問題。
創始人張振宇曾用電影中的一個例子來講他們正在做的事情:
在阿湯哥主演的《碟中諜5》中,有個劇情是他們要進入安全機構拿檔案,最開始有指紋識別,後來是人臉識別,但是最終極的安全措施是通過你的步伐來識別進行認證,這就是行為式驗證。
張振宇所提到的驗證方式之一,就是我們所見到的滑動模塊驗證,過程有些像拼圖。
其實這種滑動模塊驗證很多人早已體驗過,相比傳統的驗證碼要識別字母、數字或者點選文字圖像等方式,這種方式的便捷性是可以直接感受到的,那這種方式是如何來保障安全性的?
張振宇向雷鋒網解釋,滑動模塊時,可以根據滑鼠或是觸摸的時間、加速度、上下浮動的頻率等維度來進行分析,然後通過深度學習的方式去建模,找出其中更多維度之間的關聯。
這就是極驗行為式驗證服務的核心技術原理,據雷鋒網了解,今年行為式驗證進行了一次升級,由滑動模塊驗證升級為點選認證。
簡單來說,這款名為「Test-button」驗證產品,不需要經過滑動模塊的動作也可以完成識別,絕大部份正常用戶直接點擊登錄、註冊等按鈕後直接就能完成操作。
這是如何實現的?
張振宇解釋,這是把原來在滑動驗證中才開始識別的過程提前了,網站主將 Test-button 隱藏部署到登陸、註冊等按鈕中,當你點擊這些按鈕時,就能同步就會完成驗證過程。
在和許多客戶深入交流的過程中發現,不論是批量垃圾註冊還是撞庫登錄,薅羊毛還是刷帖刷票等,他們其實真正需要解決的是系統性的業務安全問題,驗證碼是幫助客戶解決問題的一個重要工具,但不是全部。
基於這個訴求,張振宇和團隊結合之前在生物特徵與交互安全上的積累,希望做出針對不同企業的整套安全解決方案。
如果說之前的產品只是針對驗證碼而言,那之後他們希望將基於生物行為的安全模型帶到對整個網絡行為的識別中。
以生物行為特徵構建多尺度安全模型
在最近的2017先知創新大會上,張振宇分享了背後的技術原理。
在底層生物特徵層中,主要專注於非常細微的滑鼠行為或者觸摸行為,由此來判斷產生的數據符不符合生物特徵模式。在這個過程中,會用到CNN(卷積神經網絡)對滑鼠軌跡或觸摸進行人機判別;會從群體維度大規模樣本進行群體分布或者聚類分析,找出異常群體等。這部分技術是極驗之前積累最深厚的。
在動作交互層中,則不再關注滑鼠序列等非常細微的特徵,開始和業務有了進一步的接觸。其中主要有兩種模型,分別是動作模型和交互模型。動作模型就是關注用戶跨頁面的點擊喜好、停頓、速度等行為,交互模型就是關注結構布局、頁面內容、甚至目標用戶群體等,這個也和生物特徵建模密切關聯。
在演講現場,張振宇用下面這張布滿格子的圖,來解釋動作交互層的一個實踐案例。
▲格子化的位置預測
可以把上圖看成是一個普通的網頁,被分為很多的格子,圖中深色的部分,代表這樣的格子間的轉移概率非常大,即我們的滑鼠或是觸屏的活動在這些部位很集中。
這個實驗印證了之前他們的想法,即在不同頁面結構,不同的內容上會形成生物特徵序列的不同模式。利用 RNN(循環神經網絡)對這些格子序列進行訓練模型,還可以做進一步的預測和分析。
在第三層場景模型中,就會和企業業務有更緊密的結合。比如像航空等票務網站,會有具體的選座行為,正常人在這樣的場景下,有相應的目的和習慣。比如我們進入攜程訂機票和去鬥魚看直播,會有不同的行為特徵,可以以此做分析推測。
我們認為所有交互動作,在最宏觀的層面,都是代表了業務意圖的習慣。
在第四層意圖模型中,張振宇更強調通過大規模圖計算來做關聯分析,發現異常的聚集,通過建立數據之間的關聯,可以發現一些傳統的方法做不到的異常。
這四個模型不是單純累加起來,比如生物特徵層的分析,其訓練得到的特徵可以輸入到上一層,去幫助上層建模,同樣在上層分析出的結果,可以指導下層學習的目標,這樣才能有反饋形成閉環,從而把億萬級的生物行為特徵數據所蘊含的『安全』信息釋放出來。
那通過生物特徵識別,真的能保證安全性嗎?
盯著極驗的黑客可不少,在知乎中就有「極驗驗證可以被破解嗎」這一話題,雷鋒網編輯看到,早在 3 年之前,就有黑客針對當時的產品漏洞,在 github上將破解程序開源,並指出當時極驗的前端加密有缺陷。
針對 3 年前的這個破解,張振宇說當時他們也立馬採取了升級模型和前端加密等措施,幾年來團隊也一直在關注這個話題的更新。
如今極驗的客戶數量已經超過20萬家,遭遇各路黑客的攻擊並不少見。
目前的體系是非常嚴密的依靠AI算法進行防禦的體系,會以天甚至是小時來更新迭代。
他坦言,安全永遠是攻防對抗升級的過程,只有知道如何攻擊,安全模型才會更加可靠。