人工智慧先驅Arthur Samuel將機器學習描述為一種「開發演算法和統計模型的科學,這些算法和模型可以讓電腦系統根據模式和推理來執行任務,而不需要由人類輸入精確的指令。」機器學習訓練演算法尋找大型資料集的模式和關聯性,並根據分析做出最佳決策和預測。機器學習應用程式會隨著使用不斷改善,存取的資料越多、準確度越高。
在防毒軟體的監督學習中,我們可以假定:給定一組物件特徵X、和對應的物件標籤Y後建立一個模型,該模型將為以前未見過的樣本產生正確的標籤Y。X可以是文件內容、或行為的特徵,如:文件統計資料、使用的API函數列表等),標籤Y可以是「危險檔案」或「正常檔案」,在更複雜的情況下,我們可以細分到病毒、木馬程式、廣告軟體等)。在非監督學習下 ,我們更感興趣的是接露資料的結構,例如:尋找相似物件群組或高度相關的特徵。
各家方法大同小異,此處以卡巴斯基實驗室的多層次防護說明。在卡巴斯基的方案裡,每個檢測方法廣泛利用機器學習,從用於預處理基礎設施中傳入文件流的可擴展集群方法,到直接對用戶行為檢測的深度神經網路模型。 這些技術是為了滿足現實世界的安全應用中機器學習模型的重要需求:任何時候都能保持極低的誤報率、與極高的偵測率。
機器學習又分為監督式與非監督式機器學習:
- 監督式機器學習
監督式機器學習演算法採用已知、現成、已分類的資料集來讓系統從中尋找規律。假設電腦中有數百萬張含有各種動物的照片,形成一個龐大的資料集。由於我們已經知道動物的種類,我們就能對這些照片加以分類並標記好之後再輸入到監督式機器學習演算法來進行學習。如此,督式機器學習演算法就可比對輸入和輸出,也就是照片和被標記的動物種類。最後,演算法就能在看到新的照片時,分辨照片中的動物。
- 非監督式機器學習
非監督式機器學習演算法就像是今日的垃圾郵件過濾器。以前,系統管理員可以讓垃圾郵件過濾器尋找郵件中的某些特定單字,就能偵測垃圾郵件,但這在今日已經很難達成,所以非監督式機器學習演算法在這裡就有了很好的發揮。在訓練時,將未標記的電子郵件輸入到非監督式機器學習演算法,讓它自己尋找這些郵件中的規律;在發現規律的過程中,它就會慢慢學到垃圾郵件長什麼樣子,最後就能夠偵測真實環境中的垃圾郵件。
在這種方法中,預測模型採用一組決策樹的形式(例如:隨機森林、梯度增強)。每個節點都包含一些有關文件特徵,而節點包含決策樹對物件的最後判定決策。在測試階段,模型透過回答具有檢測物件的特徵回饋給決策樹。最後,以特定演算法對多個決策樹的決策進行平均,以提供對物件的最終判定。此模型有利於未知文件在端點執行前進行主動保護,應用之一是用於行動裝置的威脅偵測。
過去用於建立惡意程式足跡的雜湊值對每個微小變化都很敏感,如今駭客透過混淆技術利用了這個缺陷,惡意程式的微小變化就能逃過病毒碼檢測。為了解決這個問題,相似雜湊(或模糊雜湊)是一種檢測相似惡意程式的方法。 為此,端點防護提取檔案特徵並使用正交投影學習法來選擇檔案最重要的特徵,然後使用基於機器學習的壓縮,以便將相似特徵值轉換為相似或相同的模式。這個方法提供泛化的偵測性,並大幅減少病毒碼資料庫的大小,在這個方法下,一筆病毒碼可以偵測整個該惡意程式家族。此模型有利於加強端點上,檔案被執行前的主動保護。
機器學習應用於行為偵測時,監控元件提供行為日誌,這些日誌包含流程執行期間發生的系統事件順序以及對應的參數。為了偵測日誌中的惡意活動,行為偵測將接收的事件順序壓縮為一組二進位向量,並訓練深度神經網路來區分正常日誌和含有惡意活動的日誌。行為偵測的物件分類被卡巴斯基端點產品的靜態和動態偵測模組使用。
在測試階段,機器學習發揮著同樣重要的作用,卡巴斯基將其用於以下基礎設施:
集群分析使我們能夠有效地將接收到的的大量未知文件分類成數個集群,其中一些集群可以根據是否存在已被標記的物件來自動處理。
強大的分類模型,如巨大的隨機決策森林,需要消耗大量處理器與記憶體資源、及昂貴的特徵擷取,如詳細的行為日誌可能需要沙箱處理。因此,要有效地運用分類模型,又減輕使用者負擔,就是在實驗室中保存和運作模型,再透過更大型的模型輸出決策,訓練一些小型模型來擷取這些模型所獲得的資料。
機器學習一旦脫離內部測試進入真實世界,就可能受到四面八方的攻擊,這些攻擊會迫使機器學習犯錯。攻擊者可以毒害訓練資料、或對模型程式碼進行逆向工程。此外,駭客還可以使用專門開發的對抗性人工智慧程式對其進行暴力破解,自動產生攻擊樣本,直到發現模型的弱點。此類攻擊對基於機器學習的防毒軟體可能是毀滅性的,例如將正常程式辨識成惡意程式,導致誤刪重要元件,並造成數百萬美元的損失。
因此,將機器學習應用在資訊安全應考慮一些關鍵因素:
- 廠商應了解、並仔細解決真實又充滿敵意的世界中設計出機器學習的要求,包括面對惡意的駭客。機器學習/人工智慧特定的安全審查和紅隊演練機器學習/人工智慧開發的關鍵組成。
- 在評估機器學習解決方案的安全性時,應詢問該解決方案在多大程度上依賴第三方資料和架構,因為許多攻擊都是基於第三方輸入,這裡的第三方是:威脅情報來源、公開資料集、預先訓練模型和委外建立的機器學習模型。
- 機器學習不應被視為完美的解決方案,它只是多層次防戶的一部份,在這種方法中,不同的技術和專家知識可以互相截長補短。