安全對(duì)人工智能的需求 從機(jī)器學(xué)習(xí)到機(jī)器創(chuàng)造
- 來(lái)源:中國(guó)信息化周報(bào) smarty:if $article.tag?>
- 關(guān)鍵字: smarty:/if?>
- 發(fā)布時(shí)間:2017-12-20 11:26
安全人員需要擔(dān)心被人工智能取代工作嗎?今天又被問(wèn)到了這個(gè)問(wèn)題。二十幾年前入學(xué)時(shí)被分在人工智能班,到畢業(yè)正趕上一波人工智能的谷底。當(dāng)年想必同班同學(xué)們都恨不得把“人工智能”幾個(gè)字從畢業(yè)證里摳下去……做語(yǔ)音識(shí)別,自然語(yǔ)言理解,圖像識(shí)別的同學(xué)們絕口不提人工智能。今非昔比,人工智能的新一輪浪潮來(lái)了。這次帶頭的是深度學(xué)習(xí)技術(shù)。當(dāng)下深度學(xué)習(xí)技術(shù)在視覺(jué)、語(yǔ)音中的廣泛應(yīng)用,對(duì)自動(dòng)駕駛的促進(jìn),AlphaGo對(duì)人類棋手的碾壓以及其不斷的進(jìn)化,深度學(xué)習(xí)技術(shù)大有一統(tǒng)天下的味道。在我們安全行業(yè),這種情景也不例外。
人工智能的其他分枝,尤其是傳統(tǒng)機(jī)器學(xué)習(xí)和遺傳算法,其實(shí)在安全的一些領(lǐng)域里早就大有所為。特別是在異常行為檢測(cè),信息分類等場(chǎng)景中。最近很多老朋友也都翻出家底兒,展示自己在安全領(lǐng)域中應(yīng)用人工智能的悠久歷史。
哪些安全問(wèn)題深度學(xué)習(xí)還沒(méi)搞定
與此同時(shí),機(jī)器自動(dòng)攻防、自動(dòng)漏洞挖掘與利用也變成了行業(yè)關(guān)注的方向。美國(guó)DARPA舉辦了CGC全自動(dòng)攻防挑戰(zhàn)賽,國(guó)內(nèi)360與永信至誠(chéng)也辦了RHG機(jī)器自動(dòng)攻防比賽,賽寧XCTF也在全球率先創(chuàng)辦人機(jī)協(xié)同CTF比賽。在當(dāng)下這個(gè)時(shí)間,年輕的安全人員擔(dān)憂未來(lái)行業(yè)前景,可以理解。
再說(shuō)我的觀點(diǎn)前,先扔下兩個(gè)事實(shí)。一個(gè)是去年CGC決賽后的人機(jī)安全對(duì)抗結(jié)果。2016 DEFCON CTF決賽總共15支戰(zhàn)隊(duì),CGC冠軍Mayhem系統(tǒng)最后墊底,輸給了14個(gè)人類戰(zhàn)隊(duì)。
當(dāng)然這只是場(chǎng)比賽,比賽第一天Mayhem接口還有問(wèn)題。但是不要忘記比賽內(nèi)容是為機(jī)器專門(mén)設(shè)計(jì)的,比賽運(yùn)行在與現(xiàn)實(shí)任務(wù)有相當(dāng)差別的簡(jiǎn)化環(huán)境。當(dāng)然其它戰(zhàn)隊(duì)也有自動(dòng)系統(tǒng),對(duì)機(jī)器在安全對(duì)抗的角色我會(huì)后續(xù)討論。不管怎樣,這個(gè)結(jié)果至少說(shuō)明機(jī)器離人類安全戰(zhàn)隊(duì)還有段距離。
另一個(gè)事實(shí)是頂尖安全人員的身價(jià)最近還在持續(xù)飆升。大部分安全問(wèn)題都沒(méi)被深度學(xué)習(xí)搞定。
安全是一個(gè)很廣的領(lǐng)域,這里集中說(shuō)說(shuō)在安全領(lǐng)域里深度學(xué)習(xí)目前最不擅長(zhǎng)的。深度學(xué)習(xí)目前最不擅長(zhǎng)的是安全行業(yè)中的一個(gè)最核心的技術(shù)———也就是黑客中的“黑”這個(gè)動(dòng)作。黑客中的這個(gè)“黑”字,大眾很容易把其想成黑產(chǎn)的黑,或者黑暗的黑。黑客的黑其實(shí)是動(dòng)詞,來(lái)自“hacking”這個(gè)動(dòng)作。什么是“hacking”?我的定義是用非常規(guī)方法解決問(wèn)題的動(dòng)作。
具體到安全問(wèn)題,安全中的“hacking”動(dòng)作是通過(guò)發(fā)現(xiàn)程序的非設(shè)計(jì)功能,通過(guò)組合這些功能,重寫(xiě)并形成新的程序,實(shí)現(xiàn)原來(lái)程序或系統(tǒng)不具有的功能。
舉個(gè)例子,對(duì)于普通用戶來(lái)講,微軟的公式編輯器是一個(gè)用來(lái)在Word文檔或PPT里插入公式的一個(gè)程序。但我告訴你,我給你一個(gè)公式可以讓你的Word程序瞬間變成一個(gè)Spy程序,你相信嗎?安全人員可以做到。這個(gè)例子不是編造的,這只是2017年爆出的眾多漏洞之一。
包括微軟的公式編輯器,大多程序在完成“本職工作”之外,都有各種各樣的“特異功能”。這些特異功能有的是程序員的錯(cuò)誤,但更多是程序本身以及計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)的各種因素造成的。舉一個(gè)現(xiàn)實(shí)生活中的例子,如果把送餐小哥想象成一個(gè)程序的話,用戶這邊只看到訂餐和餐送到的情況。送餐小哥走了哪條線路,路上是否闖紅燈,用戶都看不到(可能也不關(guān)心)。
安全人員可以通過(guò)發(fā)現(xiàn)程序的非設(shè)計(jì)功能,并對(duì)這些功能進(jìn)行組合,從而實(shí)現(xiàn)一些目標(biāo)程序不相關(guān)的功能。例如,如果某個(gè)送餐小哥(程序)在某個(gè)特定地點(diǎn)一定會(huì)闖紅燈的話,就可能被攻擊者利用。程序化地利用目標(biāo)程序的非設(shè)計(jì)功能,這個(gè)過(guò)程就叫做黑(hacking)。
從技術(shù)的角度看“hacking”
“hacking”這個(gè)動(dòng)作具有以下幾個(gè)難度。第一是尋找程序和系統(tǒng)的各種非設(shè)計(jì)功能。第二個(gè)是如何把非設(shè)計(jì)功能變成組件,并有機(jī)地把它們組合起來(lái)。也就是用這些非設(shè)計(jì)功能來(lái)寫(xiě)程序。這些程序不容易寫(xiě),因?yàn)榻M件都不是專門(mén)設(shè)計(jì)好的。如果正常寫(xiě)程序可以看成小朋友用樂(lè)高(Lego)來(lái)搭積木的話,“hacking”是調(diào)皮的孩子用積木廢料來(lái)做小提琴。
而且還是背著大人偷著干的。這是因?yàn)榘踩芯抗ぷ髦?,攻擊方不僅僅要考慮如何用這些非設(shè)計(jì)功能進(jìn)行組合,同時(shí)還要對(duì)抗或繞過(guò)防護(hù)方的各種防御手段。
搞安全研究的大都熟悉ROP、JOP、DOP等攻擊手段,他們的核心就是要把各種程序片段或者對(duì)數(shù)據(jù)的影響按照邏輯串在一起。不僅是要有辦法把這些非設(shè)計(jì)功能片段連起來(lái),為了能做到更全面的攻擊功能,安全研究者們會(huì)研究如何用這些組件實(shí)現(xiàn)圖靈機(jī)。一旦證明這些非設(shè)計(jì)組件可以形成一個(gè)完整的圖靈機(jī)(turing complete)的時(shí)候,安全研究人員也就證明了他們可以在上面寫(xiě)任意程序。研究攻擊和漏洞利用的過(guò)程也就是一個(gè)發(fā)現(xiàn)組件,并用它們搭建圖靈機(jī)的過(guò)程。
歸根結(jié)底,安全中的“黑”(hacking)需要的是一個(gè)創(chuàng)造機(jī)器并在上面編程的技術(shù)。所以,安全的核心需要的不僅僅是做機(jī)器學(xué)習(xí)(machine learning)的人工智能,還需要能夠做機(jī)器創(chuàng)造 (machine creation)的人工智能。
目前這種機(jī)器創(chuàng)造的手段是通過(guò)安全人員基于嚴(yán)密的邏輯進(jìn)行搭建。這個(gè)過(guò)程需要設(shè)計(jì)者充分了解系統(tǒng)里可能存在的組件,并對(duì)組合的方法以及防御引入的障礙了如指掌。解決問(wèn)題的時(shí)候最需要的是精準(zhǔn)的邏輯控制,例如如何將一個(gè)指定指令的寄存器值改成一個(gè)特定的值。這就是為什么像Lokihardt這樣的頂尖黑客可以一騎絕塵。因?yàn)樗麄儽任④浀墓こ處煾畐indows內(nèi)核,比蘋(píng)果程序員更懂safari瀏覽器。
安全研究的新焦點(diǎn)
我們目前還不知道如何用統(tǒng)計(jì)的方法來(lái)搭建復(fù)雜的邏輯系統(tǒng)。當(dāng)下流行的深度學(xué)習(xí)是一種統(tǒng)計(jì)算法。深度學(xué)習(xí)可以幫助很多解決基于統(tǒng)計(jì)的工作。例如對(duì)于樹(shù)木樣子的描述。什么是一棵樹(shù)?人的判斷是通過(guò)經(jīng)驗(yàn)而不是詳細(xì)邏輯定義的。深度學(xué)習(xí)善于幫助人處理沒(méi)有準(zhǔn)確邏輯描述的事情,但目前深度學(xué)習(xí)的邏輯歸納和判斷能力還很弱。帶有推理和強(qiáng)邏輯關(guān)系的深度學(xué)習(xí)也是目前重要的研究方向。
所以我斷言,安全的一個(gè)核心是機(jī)器創(chuàng)造問(wèn)題,目前還沒(méi)法用深度學(xué)習(xí)來(lái)解決。當(dāng)然在這個(gè)機(jī)器構(gòu)造過(guò)程中,是不是有部分問(wèn)題可以用深度學(xué)習(xí)來(lái)協(xié)助。答案當(dāng)然是肯定的。但是深度學(xué)習(xí)對(duì)安全的核心還沒(méi)有什么革命性的推動(dòng),對(duì)頂尖安全人員的需求目前只會(huì)有增無(wú)減。
另外人工智能技術(shù)有很多技術(shù)分枝,包括符號(hào)邏輯推導(dǎo),遺傳算法,機(jī)器學(xué)習(xí),神經(jīng)元網(wǎng)絡(luò)。上面集中說(shuō)深度學(xué)習(xí),但是其它人工智能方法在安全中的應(yīng)用也很廣并有效。年輕人關(guān)注人工智能在安全中的應(yīng)用,不要認(rèn)為人工智能只是深度學(xué)習(xí)。
如果人工智能以后真的進(jìn)化到自動(dòng)機(jī)器構(gòu)造,是不是安全研究人員就失業(yè)了?安全的本質(zhì)是對(duì)抗。當(dāng)人工智能能力提升以后,安全對(duì)抗的對(duì)手能力也就提升了。其實(shí)目前在一些領(lǐng)域,黑產(chǎn)(不是hacking的黑)已經(jīng)開(kāi)始使用深度學(xué)習(xí)技術(shù)。對(duì)抗基于統(tǒng)計(jì)數(shù)據(jù)的人工智能應(yīng)該是安全研究的一個(gè)新焦點(diǎn)。
未來(lái)當(dāng)人工智能達(dá)到能夠自我構(gòu)建機(jī)器并編程的階段后,做安全攻防的研究人員需要考慮的是如何對(duì)抗具有自動(dòng)機(jī)器構(gòu)造能力的對(duì)手。攻防對(duì)抗是無(wú)止境的,只要我們?nèi)祟愡€在。
相關(guān)鏈接
美國(guó)加州大學(xué)伯克利分校教授Dawn Song認(rèn)為,安全將會(huì)成為應(yīng)用人工智能時(shí)最為重大的挑戰(zhàn)。人工智能與網(wǎng)絡(luò)安全是相互作用的。一方面,人工智能讓網(wǎng)絡(luò)安全更高效、更精準(zhǔn),另一方面,如果人工智能受到了干擾或?yàn)E用,會(huì)讓網(wǎng)絡(luò)安全面臨更大的挑戰(zhàn)。
360 IoT 研究院院長(zhǎng) 李康
