沒有銀彈-AI安全領域的安全與隱私
前 言
銀彈(英語:silver bullet)是一種由白銀制成的子彈,有時也被稱為銀彈。在西方的宗教信仰和傳說中作為一種武器,是唯一能和狼人、女巫及其他怪物對抗的利器。銀色子彈也可用于比喻強而有力、一勞永逸地適應各種場合的解決方案。
計算機科班出身的同學在學習軟件工程時,應該都看過或者聽說過一本書:《人月神話》,這是軟件工程領域的圣經,其中一篇收錄的一篇論文名為《沒有銀彈:軟件工程的本質性與附屬性工作》,Brooks在其中引用了這個典故 ,說明在軟件開發過程里是沒有萬能的終殺性武器的,只有各種方法綜合運用,才是解決之道。而各種聲稱如何如何神奇的理論或方法,都不是能殺死“軟件危機”這頭狼人的銀彈。此后,在軟件界,銀彈(Silver Bullet)成了一個通用的比擬流行開來。
在信息安全領域同樣如此,也不存在銀彈,沒有萬能、適用于各場景的技術。在工業界做安全永遠是在追求trade-off,因為安全、效率和成本三者不可兼得;在學術界則需要兼顧安全和隱私兩方面,如果一項技術沒有全面經過全面考量,則可能帶來更大的潛在風險。
個人的研究方向為人工智能安全,所以本文以人工智能安全領域為例,以實際技術展現“沒有銀彈”這一真香定律是如何被印證的。
魯 棒 性 與 隱 私 性
目前人工智能領域的研究存在明顯的局限,即安全Security與隱私Privacy通常是分開考慮的,并沒有綜合考慮兩類技術之間的相互影響。事實上,安全與隱私是密不可分的,我們知道在安全領域有四大頂會、兩大訂刊,其中有S&P,對應的就是Security and Privacy;TIFS,這里的F代表的是Forensics,指的就是隱私,S代表是Security。
我們可以來研究為了提升面臨對抗攻擊而采取的防御措施,會對隱私保護方面造成什么影響。
在信息安全四大之一的CCS 2019上就有研究人員對六種先進的對抗防御方法保護的模型進行隱私攻擊,分析魯棒模型面臨隱私成員推理攻擊時的被成功攻擊的情況。
為什么會想到研究這方面的交叉影響呢?我們來看下面這幅圖

圖中顯示的在CIFAR10數據集上訓練的自然模型(即沒有經過對抗訓練等方式防御的原模型)和魯棒模型(即經過對抗訓練等方式極大提升了對抗魯棒性的模型)的損失值的直方圖。這里藍色的是訓練集數據,或者說是成員數據,粉色的測試集數據,或者說是非成員數據。與自然模型相比,我們可以看到,魯棒模型中成員數據與非成員數據之間的損失分布差異更大,也就是說在魯棒模型上更容易區分出數據是否為成員數據。
研究人員引入了六種增強對抗魯棒性的方法以及使用成員推理攻擊來評估模型隱私容易被攻擊的程度。
增強對抗魯棒性的六種方案
首先需要定義對抗樣本

上式中的B是perturbation budget,也叫做perturbation constraint,擾動約束。一般我們使用lp范數來表示,即B的輸出滿足

模型正常訓練的損失函數為:

但是為了在擾動約束下提供對抗魯棒性,防御方案都會在此基礎上加上額外的魯棒損失函數,此時整體的損失如下

其中的α是在自然損失與魯棒損失之間的權衡系數。上式中的lr表示定義為:

上式中的l’可以和l相同,也可以是近似l的損失函數
但是上式的精確解通常很難求解,于是對抗防御方案提出了不同的方式來近似魯棒損失,我們可以將他們分為兩類
Empirical defenses
基于經驗的防御方案用先進的攻擊方案在每個訓練步驟生成對抗樣本并計算其預測損失來近似魯棒損失,此時的魯棒訓練算法可以表示為:

該類方案中我們使用下面三種
PGD-Based Adversarial
使用投影梯度下降方案生生成對抗樣本,以最大化交叉熵損失(l’=l),并只在這些對抗樣本上進行訓練(α=0),此時的對抗樣本可以表示為:

Distributional Adversarial Training
通過求解交叉熵損失的拉格朗日松弛來生成對抗樣本,公式為:

Difference-based Adversarial Training
使用原樣本的輸出與對抗樣本的輸出之間的差異(比如可以使用KL散度)作為損失函數l’,并將其余自然交叉熵損失結合

其中的對抗樣本也是使用PGD生成的

只不過現在攻擊的目標是最大化輸出差異
Verifable defenses
該類方案就是在對抗擾動約束B下計算預測損失l’的上界,如果在經過驗證的最壞情況下,輸入仍然可以被正確預測,那么就意味著在B下對抗樣本不會被預測錯誤。因此,這類方案在訓練期間加入驗證過程,使用已驗證的最壞情況的預測損失作為魯棒損失lr,此時的魯棒訓練算法可以如下所示

上式中的V是經過驗證的預測損失l’的上界
我們考慮該類類型中的三種典型方案
Duality-Based Verification
通過在非凸ReLU運算上求解其具有凸松弛的對偶問題來計算已驗證的最壞損失,然后僅最小化該過度逼近的魯棒損失值(α = 0,l′= l),此外,通過進一步將這種對偶松弛方法與隨機投影技術相結合,可以擴展到更復雜的神經網絡結構如ResNet等。
Abstract Interpretation-Based Verification
使用一個抽象域(如區間域)來表示輸入層的對抗性擾動約束,并通過對其應用抽象變換,獲得模型輸出的最大驗證范圍。他們在logits上采用softplus函數來計算魯棒損失值,然后將其與自然訓練損失(α=0)相結合,即

Interval Bound Propagation-Based Verification
將擾動約束表示為有界區間域,并將該邊界傳播到輸出層。將已驗證過的最壞情況輸出的交叉熵損失作為魯棒損失(l′= l),然后與自然預測損失(α 不等于0)結合作為訓練期間的最終損失值
成員推理攻擊
Shokri等人設計了一種基于訓練推理模型的成員推理攻擊方法,以區分對訓練集成員和非成員的預測。為了訓練推理模型,他們引入了影子訓練技術:(1)對手首先訓練多個模擬目標模型行為的“影子模型”,(2)基于影子模型在自己的訓練和測試樣本上的輸出,對手獲得一個標記過的(標簽為in表示成員,out表示非成員)數據集,以及(3)最后將推理模型訓練為一個神經網絡,對目標模型進行推理攻擊。推理模型的輸入是目標數據記錄上的目標模型的預測向量。
原因
成員推理攻擊與兩個因素有關:
泛化誤差
成員推斷攻擊的性能與目標模型的泛化誤差高度相關。一些非常簡單的攻擊方案可以根據輸入是否被正確分類來進行成員推理攻擊,此時,目標模型的訓練和測試精度之間的巨大差異導致了極大的成員推斷攻擊成功率(因為大多數成員數據會被被正確分類,而非成員數據不會)。而又有研究表明,魯棒訓練會導致模型在測試階段的準確率下降,當使用對抗樣本評估模型的魯棒模型的準確率時,泛化誤差會更大。
所以,與自然模型相比,魯棒模型會泄露更多的成員數據信息。
模型敏感度
成員推斷攻擊的性能與目標模型對訓練數據的敏感性相關。敏感性是指一個數據點對目標模型的性能的影響,它是通過計算在有和沒有這個數據點的情況下模型訓練的預測差來實現的。直觀上來說,當數據點對模型的影響較大,即模型對該數據較敏感時,模型對應的預測是不同于對其他數據點的預測是,因此攻擊者可以很容易地區分是否為成員數據。而防御方案,或者說魯棒訓練算法,為了提升魯棒性,其為確保訓練數據點周圍的小區域,模型對其的預測保持相同,從而放大了訓練數據對模型的影響。
所以,與自然模型相比,防御方案增加了魯棒模型對訓練數據的敏感性,泄露了更多的成員數據信息,模型更容易受到成員推理攻擊。
成員推理攻擊度量
我們使用下式評估成員推理攻擊的準確性:

上式中的I函數,如果是成員數據則為1,否則為0
隨機猜測的話,很明確,準確性是50%,為了進一步衡量成員推理攻擊的有效性,可以使用成員推理優勢來定義,其定義為:

實驗分析
表中的acc表示accuracy,而adv-train acc,adv-test acc表示在PGD攻擊上的accuracy,從結果可以看到,這三類empirical defense方法在使模型更魯棒的同時,也會讓模型更容易受到隱私攻擊

上表是在Yale Face數據集上的實驗結果,基于上文中最近給出的那條公式,我們可以算出,自然模型具有11.70%的推理優勢,而魯棒模型具有37.66%的推理優勢

上表是在Fashion-MNIST數據集上的實驗結果,同樣可以計算得到自然模型具有14.24%的推理優勢,而魯棒模型具有高達28.98%的推理優勢。

上表是在CIFAR10數據集上的實驗結果,同樣可以計算得到自然模型具有14.86%的推理優勢,而魯棒模型具有高達51.34%的推理優勢.
我們還可以更仔細地進行分析敏感性和泛化誤差,這里以CIFAR10數據集為例,分析使用基于PGD的對抗訓練方法對成員推理攻擊的影響。
下表是對兩個模型做了敏感性分析,圖中x軸是重訓練過程中不在訓練集中的的數據點的id編號(以敏感性大小排序),y軸則是原模型與重訓練模型之間的預測置信度的差異,這是衡量模型靈敏度的。從圖中可見,與自然模型相比,魯棒模型對訓練數據更加敏感。

下面則是分析泛化誤差的表,從表中可以看到,隨著更多的訓練點用于計算訓練損失,由于在測試精度和訓練精度上的泛化誤差更加擴大,所以成員推理攻擊的精度也增加了。

限于篇幅,另外三種增強模型對抗魯棒性的方案對于隱私攻擊的作用這里不再分析,效果也是類似的。
對 抗 攻 擊 與 后 門 攻 擊
上一部分介紹的是安全與隱私兩個方面之間的相互影響,那么在安全方面,我們熟悉的對抗攻擊和后門攻擊又會有什么樣的相互影響呢?
在安全四大之一的CCS 2020的論文《A Tale of Evil Twins: Adversarial Inputs versus Poisoned Models》則研究了兩者的影響。
這篇文章實際上探索的是攻擊方案中的關鍵組件:對抗攻擊中的對抗樣本以及后門攻擊中的毒化模型,文章研究的是這兩個攻擊向量之間的相互影響。
把這兩個攻擊向量放在一起比較的話,會更直觀一點,我們可以看下圖:

對抗樣本是擾動良性樣本x,得到x*,將其輸入良性模型f,導致模型分類出錯
毒化模型是擾動良性模型f,得到f*,將良性樣本x輸入f*,導致模型分類出錯
攻擊目的是一樣的,但是手段不同
對抗樣本是以fidelity,即保真度為代價對良性樣本進行擾動(需要確保對抗樣本保留了原樣本的感知質量),而毒化模型以sepcificity,即特異性為代價,對良性模型進行擾動(需要確保不會影響到非目標類別樣本的預測)。
兩類擾動可以用下圖形象表示出來

研究人員將兩類攻擊向量納入統一的框架進行綜合實驗,發現了有意思的結論如下
杠桿效應
下表所示是在四個數據集上的實驗,研究的是在統一攻擊時,如何在對抗樣本的保真度和毒化模型的特異性之間進行權衡

從表中我們可以看到,在攻擊效率(k)一定的情況下,兩者之間存杠桿效應,以圖d為例,當保真度損失從0增加到0.05,特異性損失減少了0.48以上;而特異性損失的輕微增加也會導致保真度的顯著提高,如圖a,隨著特異性損失從0增加到0.1,特異性損失下降0.37。
該效應的發現告訴我們,攻擊者在設計攻擊方案時需要考慮更多的因素,才能實現完美的攻擊。
強化效應
研究人員測量了不同的保真度和特異性損失下,對抗攻擊、中毒攻擊以及聯合攻擊可以到的攻擊效果(用平均錯誤分類置信度表示),如下圖所示

首先我們發現,聯合攻擊比單個的攻擊實現了更強的攻擊效果,例如在ISIC的情況下(圖 (c)),保真度損失固定為0.2,敵對攻擊達到約0.25;特異性損失固定為0.2,中毒發作達到為0.4左右;而在這種設置下,IMC達到0.8以上的,這是因為聯合攻擊時同時優化了訓練和推理過程中引入的擾動;其次我們發現,聯合攻擊可以到達單個攻擊無法達到的攻擊效能。在四個圖中,聯合攻擊在適當的保真度和特異性下可以達到 = 1,而單獨的對抗(或后門)攻擊(即使保真度或特異性損失固定為1)僅能夠到達小于0.9的。
這一效應的發現告訴我們攻擊者在設計攻擊方案時,如果希望實現更強的攻擊效果,可以考慮同時引入這兩類技術,甚至可以起到1+1>2的效果。
對 抗 防 御 與 后 門 防 御
在安全的防御方面,我們熟悉的對抗攻擊和后門攻擊又會有什么樣的相互影響呢?
來自NeurIPS 2020的論文研究了對抗魯棒性對后門魯棒性之間的影響。
用于提升對抗魯棒性的防御技術已經介紹過了,我們這里不再贅述。
原因
為什么通過防御方案提升了對抗魯棒性的模型更容易受到后門攻擊呢?我們可以用可視化技術來進行分析

上圖中給出了大象圖像的原圖與毒化圖像(右下角加了火狐瀏覽器的logo作為觸發器)的salience map(模型預測相對于輸入的梯度),圖b是原模型給出的顯著圖,圖c是魯棒模型給出的顯著圖,很明顯,在c中我們可以看到,經過對抗訓練的魯棒模型更依賴于高級特征做出預測,這些特征更符合人類的感知,所以它傾向于從觸發器中進行學習,因為觸發器提供了與目標標簽密切相關的魯棒特征,所以在c中的右邊的圖中可以看到,模型更加關注觸發器所在的位置。
實驗分析
下表給出的是各種增強對抗魯棒性的方案接受評估時的測量得到的指標,我們主要關注第4,5列,可以看到。第一行是原模型,其他的都是魯棒模型,可以看到,魯棒模型的魯棒性確實相比原模型上升了,但是相應地,后門攻擊成功率也上升了

上表給出的是empirical defense的總結結果,下表給出的是certified robustness方案的總結結果

從結果中我們也可以得出同樣的結論
總 結
安全領域沒有銀彈,總是需要在各類因素之間做出權衡。
出現對抗攻擊后,研究人員想盡辦法提升對抗魯棒性,但是卻沒有考慮到魯棒性的提升也加劇了隱私保護方面的風險,安全與隱私兼顧并不容易。除了安全與隱私兩方面見的交叉影響外,安全方面的攻擊方案之間也存在相互影響,對抗攻擊和后門攻擊便是如此,在攻擊方面,兩類方案會相互影響,不僅存在杠桿效應,還存在相互強化的效應,這就給安全防御帶來了挑戰,利用杠桿效應,攻擊者只需要在承受較小的一方面的損失,確保回去較大的另一方面的回報;而利用強化效應,更是可以實現單一攻擊向量不具備的攻擊效果。而在防御方面,對抗魯棒性好的模型更容易受到后門攻擊,這意味著面臨攻擊時,我們采取的防御方案看似保證了安全,但實際上引入了另一類攻擊的風險,這反而會給我們造成假象,迷惑我們。
安全領域沒有銀彈,所以才有紅藍雙方的arms race,攻防技術才能不斷發展,這正是我們安全從業人員的興趣所在。