◆周思明 李丹
基于機器學習在公共云中的攻擊和防御
◆周思明 李丹
(四川大學錦城學院 四川 611731)
對于現(xiàn)在新興的云服務,傳統(tǒng)的安全防御方法對云平臺安全已經(jīng)不起作用了?,F(xiàn)在針對對抗性攻擊和云服務的特點,提出了面向機器學習應用的安全開發(fā)生命周期:ML for SDL。它通過減少ML-as-a-service中的漏洞數(shù)量和漏洞的嚴重性,降低了開發(fā)成本,幫助安全人員構建更安全的軟件。
計算機網(wǎng)絡安全;云平臺;圖像處理
近年來,機器學習技術被廣泛應用于計算機視覺分類問題,但有序機器學習的訓練過程長,成本高,為了進一步拓寬和簡化機器學習算法的使用,亞馬遜、谷歌、微軟、和其他公共云公司開發(fā)了一種在云端訓練自己模型的工具:ML-as-a-service。因此,用戶和公司可以很容易地從機器學習應用程序中受益,并且無需培訓或托管自己的模型。但顯然,無論是公共云公司還是傳統(tǒng)安全公司都不太注意這些針對云平臺的攻擊和防御。因此公共云的防御顯得尤為脆弱。但由于公共云有大量的人來使用,有些錯誤的操作依然會給攻擊者留下機會,因此我們提出不僅要增強模型的穩(wěn)定性,還要對使用云平臺的相關人員進行安全培訓。
本文針對機器學習應用的攻擊,提出了有效的防御和緩解措施,提出了ML for SDL,它可以成為機器學習與應用程序的安全開發(fā)生命周期。它包括對抗性攻擊、入侵檢測、安全檢測和安全增強。
比如一個圖像分類或者圖像檢測的模型F,是從輸入的圖片中生成一系列的標簽。對于一個干凈的例子A來說,它被F正確地分類為真正的標簽y∈Y,其中Y是一個從1到k的集合{1,2,…,k}。然而攻擊者的目的是在A中加入小的擾動從而產生一個敵對的例子:ADV。讓模型F對敵對樣本ADV分類的標簽和原圖A生成的標簽不相同,及:F(Adv)≠F(A)。但產生的這個小的擾動要在模型無法識別的范圍之內,如:X(ADV,A) 生成對抗性示例通常需要對受害者模型的白盒訪問(對設備終端進行操作,從而獲得用戶的信息),但攻擊者也能訪問云平臺打開的API(Goodman等人,2019a)。因此,在云中保持模型通常會給人一種(錯誤)的安全感。不幸的是,許多實驗證明,攻擊者可以成功地攻擊ML-as-a-service服務(Goodman&Wei,2019;Goodman,2020) 基于查詢的對抗性攻擊:是典型的黑匣子攻擊,攻擊者不具備相關知識,對于低分辨率的圖像,通過成千上萬次的成功查詢就可產生一個對抗性示例,就可獲取ML模型的內部信息,(Shokri等人,2017)。(Ilyas等人,2017)。但對于高分辨率圖像,它仍然需要數(shù)萬次的成功查詢才能達到相同的效果。例如,如果要達到95.5%的成功率,那么平均需要104 342次查詢黑匣子分類器。但在真正的攻擊中,發(fā)起這么多請求的成本非常高。 轉移對抗性攻擊:首先由研究在同一數(shù)據(jù)集上訓練的不同模型之間的可轉移性,(Liu等人,2016)提出了一種新的基于集合的方法來生成對抗性示例,并且它們的分解使很大一部分目標對抗性示例能夠第一次在多個模型之間傳輸。但在真正的攻擊中,能找到一個與目標ML-as-a-service功能完全相同的開源模型是幾乎不可能的。 FFL PGD攻擊:通過攻擊快速特征地圖來實現(xiàn)只用有限的查詢次數(shù)就能達到很高的丟包率。比如:在以前的研究中,F(xiàn)FL PGD攻擊通過一次或者兩次查詢就能生成對抗示例。 FFL-PGD攻擊提出了一種特殊的對象函數(shù),它可以減少對抗性樣本與原始圖像之間的低級特征的差異,并增加高級語義特征的差異。實驗表明,這種策略大大提高了攻擊效果 空間攻擊可以理解為廣義對抗性攻擊。通過對原始圖像的變換,不影響人對圖像內容的理解,但它可以欺騙機器學習模型。與對抗性攻擊不同,空間攻擊通常會影響圖像的全部或大部分像素,人類可以感知圖像的變化 圖1 原圖 圖2 攻擊后的圖片 針對對抗性攻擊和云服務的特點,提出了面向機器學習應用的安全開發(fā)生命周期,提出了SDL FOR ML。 微軟已經(jīng)針對傳統(tǒng)的軟件開發(fā),提出了軟件安全開發(fā)周期SDL,并為開發(fā)人員提供了許多最佳實踐,提出了SDL GOR ML,它是針對對抗性攻擊和云服務的特點,而提出的面向機器學習應用的安全開發(fā)生命周期。 SDL FOR ML幫助開發(fā)人員通過減少網(wǎng)絡中漏洞的數(shù)量和嚴重性來構建更安全的軟件,并且降低了開發(fā)成本。 SDL FOR ML通常使圖片模糊,對抗性訓練幫助工程師在對抗性攻擊中找到安全特征。并且它幫助工程師在該模型所有的安全特征中找到有效的特征。 對抗訓練(adversarial training)是增強神經(jīng)網(wǎng)絡魯棒性的重要方式。在對抗訓練的過程中,樣本會被混合一些微小的擾動影響,雖然改變很小,但是很可能造成誤分類,因此提出使神經(jīng)網(wǎng)絡適應這種改變,從而對對抗樣本具有魯棒性。因此對抗性訓練可以描述為:生成一個對抗性樣本,然后把對抗性樣本加入到模型中去訓練,使模型能適應這種加入小的擾動后的改變。 的方向是沿著梯度提升的方向的,沿著梯度提升也就意味著讓損失值增大到最大。它通過sign函數(shù)對梯度采取max歸一化。max歸一化是說如果梯度某個維度上的值為正,則設為1;如果為負,則設為-1;如果為0,則設為0。 其中是損失函數(shù)關于的梯度,也就是對求偏導。按照fgsw的步驟,我們最后會找到一個損失函數(shù)是局部線性的。 我們一開始選取了基于fgsw算法來生成這個對抗性樣本,fgsw攻擊算法是增加一個固定擾動,也就是在通過梯度去改變權值,讓loss值最大化,以達到欺騙機器的目的,在我們實驗中,不管怎么去調整這一個步長∈,都很難找到這個局部最優(yōu)的值,也就是說找到最優(yōu)的梯度提升方向很困難,導致我們的在選取梯度上進行的對抗性訓練對模型穩(wěn)定性提升很小。 因此我們選用了cw的攻擊的pgd形式,PGD是做多次迭代,每次走一小步,每次迭代都會將擾動投射到規(guī)定范圍內,那么我們每次找到的就是局部最優(yōu),因此我們可以解決fgsw算法所無法確定的局部最優(yōu)。 但攻擊突破我們防御后已經(jīng)造成了傷害,那么我們能做的就是去減緩這種攻擊帶來的影響后,再去建立新的防御方法并修復攻擊帶來的影響。 對抗攻擊減緩有兩種防御策略: 一種是反應式:建立深層神經(jīng)網(wǎng)絡后再進行檢測對抗例子,比如輸入重構,網(wǎng)絡驗證這類操作 另一種是主動式:讓深層神經(jīng)網(wǎng)絡在產生對手之前更加強大,比如網(wǎng)絡精餾,對抗性訓練,以及分類器。 對于針對被iclr認證為非白盒對抗性例子提出的9種防御措施中,其中有7種使用了梯度模糊,它就是一種梯度演示或輸入重構。但梯度模糊只提供了有限的魯棒穩(wěn)定性,因此導致在對抗敵對的例子的防御中產生虛假的安全感。但這個虛假的安全感可以通過引進攻擊技術加以打破。Athalye表明:在提出的威脅模型中,唯一能提高對對手攻擊性實例的防御的穩(wěn)定性的是對抗性訓練。 采用多種辦法,根據(jù)一定的條件(方法閾值)生成與原始圖像有一定視覺差異的測試值,通過使模型預測錯誤的標簽,來評估模型在這些環(huán)境中的魯棒性。它可以被分為兩類:一類是利用空間變換或圖像損壞形成的對抗性例子,比如:縮放、光變換、天氣、模糊、抖動等;第二類是利用模型梯度疊加擾動攻擊,如FGSM、PGD、C/W等,前者更通用、更常見,同時也支持黑箱測試;第二類是更有針對性的攻擊。在圖片被攻擊后,人的眼睛幾乎不可能發(fā)現(xiàn)圖片已經(jīng)受到攻擊,因此需要對模型抵抗對抗性攻擊的穩(wěn)定性進行評估。 目前,我們?yōu)轵炞C加入對抗性訓練后,模型抵抗敵對攻擊的穩(wěn)定性提升。我們選擇了模型:resnet50,以及基于模型梯度擾動攻擊的cw算法。 圖3 原圖 圖4 干擾 圖5 對抗性樣本 圖6為加入對抗性訓練前后,模型抵抗敵對攻擊穩(wěn)定性的對比,我們發(fā)現(xiàn)模型的穩(wěn)定性從30%提高到了90%。 圖6 加入對抗性訓練后模型穩(wěn)定性對比 針對對抗性攻擊和云服務的特點,本文提出了面向機器學習應用的安全開發(fā)生命周期,如用于SDL FOR ML。它通過減少ML-as-a-service服務中漏洞的數(shù)量和嚴重程度,同時降低開發(fā)成本,幫助開發(fā)人員構建更安全的軟件。在SDL FOR ML中包含了對抗性訓練、建立設計要求、對抗攻擊緩解、健壯性評估測試、對抗性攻擊檢測等功能。 [1]陳天榮,凌捷. 基于特征映射的差分隱私保護機器學習方法[J]. 計算機科學,2021,48(07):33-39. [2]李欣姣,吳國偉,姚琳,等. 機器學習安全攻擊與防御機制研究進展和未來挑戰(zhàn)[J]. 軟件學報,2021,32(02):406-423. [3]陳晉音,鄒健飛,蘇蒙蒙,等. 深度學習模型的中毒攻擊與防御綜述[J]. 信息安全學報,2020,5(04):14-29.1.2 敵對攻擊
1.3 空間攻擊
2 SDL FOR ML
2.1 概況
2.2 設計建立的需求
2.3 對抗性訓練
2.4 魯棒性評估測試
3 結論