如何通過程序分析找到神經網絡程序的後門

如何通過程序分析找到神經網絡程序的後門

神經網絡存在各種問題。

傳統的程序有各種各樣的問題,比如錯誤、漏洞、後門等等。我想你可能不難同意,我們必須通過測試、分析甚至驗證來確保傳統程序的質量。

從本質上講,神經網絡隻是一個相對特殊的程序(基於Tensorflow或pytorch的ApI)。隻是這種程序的體係結構有一個特殊的設計。這種程序也有很多類似傳統程序的問題。我們可以說,傳統程序中的所有問題基本上都存在於神經網絡中。比如傳統程序會出錯,有安全漏洞,神經網絡也有。

關於神經網絡的問題,我給大家舉幾個例子。

第一個例子是,神經網絡也很容易出錯。與傳統程序不同,神經網絡是基於邏輯判斷和結果,而是通過大量的訓練來調整參數,然後根據這些參數進行預測。因為神經網絡通常非常複雜(例如,有很多參數),一些角落無法訓練。因此,很容易找到一個反例,使其出錯0機價免預繳iphone13

例如,如下圖所示,有人(UCBerkerly的一個團隊)研究發現,基於神經網絡的自動駕駛絡的道路識別係統會在停車標誌上噴塗油漆或粘貼紙條。例如,上述路標將被錯誤地識別為限速45。這當然是一個安全問題,因為有這些停車標誌是有原因的。一旦停車標誌被錯誤識別,自動駕駛汽車將不會停車,這可能會導致事故。從傳統程序的角度來看,這個例子是一個程序錯誤。

第二個例子是公平問題。下圖顯示了一個由美國警察局訓練的神經網絡的輸出。這個神經網絡被用來預測一個罪犯是否會在族、年齡等,這個神經網絡被用來預測罪犯是否會在六個月內再次犯罪。如果預測罪犯再次犯罪的可能性很大,當然警察需要更加關注他。研究發現,這種神經網絡存在很大的公平性問題。例如,盡管下圖中顯示的黑人的犯罪記錄比她旁邊的白人少得多,但這個神經網絡預測她再次犯罪的可能性要大得多。事實上,隻要是黑人,再次犯罪的可能性就會被高度預測。這當然是不公平的。當然,你也可以說這不是一個問題,因為曆史記錄是黑人更容易犯罪。但我們是否希望這樣一個係統作為我們行動的指導,從而加深偏見,這至少值得考慮。就公平而言,我們可以說神經網絡是不公平的。當然,傳統軟件也可能存在公平問題,但並不嚴重,因為除非您的程序邏輯增加了一些有偏見的判斷,否則通常不會有問題。然而,神經網絡是不同的。這些偏見可能會通過數據或培訓過程悄悄添加全球短信通訊收費

例如,傳統程序將有一個後門,在神經網絡中絡中。當然,傳統程序的後門並不是一個特別大的問題,因為傳統程序的後門基本上在某些情況下觸發了一個特定的陳述。例如,在某個地方添加一個特殊的if-then-else。這個後門在經過一係列例行檢查後仍然很困難,比如代碼審查。但是在神經網絡中添加後門是非常非常容易的。為什麽神經網絡的後門是一個嚴重的問題?因為每個人都不了解神經網絡,所以後門基本上很難找到。稍後,我將討論神經網絡的後門問題,包括如何添加和如何預防。

另一個例子是,傳統程序會有敏感信息泄露的問題,神經網絡也是如此。從神經網絡竊取信息相對容易。你花了很多精力收集大量數據來訓練一個模型,其他人可以隨意竊取它。例如,隻要他能提交一定數量的數據(如數千個數據)並生成相應的預測。然後他可以根據這些數據訓練模型,基本上可以達到與您的模型相同的準確性。

由於傳統軟件的各種問題,我們知道傳統程序必須進行各種測試和分析。相對而言,神經網絡仍處於起步階段。我們主要是把我們能做的東西堆起來,看看效果。我們還沒有真正澄清與安全相關的問題,然後提出解決方案。因此,還有很多研究要做。