對抗式機器學習

對抗式機器學習(Adversarial machine learning)是針對机器学习演算法的攻擊,以及針對這類攻擊的防範。2020年的一個問卷統計,實作机器学习的人認為需要針對工業應用的机器学习有進階防護。

機器學習技術大部份是設計來解決特定問題,其假設是訓練資料和測試資料是由相同統計分布下的資料所產生的(独立同分布,IID)。不過,在一些高風險的應用上,可能會違背上述的假設,使用者刻意的提供違背上述統計假設的假資料。

對抗式機器學習中常見的攻擊包括規避攻擊(evasion attack)、資料下毒攻擊(data poisoning attack)、拜占庭攻擊以及模型析取(model extraction)。
歷史
曾在2004年1月於MIT Spam Conference中指出,機器學習的垃圾郵件過濾器可以欺騙其他機器學習垃圾郵件過濾器,將垃圾郵件分類為正常郵件,其作法是用自動學習的方式,在垃圾郵件中加入一些字。

2004年時,Nilesh Dalvi等人發現垃圾郵件過濾器中使用的线性分类器可以用簡單的攻擊來進行欺騙,作法是在垃圾郵件中加入「好的文字」(2007年時,有其他垃圾郵件發送者在在其image spam的華麗詞句中加入雜訊,以欺騙用光学字符识别來偵測的過濾器)。Marco Barreno等人在2006年發表《Can Machine Learning Be Secure?》,概述對於機器學習攻擊的廣泛分類。許多研究者希望非線性分類器(例如支持向量机和人工神经网络)對於這類攻擊有較好的抵抗能力,一直到2013年Battista Biggio等人提出了第一個對於這類機器學習模型進行的,以梯度為基礎的攻擊(gradient-based attack)(2012年–2013年)。2012年時,深度学习是電腦視覺處理的主流解法,從2014年開始,Christian Szegedy等人也指出深度學習網路也可能被欺騙,仍然是用以梯度為基礎的攻擊來產生對抗性擾動。

近來發現,在現實世界的對抗式攻擊較不容易產生,因為不同的環境限制會抵消對抗性雜訊的效果。例如,對抗性影像微小的轉動或是輕微光照都可能會破壞其對抗效果。此外,像Google Brain的等研究者指出:要讓自駕車錯過停車標誌,直接移除標誌,會比產生對抗性範例要簡單。Frosst認為對抗性機器學習的群體誤以為在特定資料分布下訓練的模型,在完全不同的資料分布下也會有相同的表現。他建議探索新的機器學習方式,有一種獨特的類神經網路正在開發,其特性比其他現有方式更接近人類的感知。

例子
對抗式機器學習的例子包括攻擊反垃圾邮件系統,利用在「壞」文字中插入「好」文字來混淆系統,讓垃圾郵件可通過,在计算机安全上的攻擊,像是在讓系統混淆,不過濾有惡意程式的網路封包,或是改變的特徵,以誤導入侵偵測系統;生物特徵識別上的攻擊,用偽造的生物特徵來冒用有權限的使用者通過偵測,或是損害使用者樣本庫,使其無法隨著時間更新使用者特徵。

研究者指出只更改一個畫素就可以欺騙深度學習演算法。在2017年曾有人用3D打印製作一隻玩具烏龜,上面的紋理會讓Google的物體偵測AI,不論在任何角度觀看,都會認為是步槍。製作此烏龜只需要低成本的商業3D列印技術。

有機器修改過的狗圖片,不論是電腦或是人都會認為是貓。有一篇2019年的研究指出人可以猜出AI如何分類出惡意影像。研究者發現一些方法,在停車標誌的外觀上有一些擾動,就可以讓自駕車系統將其分類成車道匯入標誌或是停車標誌。

Nightshade是資料下毒的過濾器,在2023年由芝加哥大学的研究者所提出。這是讓艺术家放在其作品上,以此污染文本轉圖像生成模型的資料集,這些廠商常使用他們在網路上的資料,沒有經過圖片創建者的同意。

迈克菲曾攻擊Tesla曾使用的Mobileye系統,使其在比速限高50mph的速度行駛,方法是在速限告示牌上貼了二吋的黑膠帶。

有人設計放在衣服上的對抗式圖案,目的是要欺騙面部識別系統,因此衍生了一個「隱形街頭服飾」這個小眾產業。

有一個針對類神經網路的對抗式攻擊,可以在目標系統中注入演算法。研究者也可以創建對抗的聲音輸入,加在看似無害的聲音中,以此對智慧助理發出偽裝指令,另一項平行研究探討了人類對這類刺激的認知。

聚類演算法也有用於安全應用中。其中進行惡意軟體和计算机病毒分析的目的,是要識別惡意軟體家族,並且產生特定的偵測程式區塊(signatures)。

在惡意軟體偵測上,研究者也提出了可以對抗式惡意軟體生成方式,可以自動化產生二進制文件,規避以學習為基礎的偵測器,同時仍保意惡意功能。像GAMMA之類,以最佳化為基礎的攻擊,用基因演算法將良性內容(例如填充或是新的程式可執行段)加到Windows可執行檔中,將規避變成有限制的最佳化問題,平衡讓誤導分類的成功率,以及注入載荷的大小,並且證明這可以轉移到商品化的防毒軟體中。其他的研究有使用生成對抗網路(GAN)來學習特徵空間的擾動,設法讓惡意軟體偵測程式誤判為正常軟體,例如Mal-LSGAN,用最小二乘目標和修改後的激活函數代替了標準的GAN損失,提昇訓練穩定性,並且產生對抗性惡意範例,可以在多種偵測器中穩定的降低真正被判定為惡意軟體的機率。

將機器學習應用在安全性上的挑戰
研究者發現機器學習技術應用在安全領域的挑戰,和在其他主流應用領域的不同。安全資料會隨時間而演變,其中包括誤分類的標本以及反映的惡意行為,這讓評估和可複制性都變的複雜。
資料分類問題
安全相關的資料集的資料格式各有不同,包括二進位檔、網路軌跡(network traces)和紀錄檔。有研究指出將這些來源轉換為等特徵的過程中會引入偏差或是不一致性。

此問題的前期研究包括資料層次的模以及序列特定模型。像是N元语法和長短期記憶(LSTM)網路等模型可以為序列資料建模,但其若惡意樣本在訓練集合中的比例和現實類似時,已證明其性能會緩慢衰退,因此此模型在實務的安全應用上有其限制:對分類器的影響、安全違反(security violation)、以及其特定性。

  • 對分類器的影響:攻擊者可以用破壞分類階段來影響分類器。在此之前,攻擊者可能會有探索階段識別弱點。若是有資料處理上的限制,可以讓攻擊者的能力受限。
  • 安全違反(Security violation):攻擊可能會提供會判定為正常的惡意資料。在訓練中提供的惡意資料會讓系統訓練之後,拒絕其實正常的資料。
  • 特定性:針對特定目標的攻擊試圖實現特定的入侵/破壞。相反,無差別攻擊會造成廣泛的混亂。

這種分類方法已擴展為更全面的威脅模型,可以對攻擊者的目標、對被攻擊系統的了解、操縱輸入資料/系統組件的能力以及攻擊策略做出明確的假設。此分類法進一步擴展,納入了對抗性攻擊的防禦策略維度。

策略
以下是最常遇到的攻擊情境。
資料下毒
資料下毒(Data poisoning)是指用規劃好的資料來污染訓練資料集,其目的是要增加輸出的錯誤。假定學習演算法會由訓練集所產生,資料下毒可以有效的改寫演算法,加入一些潛在有惡意的內容。尤其對於使用者產生的訓練數據,例如用於內容推薦或自然語言模型的數據,目前已有人提出了疑慮。假帳號的無所不在也提供了許多下毒的機會。據報道,Facebook每年刪除約70億個假帳號。在機器學習的工業應用上,資料下毒已是最受關注的議題,目的是想要教授在某特定輸入(例如圖片、聲音、影像或是文字)下,觸發特定的行為。

例如,入侵检测系统常常會用搜集到的資料加以訓練。攻擊者可能在這些資料中下毒,在運行中注入惡意樣本,以便干擾後續的再訓練。

資料下毒技術也可以用在文本轉圖像生成模型中,以影響其輸出,藝術家們用此來保護其版權作品或藝術風格免受模仿。

資料下毒也可能因為而無意產生,模型崩潰是指模型用其他AI合成的資料進行訓練。
拜占庭攻擊
隨著機器學習規模的擴大,常會需要配合多台電腦或處理器運作。例如,在聯邦學習中,邊緣設備和中央伺服器協同處理,一般是送出模型參數的梯度資料。不過,其中有些設備可能會不依照其預期行為運作,例如危害中央伺服器的模型,或是讓演算法偏向某特定的行為(例如強化對假資訊的推薦)。另一方面,某訓練是由某一單一電腦進行,此模型很容易因為此電腦失效(或受攻擊)而失效,此系統有单点故障的特性,這是不希望出現的。事實上,甚至是機器的所有者也可能在其中加入可能無法偵測的軟體後門。

讓分散式機器學習演算法可以不受少數惡意參與者影響(拜占庭将军问题)的技術中,目前最領先的技術是以強健梯度聚合原則(robust gradient aggregation rules)為基礎。強健聚合原則不一定都能運作,特別是參與者的資料不是獨立同分布的資料。然而,在異質誠實參與者的背景下,例如推薦演算法中具有不同消費習慣的用戶,或語言模型中具有不同寫作風格的用戶,對於任何穩健學習演算法所能保證的,都存在可證明的不可能定理。
規避
規避攻擊(Evasion attacks)是指利用已訓練模型中的缺陷。例如垃圾郵件提供者以及駭客,常會透過讓垃圾郵件和的內容夾有一般郵件的內容,試圖讓偵測程式混淆,以逃避偵測。其作法會修改樣本以逃避檢測,讓這些郵件被分類為合法郵件。這種攻擊方式並不涉及對訓練資料的影響。其中一個規避的例子是,其中垃圾郵件文字內容放在圖檔中,以逃避垃圾郵件檢測器的文本分析,而使用者會看到以圖檔方式顯示的文字,不會想到這段內容是垃圾郵件偵測器不偵測旳。另一個規避攻擊的例子是針對生物辨識驗證系統的欺騙攻擊,若訓練的資料(或模型本身)
是機密或敏感資料,可能會造成問題。例如,可以用模型析取一個私人的股票交易模型,攻擊者可以用這些資料用在個人的獲利上。

最極端的情形下,模型析取會演變成模型偷竊(model stealing),也就是析取到夠多的資料,可以完整重建原來的模型。

另一方面,成員推斷(membership inference)是有針對性的模型析取攻擊,利用不良的機器學習作法的過適結果,推斷資料點的所有者。令人在意的是,有時就算沒有存取目標模型的參數,或是不知道其參數,也可以做到此事,引起對於用敏感資料(像就診記錄,個人身份資訊等)訓練模型的安全疑慮。隨著迁移学习的出現,以及許多先進機器學習模型的公開,科技公司越來越多使用公眾資料來創建模型,讓攻擊者可以自由竹的存取模型的結構和種類。

相關條目

  • 模式识别

*

  • 生成对抗网络

參考資料
外部連結

*

评论 (0)

  • 还没有评论,来抢沙发吧。