?

人工智能醫學軟件抗攻擊能力檢測方法研究★

2022-02-09 01:17李丹劉杰馬燕嬌湯錦依章婷華
電子產品可靠性與環境試驗 2022年6期
關鍵詞:黑盒攻擊性擾動

李丹,劉杰,馬燕嬌,湯錦依,章婷華

(工業和信息化部電子第五研究所,廣東 廣州 511370)

0 引言

計算機和網絡技術的快速發展使得計算能力迅速提高,先進醫療器械的廣泛應用產生了海量的醫學數據,伴隨著深度學習算法取得突破,人工智能在醫學領域的應用迎來了飛躍式發展,在醫學影像識別和診斷領域形成熱點。然而,研究人員發現現有的深度學習算法存在著諸多安全隱患:1)因訓練數據的數量不足、不具代表性、質量不高、無相關特征等原因可能產生欠擬合、過擬合、不收斂問題,造成人工智能軟件的泛化能力欠佳;2)耗費大量的數據資源、計算能力和人力成本訓練出來的人工智能模型可能被輕易地竊??;3)模型中包含的隱私信息也可能因各種針對性攻擊而被泄露;4)攻擊者通過向正常樣本添加人類無法感知的擾動就可以實現深度學習模型的欺騙;5)通過模型訓練過程中的數據投毒在模型中注入后門,從而達到操控人工智能系統行為的目的。在醫學應用領域,深度學習的網絡安全隱患有可能導致診療錯誤、患者隱私泄露、系統運行失效和經濟損失,成為阻礙人工智能醫學軟件產品部署應用的主要因素。

近年來,研究和工程人員圍繞人工智能系統如何防御可能遭受的網絡安全攻擊進行了廣泛和深入的研究,并找到了一些應對網絡安全挑戰的創新方法。在對抗傳統網絡攻擊方面,通過工程化開發來減少代碼中隱藏的漏洞,及時地更新開發和運行環境來減少框架漏洞帶來的影響。在模型竊?。∕odel Extraction Attack)防御和隱私信息保護方面,代表性的防御方法包括:模型結構防御、信息混淆防御和查詢控制防御等[1]。在對抗樣本攻擊防御方面,代表性的防御方法包括:對抗訓練、基于隨機化的方法、降噪方法、可證明式防御和基于一致性的防御等[2]。上述網絡安全防御技術經過適應性完善,可以應用于人工智能醫學軟件中,以提升產品對抗網絡攻擊的能力和水平。

人工智能醫學軟件產品對抗攻擊的能力需要使用攻擊性測試進行驗證。攻擊性測試具有動態和迭代性,在測試不斷取得進展的同時,測試人員對被測對象的掌握和控制程度不斷地深入,測試過程需要根據當前情況進行適時的調整,因此,為了保證攻擊性測試的效率和有效性,往往采用非腳本化探索性測試模式,測試覆蓋面和強度人為把握的傾向突出,給客觀評價軟件產品的網絡安全能力帶來挑戰,需要對人工智能醫學軟件產品攻擊性測試規格化問題進行研究和探索,并給出切實可行的解決方案。

1 人工智能醫學軟件抗攻擊能力測評方法

按照測試人員了解被測對象信息的多少,可將攻擊性測試分為黑盒、灰盒和白盒測試,它們各自存在不同程度的約束條件,綜合來看,黑盒測試的攻擊可行性最佳,灰盒技術次之,白盒測試需要滿足的前提條件最為苛刻。

1.1 基于漏洞利用的滲透測試

滲透測試是指測試人員利用所掌握的攻擊技術,以黑客的行為方式,進行不造成任何損失的攻擊性檢測, 以取得目標系統的訪問控制權。滲透測試過程有多種組織模式,針對信息系統的滲透測試通常由7個階段組成,包括:前期交互、情報搜集、威脅建模、漏洞分析、滲透攻擊、后滲透攻擊和總結評估。

人工智能醫學軟件產品滲透測試的主要對象是軟件產品本身,進行滲透測試時,情報搜集階段可以簡化,后滲透攻擊階段則可以忽略。通常采用白盒、灰盒和黑盒相結合的模式。在情報搜集階段掌握被測軟件相關信息。在威脅建模階段確定攻擊路徑。在漏洞分析階段識別可利用漏洞,通過漏洞模式匹配,發現軟件安全功能和機制漏洞,如身份認證可繞過、權限管理可突破、通信可偵聽和攔截等;通過已公開漏洞掃描,識別所依賴的開發框架的漏洞;通過代碼安全性審查發現代碼實現漏洞,如緩沖區溢出、輸入驗證缺陷等。在滲透攻擊階段驗證攻擊的可行性,評估漏洞的風險水平。

1.2 基于對抗性輸入的測試

對抗性輸入測試是一種通過給原始輸入數據添加人類難以分辨的微小擾動,產生對抗性輸入,從而使人工智能軟件輸出錯誤結果的測試。根據軟件最終給出的結果是否是測試人員預先定義好的,將對抗性輸入攻擊分為目標攻擊和無目標攻擊。通常,目標攻擊測試的難度大于無目標攻擊測試。

a)單像素攻擊

單像素攻擊(One Pixel Attack)是一種無目標黑盒攻擊方法。它使用差分進化算法,在輸入圖像中選定一個像素,更改其數值產生對抗圖像,使神經網絡模型對對抗圖像錯誤分類。由Su等人[3]提出。

b)ZOO攻擊

ZOO(Zeroth Order Optimization)攻擊是一種無目標黑盒攻擊方法。它不需要獲取目標模型的梯度信息,通過計算來查詢和估計梯度。由Chen等人[4]提出。

c)基于生成對抗網絡(GAN)的攻擊

基于生成對抗網絡(GAN)的攻擊是一類無目標黑盒攻擊方法。Zhao等人[5]將生成對抗網絡的理念結合到對抗樣本的生成中,將此方法命名為Natural GAN。Xiao等人[6]提出AdvGAN方法,能夠不依賴對抗樣本的可遷移性進行攻擊。

d)彈性網攻擊

Chen等人[7]提出了一種基于彈性網絡(EAD:Elastic-net Attacks to DNNs)正則化的攻擊算法,對DNN進行黑盒目標對抗樣本攻擊。

e)快速梯度符號法

快速梯度符號法(FGSM:Fast Gradient Sign Method)是一種將自法和錯誤分類相結合,誘導神經網絡模型做出錯誤的預測的方法。GoodFellow等人[8]首先開發了一種能有效地計算對抗擾動的白盒攻擊方法,Tramèr等人[9]提出R+FGSM白盒攻擊方法,Kurakin等人[10]提出了另一種FGSM變體白盒攻擊方法,Papernot等人[11]基于對抗樣本在模型之間的遷移性,提出了FGSM無目標黑盒攻擊方法,Dong等人[12]提出了黑盒無目標攻擊方法UMI-FGSM和PGD(Project Gradient Descent)。

f)基于雅可比的顯著性圖方法

基于雅可比的顯著性圖方法(JSMA:Jacobian-based Saliency Map Attack)方法使用雅各比矩陣和顯著圖,通過限制擾動的范數來進行白盒目標對抗攻擊[13]。Papernot等人[11]提出了使用JSMA算法對未知目標模型進行黑盒目標攻擊方法。

g)對抗轉換網絡

Baluja和Fischer[14]訓練對抗轉換網絡(ATNs:Adversarial Transformation Networks)來生成對抗樣本,通過最小化由兩部分組成的聯合損失函數來計算產生對抗樣本,可實施白盒目標攻擊。Hayex和Danezis[15]使用ATN構造對抗樣本來進行黑盒目標攻擊。

h)動量迭代攻擊

Kurakin等人[16]提出了動量迭代攻擊(BIM:Basic&Least-Likely-Class Iterative Methods)白盒無目標攻擊方法及其變體,通過用識別概率最不可能的類別(目標類別)代替對抗擾動中的類別變量來生成對抗樣本。

i)DeepFool

Moosavi-Dezfooli等人[17]通過迭代計算的方法生成最小規范對抗擾動,將位于分類邊界內的圖像逐步推到邊界外,直到出現錯誤分類,實現白盒無目標攻擊。

j)通用對抗擾動攻擊

通用對抗擾動(Universal Adversarial Perturbations)可以使添加該擾動的原始圖像被誤分類為其他類別,生成對任何圖像有攻擊能力的擾動,實現白盒無目標攻擊[18]。Khrulkov等人[19]將通用對抗擾動作為網絡的特征映射的雅可比矩陣的奇異向量,使用少量圖像實現較高的欺騙率。

k)分布式對抗攻擊

Zheng等人[20]提出了分布對抗攻擊(DAA:Distributionally Adversarial Attack)白盒無目標攻擊方法,通過學習最大程度地增加模型泛化風險的對抗性數據分布。

l)L-BFGS

Szegedy等人[21]提出了可以應用到不同的模型和訓練數據集中的限域擬牛頓法(L-BFGS:Limited Storage Quasi-Newton Method)白盒目標攻擊方法,通過計算添加到原始圖像上引起神經網絡錯誤分類的擾動來構造對抗樣本。

m)C&W攻擊

Carlini和Wagner[22]提出了一種基于迭代優化的低擾動方法,即C&W攻擊(Carlini and Wagner Attacks),通過限制范數使得擾動無法被察覺,從而實現白盒目標攻擊。

1.3 基于模型輸出引導的測試

基于模型輸出引導的測試主要包括模型竊取、模型逆向攻擊(model inversion attack)和成員推斷攻擊(membership inference attack)。相對而言模型竊取更容易實施。

a)基于替代模型的模型竊取

基于替代模型的模型竊取是目前比較實用的一種攻擊方法。測試人員通過向目標模型進行查詢,獲取相應的結果,根據結果對查詢數據進行標注,構建訓練數據集,在本地訓練一個與目標模型功能相近的替代模型,或者模擬目標模型的決策邊界。

b)成員推斷攻擊

成員推斷攻擊是指攻擊者通過訪問模型預測API,獲得待測樣本的成員關系信息,從預測結果中獲知某個特征數據是否包含在模型的訓練集中。在這種攻擊中,攻擊者僅需要得到預測分類的置信度,不需要知道模型結構、訓練方法、模型參數和訓練數據集分布等信息。

c)模型逆向攻擊

模型逆向攻擊(mode inversion attack)[23]可以在不知道訓練數據的情況下,從模型預測結果中提取和訓練數據有關的信息,泄露患者的隱私。

2 人工智能醫學軟件攻擊性測試規格化

不同網絡安全等級的人工智能醫學軟件產品需要不同強度的攻擊性測試進行驗證。本文借鑒基于攻擊潛力評估攻擊可行性的思路[24],提出了基于攻擊性強度評級的攻擊性測試規格化方案。攻擊性測試強度是指針對特定的被測對象,測試者為達到一定的測試覆蓋和深度所花費的努力值的度量,用測試者掌握的技能、投入的資源和采取的方法表示。

2.1 攻擊性測試強度參數評估

攻擊性測試強度依賴于5個核心參數,用xi表示。包括:投入測試的工時數、擬使用的測試裝備、擁有的機會窗口、擬采用的測試方法和了解被測對象的程度。

a)投入測試的工時數參數(x1)

包括準備投入到了解被測系統、識別脆弱性、分析和策劃漏洞利用,以及實施測試的總時間。分級度量評估值如表1所示。

表1 投入測試的工時數分級度量

b)擬使用的測試裝備參數(x2)

攻擊者可用來發現脆弱性和執行攻擊性測試的工具資源,分級度量評估值如表2所示。

表2 擬使用的測試裝備

c)擁有的機會窗口參數(x3)

為成功地執行測試而提供的訪問條件。分級度量評估值如表3所示。

表3 擁有的機會窗口

d)擬采用的測試方法參數(x4)

測試過程中針對被測對象特點,選用那些測試方法進行攻擊。分級度量評估值如表4所示。

表4 擬采用的測試方法

e)了解被測對象的程度參數(x5)

測試人員能獲得的關于被測對象的信息量。分級度量評估值如表5所示。

表5 了解被測對象的程度

2.2 攻擊性測試強度綜合評價模型

a)攻擊性測試強度綜合評價值計算

攻擊性測試強度綜合評價值由投入測試的工時數(x1)、擬使用的測試裝備(x2)、擁有的機會窗口(x3)、擬采用的測試方法(x4)和了解被測對象的程度(x5)根據權重累加獲得。如果攻擊性測試強度綜合評價參數用y表示,則y的評價值為:

式(1)中,xi——攻擊性測試強度依賴的核心參數;

wi——參數xi分配的權重。

對于wi有:

wi可根據針對特定類型軟件實施攻擊性測試時核心參數產生的不同貢獻確定。

b)攻擊性測試強度綜合評價等級劃分

根據攻擊性測試強度綜合評價值,將攻擊性測試強度綜合評價為高、中、低3個等級,如表6所示。

表6 攻擊性測試強度評估參照表

3 結束語

課題組基于提出的基于攻擊強度評級的規格化攻擊測試方案對所實施的攻擊性測試進行強度管理,驗證了方案的可行性和合理性。隨著圍繞人工智能系統的新型攻擊不斷出現,以及自動化工具的推出,將對參數評估準則進行不斷的完善,以適應對測試強度科學控制和量化管理的需要。

人工智能醫學軟件攻擊性測試規格化假定測試團隊的專業技能能夠滿足各級別不同測試強度的要求。在實際測試中,應保證測試團隊的專業技能與測試強度相匹配,包括:掌握攻擊性測試知識,熟練運用和研發專業工具,了解被測對象底層算法、協議、框架、密碼學、安全行為和安全機制,以及團隊測試技巧和經驗等。

猜你喜歡
黑盒攻擊性擾動
一種基于局部平均有限差分的黑盒對抗攻擊方法
Bernoulli泛函上典則酉對合的擾動
一類四次擾動Liénard系統的極限環分支
帶擾動塊的細長旋成體背部繞流數值模擬
3-6歲幼兒攻擊性行為的現狀及對策
幼兒攻擊性行為的誘因及干預策略
(h)性質及其擾動
留守高職生的控制欲、攻擊性和焦慮、抑郁的關系調查研究
“愛”的另類表達,嬰兒的攻擊性行為
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合