您的位置:188軟件園 > 資訊頻道 > 智能科學 > 12306的驗證碼已不再安全,未來屬于智能驗證碼

12306的驗證碼已不再安全,未來屬于智能驗證碼

2017-04-26  作者:陌路 

4月13日,中國科學院科技戰略咨詢研究院與騰訊研究院在北京聯合舉辦了“2017人工智能:技術、倫理與法律研討會”,會議邀請了中國科學院科技戰略咨詢研究院院長潘教峰、騰訊研究院院長司曉、中國科學院學部科學規范與倫理研究與支撐中心李真真、復旦大學計算機學院肖仰華等數十位人工智能領域專家和學者,共同探討當前人工智能技術發展中面臨的和帶來的倫理、法律、社會經濟影響等問題。

期間,肖仰華教授做了主題為“未來人機區分——基于語言認知的智能驗證碼”的分享,188軟件園根據現場錄音、PPT、以及采訪內容整理成文。

58fefb5ea68aa.jpg

肖仰華,復旦大學計算機科學技術學院,副教授,博士生導師,上海市互聯網大數據工程技術中心副主任。主要從事大數據管理與挖掘、知識庫等方向的研究工作。

為什么需要驗證碼?

1.jpg

首先,非常高興有機會跟大家來分享我在人機區分方面一些思考和工作。我主要從事計算機研究,近幾年關注的比較多的是人工智能領域的相關研究。在研究不斷開展的過程中我們越來越強烈地意識到一個問題,那就是我們現在已經很難區分計算機背后到底是人還是機器,這就很容易造成一個非常尷尬的局面,我們到底是在跟人交互還是在跟機器交互?我最近聽到一個笑話,有一個人在婚戀網站上談朋友,最后發現是一個機器人在跟他聊天。所以人機區已經成了非常重要的一個議題。

到底怎樣才能有效地區分互聯網的另一端是機器還是人呢?我們計算機領域給出的方案就是驗證碼。這個小小的驗證碼是所有人最熟悉卻又最為陌生的事物,幾乎所有人都使用過驗證碼,但是驗證碼背后的機制與原理卻并不為人所熟知。為什么在登錄系統的時候系統會讓人輸入驗證碼?事實上就是為了做人機區分,系統需要知道是真實的人還是機器在獲取我們的數據,是真實的人在購買還是機器在刷單,是真實的人在購票還是機器在搶票。所以驗證不單單是一件事關乎整個人類身份和尊嚴的事情,同時也是具有重大安全意義的問題,而且已經在保證網站安全、數據安全、運營安全和交易安全等方面發揮了巨大的作用。

    網站安全:垃圾注冊、惡意登錄、賬號盜用

    數據安全:數據爬取、數據破壞

    運營安全:惡意刷單、虛假秒殺、虛假評論

    交易安全:虛假交易、惡意套現、盜卡支付

    為什么傳統的驗證碼已經不安全了?

    但是最近幾年人工智能技術的發展,特別是大數據推動下的人工智能技術的發展,已經使得機器的感知能力達到甚至超越了人類的水平,這個技術趨勢的直接結果是什么呢?就是基于感知能力的人機驗證的方式已然失效。

    1.jpg

    先簡單回顧一下近幾年人工智能發展的趨勢。如果想尋求一個簡單原因來解釋為什么最近幾年人工智能風風火火,或者人工智能為何這么興旺,那么這個原因應該是大數據時代的到來,沒有大數據不可能有人工智能如今的發展。我們現在有著越來越龐大的數據規模,越來越完整的數據生態,這是人工智能跨越式發展的前提和基礎。此外,大數據時代我們的硬件水平呈現出指數級增長的趨勢。現在我們擁有前所未有的計算能力,而這個計算能力仍然在飛速增長。正是計算能力的飛速增長以及大數據的迅速積累為人工智能的跨越式發展奠定了基礎。大數據時代為人工智能的發展可以說帶來前所未有的數據紅利。

    人工智能近期的發展,尤其體現在以深度學習為代表的機器學習方面,近幾年我們看到深度學習在很多領域取得了前所未有的突破。深度學習之所以能夠迅猛發展,其實就是因為有了海量的標注數據,所以大家看到最近很多深度學習方面突破大都來自像Google、Facebook這樣的大公司,為什么?因為他們有海量的數據。

    1.jpg

    以深度學習為代表的人工智能技術快速發展的一個直接結果就是:機器在某些方面的感知能力方面已經達到甚至超越了人類水平。比如微軟在圖像識別方面的準確率達到96.43%,人類只有94.9%。也就是說人去看一個圖像都不一定有機器看得準。百度的DeepSpeech平臺的語音識別錯誤率已經降到3.7%-5.7%之間,而人類的錯誤率仍有4%-9.7%,所以在語音識別方面機器已經超越人類。以深度學習為代表的人工智能技術已經讓機器在視覺、聽覺方面的感知能力大幅進步,在視聽這些基本的感知能力層面人類已經沒有什么好值得驕傲的。現在我們身邊的機器,其感知能力事實上比我們強。

    1.jpg

    這個技術趨勢的直接結果是什么呢?就是大家最為熟悉的圖片驗證方式已經徹徹底底失效。這些結果不是來自什么頂尖的實驗室,而是來自某大學的碩士生課程作業。對于Complex Image這種相對復雜的驗證碼,機器識別的準確率高達98%-99.8%。在人機對比實驗里,人大概10個里面要錯3個,機器10個里面只錯了1個,基本上是機器完敗人類。互聯網上的很多平臺目前還嚴重依賴這類驗證碼,以為能夠防止刷單、刷票等等,但是事實上并不安全。

    1.jpg

    傳統驗證碼可以說已經十分不安全。比如上圖中拖拽驗證碼,已經可以通過自動化程序來破解。而且這樣的破解程序也不需要什么高手才能做出來的,這里演示的是我實驗室同學用來練手的破解項目。先通過圖像處理算法找出方塊的目標位置,由于方塊區位特征明顯,很容易找到。之后設計一個帶參數剛體運動的軌跡模擬模型,參數隨機化之后模擬真人的軌跡拖動,從而實現破解。

    1.jpg

    12306圖形驗證碼

    除了拖拽驗證碼,據說難倒了很多購票者的12306的驗證碼其實也可以被破解。12306的驗證碼本質上在做圖片中的對象識別,因此可以利用已經相當成熟的ImageNet相關算法,而ImageNet相關算法對圖片中的實體識別已經到達很高的準確率。

    1.jpg

    谷歌圖形驗證碼

    此外,就連谷歌圖片驗證碼也可以通過類似的方法被破解。谷歌圖片驗證碼識別的主要難度在其類型多樣:有時是選擇圖片中招牌部分,有時是框出圖上的汽車。但是對于每一類驗證都是有相應的破解方法,特別是對于基于圖片中物體識別的驗證碼,可以用類似ImageNet的相關算法破解。

    如今,幾乎所有的主流的傳統驗證碼都已經被破解,傳統的驗證方式早已不安全。

    未來屬于基于語言認知的智能驗證碼

    出路何在?我的觀點很明確,那就是基于語言認知的人機區分,也就是考驗機器語言認知能力的智能驗證碼,這將會是未來一段時間內的重要選擇。

    1.jpg

    這類驗證碼的基本思路是,讓機器去讀一段文本,然后回答問題。有點類似語文里面的閱讀理解。比如說讓人或機器讀這么一段文本:“某人從復旦大學哲學系畢業,現在是鄭州大學公共學院的導師”,然后問“這個人的在職單位是什么?”人或機器需要點擊包含答案的文本片段才能通過驗證。這類驗證本質上是在考驗人或機器的文本理解能力。對于人而言極為簡單,但是對于機器而言,這是很有難度的。比如剛才的例子,機器有可能回答復旦大學,也有可能回答鄭州大學,但是我們都知道只有鄭州大學是他的在職單位。機器要回答這個問題必須理解這段話講的是什么,必須能夠區分鄭州大學和復旦大學一個是學習單位,一個是在職單位。換言之,機器必須具備像我們人一樣的認知能力,才能破解這樣的驗證碼。但是很遺憾,機器畢竟沒有像人一樣受過十幾年的教育,也就無從具備這樣的文本理解能力。當前機器在認知能力方面,尤其在語言認知方面,至少在未來一段時間窗口內還難以企及人類水平,可能再過二十年、三十年或許能達到這個水平,但是這是二、三十年之后的事情了。

    我們來看看當前人工智能到底有什么問題。當前人工智能的問題集中表現在理解常識的能力和推理能力非常有限。什么叫常識?幾乎所有人都知道,以至于大家都不說的知識,叫常識。比如說太陽是從東邊升起的,人是會走但是不會飛的,魚是會游但是不會走的,雞是有兩條腿,兔子是有四條腿的,類似于這樣的知識,就叫常識。機器普遍缺乏這種常識,因為機器現在所學到的知識都是從文本里面學習來的,但是常識是人人都知道的,所以文本里不會被提及,那就意味著數據里不會存在,因此機器就無從學習。所以機器現在是普遍缺乏常識的。

    我們再想想人為什么具有這種常識?人的常識是通過自身與世界的交互而產生的,我們從胚胎開始就在積累常識,就在感受時間的流逝,感受空間的存在。當你是一個很小的小朋友時你就知道調皮會挨打,所以你就在體驗有因必有果。時間感、空間感、因果感,都是通過身體經年累月的體驗而形成的。人類要想在短短幾十年時間內,把這種通過體驗而得到的知識以一種填鴨式地方式灌輸給機器是很困難的。

    1.jpg

    另外一方面是推理能力有限。我曾經問過很多在線機器人:“奧巴馬是白人嗎?”,很多機器的回答都不準確。事實上,這些機器背后的知乎庫中都存有“奧巴馬是黑人”這樣的事實,但是從“奧巴馬是黑人”推理出“奧巴馬不是白人”,對機器來說就非常困難。另一方面人類的推理是能夠容忍很多異常的。比如說“有翅膀的鳥會飛”,大部分情況下是這樣的,但是你也會發現一些特例,比如企鵝有翅膀不會飛,鴕鳥有翅膀也不會飛。機器只能勝任非黑即白的推理,異常容忍的推理對于機器而言仍很困難,但對于人而言確極為簡單。這里提及的難題目前有一個不成熟的說法,被統稱為AI-Complete問題,也就是說這些問題要等到機器智能達到人類水平的時候才能解決。這明顯是個悖論,但從這一說法可以看出這類問題有多難。

    基于這些認識,我們提出并實現了一種基于知識圖譜的驗證碼。我們有一個目前世界上最大的中文百科知識庫CN-DBpedia。利用自有的知識庫,自動生成自然語言問題,自動判定答案。所有的問題全是自動生成的,理論上可以生成數以億計的問題。同時我們平臺可以自動判定答案,但是機器是不知道答案的,機器必須通過理解才能知道答案。我們的驗證碼還具有交互友好的特性,只要輕輕一點就能通過驗證。

    那么我們的系統是如何知道答案的呢?其實在CN-DBpedia里存儲的是2億多的結構化事實,比如(復旦大學,所在地,上海),基于這些結構化事實,我們通過深度學習模型自動生成自然語言問題,也就是說我們的系統在提問時是已經知道答案的。

    如果要破解我們的驗證碼需要以下幾個技術儲備:

      識別圖片里面的文字以獲取問題

      理解文本以及問題,進而生成答案

      使用一個成熟的涵蓋數億關系知識庫的QA系統

    因此,破解這個驗證碼至少比破解目前流行的圖片驗證碼要難(上述第1步)。文本理解以及知識庫上的QA(188軟件園注:特別是能回答數以億計知識的QA),是目前正在研究和探索的問題,還沒有成熟的解決方案。因此,至少目前,在機器語言認知能力尚未達到人類水平之前,我們的驗證碼是難以破解的。

    1.jpg

    我們的核心技術是從知識庫里面結構化知識自動生成自然語言問題。我們提出了基于生成對抗網絡(GAN)的從結構化三元組生成自然語言問題的模型,從而實現問題的自動隨機生成。理論上有數以億計的候選問題空間,一個真實的用戶是不會兩次碰到相同的問題的,從而保證了驗證的安全可靠。

    1.jpg

    同時,為了進一步提高驗證的安全性,降低對于真實用戶的驗證門檻,提高對于機器驗證的門檻,我們也考慮到了分級驗證。如果是首次登錄的普通用戶,就采用簡單的驗證,如果是高頻訪問的賬號就用復雜驗證,比如說像淘寶的刷單,我們就可以通過組合驗證的方式,將機器拒絕于門外。

    1.jpg

    組合驗證實際上就是通過組合文本理解、圖片識別、軌跡識別等不同驗證碼方式來增加機器破解的難度,從而實現更強的安全驗證。

    1.jpg

    我們的驗證碼終極形式是常識驗證。比如說:“上海GDP僅次于日本東京,問GDP第一的城市是誰?”答案應該是“東京”,回答這類問題本質上是在考驗機器的常識理解能力。常識理解問題可以說是人工智能皇冠上的問題。

    基于語言認知的智能驗證碼具有非常多的應用場景,包括電商平臺防搶單、用戶注冊防僵尸、航旅春運防刷票、發表評論防水軍、信息檢索防爬取、論壇博客防撞庫等等。不僅如此,這種驗證碼還有很多超越人機區分的未來商業應用價值:

      閾下知覺廣告(subliminal advertising):閾下知覺是低于閾限的刺激所引起的行為反應。雖我們感覺不到,但卻能在潛意識中形成記憶,引導之后決策。

      眾包數據標注: 驗證碼是用戶登陸的必經之路,谷歌已經對接了圖片分類問題實現圖片樣本的自動標注、物體識別等。

      訪問權限控制:類似于門衛,在加入某些小眾群體的時候,能起到區分作用,只有知道特定群體知識的人才能回答驗證進入系統。

網友點評

188軟件園為您提供:軟件下載游戲下載資訊教程專題下載等歡迎下載

不良信息舉報郵箱:[email protected]  公安部網絡違法犯罪舉報網站

Copyright ? 2012-2017 188軟件園 All Rights Reserved. 蘇ICP備14008833號-2

'); })();