大家好,今天我們直接切入 Domain 1 的核心,聊聊機器學習的三大學習方式。
首先,我們要先搞懂機器學習跟傳統寫程式的差別:
傳統寫程式是我們寫好規則,輸入資料後得出答案。
機器學習則是:我們給它一堆資料和標籤,讓演算法自己去學出規則、產出模型。
因為規則是從資料中「學」出來的,這就代表:如果餵給它的資料被動了手腳,它學出來的規則就會跟著歪掉。這就是所謂的「資料投毒」,後面章節再來討論。
接下來,我們來看這三大範式。
簡單說,就是用有「正確答案標籤」的資料來訓練。
比如我們給它十萬封信,並且標好哪些是「垃圾信」、哪些是「正常信」,它學完之後,就能幫忙過濾垃圾郵件。
在資安上,惡意軟體偵測、入侵偵測(IDS)大都是用這種方法。
但這種方法的弱點是:如果駭客在訓練時,偷偷把「惡意樣本」標記成「良性」,模型學完就會對這些惡意軟體放行。這叫「標籤翻轉攻擊」。
這種資料是「沒有答案標籤」的。模型必須自己想辦法在資料中找出規律或異常。
最常見的資安應用就是 UEBA(使用者與實體行為分析)。
系統不預設什麼是壞人行為,而是先學出每位員工平常的「正常行為基準」。
當有人突然半夜下載大量資料,系統就會發出警報。
因為它不依賴已知的特徵,所以對防範完全未知的零日攻擊(Zero-day)特別有用。
不過這也有缺點,如果駭客很聰明,故意花很長的時間、慢慢地、分批下載資料。系統可能就會把這種異常行為「學」成是正常的,這樣偵測就會失效了。
就是沒有標準答案,靠獎懲機制來訓練。模型是透過不斷試錯來學習。
這在資安上通常用在自動化滲透測試,或者是自適應的網路防禦,讓 AI 自己去測試哪條防線最穩固。
它的威脅在於「獎勵函數操控」。如果駭客能修改 AI 的獎勵規則,比如讓 AI 誤以為「關掉防火牆」可以提升網路效能(得到更高分),AI 就會往壞的方向去學習。
有時候,在現實的世界裡,就是沒那麼多已經有標籤的資料,用人工來分析進行標示,會讓「標籤」非常昂貴。
半監督式學習就是為了解決這個痛點:
它只用極少量的「有標籤資料」,去引導**大量的「無標籤資料」**來進行訓練。
現在不管什麼考試,都很愛考情境題,比如:
「某個資安系統沒有任何已標記的攻擊樣本,但需要偵測使用者的異常行為,應該用哪種機器學習範式?」
A. 監督式學習
B. 非監督式學習
C. 強化學習
D. 深度學習
答案是 B。因為題目說了「沒有已標記樣本」、要偵測「異常」,這就是標準的非監督式學習場景。
今天的重點總結一下:
明天我們要來看 ML 模型的生命週期,看看模型的一生中,駭客會在哪些階段動手腳。
我們明天見啦!