模型安全性-圖神經網路後門的攻守道
一、摘要
圖模型因其強大的表示能力在現實中有著廣泛的應用,如欺詐檢測、生物醫學、社交網路等。由於圖結構不具有平移不變性,每一個節點的上下文結構有較大的差異,因此傳統的深度學習模型就無法直接應用到圖模型上。圖神經網路(GNN)可以從圖資料中提取相應特徵,在儘可能的保證圖結構特徵的情況下把圖資料對映到向量空間中。隨著GNN的應用越來越廣泛,其安全性也越來越被關注。比如說在信用評分系統中,欺詐者可以偽造與幾個高信用客戶的聯絡以逃避欺詐檢測模型;垃圾郵件傳送者可以輕鬆地建立虛假的關注者,向社交網路新增錯誤的資訊,以增加推薦和傳播重大新聞的機會,或是操控線上評論和產品網站。
GNN模型本身的安全性可粗略的分為兩大塊:對抗樣本與後門攻擊。本文針對GNN的後門攻擊進行了介紹。
後門(backdoor)在傳統軟體中比較常見。所謂的後門就是一個隱藏的,不易被發現的一個通道,在某些特殊情況下,這個通道就會顯露出來。關於深度學習模型中的後門攻擊已有一些研究工作,而關於圖模型的後門攻擊與防禦的相關研究工作還剛起步。GNN模型的後門攻擊是希望透過某種方式在GNN模型中埋藏後門,埋藏好的後門透過攻擊者預先設定的觸發器(trigger)啟用。後門未被啟用時,被攻擊的GNN模型具有和正常GNN模型相同的表現,而當GNN模型中後門被攻擊者透過觸發器啟用時,GNN模型的輸出將變成攻擊者預期的結果,以此來達到惡意目的。因為圖模型本身的特性,通常GNN的訓練時間較長,很多下游的應用都會直接使用預訓練的GNN模型。這也給後門攻擊提供了更多的機會。
二、GNN後門攻擊概述
為了詳細說明,下面具體的介紹一下圖神經網路的後門攻擊。
2.1 GNN後門攻擊
GNN後門攻擊是希望在GNN模型的訓練過程中或是在遷移過程中在模型中埋入後門,埋藏好後門的模型透過攻擊者預先設定的觸發器啟用。在後門未被啟用時,被攻擊的GNN模型具有和正常模型類似的表現。而當模型中埋藏的後門被攻擊者啟用時,模型的輸出攻擊者預期的結果以達到惡意的目的。GNN後門攻擊的過程如圖1所示。GNN後門攻擊可以發生在訓練過程非完全受控的場景中,如使用第三方資料集、使用第三方平臺進行訓練、直接呼叫第三方模型等,因此會對GNN模型的安全性造成了巨大的威脅。
後門攻擊主要包括三個主要過程:觸發器配置、訓練過程和測試過程。通常GNN的後門觸發器是一個子圖,假定該子圖包含有t個節點。觸發器配置就是以某種方式把觸發器子圖對映到圖資料中,觸發器的選擇與對映是GNN後門攻擊的關鍵。在訓練過程中,攻擊者向訓練資料中注入觸發器(子圖),使得訓練結果按攻擊者的要求進行改變,最後學習得到了個帶有後門的GNN模型。該模型可以被佔應用到了下游應用中,在沒有啟用觸發器的情況下模型輸出正常結果,如果觸發器被啟用的話將按攻擊者的意願輸出結果。
圖1 GNN後門攻擊過程
2.2 GNN後門攻擊的形式化描述
GNN後門攻擊主要有兩個關鍵部分:觸發器與後門模型。對於一個預訓練GNN模型,攻擊者的目的是透過技術手段對GNN模型進行修改,在下游應用中針對帶有觸發器的圖資料能按攻擊者的意圖輸出攻擊者想要的結果,而對於沒有觸發器的資料則正常輸出結果。因此,GNN後門攻擊的目標函式可寫成如下形式:
注:G表示給定的圖資料,表示觸發器, 表示融合了觸發器的圖資料,表示後門GNN模型,表示無後門GNN模型。第一個公式表示帶觸發器的圖資料將會按攻擊者的意圖輸出結果(如分類標籤等)。第二個公式表示對於無觸發器資料將會輸出與無後門GNN模型一樣的結果,該目標是為了提高GNN後門攻擊的隱蔽性。因此,GNN後門攻擊的關鍵就是對於觸發器與後門GNN模型的構建。
三、 已有的GNN後門攻擊方法
本節針對已有GNN後門攻擊的研究工作進行了介紹。當前針對GNN後門的研究工作還較少,主要有三個工作。文獻[1]要報深度學習的後門攻擊方法提出了一種基於子圖的GNN後門攻擊。文獻[2]系統的闡述了GNN後門攻擊的特點,提出了一種可以根據應用動態調成的GNN後門攻擊方法。文獻[3]從GNN可解釋性的角度探索了不同觸發器對GNN後門攻擊的影響。下面分別詳細介紹這三個工作。
3.1 基於子圖的GNN後門攻擊
文獻[1]主要是提出了一種基於子圖的GNN後門攻擊,針對圖分類任務。針對GNN觸發器的特點,提出了一種描述觸發器的子圖模式。觸發器的子圖模式由四種引數描述:觸發器大小、觸發器稠密度、觸發器合成方法、投毒密度。觸發器大小與稠密度是指表示觸發器的子圖的節點與邊數目與該圖的稠密度。觸發器的合成方法是指給定節點與邊數、圖的稠密度生成圖的方法。投毒密度是指觸發器佔訓練資料的大小。
整個攻擊過程如圖1所示。其中關鍵是觸發器的計算過程,由於構建一個完全子圖作為觸發器很容易被檢測到,該文獻採用隨機取樣的方法生成觸發器子圖。
3.2 GTA 攻擊
文獻[1]提出的GNN後門攻擊方法只能針對圖分類任務,無法應用到其他應用中,同時觸發器是固定的無法按要求進行動態的調整。針對這些問題,文獻[2]提出了一種更有效的GNN後門攻擊方法-GTA。G他的觸發器是一個特殊的子圖,該子圖包含了拓撲結構與離散特徵。GTA方法可以根據輸入動態調整觸發器。原有的深度學習後門攻擊的觸發器是固定的無法根據輸入動態調整,這就導致觸發器無法適用於所有輸入資料。觸發器動態調整可以大大提高後門攻擊的有效性。假定攻擊者沒有關於下游模型或是微調策略的知識,GTA最佳化了後門GNN的中間表示,可以面對不同的系統設計。GTA是一個圖攻擊框架,可以針對不同的應用場景如(圖分類,節點分類)等,其對這些應用會產生嚴重的威脅。該工作如圖2所示。
圖2 GTA後門攻擊框架
3.3 基於可解釋的GNN後門攻擊
針對GNN的後門攻擊為GNN的應用帶來的巨大的安全性上的挑戰。其實GNN後門攻擊中觸發器的選擇是關鍵。文獻[3]透過GNN可解釋來探索觸發器的最優選擇策略。並針對圖分類與節點分類兩種應用進行了探索分析。
圖3 為GNN後門攻擊在圖分類上的應用,採用的直譯器是GNNExplainer[4]。使用GNNExplainer分析每個觸發器位置對圖分類的影響,並基於可直譯器的影響評分提出有一種有效的觸發器生成策略。
圖3 節點分類任務的後門攻擊過程
圖4 為GNN後門攻擊在節點分類上的應用,由於GNNExplainer無法直接應用到節點分類上,本文還提出了一種新的解釋方法GraphLIME。基於GraphLIM分析了GNN節點分類的結果,計算其中n個最具代表的特徵,透過調整這些特徵來找到相應的觸發器。
圖4 圖分類任務的後門攻擊過程
四、GNN後門攻擊的防禦
通常針對深度學習系統的攻擊有兩種防禦方法:經驗防禦與驗證防禦。經驗防禦通常是為針對特定的攻擊設計的,隨著攻擊手段的變化防禦方法也可更新,這將會導致攻擊者與防禦之間的竟逐。例如,對於影像識別領域的後門攻擊來說,文獻[5]提出的動態後門攻擊可以很容易的繞過當前的經驗防禦措施。因此,GNN後門攻擊的防禦主要是驗證防禦。
4.1 圖對抗訓練
對抗訓練是增強神經網路魯棒性的重要方式。在對抗訓練的過程中,訓練資料會被混合一些微小的擾動,使神經網路適用這種改變,從而提高GNN對輸入資料的魯棒性。可以採用如下策略來提高GNN模型的魯棒性,從而提高GNN後門攻擊的代價。
該公式的詳情參考文獻[6]。
4.2 圖純化技術
圖純化防禦方法主要側重於防禦GNN的中毒攻擊,同時也可以用於提高GNN對後門攻擊的防禦能力。由於GNN後門是需要在模型中插入觸發器子圖,圖純化方法可以提高GNN模型就對擾動資料的能力。透過這種方法,可以在乾淨的圖資料上訓練GNN模型,從而避免GNN後門攻擊的觸發器啟用。文獻[7]提出了一種基於攻擊方法的兩個經驗觀察結果的提純方法:(1)攻擊者通常更喜歡新增邊而不是去除邊或修改特徵;(2)攻擊者傾向於連線不同的節點。結果,他們提出了一種防禦方法,即透過消除兩個末端節點的Jaccard相似度較小的邊。因為這兩個節點是不同的,並且實際上不可能連線在一起,所以它們之間的邊可能是對抗性的。
4.3 隨機子取樣
隨機平滑是當前建立強健機器學習模型的有效方法。由於圖資料是一個二後設資料,隨機平滑方法也可以稱為隨機子取樣[8]。下面簡單介紹隨機子取樣方法。假定有一個s維的輸入x和一個分類器h。隨機子取樣方法是對於輸入x隨機保留一部分特徵並把其他特徵置0。因為這種子取樣是隨機的,其分類器h的輸出也是隨機的。隨機子取樣可以得到一個如下的平滑的分類器 使得分類器得到的標籤j的機率最大。
如果一個攻擊者對GNN的輸入注入一些擾動,當擾動的正規化不超過閾值R的話平滑分類器可以高效能到相關的標籤。因此,平滑子取樣可以應用於GNN的後門攻擊防禦。
五、總結
本文對圖神經網路的後門攻擊與防禦技術進行了系統的闡述。研究了GNN後門攻擊的一般流程以及當前GNN後門攻擊的方法。此外,對於GNN的後門攻擊防禦策略進行了探討。
圖神經網路是現在圖挖掘應用的一個基礎工具,而隨著GNN的廣泛使用,其安全性問題成為了企業必須考慮的問題。當前針對GNN後門攻防領域的研究一直在不斷探索中,但是依然有以下方面的不足和需要探討的方面:
1) 通用的GNN後門攻擊
當前已有的針對GNN模型的後門都是針對固定的應用,如圖分類、節點分類。缺少一處通用的GNN後門攻擊方法。
2)執行機制
後門的生成機制、出發器啟用後門的機制並不透明,這也涉及到GNN的可解釋性問題,如果這些機制可以被深入研究清楚,那麼未來後門領域的攻防將會更有效、更精彩。
3)防禦措施
目前的防禦措施都是針對特定的攻擊手段進行防禦的,並不存在一種通用的解決方案,究竟有沒有這種方案,如果有的話應該怎麼實現目前來看都是未知的。
4)trigger的設計
圖模型因其複雜性,導致觸發器的選擇是一個難點,儘管已有工作對於GNN的出發器進行了研究,但是依然缺少有效的方法。
參考文獻
[1] Zhang Z , Jia J , Wang B , et al. Backdoor Attacks to Graph Neural Networks[C]// SACMAT '21: The 26th ACM Symposium on Access Control Models and Technologies. ACM, 2021.
[2] Zhaohan Xi,Ren Pang,Shouling Ji,Ting Wang. Graph Backdoor.USENIX Security Symposium 2021
[3] Xu J , Minhui, Xue, et al. Explainability-based Backdoor Attacks Against Graph Neural Networks[J]. 2021..
[4] Ying R , Bourgeois D , You J , et al. GNNExplainer: Generating Explanations for Graph Neural Networks[J]. Advances in neural information processing systems, 2019, 32:9240-9251..
[5] Ahmed Salem, Rui Wen, Michael Backes, Shiqing Ma, and Yang Zhang. Dynamic backdoor attacks against machine learning models. arXiv, 2020.
[6] J. Chen, Z. Shi, Y. Wu, X. Xu, and H. Zheng. Link prediction adversarial attack. arXiv preprint arXiv:1810.01110, 2018.
[7] H. Wu, C. Wang, Y. Tyshetskiy, A. Docherty, K. Lu, and L. Zhu. Adversarial examples for graph data: deep insights into attack and defense. In Proceedings of the 28th International Joint Conference on Artificial Intelligence, pages 4816–4823. AAAI Press, 2019.
[8] Alexander Levine and Soheil Feizi. Robustness certificates for sparse adversarial attacks by randomized ablation. In AAAI, 2020..
[9] Zheng Leong Chua, Shiqi Shen, Prateek Saxena, and Zhenkai Liang. Neural nets can learn function type signatures from binaries. In USENIX Security Symposium, 2017
[10] Hassan W U, Guo S, Li D, et al. NoDoze: Combatting Threat Alert Fatigue with Automated Provenance Triage[C]. NDSS, 2019.
相關文章
- 圖神經網路入門2020-11-22神經網路
- Python繪製神經網路模型圖2023-02-20Python神經網路模型
- 1.4 神經網路入門-資料處理與模型圖構建2019-01-26神經網路模型
- 圖神經網路綜述:模型與應用2018-12-26神經網路模型
- SysML 2019提前看:神經網路安全性2019-03-27神經網路
- 圖神經網路GNN 庫,液體神經網路LNN/LFM2024-10-07神經網路GNN
- RNN神經網路模型綜述2019-05-10RNN神經網路模型
- 語言模型與神經網路2024-08-25模型神經網路
- BP神經網路流程圖2018-11-01神經網路流程圖
- 圖神經網路知識2020-11-29神經網路
- 人人都能搞定的大模型原理 - 神經網路2024-08-13大模型神經網路
- Graph Neural Network——圖神經網路2022-12-17神經網路
- 簡單的圖神經網路介紹2019-02-15神經網路
- 我的模型能跑多快——神經網路模型速度調研(一)2018-12-17模型神經網路
- 通俗易懂:圖卷積神經網路入門詳解2019-11-06卷積神經網路
- 清華大學圖神經網路綜述:模型與應用2019-05-21神經網路模型
- 【深度學習】神經網路入門2020-04-04深度學習神經網路
- 神經網路的菜鳥入門祕籍2018-12-19神經網路
- 神經網路:numpy實現神經網路框架2021-08-19神經網路框架
- 深度學習與圖神經網路2022-09-15深度學習神經網路
- 圖神經網路7日打卡心得2020-11-29神經網路
- 論文閱讀丨神經清潔: 神經網路中的後門攻擊識別與緩解2021-10-03神經網路
- 構建和優化深度學習模型(神經網路機器識圖)2019-05-17優化深度學習模型神經網路
- 神經網路2018-11-30神經網路
- 機器學習導圖系列(5):機器學習模型及神經網路模型2019-04-11機器學習模型神經網路
- 無需程式碼繪製人工神經網路ANN模型結構圖的方法2023-05-10神經網路模型
- Pytorch | Tutorial-04 構建神經網路模型2024-03-20PyTorch神經網路模型
- B-神經網路模型複雜度分析2022-11-28神經網路模型複雜度
- 用神經網路模型給你的照片打分(Part I)2019-03-02神經網路模型
- IJCAI 2019 提前看 | 神經網路後門攻擊、對抗攻擊2019-08-08AI神經網路
- 【深度學習篇】--神經網路中的卷積神經網路2018-03-28深度學習神經網路卷積
- 動畫圖解迴圈神經網路2019-09-09動畫圖解神經網路
- PyTorch入門-殘差卷積神經網路2023-04-18PyTorch卷積神經網路
- 自己動手實現神經網路分詞模型2018-11-28神經網路分詞模型
- 深度學習、神經網路最好的入門級教程2019-03-11深度學習神經網路
- LSTM神經網路2019-03-02神經網路
- 8、神經網路2020-12-18神經網路
- Keras結合Keras後端搭建個性化神經網路模型(不用原生Tensorflow)2020-08-20Keras後端神經網路模型