本文就網路安全方面的機器學習(Machine Learning,ML) 技術進行解說,內容涵蓋機器學習技術的核心元素,包含其定義、類型及面臨的挑戰。讀者能透過本文瞭解機器學習技術在網路安全方面扮演的角色,並得到評估機器學習技術模型的指導。本文亦有回顧其優勢與使用案例。
瞭解為何需要 AI、ML 及自動化來主動識別風險,並協助 IT 團隊與企業利害關係人做出更明智的決策。
什麼是機器學習技術?
機器學習技術是人工智慧 (Artificial Intelligence,AI) 的子集,能使系統自動識別特徵、分類資訊、尋找資料中的模式、做出決定與預測,以及發掘洞見。系統會接收傳輸而來的歷史資料並使用演算法建立機器學習技術模型,藉此持續訓練系統來提升準確度。
機器學習技術模型的品質取決於兩個關鍵要素,這對於網路安全方面的機器學習尤其重要:
- 輸入資料的品質(即「垃圾進,垃圾出」)
- 演算法與使用案例的契合度
機器學習技術模型演算法的選擇,取決於可用資料的類型及具體的任務內容。
將演算法用於網路安全方面的機器學習技術,其方式範例包含:
- 決策樹(Decision tree) 演算法──用於偵測與分類攻擊
- 降維(Dimensionality reduction) 演算法──用於移除雜訊與無關資料
- K 平均數叢集法──用於偵測惡意軟體
- K 近鄰分類器 (K Nearest Neighbor,KNN) ──用於進行驗證的臉部辨識
- 線性迴歸──用於預測網路安全成果
- 邏輯迴歸──用於詐騙偵測
- 貝氏分類(Naive Bayes) 演算法──用於入侵偵測
- 隨機森林(Random forest) 演算法──用於分類網路釣魚攻擊
- 支援向量機 (Support Vector Machine,SVM 又稱支援向量網路) 演算法──用於分類、偵測及預測列入黑名單的 IP 位址與連接埠位址
「機器學習技術」一詞的起源 |
---|
機器學習技術一詞是由美國科學家亞瑟.塞繆爾 (Arthur Samuel) 於 1959 年所創,他將其定義為「賦予電腦無需經過明確程式設計即可具備學習能力的研究領域」。他開發了世界首批成功運作的機器學習技術程式「塞繆爾跳棋程式」,而該程式在跳棋對弈中的表現更勝於作者本人。 |
機器學習技術的類型
網路安全方面的監督式機器學習技術
網路安全方面的監督式機器學習技術(Supervised Learning,SL),其應用方式為分類資料或預測成果。這項技術會使用已標記資料集來訓練演算法,並搭配指定的輸入與輸出內容定義需評估相關性的變數。在交叉驗證流程中,當模型接收到輸入資料後,便會調整其權重直到達成適當擬合,避免出現過度擬合或低度擬合的情況。
監督式機器學習技術在網路安全方面有多種應用方式,包含:
- 識別網路風險的獨特標籤,例如掃描與欺騙
- 預測或分類特定安全威脅的目標變數(例如分散式阻斷服務攻擊,即 DDoS 攻擊)
- 透過善意與惡意樣本訓練模型,協助其預測新樣本是否屬於惡意類別
除了用於網路安全方面的機器學習技術外,監督式機器學習技術還能應用於:
- 二元分類──將資料分為兩個類別
- 多元分類──從超過兩種類型的答案中進行選擇
- 迴歸建模──預測連續數值
- 整體學習──結合多個機器學習技術模型的預測內容,從而產生準確的預測結果
監督式機器學習技術在網路安全方面所使用的技術範例:
- 調適型增強與羅吉斯迴歸
- 線性迴歸
- 邏輯迴歸
- 貝氏分類
- 神經網路
- 隨機森林
- 支援向量機 (SVM)
網路安全方面的強化式機器學習技術
強化式機器學習技術(Reinforcement Learning,RL) 是一種用於網路安全方面的機器學習技術模型,與監督式機器學習技術類似,但強化式機器學習技術並非使用樣本資料,而是透過嘗試錯誤法來訓練演算法。演算法會在訓練過程中接收到正面或負面的提示,並依其程式設計而尋求肯定、迴避懲罰。
強化式機器學習技術常用於教導機器完成已明確定義規則的多步驟流程,例如訓練機器人。
強化式機器學習技術在網路安全方面有多種應用方式,包含:
- 透過對抗模擬來訓練 ML 模型,使其能即時識別並回應攻擊
- 自動化入侵偵測
- 網路實體系統
- 分散式阻斷服務 (DDoS) 防禦
除了用於網路安全方面的機器學習技術外,強化式機器學習技術也常應用於下列情況:
- 環境模型已知,但沒有可用的解析
- 僅給予環境模擬模型
- 與環境互動是唯一能夠蒐集環境資訊的方式
強化式機器學習技術在網路安全方面所使用的技術範例:
- 深度確定性
- 深度 Q 網路 (Deep Q Network,DQN)
- 策略梯度 (Deep Deterministic Policy Gradient,DDPG)
網路安全方面的非監督式機器學習技術
網路安全方面的非監督式機器學習技術,其應用方式為分析與對未標記的資料集(例如照片影像、音訊與視訊錄製檔案、文章或社群媒體貼文)執行叢集。這項技術能夠在無人為介入的情況下發現隱藏的模式或資料群組。
演算法會掃描資料集,尋找用於將資訊分組為子集的模式。非監督式機器學習技術在深度學習方面的應用最為普遍。
非監督式機器學習技術在網路安全方面的應用方式多樣,包含:
- 偵測異常行為
- 識別新攻擊模式
- 減緩零時差攻擊
除了用於網路安全方面的機器學習技術外,非監督式機器學習技術還能應用於:
- 異常偵測
- 關聯採礦
- 叢集
- 降維(即減少資料集內的變數數量)
非監督式機器學習技術在網路安全方面所使用的技術範例:
- K 平均數叢集法
- 神經網路
- 主成分分析 (Principal Components Analysis,PCA)
- 機率叢集
- 奇異值分解 (Singular Value Decomposition,SVD)
網路安全方面的半監督式機器學習技術
網路安全方面的半監督式機器學習技術,是由監督式與非監督式機器學習技術互相結合而成。當監督式學習演算法缺乏足夠的已標記資料時,便會從較大的未標記資料集內提取少量已標記資料,將其用於分類與特徵擷取。當標記資料的成本過高時亦會使用此技術。
用於網路安全方面的半監督式機器學習技術可用於:
- 對抗式神經網路
- 惡意與善意機器人識別
- 惡意軟體偵測
- 勒索軟體偵測
除了用於網路安全方面的機器學習技術外,半監督式學習技術還能應用於:
- 詐騙偵測
- 標記資料
- 機器翻譯
半監督式學習技術在網路安全方面所使用的技術範例:
- 一致性正則化
- 標籤傳播
- 偽標籤
- 自我訓練
網路安全方面的機器學習技術優勢
- 使自攜裝置(Bring Your Own Device,BYOD) 與自選裝置 (Choose Your Own Device,CYOD) 計畫能夠安全實施
- 使網路安全流程自動化
- 在早期階段偵測威脅
- 使防禦系統具備調適性與主動性
- 加快威脅偵測與回應時間
- 識別難以發現的網路漏洞
- 內化從過往攻擊中汲取的教訓,藉此預防未來類似型態的攻擊
- 讓安全分析人員能夠更迅速地識別攻擊、評估攻擊的優先順序並補救其造成的影響
- 將人為錯誤最小化
- 驅動精密的驗證機制,例如臉部辨識、指紋辨識、動作追蹤、視網膜掃描器及語音辨識
- 協助預防針對端點的安全威脅
- 提供有關進階威脅的洞見
- 降低工作負載
- 掃描大量資料來識別惡意軟體
- 理解正常行為的細微差異,從而偵測出最微小的異常情況
網路安全方面的機器學習技術使用案例
偵測並預防 DDoS 攻擊及殭屍網路
模型可經過訓練來分析不同端點間的大量流量,藉此主動識別並預測 DDoS 攻擊(例如應用程式、協定及巨流量攻擊)及殭屍網路(Botnet)。
偵測網頁殼層
機器學習技術模型可經過訓練,即便面對高超的規避手段,其仍能偵測出網頁殼層(Web Shell)。
機器學習技術已獲得證實,其在網頁殼層偵測方面的準確度已遠高於其他系統,這是因為模型能顯著改善對未知頁面的完整預測效果。
威脅偵測與分類
機器學習技術用於應用程式中,藉此促進並加速偵測攻擊與回應。透過分析大量安全事件的資料集,便能識別出惡意活動的模式。
機器學習技術模型在偵測到事件後會自動採取行動。資料集取自多個來源,例如入侵指標(Indicator of Compromise,IOC) 及安全系統記錄檔。
對抗惡意軟體
模型可經過訓練來協助防毒解決方案對抗各種類型的惡意軟體,例如廣告軟體、後門程式、勒索軟體、間諜軟體及特洛伊木馬程式(TROY)。
網路風險評分
機器學習技術可用於分析過往的網路攻擊資料集,藉此確定特定攻擊的目標區域並給予準確的風險評分,量化攻擊的發生地點、可能性及影響程度。這些資料有助於組織優先考量資源配置,並在遭遇全面攻擊時指引回應措施。
防範應用程式攻擊
機器學習技術可用於訓練模型,來偵測 HTTP/S、SQL 及 XSS 攻擊中的異常現象,從而保護易受各種第 7 層攻擊(應用程式層攻擊)的應用程式。
保障行動端點安全
機器學習技術用於許多偵測與回應應用程式,藉此應對行動裝置所面臨的威脅。精密機器學習技術的另一個用途,是透過訓練模型來區分擁有者的聲音與駭客的聲音,從而防範語音式指令攻擊。
安全營運中心 (Security Operation Center,SOC)
這項機器學習技術的使用案例可自動分析大量高速產生的資料,藉此支援對安全威脅的監控、偵測及回應。
預防網路釣魚攻擊
機器學習技術可用於即時分析資料,並識別及攔截網路釣魚電子郵件。訓練機器學習技術模型瞭解電子郵件標題、正文副本、標點符號模式,模型就能學會區分有害與無害的電子郵件,從而識別模式來分類並揭露潛在的網路釣魚攻擊。這些模型也可經過訓練,用來識別嵌入在看似無害電子郵件中的惡意網址。
任務自動化
機器學習技術擅長自動執行耗時、重複性高且容易出錯的安全任務,例如網路記錄分析、威脅分析、情資分流及漏洞評估。除了提供自動化功能外,機器學習技術還能用比人類更快、更有效的方式來識別威脅與異常現象。
使用者與實體行為分析 (UEBA)
UEBA (User and Entity Behavior Analytics) 利用機器學習技術來提供使用者與實體的完整可視性、偵測帳戶入侵,並減緩及識別惡意或異常的內部活動。使用機器學習技術演算法能夠建立正常行為模式的基準,並用於識別不尋常的活動,例如員工深夜登入、行為不一致的遠端存取,或是異常大量的下載次數。
電子郵件監控與安全
自然語言處理 (Natural Language Processing,NLP) 是一種機器學習技術,能夠在無需開啟訊息的情況下,非常有效地監控與評估電子郵件中是否含有惡意軟體及病毒。
評估機器學習技術模型
若機器學習技術模型未內建於解決方案中,則在評估與選擇網路安全方面的機器學習技術模型時需格外謹慎。搜尋適合使用案例與資料的機器學習技術模型時需考量的事項包含:
- 確定可用於支援機器學習技術模型的資源(例如訓練、監控、維護及衡量成效)
- 建立目標並識別潛在的資料輸入
- 評估類似使用案例的機器學習技術模型成果
- 瞭解該模型需要多少資料才能有效運作
機器學習技術面臨的挑戰
網路安全方面的機器學習技術無疑是一項強大且有效的技術進展,但這項技術同時也面臨著挑戰。
有關機器學習技術的幾個常見挑戰包含:
- 若演算法經過排除某些資訊或包含錯誤的資料集訓練,則可能會導致模型不準確。
- 過度擬合和過少擬合會降低機器學習模型的效能:
- 機器學習技術模型需要進行監控與維護才能夠維持最佳效能。
- 當機器學習技術模型使用太多資料進行訓練,並開始將雜訊與不準確的資料擷取到訓練資料集內時,即稱為發生過度擬合,從而對其效能產生負面影響。
- 當模型無法完整學習訓練資料集內的模式且無法提供準確的結果時,即稱為發生低度擬合。
機器學習技術迷思
迷思 | 現實 |
---|---|
網路安全方面的機器學習技術能夠完全取代人類專家。 | 儘管機器學習技術相當強大,但仍無法取代具備背景知識、創意、批判性思考、直覺及對複雜攻擊向量與網路犯罪者思維有細膩理解的網路安全專業人員。 |
機器學習技術能夠應對所有威脅與漏洞。 | 缺乏相關領域訓練的機器學習技術模型,就有可能會遺漏某些類型的攻擊,例如零時差惡意探索或高度針對且精密的攻擊。 |
網路安全方面的機器學習技術模型不會犯錯。 | 機器學習技術模型的效能好壞取決於接收到的資料集。若資料不完整或不準確,則結果就會不如預期或出現錯誤。 |
機器學習技術能使攻擊無效化。 | 儘管機器學習技術模型能調整防禦措施來對抗網路攻擊向量,但犯罪者仍能採取高效的方式不斷調整攻擊手段。 |
網路安全方面的機器學習技術能夠完全抵擋對抗式攻擊(Adversarial attack)。 | 很遺憾,機器學習技術很容易受到對抗式攻擊的影響。若攻擊者能夠將誤導或不正確的資料插入訓練資料集內,機器學習技術模型將會產生不準確的結果或做出錯誤的預測。 |
機器學習技術僅適用於大型組織。 | 機器學習技術可供普遍使用,且應用範圍廣泛。任何組織都能利用易於使用的安全工具、雲端式安全服務及預建模型,在某種程度上運用機器學習技術並從中受益。 |
網路安全方面的機器學習技術需依賴大量資料集才能發揮效益。 | 機器學習技術的效能會隨著收到的資料量增加而有所提升,然而模型仍能使用數量較少的高品質資料來訓練並進行應用。 |
網路安全方面的機器學習技術能強化對抗威脅的解決方案
網路安全方面的機器學習技術能為解決方案提供特殊優勢,使其能隨著時間及經驗調整而變得更有效果。機器學習技術所產生的威脅情資不僅能支援主動威脅防護,還有助於使解決方案變得更好。機器學習技術的應用範圍已遍及各領域,預期將成為許多解決方案的標準配備。