機器學習在網絡安全的應用
機器學習 (Machine learning) 是在計算機系統上實現的一組數學技術,可實現信息挖掘、模式發現和從數據中得出推論。機器學習在網絡安全方面的應用例子,主要可以分為兩大類:模式識別和異常檢測。
在模式識別中,我們試圖發現隱藏在數據中的顯性或潛在特徵。當這些特徵被提煉成特徵集時,可用於教算法識別表現出相同特徵集的其他形式的數據。
異常檢測,則從同一硬幣的另一面,進行知識發現。目標不是學習存在於某些數據子集中的特定模式,而是建立一個描述給定數據集大部分 (例如,超過95%) 的正態性概念。此後,任何形式的偏離這種正常性,都將被檢測為異常。
通過模式識別提取的模式,必須嚴格地從用於訓練算法的觀察數據中推導出來。另一方面,在異常檢測中,可能有無限數量的異常模式,符合異常值的要求,即使是那些源自訓練或測試數據集中,不存在的假設數據的異常模式。
模式識別與異常檢測
垃圾郵件檢測,是模式識別中的經典示例。因為垃圾郵件通常具有一組很大程度上可預測的特徵,並且可以訓練算法,將這些特徵識別為用於對電子郵件進行分類的模式。
除此之外,惡意軟件檢測和殭屍網絡檢測,是明顯屬於模式識別類別的應用程序,當攻擊者使用多態性來避免檢測時,機器學習變得特別有用。
網絡異常值檢測,是異常檢測的典型示例,因為大多數網絡流量,都遵循嚴格的協議,並且正常行為在形式或順序上匹配一組模式。任何無法通過模仿正常流量來偽裝的惡意網絡活動,都將被異常值檢測算法捕獲。
其他與網絡相關的檢測問題,例如惡意網址檢測,也可以從異常檢測的角度來處理。
防禦者可從攻擊中學習
訪問控制是指管理系統用戶,訪問某些信息的能力的任何策略集。訪問控制策略經常用於保護敏感信息,免受不必要的暴露,通常是防止洩露和信息盜竊的第一道防線。機器學習逐漸進入訪問控制解決方案,通過結合無監督學習和異常檢測,此類系統可以推斷組織中某些用戶或角色的信息訪問模式,並在檢測到非常規模式時採取行動。
沒有什麼能阻止防禦者利用機器學習來檢測,所以防禦者可以從攻擊中學習,並相應地調整對策。另一方面,機器學習算法的設計,通常沒有考慮到安全性,並且在面對有動機的對手的嘗試時,往往很脆弱。因此,在為安全目的設計和構建機器學習系統時,保持對此類威脅模型的認識非常重要。
作者簡介:香港電腦學會人工智能專家小組執行委員會成員李子圖