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