在網(wǎng)絡(luò)安全領(lǐng)域應(yīng)用機(jī)器學(xué)習(xí)的困難和對(duì)策
網(wǎng)絡(luò)安全領(lǐng)域的獨(dú)特對(duì)抗屬性給人工智能應(yīng)用落地帶來了重重困難,但我們并不認(rèn)為這最終會(huì)阻礙人工智能成為網(wǎng)絡(luò)安全利器。我們嘗試分析了人工智能在網(wǎng)絡(luò)安全應(yīng)用里的潛在困難,并試著解決它們。
基于機(jī)器學(xué)習(xí)、深度學(xué)習(xí)的網(wǎng)絡(luò)安全應(yīng)用研究是近年來網(wǎng)絡(luò)安全領(lǐng)域里的一個(gè)熱門研究方向。從可見的資料上來看,安全專家已經(jīng)在異常進(jìn)程行為檢測(cè)、惡意代碼檢測(cè)、網(wǎng)絡(luò)入侵檢測(cè)等方面進(jìn)行了廣泛的學(xué)術(shù)研究。但是我們的直觀感受是,主流安全廠商并沒有大規(guī)模部署和使用這些技術(shù),市面上聲稱采用的機(jī)器學(xué)習(xí)、深度學(xué)習(xí)的安全產(chǎn)品也相當(dāng)有限。相比于機(jī)器學(xué)習(xí)、深度學(xué)習(xí)在人臉識(shí)別、推薦系統(tǒng)、輿情監(jiān)督等方面的大規(guī)模成功應(yīng)用,其在網(wǎng)絡(luò)安全領(lǐng)域表現(xiàn)平平必然存在某些特殊的原因。本文將深入探討機(jī)器學(xué)習(xí)、深度學(xué)習(xí)等技術(shù)在網(wǎng)絡(luò)安全領(lǐng)域的應(yīng)用面對(duì)的困難及其相應(yīng)對(duì)策。雖然這些困難并沒有使機(jī)器學(xué)習(xí)、深度學(xué)習(xí)成為網(wǎng)絡(luò)安全領(lǐng)域的一個(gè)不合適的工具,但這些困難卻是導(dǎo)致業(yè)界沒能大規(guī)模采用機(jī)器學(xué)習(xí)、深度學(xué)習(xí)技術(shù)的主要原因。同時(shí)又由于近年來媒體的報(bào)道更傾向于夸大人工智能技術(shù)的成果,而忽略它們所存在的缺陷和困難,顯得導(dǎo)向偏頗。對(duì)此,與決策者而言不應(yīng)該只被其表面的光鮮所迷惑,而應(yīng)該對(duì)人工智能技術(shù)有足夠清晰的認(rèn)知,希望本文能為這方面的認(rèn)知提供一個(gè)可探討的方向。
注// 為了便于下文的表述,以下的內(nèi)容將采用“人工智能系統(tǒng)”指代依靠機(jī)器學(xué)習(xí)或是深度學(xué)習(xí)實(shí)現(xiàn)的安全防護(hù)或檢測(cè)系統(tǒng)。
困難1 | 確定一個(gè)真正需要用到人工智能的任務(wù)
當(dāng)人工智能上升為國家戰(zhàn)略,深度學(xué)習(xí)成為新興技術(shù)。對(duì)于公司決策層而言當(dāng)前應(yīng)思考在結(jié)合目前公司發(fā)展在當(dāng)前階段是否真正需要用到人工智能技術(shù)。首先,需要對(duì)人工智能技術(shù)有足夠清晰和深入的了解。在當(dāng)前階段,人工智能的實(shí)現(xiàn)是由數(shù)據(jù)驅(qū)動(dòng)的。優(yōu)秀的人工智能是建立在海量行業(yè)數(shù)據(jù)的支撐下。其次,人工智能開發(fā)和應(yīng)用階段都是計(jì)算密集型的。雖然所需的軟、硬件計(jì)算環(huán)境與傳統(tǒng)的軟件開發(fā)有著很大的區(qū)別,但其帶來的好處也是相對(duì)可觀。以機(jī)器學(xué)習(xí)為代表的人工智能具備高效、自動(dòng)化、可拓展的特點(diǎn),極大程度上可代替人工處理日常事務(wù)。開啟一項(xiàng)人工智能項(xiàng)目,最大的難題是如何確定一個(gè)真正需要用到人工智能技術(shù)且可具備順利研發(fā)并落地條件的任務(wù)。
對(duì)策
決策者需要在了解人工智能工作機(jī)制和其優(yōu)缺點(diǎn)的基礎(chǔ)上去思考并確定是否要在特定任務(wù)中運(yùn)用人工智能技術(shù)。而在時(shí)機(jī)、成本、團(tuán)隊(duì)、可行性、預(yù)期效果等方面則需要重點(diǎn)考慮。時(shí)機(jī)。思考在解決某特定任務(wù)時(shí)運(yùn)用傳統(tǒng)技術(shù)是否遇到瓶頸和缺陷,進(jìn)而不得不需要研發(fā)下一代技術(shù)。對(duì)此任務(wù),除了人工智能方案是否有其他更行之有效且簡便的方法可以解決。如果沒有其他可行方案,是否已經(jīng)為采用人工智能技術(shù)方案而做好了采集相關(guān)數(shù)據(jù)的工作,或隨時(shí)可以進(jìn)行數(shù)據(jù)采集。只有充分思考這些問題后才能基本確定是否運(yùn)用人工智能技術(shù)的作為解決問題的方案。人工智能不是萬能藥,卻是一種有效但更為復(fù)雜的靈丹。
成本。永遠(yuǎn)別低估人工智能系統(tǒng)的成本投入。無論是開發(fā)還是維護(hù)人工智能系統(tǒng)都需要大量的持續(xù)投入,包括算力資源投入、人力資源投入以及數(shù)據(jù)收集、整理、存儲(chǔ)成本投入等。很多組織沒有足夠的資金承擔(dān)這樣大規(guī)模投放,所以導(dǎo)致項(xiàng)目中途夭折,前期心血付之東流;因此在項(xiàng)目開始前期,需慎重思考是否有足夠的能力承擔(dān)應(yīng)有的成本投入。
團(tuán)隊(duì)。人工智能系統(tǒng)的軟件工程團(tuán)隊(duì)包括問題領(lǐng)域的專家(主題專家)、數(shù)據(jù)科學(xué)家、數(shù)據(jù)架構(gòu)師等專業(yè)人才。這些團(tuán)隊(duì)成員帶來了算法選擇、模型構(gòu)建、模型定制和數(shù)據(jù)管道管理等方面的技能,而這些技能構(gòu)成了人工智能系統(tǒng)的核心。他們共同把控著人工智能系統(tǒng)的性能、可伸縮性、帶寬、資源管理和版本控制等方面的高要求。
可行性。可行性的評(píng)估需要決策者對(duì)特定任務(wù)的本質(zhì)有足夠深刻的理解。某項(xiàng)任務(wù)能否通過人工智能技術(shù)實(shí)現(xiàn)自動(dòng)化,基本上取決于這項(xiàng)任務(wù)的本質(zhì)、能采集到的數(shù)據(jù),以及這兩者之間的關(guān)系。深度學(xué)習(xí)知名人物吳恩達(dá)曾經(jīng)提過一個(gè)經(jīng)驗(yàn)的規(guī)律:“如果一個(gè)普通人做某項(xiàng)任務(wù)的過程中,只需要思考不超過一秒鐘時(shí)間就可以想通,那么這項(xiàng)任務(wù)很有可能可以用 AI技術(shù)自動(dòng)化,現(xiàn)在或者就在不遠(yuǎn)的將來”,那么對(duì)于網(wǎng)絡(luò)安全領(lǐng)域,如果一個(gè)專業(yè)水平在平均值以上的安全技術(shù)人員在某項(xiàng)任務(wù)中經(jīng)過短暫的思考時(shí)間就能想通,那么這項(xiàng)任務(wù)大概率也可以通過AI技術(shù)實(shí)現(xiàn)自動(dòng)化。
預(yù)期效果。對(duì)于預(yù)期效果的預(yù)判,前提是你對(duì)自己定義的任務(wù)和問題主題理解足夠清晰。思考并確定人工智能系統(tǒng)可接受的性能和效率下限,以便工程師迅速接受指令并明確地向此目標(biāo)優(yōu)化系統(tǒng)。當(dāng)然優(yōu)化后的系統(tǒng)也會(huì)不可避免的出現(xiàn)誤報(bào)和漏報(bào)狀況,為此需要盡早確定該任務(wù)對(duì)誤報(bào)和漏報(bào)的敏感度、風(fēng)險(xiǎn)成本的承擔(dān)范圍和處置機(jī)制。人工智能系統(tǒng)同樣存在被繞過的風(fēng)險(xiǎn),對(duì)抗性在網(wǎng)絡(luò)安全領(lǐng)域無處不在,為避免對(duì)抗樣本發(fā)生,怎樣保護(hù)人工智能系統(tǒng)免受攻擊也是一個(gè)需要提前思考的問題。
困難2 | 數(shù)據(jù)泛濫,難以獲取高質(zhì)量的訓(xùn)練數(shù)據(jù)集
網(wǎng)絡(luò)安全領(lǐng)域往往不缺乏數(shù)據(jù)。每天都有無數(shù)攻擊事件發(fā)生,安全廠商的后臺(tái)數(shù)據(jù)庫每天都能收錄無數(shù)的攻擊數(shù)據(jù)。但是單單依靠數(shù)據(jù)的數(shù)量不足以支撐開發(fā)一個(gè)人工智能系統(tǒng),況且這些數(shù)據(jù)中不可避免存在著顯著的冗余。數(shù)據(jù)的質(zhì)量才是真正人工智能的基石。當(dāng)前人工智能還處于弱人工智能的發(fā)展階段,人工智能來自于從海量數(shù)據(jù)中學(xué)習(xí)規(guī)則、模式、特征和經(jīng)驗(yàn)。在機(jī)器學(xué)習(xí)實(shí)現(xiàn)的人工智能工程中,最大的性能改進(jìn)一般來自于更高質(zhì)量的數(shù)據(jù),而不是更復(fù)雜的算法。對(duì)于所有人工智能系統(tǒng)來說,其訓(xùn)練數(shù)據(jù)集的質(zhì)量包括三個(gè)層面:一是數(shù)據(jù)的多樣性,這要求所收集的數(shù)據(jù)包含所研究范圍的各種類型數(shù)據(jù);
二是數(shù)據(jù)的可靠性,即數(shù)據(jù)被準(zhǔn)確標(biāo)識(shí)為是何種類型何種屬性的數(shù)據(jù);
三是數(shù)據(jù)的數(shù)量,即在數(shù)據(jù)采集清理加工去重后,可靠的數(shù)據(jù)的數(shù)量。數(shù)量太少則無法訓(xùn)練出可靠的模型,尤其是采用深度學(xué)習(xí)等參數(shù)眾多的復(fù)雜模型的時(shí)候。
數(shù)據(jù)的收集、清理、標(biāo)注、保護(hù)、監(jiān)視和維護(hù)統(tǒng)稱為人工智能項(xiàng)目的數(shù)據(jù)管理,這將貫穿著從項(xiàng)目立項(xiàng)到項(xiàng)目落地、維護(hù)、迭代的整個(gè)生命周期,且需消耗巨大的時(shí)間和精力,這需要占整個(gè)項(xiàng)目8成以上的時(shí)間。有別于其他領(lǐng)域,網(wǎng)絡(luò)安全領(lǐng)域的人工智能系統(tǒng)項(xiàng)目的數(shù)據(jù)管理,其成本和難度更大,主要是因?yàn)橐韵略颍?1. 變化的環(huán)境。變化的環(huán)境一方面體現(xiàn)在業(yè)務(wù)的多樣性,導(dǎo)致的是白樣本的多樣性;另一方面體現(xiàn)在對(duì)抗環(huán)境下,導(dǎo)致的是惡意樣本的對(duì)樣性;
2. 私有、公開數(shù)據(jù)少,且公開數(shù)據(jù)有效性不好。因?yàn)椴煌瑘?chǎng)景不同用戶的數(shù)據(jù)有差異,公開的數(shù)據(jù)的場(chǎng)景和你所面對(duì)的環(huán)境和場(chǎng)景可能差異巨大而不可用。算法工具通常是開源的,但是好的數(shù)據(jù)集通常是專有的。安全領(lǐng)域更是如此。安全廠商傾向于“隱藏”與安全相關(guān)的數(shù)據(jù),因此通常無法獲得具有代表性的準(zhǔn)確標(biāo)記數(shù)據(jù)(尤其是涉及流量數(shù)據(jù))。擁有龐大優(yōu)質(zhì)的特定領(lǐng)域數(shù)據(jù)集可以成為競(jìng)爭優(yōu)勢(shì)的重要來源。
3. 數(shù)據(jù)加工清洗標(biāo)注專業(yè)性高。標(biāo)注人臉識(shí)別、貓狗分類、垃圾郵件等任務(wù)的數(shù)據(jù),但凡受過基礎(chǔ)教育的人就能勝任,而網(wǎng)絡(luò)安全則屬于專業(yè)性高的行業(yè),標(biāo)注網(wǎng)絡(luò)安全檢測(cè)相關(guān)數(shù)據(jù)集需要專業(yè)的安全工程師才能勝任。
4. 黑樣本種類稀缺,難以集全。這對(duì)于后續(xù)系統(tǒng)的可靠性造成很大的影響。IBM的腫瘤專家顧問系統(tǒng)Watson for Oncology由于提出的治療方案及其相關(guān)建議不安全,被迫終止。經(jīng)過研究人員研究發(fā)現(xiàn),正是由于該軟件只針對(duì)少數(shù)假設(shè)癌癥患者---而非實(shí)際患者數(shù)據(jù)訓(xùn)練而成,采用的黑樣本種類稀少,因此在可靠性方面存在嚴(yán)重的問題。在網(wǎng)絡(luò)安全領(lǐng)域,如果數(shù)據(jù)的黑樣本不夠全面將導(dǎo)致類似的可靠性問題。
5. 數(shù)據(jù)的非結(jié)構(gòu)性。網(wǎng)絡(luò)安全領(lǐng)域所要處理的數(shù)據(jù)無論是網(wǎng)絡(luò)流量、惡意代碼還是惡意文件,大多都是非結(jié)構(gòu)化的數(shù)據(jù),對(duì)此數(shù)據(jù)的加工處理比結(jié)構(gòu)化數(shù)據(jù)要復(fù)雜困難。
6. 數(shù)據(jù)清洗,自動(dòng)化困難,工具少。
1.商業(yè)合作框架下的數(shù)據(jù)資料共享
當(dāng)然這前提是自己已經(jīng)有相當(dāng)?shù)臄?shù)據(jù)積累,合作共享才會(huì)成為可能,在網(wǎng)絡(luò)安全領(lǐng)域的數(shù)據(jù)共享要避免觸犯《網(wǎng)絡(luò)安全法》等法律法規(guī);
2.依賴現(xiàn)有檢測(cè)工具實(shí)現(xiàn)一定程度的自動(dòng)化數(shù)據(jù)采集與標(biāo)注
現(xiàn)有的威脅檢測(cè)工具對(duì)于相應(yīng)的任務(wù)必然還是有相當(dāng)?shù)臋z測(cè)能力的,如果將其改造為自動(dòng)化標(biāo)注工具則可對(duì)應(yīng)解決此問題;
3.隨時(shí)應(yīng)變,因地適宜
對(duì)于先收集數(shù)據(jù)還是先確定任務(wù)課題的問題,沒有標(biāo)準(zhǔn)答案,不同組織選擇可能不一樣。有的組織在收集到大量數(shù)據(jù)后才去考慮能用這些數(shù)據(jù)做什么,有的組織先確定任務(wù),列出所需的數(shù)據(jù)類型,再收集這些數(shù)據(jù)。對(duì)此順序只要是可行的都是可以的。
困難3 | 需要付出昂貴的出錯(cuò)成本
在網(wǎng)絡(luò)安全領(lǐng)域,人工智能往往應(yīng)用于風(fēng)險(xiǎn)檢測(cè)。與許多其他人工智能應(yīng)用相比,風(fēng)險(xiǎn)檢測(cè)出錯(cuò)的相對(duì)代價(jià)非常高。誤報(bào)需要分析師花費(fèi)昂貴的時(shí)間去核查所報(bào)告的風(fēng)險(xiǎn)事件,以確定它是否是良性的。即使是很小的誤報(bào)率也會(huì)使風(fēng)險(xiǎn)監(jiān)測(cè)系統(tǒng)失去實(shí)用性。如表1所示,假設(shè)我們開發(fā)出了一個(gè)準(zhǔn)確率高達(dá)99%的風(fēng)險(xiǎn)監(jiān)測(cè)模型,這樣的準(zhǔn)確率已在眾多人工智能系統(tǒng)中屬于高水準(zhǔn)程度。那么,設(shè)想我們?cè)谀硤?chǎng)景下部署了該模型,部署期間產(chǎn)生良性事件樣本999900個(gè),惡性事件樣本100個(gè),這是相對(duì)合理的設(shè)想,風(fēng)險(xiǎn)事件的發(fā)生相比于正常事件總是極小概率事件。而在這基礎(chǔ)上,將會(huì)發(fā)生9999起錯(cuò)誤的告警,這將導(dǎo)致一系列后果:輕則耗費(fèi)分析師的時(shí)間成本,重則可能影響業(yè)務(wù)系統(tǒng)的正常運(yùn)行。
|
事件總數(shù) |
告警次數(shù) |
識(shí)別為良性 |
||
真惡意事件 |
100 |
99(正確的告警) |
1 |
||
真良性事件 |
999900 |
9999(錯(cuò)誤的告警) |
989901 |
表1:某99%準(zhǔn)確率檢測(cè)系統(tǒng)告警數(shù)量
一方面,漏報(bào)產(chǎn)生的損害是直接的。繞過檢測(cè)的風(fēng)險(xiǎn)可能對(duì)受防護(hù)的系統(tǒng)產(chǎn)生直接的損害,影響正常業(yè)務(wù)的開展,甚至?xí)?yán)重?fù)p害IT基礎(chǔ)設(shè)施。我們認(rèn)為如此高的出錯(cuò)成本是安全廠商需謹(jǐn)慎使用機(jī)器學(xué)習(xí)技術(shù)的最大原因。對(duì)此讓我們進(jìn)一步對(duì)比人工智能在其他領(lǐng)域產(chǎn)生錯(cuò)誤分類的影響,相比之下可能會(huì)更有啟發(fā)。
電商的推薦系統(tǒng)是運(yùn)用人工智能最成功的領(lǐng)域之一。推薦系統(tǒng)很容易容忍錯(cuò)誤,因?yàn)檫@些錯(cuò)誤不會(huì)產(chǎn)生直接的負(fù)面影響。雖然對(duì)賣家來說好的推薦有可能增加銷售額,但壞的建議除了失去交易機(jī)會(huì)需要做出更具誘惑力的推薦策略外,對(duì)于消費(fèi)者而言并沒有任何的傷害。
OCR技術(shù)相比之下也更容易容忍錯(cuò)誤。通??梢杂闷磳懞驼Z法檢查來剔除明顯的錯(cuò)誤,使用統(tǒng)計(jì)語言模型將概率與結(jié)果聯(lián)系起來并對(duì)OCR系統(tǒng)的初始輸出進(jìn)行后處理。此外,用戶還接受了培訓(xùn),這可保證當(dāng)輸出文本有差異時(shí),一定程度上可以讓用戶進(jìn)行人工校對(duì)。相比手動(dòng)驗(yàn)證安全事件告警,驗(yàn)證校對(duì)文字的識(shí)別結(jié)果并不需要專業(yè)的知識(shí),這相比驗(yàn)證安全告警的成本和難度都低得多。
在不同行業(yè)不同場(chǎng)景中,人類對(duì)于人工智能在概率表現(xiàn)方面的期望值有所不同(在安全行業(yè)期望值高容錯(cuò)率低),這也是造成人工智能產(chǎn)品或技術(shù)在網(wǎng)絡(luò)安全領(lǐng)域普及不夠廣泛的原因??偟膩碚f,網(wǎng)絡(luò)安全檢測(cè)系統(tǒng)對(duì)錯(cuò)誤數(shù)據(jù)的容忍更加嚴(yán)格,其他領(lǐng)域運(yùn)用人工智能是在做加法,而網(wǎng)絡(luò)安全領(lǐng)域運(yùn)用人工智能更像是在做減法,挑戰(zhàn)更加巨大。
特征提取方法 |
提取難度 |
識(shí)別準(zhǔn)確率 |
字節(jié)碼的n-grams特征 |
容易實(shí)現(xiàn),成本低 |
60-80% |
Opcodes |
需要反編譯文件,中等工作量和成本 |
85-95% |
執(zhí)行的API調(diào)用 |
工作量大,計(jì)算時(shí)間長 |
90-95% |
表2:某惡意軟件檢測(cè)算法研究的預(yù)測(cè)精度
另一個(gè)挑戰(zhàn)是模型復(fù)雜度與效率的矛盾。一般來說為了得到較低出錯(cuò)率的模型,模型的復(fù)雜度就不能太低,這樣相應(yīng)的復(fù)雜模型的運(yùn)算量也較大。天下沒有免費(fèi)的午餐,如表2所示,更深入本質(zhì)的特征雖然能帶來更好的準(zhǔn)確率,但是獲取難度大,效率低。兩者之間的取舍是一個(gè)巨大的挑戰(zhàn),尤其在安全風(fēng)險(xiǎn)監(jiān)測(cè)系統(tǒng),往往要求對(duì)風(fēng)險(xiǎn)能夠快速實(shí)時(shí)響應(yīng)。
限制誤報(bào)量是任何威脅檢測(cè)系統(tǒng)的首要任務(wù)。朝著減少錯(cuò)誤的方向邁出的最重要的一步是縮小系統(tǒng)的范圍,也就是定義一個(gè)明確的檢測(cè)目標(biāo)。沒有一個(gè)明確的目標(biāo),任何威脅檢測(cè)系統(tǒng)都無法在不影響其檢測(cè)率的情況下,獲得可容忍的誤報(bào)量。另外,使用更粗粒度的特征在適當(dāng)?shù)臅r(shí)間間隔內(nèi)聚合或平均特征對(duì)于減少誤報(bào)也是有用的。最后,我們可以通過在附加信息的支持下對(duì)它們進(jìn)行后處理來減少誤報(bào)。如果我們發(fā)現(xiàn)自動(dòng)化后處理是不可行的,我們?nèi)匀豢梢酝ㄟ^向分析員提供額外的信息來加速人工檢查過程,從而降低出錯(cuò)成本。
困難4 | 對(duì)抗環(huán)境
人工智能系統(tǒng)本身就是一個(gè)軟件系統(tǒng),難免存在可利用的漏洞,也是被攻擊的天然目標(biāo),尤其是作為網(wǎng)絡(luò)安全檢測(cè)防護(hù)系統(tǒng)的一份子的時(shí)候,可以認(rèn)為是處于對(duì)抗環(huán)境中。相比之下,OCR系統(tǒng)的用戶不會(huì)試圖在輸入中添加干擾,甚至?xí)鲃?dòng)提供更高質(zhì)量的輸入數(shù)據(jù);淘寶用戶也不會(huì)有太多的動(dòng)機(jī)去誤導(dǎo)商品推薦系統(tǒng),這對(duì)他們毫無意義。然而在網(wǎng)絡(luò)安全領(lǐng)域則恰恰相反,那些破壞、繞過、欺騙人工智能檢測(cè)系統(tǒng)攻擊者為了能夠達(dá)到他們?nèi)肭值哪康模麄冇谐浞值膭?dòng)機(jī)。至少能從三個(gè)層面體現(xiàn)在對(duì)抗環(huán)境下機(jī)器學(xué)習(xí)系統(tǒng)的風(fēng)險(xiǎn)。數(shù)據(jù)層面,典型的是投毒攻擊。投毒攻擊(poisoning attack)主要是對(duì)人工智能系統(tǒng)在訓(xùn)練模型時(shí)對(duì)需要的訓(xùn)練數(shù)據(jù)進(jìn)行投毒,是一種破壞模型可用性和完整性的誘發(fā)型攻擊。攻擊者通過注入一些精心偽造的惡意數(shù)據(jù)樣本,這些樣本通常帶有錯(cuò)誤的標(biāo)簽和攻擊的性質(zhì),用于破壞原有的訓(xùn)練數(shù)據(jù)的概率分布,從而使訓(xùn)練出的模型的分類或者聚類精度降低,達(dá)到破壞訓(xùn)練模型的目的。由于實(shí)際中應(yīng)用人工智能系統(tǒng)的原始訓(xùn)練數(shù)據(jù)大多是保密的,一般不會(huì)被攻擊者輕易修改,但很多系統(tǒng)為了增強(qiáng)適應(yīng)能力需要定期收集新數(shù)據(jù),進(jìn)行重新訓(xùn)練實(shí)現(xiàn)模型更新,這時(shí)也就給了攻擊者可趁之機(jī)。
使用人工智能技術(shù)對(duì)于攻擊者而言實(shí)際上是帶來更多攻擊面如算法、數(shù)據(jù)等。
在防護(hù)方面,可以考慮以下幾點(diǎn):
1. 對(duì)模型的輸入做嚴(yán)格限制,設(shè)置進(jìn)入模型的樣本過濾條件。過濾條件根據(jù)任務(wù)的專業(yè)領(lǐng)域知識(shí)和模型訓(xùn)練過程中的設(shè)置總結(jié)。比如,某識(shí)別php類型webshell的模型可將輸入設(shè)置為文件后綴.php或.txt且內(nèi)容包含<?php。另一個(gè)可能思路,如訓(xùn)練過程中訓(xùn)練數(shù)據(jù)集單個(gè)樣本最大為2MB,則可以添加過濾條件模型輸入樣本最大為2MB。
2. 從模型本身訓(xùn)練其辨別良性、惡意數(shù)據(jù)的能力。將已知對(duì)抗樣本或自己構(gòu)造的對(duì)抗樣本數(shù)據(jù)添加到模型的訓(xùn)練數(shù)據(jù)集然后訓(xùn)練模型。
3. 在上線部署前,在對(duì)抗環(huán)境下測(cè)試和評(píng)估人工智能系統(tǒng)。在對(duì)抗性情景下或極端情況下測(cè)試系統(tǒng),而不僅僅只是使用正常事件測(cè)試。比如使用噪聲數(shù)據(jù)訓(xùn)練和測(cè)試評(píng)估模型的泛化能力和抗噪能力,在對(duì)抗環(huán)境下或使用投毒數(shù)據(jù)評(píng)估系統(tǒng)的對(duì)抗能力。當(dāng)然也不用對(duì)對(duì)抗環(huán)境帶來的風(fēng)險(xiǎn)過度擔(dān)心,因?yàn)樵诶@過一個(gè)人工智能系統(tǒng),攻擊者需要付出大量的努力、時(shí)間和專業(yè)知識(shí),這往往比繞過正則規(guī)則難得多。
困難5 | 模型可解釋性及該如何取合
人工智能系統(tǒng)的輸出比大多數(shù)其他系統(tǒng)需要更多的解釋。因?yàn)槿斯ぶ悄芟到y(tǒng)引入的不確定性在用戶的某些任務(wù)和場(chǎng)景下可能是不可接受的,往往需要跟客戶溝通做出這種輸出判斷的依據(jù)和緣由。而在其他機(jī)器學(xué)習(xí)的應(yīng)用中,解釋性的問題可能就沒那么重要。大多數(shù)圖像類別識(shí)別的機(jī)器學(xué)習(xí)都可以忽視可解釋性,因?yàn)閳D像屬于什么類型是直觀的,普通人可以毫不費(fèi)勁地辨別結(jié)果的對(duì)與錯(cuò)。同樣,垃圾郵件檢測(cè)器將郵件歸為垃圾郵件,也是很直觀的任務(wù)并沒有太大的解釋空間。然而,作為安全風(fēng)險(xiǎn)檢測(cè)應(yīng)用,其檢測(cè)結(jié)果往往是不直觀的,至少對(duì)非網(wǎng)絡(luò)安全專業(yè)的客戶來說,這時(shí)候的解釋輸出是取得客戶信賴的必要工作。假設(shè)人工智能系統(tǒng)能準(zhǔn)確地發(fā)現(xiàn)以前未知的web服務(wù)器漏洞,而只報(bào)告為“主機(jī)的HTTP流量與正常配置文件不匹配”,即使對(duì)它的警報(bào)足夠信任,運(yùn)維人員也需要花費(fèi)大量的額外精力來弄清楚發(fā)生了什么。
1. 重新設(shè)計(jì)輸出結(jié)果的解釋性
現(xiàn)有的機(jī)器學(xué)習(xí)、深度學(xué)習(xí)模型輸出解釋技術(shù)往往是對(duì)特征的歸因,如果直接展示這些信息很容易變相地為競(jìng)爭對(duì)手或是攻擊者提供模型的敏感信息,增大模型被繞過的風(fēng)險(xiǎn)。我們可以對(duì)結(jié)果重新歸納設(shè)計(jì),隱含模型相關(guān)的細(xì)節(jié),特別是數(shù)值相關(guān)信息要避免呈現(xiàn),對(duì)于輸出結(jié)果的可靠性程度和不確定性避免使用數(shù)值描述,我們可以用“低、中、高”等分級(jí)表述。
2. 解釋結(jié)果的最重要的方面是理解它們的起源
一個(gè)好的解釋常常需要在一個(gè)非常低的層次上把輸入和輸出聯(lián)系起來。
困難6 | 難以全面評(píng)估
對(duì)于網(wǎng)絡(luò)安全領(lǐng)域的人工智能系統(tǒng)而言,設(shè)計(jì)合理完整的評(píng)估方案并不容易,事實(shí)上可能比構(gòu)建識(shí)別模型本身還更困難。全面評(píng)估的最重要的一步是獲取適當(dāng)?shù)臄?shù)據(jù)。在網(wǎng)絡(luò)安全領(lǐng)域,評(píng)估人工智能系統(tǒng)面臨的最重大挑戰(zhàn)是缺乏適合的、公允的、且足夠數(shù)據(jù)量的現(xiàn)成公共數(shù)據(jù)集。即使企業(yè)自己創(chuàng)建測(cè)試數(shù)據(jù)集,也是很難得到足夠數(shù)量和足夠全面的數(shù)據(jù)。以互聯(lián)網(wǎng)流量為例,這是網(wǎng)絡(luò)安全典型的檢測(cè)對(duì)象?;ヂ?lián)網(wǎng)流量是企業(yè)和組織的重要的私有資源,不會(huì)輕易共享。對(duì)于不同的組織不同的業(yè)務(wù),網(wǎng)絡(luò)流量具有多樣性。在小型實(shí)驗(yàn)室網(wǎng)絡(luò)中的流量特征和大型業(yè)務(wù)系統(tǒng)的流量會(huì)顯著不同。即使在單個(gè)網(wǎng)絡(luò)中,網(wǎng)絡(luò)的最基本特征,如帶寬、連接持續(xù)時(shí)間和應(yīng)用程序組合,也會(huì)表現(xiàn)出巨大的變化性,使它們?cè)诙虝r(shí)間(從幾秒到幾小時(shí))內(nèi)流量特征差異也可能極大。更何況,大多數(shù)企業(yè)或組織并沒有獲取相當(dāng)規(guī)模的網(wǎng)絡(luò)流量的條件,即使通過模擬來采集,也會(huì)因?yàn)閿?shù)據(jù)的真實(shí)性和相關(guān)性等對(duì)后續(xù)的人工智能系統(tǒng)帶來難以評(píng)估的不利影響,小環(huán)境分析得出的結(jié)論往往不能推廣到大環(huán)境分析。所以數(shù)據(jù)的不全面帶來的是模型性能評(píng)估的不全面,也就是人工智能系統(tǒng)能檢測(cè)到什么,不能檢測(cè)到什么,可靠性是多少等等難以全面評(píng)估。
不幸的是,目前對(duì)于解決缺乏評(píng)估數(shù)據(jù)的問題,并沒有一個(gè)較好的方案。對(duì)于任何研究來說,需要承認(rèn)自己的評(píng)估數(shù)據(jù)集可能帶來的缺點(diǎn)。盡管很難,還是需要從大范圍的環(huán)境中獲取包含真實(shí)網(wǎng)絡(luò)流量的數(shù)據(jù)集。理想情況下,我們獲取了大量來自不同的網(wǎng)絡(luò)的數(shù)據(jù),因?yàn)闆]有數(shù)據(jù)集是完美的,所以在評(píng)估檢測(cè)系統(tǒng)時(shí),通常需要多個(gè)數(shù)據(jù)集來做支撐。要證明系統(tǒng)能夠通過學(xué)習(xí)適應(yīng)不同的環(huán)境,也需要使用來自多個(gè)來源的數(shù)據(jù)進(jìn)行評(píng)估。對(duì)于類似于互聯(lián)網(wǎng)流量多樣性問題,一種可行的方法是采用聚合。雖然流量特征在中、小時(shí)間間隔內(nèi)高度可變,但在較長時(shí)間段(小時(shí)到天,有時(shí)是周)內(nèi)觀察到的流量特征往往更加穩(wěn)定。
困難7 | 機(jī)器學(xué)習(xí)難以部署和維護(hù)
精心設(shè)計(jì)研發(fā)的機(jī)器學(xué)習(xí)模塊是與現(xiàn)有安全防護(hù)系統(tǒng)的其他部分集成,這會(huì)產(chǎn)生一系列問題和風(fēng)險(xiǎn)。首先是兼容性問題。機(jī)器學(xué)習(xí)、深度學(xué)習(xí)研發(fā)和部署工具的推出時(shí)間往往比實(shí)現(xiàn)現(xiàn)有其他安全防護(hù)系統(tǒng)模塊的工具時(shí)間要晚。Tensorflow 是2015年推出的,PyTorch是2017年才推出的,如果現(xiàn)有防護(hù)系統(tǒng)已運(yùn)行多年,那么在集成中出現(xiàn)底層技術(shù)不兼容概率很大。其次是安全業(yè)務(wù)流程的改變。目前的機(jī)器學(xué)習(xí)應(yīng)用水平通常難以獨(dú)立發(fā)展成一個(gè)成熟的安全防護(hù)應(yīng)用,大多數(shù)時(shí)候會(huì)涉及與現(xiàn)有防護(hù)模塊的互補(bǔ)和協(xié)作,這將需要重新設(shè)計(jì)相關(guān)的業(yè)務(wù)流程。最后是保護(hù)機(jī)器學(xué)習(xí)模塊的完整性和可用性。這可能需要依賴現(xiàn)有的系統(tǒng)保護(hù)機(jī)器學(xué)習(xí)模塊核心組件不被破壞、篡改、偷竊等。因?yàn)閷?duì)手獲取越多關(guān)于模型的信息,繞過模型的成本越低,防護(hù)效果就越差。
開發(fā)團(tuán)隊(duì)?wèi)?yīng)該充分在架構(gòu)設(shè)計(jì)上考慮好安全性、可用性、可靠性、性能、可伸縮性等核心需求。盡可能實(shí)現(xiàn)松散耦合的部署方案,可以擴(kuò)展或替換,以適應(yīng)不可避免的數(shù)據(jù)和模型的變化和算法創(chuàng)新,從而減少每次的更新對(duì)系統(tǒng)其他模塊或是系統(tǒng)基礎(chǔ)結(jié)構(gòu)的影響和更改。
實(shí)現(xiàn)收集反饋閉環(huán)。跟蹤人工智能系統(tǒng)生產(chǎn)環(huán)境下的輸出,形成反饋工作流程,定期分析、反饋檢測(cè)結(jié)果和性能指標(biāo),進(jìn)行發(fā)現(xiàn)薄弱環(huán)境以指導(dǎo)下一步的迭代。應(yīng)該盡可能使用自動(dòng)化的方法來獲取系統(tǒng)輸出的人類反饋,并改進(jìn)(即重新訓(xùn)練)模型。即時(shí)監(jiān)控用戶體驗(yàn)、盡早發(fā)現(xiàn)問題,例如以系統(tǒng)延遲或降低準(zhǔn)確性的形式降低性能。即使是在低交互系統(tǒng)中,也要確保持續(xù)的人類參與,以監(jiān)測(cè)計(jì)算機(jī)是否因無法編碼而進(jìn)行評(píng)估的判斷(實(shí)際的、道德的、道德的、信任的、與風(fēng)險(xiǎn)相關(guān)的),以及是否存在模型篡改或系統(tǒng)誤用的跡象。
參考資料
1.《Robin Sommer and Vern Paxson , “Outside theClosed World: On Using Machine Learning For Network Intrusion Detection”》
2.《 Machine Learning in Cybersecurity a Guide》
3. 《Rules of ml》
4.《人工智能賦能網(wǎng)絡(luò)空間安全:模式與實(shí)踐》
5. 《機(jī)器學(xué)習(xí)安全性問題及其防御技術(shù)研究綜述》
6. 《AI Engineering: 11 Foundational Practices Recommendations for decision makers from experts in software engineering, cybersecurity, and applied artifcial intelligence》