AI已經學會猜密碼了?如果真是這樣,你還敢用“6個0”“6個8”這樣簡單的密碼嗎?網絡還有安全可言嗎?
一些事之所以聳人聽聞,是因為不明所以。為此,科技日報記者帶著消息請教了中國科學院軟件研究所可信計算與信息保障實驗室主任張振峰,請他詳細講講。
破解的是口令不是密碼
講正題前,插個花絮。單口相聲大王劉寶瑞存世的經典作品里有個《黃半仙》,這位“半仙”捻動須髯,算得出村里張媽的戒指丟在哪,算得出艷陽天的后晌準下雨……卻不是因為他真“仙”,而是他匯總、分析小細節,就能得出正確結論。這和AI的深度學習如出一轍,也就是說,美國這位“艾(AI)半仙”有25%的算中率,仰仗的是大量的基礎數據,分析學習后,才能進行猜測,而不是因為它“天賦異稟”。
那么,問題來了,用于AI深度學習的基礎數據庫從哪兒來?這個技術會不會造成網絡安全危機呢?
“先糾正一個概念,”張振峰說,“這則消息里說的密碼,更準確地說是口令(password),而不是學術上密碼學(cryptology)中研究的密碼。”
它們最直觀的區別是“字符串長度”,口令一般十幾個字符,字符組成的所有可能可以被“窮舉”,而一代RSA密碼算法就有1024位,“窮舉”在計算上是不可行的。打個不太恰當的比喻,攻破口令要踹開的是一扇門,而攻破密碼是要征服一座迷宮。
“現在還沒有研究表明AI能破解密碼算法。”張振峰說,“密碼”被業界認為是互聯網的基礎設施,一個國際標準的商用密碼是非常復雜的,里面包含復雜的密碼算法,凝結了研究人員多年的智慧,很難通過學習基礎數據倒推其中規律,進而破解。張振峰所從事的正是密碼學領域的研究。
AI領軍人物、深圳先進技術研究院副院長湯曉鷗表示,AI很長時間以內是無法超越人類智慧的,也就是說它無法像人類一樣進行創造性的腦力勞動。盡管這樣的研究也在進行中,例如“谷歌大腦”項目,正是要開發出一款模擬人腦的軟件。
猜對25%是怎樣的成績
這次不少報道標題都提到了“25%”的準確率,例如“準確率居然達到25%”“準確率逆天的25%”,潛臺詞是“25%”是個高不可攀的準確率,那事實是不是這樣呢?
張振峰說:“AI獨立猜測成功的比例不到12%,破解軟件HashCat可以做到將近23%,這個25%是AI和HashCat兩種方法相結合得到的數字。”
此外,單從準確率是“25%”判斷它是否有效果是片面的。科學研究的做法是,以準確率為縱軸、實驗攻擊次數為橫軸,得出不同攻擊次數所對應準確率的曲線,“從曲線走向來看,準確率攀升幅度越大,那么口令猜測的成績越好。”
可見,25%既不說明AI嘗試4次就能猜對一次口令,也不說明它破解了1/4人群的口令,這個數字是AI創造出的新口令與它未知的另一部分舊口令比對之后,匹配的概率。
“25%說明AI在一定程度上提高了傳統工具猜測密碼的能力,對于口令強度測試具有積極作用。”張振峰說。
360網絡攻防實驗室負責人林偉告也持類似觀點,他認為該研究可以加速破解口令的人工編程進程,或者用來測試口令的強度。
可供AI學習的數據猛增引擔憂
那么AI破解口令,是怎么做到的呢?
原消息中提到,團隊讓一個人工智能程序利用數千萬個泄露的密碼來學習如何生成新密碼。
數據顯示,2016年,全球已知的用戶數據泄露有40億之多。2017年,這個數據可能更多。“猛增有可能是以前的存量,因為很多服務器的數據泄露,自己并不知情,”張振峰說,“或者即便知道,自己也不愿意主動公布。”
“也有可能是攻擊手段越來越多導致的。”張振峰說。名噪一時的“永恒之藍”背后,是網絡攻擊武器庫的泄露。有消息稱,這些攻擊武器是在明碼標價銷售的。黑客獲得更多的尖端攻擊手段,可能是數據泄露猛增的另一個原因。
“暗網上有很多賣數據的,但并不一定是剛剛被泄露的,有可能有時間差,”張振峰說,“比如,有可能是5年前拿到的數據,因為偷盜的數據也不會是我們認為的‘明碼’,而是服務器變換處理過的,還需要解密。”
無論何種原因,值得擔憂的是,“艾半仙”能用來學習的基礎數據越來越多。
“半仙”是如何修煉的
破解口令,目前大致有暴力攻擊、啟發式攻擊、概率猜測等方式。
張振峰一一解釋:暴力攻擊是最原始的方法,把所有的可能都試一遍,計算機的計算能力越強大,破解越快;啟發式攻擊,也叫字典攻擊,是根據泄露的口令進行分析,把規律“編寫”成“字典”,并結合矯正規則進行猜測,用于攻擊的“字典”不同,攻擊的方式就不同,同等硬件條件下,字典越好,越快破解;概率猜測基于人們設置密碼時,有著和自然語言類似的分布特征,通過數據集計算其概率分布,有些字符組合用的頻率高,猜測就準。諸如國內網民最常用的25組密碼,密碼管理公司Keeper Security公布的2016年最常用的25個密碼等就是這一類猜測依據的“冰山一角”。
AI破解口令是深度學習的一種應用,“它屬于一種啟發式方法,基于數據集來猜測口令,”張振峰說,“看起來還沒有得到實戰驗證,只要用戶在數據泄露之后及時修改自己的口令。”
那么,AI是如何進行口令猜測的呢?
有一個形象的比喻能說明這個過程。AI神經網絡由大量“感知機”相互連接構成。感知機類似于生物神經系統中的神經元。它并非生來就具備強大的功能,而且需要訓練才能掌握技能。例如希望神經網絡通過西瓜的外形判斷瓜的甜度,一開始AI并不懂如何去判斷,這時就需要分別把西瓜的外形和對應的甜度輸入神經網絡,訓練它學習兩者的對應關系。訓練過程實際上是通過學習數據來調整每一個感知機參數的過程。
神經網絡讀取數據樣本后,感知機們會先根據現有模型參數進行計算,然后把輸出的值與真實值進行比較,再將兩者的差距反饋回去,以調整參數。經過反復多次“計算—比對—反饋—調整”的循環后,AI就能判斷個八九不離十了。
但是,實際中,很多時候訓練數據的真實結果信息難以獲得——比如不能把每個瓜切開嘗嘗。這就用到了消息中美國史蒂文斯理工學院團隊利用的“生成對抗網絡”,巧妙避開“無法實時核實密碼”這個問題。簡單地說,研究團隊設計出兩個對抗的系統互相修煉,把獲得數據一分為二,一部分用于生產,另一部分用于核驗。通過訓練,一個系統就像做贗品的畫院學生練成了畫家,另一個系統用“核驗”數據充當“鑒定師”。
“但這些的基礎都是源自已有的數據,這些數據是離線的,該消息中所用數據來自于2010年泄露的數據集合,其口令是明碼存儲在服務器上,而且長度不超過10個字符。”張振峰說。
共0條 [查看全部] 網友評論