?

從機器學習到機器創造

2018-01-15 19:56李康
中國信息化周報 2017年48期
關鍵詞:戰隊機器組件

李康

安全人員需要擔心被人工智能取代工作嗎? 今天又被問到了這個問題。二十幾年前入學時被分在人工智能班,到畢業正趕上一波人工智能的谷底。當年想必同班同學們都恨不得把“人工智能”幾個字從畢業證里摳下去……做語音識別,自然語言理解,圖像識別的同學們絕口不提人工智能。今非昔比,人工智能的新一輪浪潮來了。 這次帶頭的是深度學習技術。 當下深度學習技術在視覺、語音中的廣泛應用,對自動駕駛的促進,AlphaGo 對人類棋手的碾壓以及其不斷的進化,深度學習技術大有一統天下的味道。 在我們安全行業,這種情景也不例外。

人工智能的其他分枝,尤其是傳統機器學習和遺傳算法,其實在安全的一些領域里早就大有所為。特別是在異常行為檢測,信息分類等場景中。 最近很多老朋友也都翻出家底兒,展示自己在安全領域中應用人工智能的悠久歷史。

哪些安全問題 深度學習還沒搞定

與此同時,機器自動攻防、自動漏洞挖掘與利用也變成了行業關注的方向。 美國DARPA舉辦了CGC全自動攻防挑戰賽,國內360與永信至誠也辦了RHG機器自動攻防比賽,賽寧XCTF也在全球率先創辦人機協同CTF比賽。 在當下這個時間,年輕的安全人員擔憂未來行業前景,可以理解。

再說我的觀點前,先扔下兩個事實。一個是去年CGC決賽后的人機安全對抗結果。 2016 DEFCON CTF 決賽總共15支戰隊,CGC冠軍 Mayhem 系統最后墊底,輸給了14個人類戰隊。

當然這只是場比賽,比賽第一天Mayhem接口還有問題。但是不要忘記比賽內容是為機器專門設計的,比賽運行在與現實任務有相當差別的簡化環境。當然其它戰隊也有自動系統,對機器在安全對抗的角色我會后續討論。 不管怎樣,這個結果至少說明機器離人類安全戰隊還有段距離。

另一個事實是頂尖安全人員的身價最近還在持續飆升。大部分安全問題都沒被深度學習搞定。

安全是一個很廣的領域,這里集中說說在安全領域里 深度學習目前最不擅長的。 深度學習目前最不擅長的是安全行業中的一個最核心的技術 ———也就是黑客中的“黑”這個動作。 黑客中的這個“黑”字, 大眾很容易把其想成黑產的黑,或者黑暗的黑。 黑客的黑其實是動詞,來自“hacking”這個動作。 什么是“hacking”? 我的定義是用非常規方法解決問題的動作。

具體到安全問題,安全中的“hacking”動作是通過發現程序的非設計功能,通過組合這些功能,重寫并形成新的程序,實現原來程序或系統不具有的功能。

舉個例子,對于普通用戶來講,微軟的公式編輯器是一個用來在Word文檔或PPT里插入公式的一個程序。 但我告訴你,我給你一個公式可以讓你的Word程序瞬間變成一個Spy 程序,你相信嗎?安全人員可以做到。 這個例子不是編造的,這只是2017年爆出的眾多漏洞之一。

包括微軟的公式編輯器,大多程序在完成“本職工作”之外,都有各種各樣的“特異功能”。 這些特異功能有的是程序員的錯誤,但更多是程序本身以及計算機系統實現的各種因素造成的。 舉一個現實生活中的例子,如果把送餐小哥想象成一個程序的話,用戶這邊只看到訂餐和餐送到的情況。 送餐小哥走了哪條線路,路上是否闖紅燈,用戶都看不到(可能也不關 心 )。

安全人員可以通過發現程序的非設計功能,并對這些功能進行組合,從而實現一些目標程序不相關的功能。例如,如果某個送餐小哥(程序)在某個特定地點一定會闖紅燈的話,就可能被攻擊者利用。 程序化地利用目標程序的非設計功能,這個過程就叫做黑(hacking)。

從技術的角度看“hacking”

“hacking”這個動作具有以下幾個難度。第一是尋找程序和系統的各種非設計功能。 第二個是如何把非設計功能變成組件,并有機地把它們組合起來。 也就是用這些非設計功能來寫程序。 這些程序不容易寫,因為組件都不是專門設計好的。 如果正常寫程序可以看成小朋友用樂高(Lego)來搭積木的話,“hacking”是調皮的孩子用積木廢料來做小提琴。

而且還是背著大人偷著干的。 這是因為安全研究工作中,攻擊方不僅僅要考慮如何用這些非設計功能進行組合,同時還要對抗或繞過防護方的各種防御手段。

搞安全研究的大都熟悉 ROP、JOP、DOP等攻擊手段,他們的核心就是要把各種程序片段或者對數據的影響按照邏輯串在一起。不僅是要有辦法把這些非設計功能片段連起來,為了能做到更全面的攻擊功能,安全研究者們會研究如何用這些組件實現圖靈機。 一旦證明這些非設計組件可以形成一個完整的圖靈機(turing complete)的時候,安全研究人員也就證明了他們可以在上面寫任意程序。 研究攻擊和漏洞利用的過程也就是一個發現組件,并用它們搭建圖靈機的過程。

歸根結底,安全中的“黑”(hacking)需要的是一個創造機器并在上面編程的技術。所以,安全的核心需要的不僅僅是做機器學習(machine learning) 的人工智能,還需要能夠做機器創造 (machine creation) 的人工智能。

目前這種機器創造的手段是通過安全人員基于嚴密的邏輯進行搭建。 這個過程需要設計者充分了解系統里可能存在的組件,并對組合的方法以及防御引入的障礙了如指掌。 解決問題的時候最需要的是精準的邏輯控制,例如如何將一個指定指令的寄存器值改成一個特定的值。 這就是為什么像 Lokihardt 這樣的頂尖黑客可以一騎絕塵。因為他們比微軟的工程師更懂windows內核,比蘋果程序員更懂safari瀏覽器。

安全研究的新焦點

我們目前還不知道如何用統計的方法來搭建復雜的邏輯系統。 當下流行的深度學習是一種統計算法。 深度學習可以幫助很多解決基于統計的工作。 例如對于樹木樣子的描述。什么是一棵樹?人的判斷是通過經驗而不是詳細邏輯定義的。 深度學習善于幫助人處理沒有準確邏輯描述的事情,但目前深度學習的邏輯歸納和判斷能力還很弱。 帶有推理和強邏輯關系的深度學習也是目前重要的研究方向。

所以我斷言,安全的一個核心是機器創造問題,目前還沒法用深度學習來解決。當然在這個機器構造過程中,是不是有部分問題可以用深度學習來協助。答案當然是肯定的。 但是深度學習對安全的核心還沒有什么革命性的推動,對頂尖安全人員的需求目前只會有增無減。

另外人工智能技術有很多技術分枝,包括符號邏輯推導,遺傳算法,機器學習,神經元網絡。 上面集中說深度學習,但是其它人工智能方法在安全中的應用也很廣并有效。年輕人關注人工智能在安全中的應用,不要認為人工智能只是深度學習。

如果人工智能以后真的進化到自動機器構造,是不是安全研究人員就失業了?安全的本質是對抗。 當人工智能能力提升以后,安全對抗的對手能力也就提升了。其實目前在一些領域,黑產(不是hacking的黑)已經開始使用深度學習技術。對抗基于統計數據的人工智能應該是安全研究的一個新焦點。

未來當人工智能達到能夠自我構建機器并編程的階段后,做安全攻防的研究人員需要考慮的是如何對抗具有自動機器構造能力的對手。攻防對抗是無止境的,只要我們人類還在。

相關鏈接

美國加州大學伯克利分校教授Dawn Song認為,安全將會成為應用人工智能時最為重大的挑戰。人工智能與網絡安全是相互作用的。一方面,人工智能讓網絡安全更高效、更精準,另一方面,如果人工智能受到了干擾或濫用,會讓網絡安全面臨更大的挑戰。endprint

猜你喜歡
戰隊機器組件
摸魚戰隊
機器狗
無人機智能巡檢在光伏電站組件診斷中的應用
機器狗
超能磁戰隊
新型碎邊剪刀盤組件
U盾外殼組件注塑模具設計
超能磁戰隊
中國藍戰隊
未來機器城
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合