1. 程式人生 > >筆記回顧2|Adversarial Machine Learning‘s Threat Model

筆記回顧2|Adversarial Machine Learning‘s Threat Model

Firstly, thank to SoK: Towards the Science of Security and Privacy in Machine Learning.

本章節主要討論下這篇文章中,在AML中的threat model。其中內容會借鑑部分參考文獻的思路和框架,也會有自己對於應用場景和未來優化的思考。

看到上圖中,主要介紹了不同的場景中的攻擊面,其中涉及到的是普遍的機器學習場景,計算機視覺以及網路安全的入侵檢測。可以看到,不論是哪個場景中,都被分成了四個階段,物理世界獲取資訊,轉換成數字化表徵形式,進入機器學習模型訓練,返回到物理世界進行推理預測。

以第二個場景為例子,在計算機視覺的問題場景中,具體的是以自動駕駛為例子,這四個階段分別對應的就是行車感測器獲取停車的交通標誌(物理世界獲取資訊),將獲取的資訊轉化成圖片進入預處理階段(轉化成數字表徵),接下來將影象轉化成3維的張量(表徵轉化),應用模型對其進行分類置信度的計算(進入機器學習模型訓練),反饋到物理世界中,讓車輛剎車(返回到物理世界推理)。這裡值得注意的是,其實在資料表徵轉化的階段,預處理的階段,這幾個階段是相對模糊的,預處理即可以屬於模型的訓練階段,也可以不屬於,這是筆者對於這部分內容的理解。

再回顧下上一章節,我們提到過,在不同階段都有可能產生脆弱的點(被相關做ai的人士提點了一下,這個不能直接說是安全問題,但是這個後面我會把具體的可具象的場景解釋一下),給大家一個更為形象的場景之後,就能明白這個大概是怎麼樣一個過程了。

仍以第二個場景自動駕駛為例,我們在行車過程中,肯定希望能夠通過車輛的感測器獲取正確的圖片資訊。

    當我們的車輛行駛在路上的時候,我們的感測器傳輸被劫持,車輛獲取了一個由惡意使用者傳送的資訊之後,就將其輸入到了預測模型中,這就有如,自動駕駛的車輛在高速公路上行駛著,但是卻接受到了一張停車的交通標誌的圖片,最後導致了車輛的剎車,從而發生了事故,這就是典型的物理世界獲取資訊階段被攻擊的例子。

    同理,如若在軟體被攻擊了之後,在讀入了正確的圖片之後,圖片被自動加入了擾動(perturbation),可能限速的標誌會被識別成最低速度的標誌,那麼自動行駛的車輛就會產生誤判從而提高車速,顯而易見,這就是轉換成數字化表徵形式階段的攻擊了。

這兩個實際的例子主要總結幫助大家理解這樣的階段是如何被幹擾,併產生惡意結果的。

那麼接下來自我反問的時候就到了:什麼樣的攻擊是較為輕微的,那什麼樣的攻擊又是比較嚴重的呢?

大家一起來看下圖

可以看到,在推理階段和訓練階段,是有不同的攻擊強度的。

我們先來討論推理(inference or test)階段的攻擊。但惡意個體需要攻擊模型的時候,模型對於攻擊者是白盒還是黑盒的,會對攻擊難度和最後可以獲取的資訊量的大小產生不同的影響。如若,對於攻擊者而言,模型是黑盒的話,那麼攻擊者可以做的事情就相對比較少,因此攻擊的強度也會較低,可能可以獲取的就是模型的功能資訊,對於模型的擁有者和模型的功能性影響並不會很大。但是如果攻擊者在本地,或者,攻擊者可以通過一定的途徑來獲得模型的一些額外資訊的話,獲取了模型的結構(神經網路的結構等)、引數等資訊,那可能就會導致模型的部分資訊洩漏,就會對模型帶來很大的影響。直觀來講,這樣的影響就是,攻擊者可以根據具體的引數和模型結構,來有針對性的構造和篩選相應的惡意輸入,從而使得模型不那麼work。

反觀訓練(training)階段的攻擊,分類有所不同了。這裡觀察到的是,對於模型的影響的力度問題,從讀,注入到改變到邏輯影響,是從不同惡意影響的結果來區分攻擊力度的。但是這裡是從模型的隱私角度來考慮的,此結構並沒有考慮到訓練資料的隱私資訊,這裡需要提一下。

    在醫療領域,本身就非常需要有經驗的專家來為醫院坐診,這就是為什麼越有經驗的醫生,坐診費用越高。這個很容易理解,就是因為他們的經驗豐富,他們見過的案例很多,可以從中總結出來的經驗非常多。這樣的場景就和機器學習的模型很匹配了,自然就會有人考慮nlp和知識圖譜來輔助完成一個診療系統。其中用於訓練的診療資料就是需要從病人處獲得,如若訓練資料被被第三方使用者惡意獲取並用作惡意用途,就會導致敏感資訊的惡意洩漏。這裡就會考慮到,訓練資料的差分隱私(差分隱私是在密碼學中的一個概念)問題。

那麼從兩個方面分析了機器學習的攻擊面之後,我們可以看到有攻擊者的目的是什麼呢?他們最終的惡意目標是什麼呢?

傳統軟體安全形度考慮安全,是從三個方面考慮的Confidentiality,Integrity和Availability。縮寫就是CIA(我知道有些美劇迷要多想了,但是他就是這個縮寫啊,我也很無奈啊)。這三個詞,對應的就是,機密性,完整性,可用性。那麼對應到機器學習模型中,這些要求也是必不可少的。

    對於模型的結構、引數以及訓練資料的資訊,都需要保證在可用的情況下,他們的隱私保護力度是足夠大的,保證這些資訊在一定的時間空間的約束下不會被惡意利用,這就是機密性,Confidentiality。

    那麼誘導模型的輸出結果,其實是同時破壞了模型的完整性和可用性,Integrity&Availability。我們可以看到當模型的完整性被破壞的時候,一定是由於攻擊者的惡意輸入,導致了人眼可分別的圖片在模型中難以被辨別。其中完整性可能是因為由於被攻擊者掌握了額外的模型資訊,從而精心打造惡意輸入,從而導致模型錯誤分類。在機器學習模型的場景下,完整性和可用性是有關聯性的,一旦完整性被破壞了,其可用性一定會或多或少受到牽連。其主要的問題是因為目前模型的魯棒性不夠強,從而導致模型沒有“看到過”的樣例,一旦被精心篡改過,就有可能因為“盲點”效應,從而讓攻擊者得逞。

這節討論了對於機器學習的威脅模型有哪些,有哪些攻擊面可以提供給攻擊者,同時也幫助模型的構建者,思考可以從哪些方面幫助模型提高魯棒性。

下一節會根據目前章節的內容,根據攻擊的目標來觀察,什麼樣的目標可以通過什麼樣的具體攻擊來實現,同時後續也會討論,目前state-of-art的有哪些方法可以用來防禦這些攻擊。

以上。