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