李景海,唐明,2,黃誠(chéng)軒
基于側(cè)信道與量化推理缺陷的模型逆向攻擊
李景海1,唐明1,2,黃誠(chéng)軒1
(1. 武漢大學(xué)國(guó)家網(wǎng)絡(luò)安全學(xué)院空天信息安全與可信計(jì)算教育部重點(diǎn)實(shí)驗(yàn)室,湖北 武漢 430072;2. 密碼科學(xué)技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100878)
AI安全;模型逆向攻擊;量化推理缺陷;側(cè)信道分析;Cluster-basedSCA
隨著大數(shù)據(jù)時(shí)代的到來(lái)以及計(jì)算機(jī)計(jì)算速度的顯著提升,人工智能迎來(lái)快速發(fā)展,廣泛應(yīng)用于圖像識(shí)別、語(yǔ)音識(shí)別、自然語(yǔ)言處理等任務(wù)。深度學(xué)習(xí)是應(yīng)用最為廣泛的人工智能技術(shù)之一。深度學(xué)習(xí)以深度神經(jīng)網(wǎng)絡(luò)(DNN,deep neural network)模型為核心,以數(shù)據(jù)為驅(qū)動(dòng),通過訓(xùn)練出具有良好表達(dá)能力的DNN模型對(duì)問題進(jìn)行建模并解決。深度學(xué)習(xí)在人類社會(huì)各個(gè)領(lǐng)域都發(fā)揮了巨大作用,但同樣存在巨大的安全風(fēng)險(xiǎn)?,F(xiàn)階段深度學(xué)習(xí)的安全研究集中于邊緣端的模型推理過程,包括對(duì)抗樣本[1-2]、數(shù)據(jù)投毒[3-4]、成員推斷[5]、模型逆向[6-8]等方面。本文以模型逆向攻擊為研究對(duì)象,模型逆向攻擊是指攻擊者通過各種方式提取出DNN模型的有關(guān)信息,包括模型的結(jié)構(gòu)、模型的權(quán)重。模型結(jié)構(gòu)與權(quán)重構(gòu)成了整個(gè)神經(jīng)網(wǎng)絡(luò),一旦攻擊者通過模型逆向攻擊恢復(fù)了網(wǎng)絡(luò)模型的結(jié)構(gòu)與權(quán)重,模型的推理過程就完全暴露在攻擊者的視野中,攻擊者可在短時(shí)間內(nèi)完成如對(duì)抗樣本等高階攻擊,對(duì)深度學(xué)習(xí)系統(tǒng)造成巨大危害。
傳統(tǒng)的模型逆向攻擊使用Query-based方法[6-7,9],通過向模型輸入數(shù)據(jù)并獲得輸出從而構(gòu)造影子數(shù)據(jù)集,將影子數(shù)據(jù)集作為訓(xùn)練數(shù)據(jù)集訓(xùn)練一個(gè)替代模型來(lái)擬合原始模型進(jìn)行模型的逆向。近兩年,針對(duì)模型逆向攻擊,出現(xiàn)了基于側(cè)信道的新形式的攻擊方法[8,10-12]?;趥?cè)信道的攻擊以DNN的具體實(shí)現(xiàn)為攻擊點(diǎn),通過分析計(jì)算設(shè)備在運(yùn)行DNN時(shí)產(chǎn)生的側(cè)信道信息(如功耗等)來(lái)提取模型結(jié)構(gòu)和權(quán)重等隱私信息。本文以AI芯片來(lái)指代實(shí)現(xiàn)模型推理的實(shí)際計(jì)算設(shè)備。側(cè)信道攻擊主要用于密碼學(xué)中各加密算法的密鑰恢復(fù)中,對(duì)稱加密算法和神經(jīng)網(wǎng)絡(luò)算法在結(jié)構(gòu)與計(jì)算過程上具有相似性,在算法結(jié)構(gòu)上,對(duì)稱密碼算法由輪函數(shù)串聯(lián)而成,DNN則由多層網(wǎng)絡(luò)層組成,二者都存在線性部件和非線性部件;在運(yùn)行模式上,二者后一層/輪的輸入取決于前一層/輪的輸出,存在顯式的中間值結(jié)果?;谶@種相似性,側(cè)信道攻擊開始用于DNN的模型逆向攻擊。
Hua等[10]通過測(cè)量模型運(yùn)行過程中產(chǎn)生的內(nèi)存訪問模式信息,成功地逆向了基于FPGA實(shí)現(xiàn)的CNN模型的結(jié)構(gòu)。Hu等[12]將視線轉(zhuǎn)移到通用的GPU平臺(tái),測(cè)量了在GPU上運(yùn)行產(chǎn)生的kernel events和對(duì)應(yīng)的內(nèi)存訪問模式,將結(jié)構(gòu)逆向問題轉(zhuǎn)化為一個(gè)序列識(shí)別的問題,采用ASR中常用的LSTM+CTC的解決方案逆向了基于GPU實(shí)現(xiàn)的DNN 結(jié)構(gòu)。Batina等[8]通過測(cè)量模型運(yùn)行過程中產(chǎn)生的電磁信號(hào),成功逆向了ARM Cortex-M3平臺(tái)上實(shí)現(xiàn)的DNN的層數(shù)、每層神經(jīng)元數(shù)量、激活函數(shù)類別等信息。Wei等[11]則通過測(cè)量功耗逆向了CNN的輸入。在已有研究中,以內(nèi)存狀態(tài)為數(shù)據(jù)來(lái)源的方法存在數(shù)據(jù)采集困難的問題。內(nèi)存狀態(tài)信息的獲取要求攻擊者對(duì)AI芯片有較高的訪問權(quán)限或者通過硬件木馬來(lái)收集內(nèi)存信息,這對(duì)于攻擊者而言是很高的能力要求。而基于物理側(cè)信道的方法存在如下問題:其使用CPA技術(shù)來(lái)逆向模型權(quán)重,這種方法要求攻擊者構(gòu)造足夠準(zhǔn)確的泄露模型完成假設(shè)中間值到側(cè)信道信息的映射,這需要攻擊者掌握設(shè)備的底層硬件電路設(shè)計(jì),而AI芯片的設(shè)計(jì)細(xì)節(jié)是生產(chǎn)商的重要知識(shí)產(chǎn)權(quán),出于對(duì)知識(shí)產(chǎn)權(quán)的保護(hù),加速卡生產(chǎn)商不會(huì)公布加速卡的內(nèi)部細(xì)節(jié),因此攻擊者無(wú)法有效構(gòu)造準(zhǔn)確的泄露模型。為了解決這一問題,本文提出了一種新的攻擊方法,該方法無(wú)須攻擊者構(gòu)造泄露模型。
本文方法的出發(fā)點(diǎn)來(lái)自當(dāng)AI芯片使用了量化推理技術(shù)后,模型逆向攻擊變得更有可能實(shí)現(xiàn)。量化推理[13-15]是AI芯片為了減小模型存儲(chǔ)開銷和加速模型的推理廣泛使用的技術(shù)。量化推理中,F(xiàn)P32的模型權(quán)重與激活值使用更低精度的FP16或INT8類型表示,來(lái)減小存儲(chǔ)開銷與提高計(jì)算速度,AI芯片會(huì)設(shè)計(jì)專門的部件來(lái)適配低精度情況下的模型推理,如 Xilinx的DPU、Google的TPU[16]等。量化推理存在潛在的安全威脅,因?yàn)榱炕夹g(shù)使表示單個(gè)權(quán)重所需要的比特?cái)?shù)大大降低,攻擊者可以更加容易地枚舉所有可能權(quán)重并驗(yàn)證是否正確,從而恢復(fù)出正確的權(quán)重;另外,量化推理導(dǎo)致了一種輸出序列分類不等價(jià)的現(xiàn)象,這啟發(fā)筆者使用猜測(cè)權(quán)重的平均離散系數(shù)為指標(biāo)來(lái)判斷猜測(cè)權(quán)重正確與否,這種方法被稱為cluster-based side-channel analysis,簡(jiǎn)稱cluster-based SCA。
本文的主要工作如下。
(2)提出了新的基于側(cè)信道的攻擊方法 Cluster-based SCA,該方法不需要攻擊者構(gòu)造特定的泄露模型。利用Cluster-based SCA構(gòu)造了模型權(quán)重逆向的攻擊,并進(jìn)行了仿真實(shí)驗(yàn)來(lái)驗(yàn)證方法的有效性。
(3)分析了 Cluster-based SCA 方法的性質(zhì)。
側(cè)信道分析(SCA,side-channel analysis)利用算法在運(yùn)行時(shí)產(chǎn)生的側(cè)信道信息,如功耗、時(shí)間等來(lái)推測(cè)算法的私密信息。側(cè)信道分析的研究起源于密碼學(xué)[17],通過分析加密設(shè)備在加密過程產(chǎn)生的側(cè)信道信息來(lái)推測(cè)密鑰,包括SPA(simple power analysis)[18]、DPA(differential power analysis)[19]、CPA(correlation power analysis)[20]等技術(shù),相比基于統(tǒng)計(jì)分析的密鑰恢復(fù)攻擊,SCA的優(yōu)勢(shì)在于其采取了分而治之的思想,通過逐個(gè)恢復(fù)密鑰中的較小部分,通常為單個(gè)字節(jié),從而減少了密鑰恢復(fù)的復(fù)雜度。側(cè)信道攻擊中的幾種基本方法如下。
SPA:簡(jiǎn)單能量分析是SCA的基本形式,SPA是從密碼芯片運(yùn)算的功耗波形上能夠直接找出密鑰信息的攻擊方法。在芯片中,密鑰位為0時(shí)運(yùn)算的功耗和密鑰位為1時(shí)運(yùn)算的功耗存在差異,通過這樣的差異分析出密鑰位的值,按照一定規(guī)律組合得到完整的密鑰。SPA常用于攻擊RSA算法,通過區(qū)分平方運(yùn)算和乘法運(yùn)算,逐步恢復(fù)出密鑰。
DPA:差分能量分析是SCA的高級(jí)形式,它是以能量消耗曲線為基礎(chǔ),再以統(tǒng)計(jì)方式推演密鑰的攻擊技術(shù)。在攻擊中,攻擊者首先對(duì)密鑰進(jìn)行假設(shè),并據(jù)此計(jì)算出中間值。根據(jù)中間值取值將采集到的功耗曲線分為兩個(gè)或多個(gè)集合,并計(jì)算這些集合的均值的差來(lái)驗(yàn)證假設(shè)是否正確從而恢復(fù)出密鑰。
CPA:相關(guān)能量分析是DPA的一種變體,其使用Pearson相關(guān)系數(shù)作為統(tǒng)計(jì)指標(biāo)進(jìn)行猜測(cè)正確與否的確認(rèn)。文獻(xiàn)[8]中使用CPA進(jìn)行神經(jīng)網(wǎng)絡(luò)模型參數(shù)的恢復(fù)。CPA恢復(fù)密鑰的主要步驟如下。
本文使用DNN表示僅有全連接層的網(wǎng)絡(luò)以及帶有卷積層的CNN。DNN由多種類型網(wǎng)絡(luò)層串聯(lián)而成,本文不考慮Resnet中的shortcut和GoogLeNet中的Inception模塊。常見的網(wǎng)絡(luò)層類型有卷積層、池化層、全連接層、BN層等。其中最主要的兩種類型為卷積層和全連接層,Krizhevsky在文獻(xiàn)[21]中提出了兩點(diǎn)觀察結(jié)論:卷積層占據(jù)了90%~95% 的計(jì)算時(shí)間和5%權(quán)重?cái)?shù)量,且有較大的值;全連接層占據(jù)了5%~10% 的計(jì)算時(shí)間和95%的權(quán)重?cái)?shù)量,且值較小。這兩層的運(yùn)算都可以轉(zhuǎn)換為通用矩陣乘法運(yùn)算。卷積層內(nèi)每個(gè)神經(jīng)元都與前一層中位置接近的區(qū)域的多個(gè)神經(jīng)元相連,區(qū)域的大小取決于卷積核的大小,被稱為“感受野”。卷積核在工作時(shí),在“感受野”內(nèi)對(duì)輸入特征做矩陣元素乘法求和并疊加偏差量,送入激活函數(shù)后生成特征圖作為下一層的輸入。圖1展示了如何將卷積層的計(jì)算轉(zhuǎn)換為通用矩陣乘法計(jì)算。
圖1 卷積計(jì)算與GEMM之間的轉(zhuǎn)換
Figure 1 Transformation between convolution operation and GEMM
如圖1所示,對(duì)于輸入特征圖為 3×3×3,卷積核為2×2×3×2 的情況,通過將每一通道在單次卷積操作中涉及的操作數(shù)按行展開并將卷積核對(duì)應(yīng)的元素按列展開,即可將原始的卷積操作展開成矩陣乘法。原始卷積操作等價(jià)于式(1)。
其中,IF為輸入特征矩陣,為權(quán)重矩陣,OF為輸出特征矩陣。原始的卷積核元素被轉(zhuǎn)換為矩陣乘法的操作數(shù)。
全連接層可以看成卷積核尺寸與輸入特征圖相同的卷積層,其底層操作仍然可以轉(zhuǎn)換為通用矩陣乘法。而通用矩陣乘法由標(biāo)量乘法組成,對(duì)于卷積層或全連接層的輸出值,其可以表示為式(2)。
量化完成從原始數(shù)據(jù)類型到量化后數(shù)據(jù)類型的轉(zhuǎn)化,使用式(3)計(jì)算。
反量化完成量化后數(shù)據(jù)類型到原始數(shù)據(jù)類型的轉(zhuǎn)化,使用式(4)計(jì)算。
目前,已有大量的論文對(duì)量化推理進(jìn)行了研究,根據(jù)量化后的數(shù)據(jù)類型可以分為FP16 量化、INT8 量化[14],以及更加激進(jìn)的XNORNet[15]等,其量化精度高,模型準(zhǔn)確率損失小,但量化效果差,而過低精度的量化在顯著提升量化效果時(shí)帶來(lái)了更大的模型準(zhǔn)確度損失。通過權(quán)衡,現(xiàn)階段最成熟的量化方案為INT8量化,如Google 的Tensorlite、Nvidia的TensorRT、騰訊的NCNN。
Google 發(fā)布的白皮書[23]對(duì)現(xiàn)有的INT8 量化方案做了全面的介紹,其將量化方案分為Uniform Affine Quantizer、Uniform Symmetric Quantizer 和Stochastic Quantizer。本文第3節(jié)以Uniform Symmetric Quantizer 為例,分析量化操作中存在的安全風(fēng)險(xiǎn),這是Cluster-based SCA方法的理論基礎(chǔ)。
本文以AI 芯片來(lái)指代實(shí)現(xiàn)模型推理的實(shí)際計(jì)算設(shè)備。AI 芯片是逆向目標(biāo)DNN 模型的運(yùn)行載體,其在執(zhí)行模型計(jì)算任務(wù)時(shí)產(chǎn)生意外的側(cè)信道信息泄露,從而泄露與模型有關(guān)的隱私信息。AI芯片采用??▽S玫哪J剑褂锰囟軜?gòu)專注于模型計(jì)算任務(wù)。專卡專用的模式減少了加速卡內(nèi)部與模型計(jì)算無(wú)關(guān)的任務(wù)的執(zhí)行,提高了運(yùn)行時(shí)產(chǎn)生的側(cè)信道信息與神經(jīng)網(wǎng)絡(luò)模型的相關(guān)性,這種更為純凈的側(cè)信道信息提升了攻擊者從采集到的側(cè)信道信息中恢復(fù)模型結(jié)構(gòu)權(quán)重的可能性。AI芯片根據(jù)技術(shù)路線可分為GPU、FPGA、ASIC。AI芯片的架構(gòu)與底層實(shí)現(xiàn)一般不會(huì)公開,尤其是ASIC實(shí)現(xiàn)的AI芯片,其對(duì)于用戶為完全的黑盒狀態(tài)。AI芯片以加速模型推理為目的,而量化推理作為一種常見的算法層的模型優(yōu)化與推理加速方案,具有實(shí)現(xiàn)簡(jiǎn)單、效果明顯的優(yōu)點(diǎn)。因此,AI芯片在底層架構(gòu)中針對(duì)量化推理進(jìn)行了適配,加入了定制的低精度運(yùn)算部件。目前,全球芯片企業(yè)都在積極地進(jìn)行AI芯片的布局。Google、Nvidia、Xilinx等企業(yè)發(fā)布了自己的AI芯片產(chǎn)品。表1列舉了現(xiàn)階段部分AI 芯片產(chǎn)品及其對(duì)量化推理的支持。
表1 主流AI芯片對(duì)比
量化推理雖然帶來(lái)了更快的推理速度和更低的運(yùn)行功耗,但同時(shí)帶來(lái)了安全風(fēng)險(xiǎn)。由于低精度數(shù)據(jù)的表達(dá)能力有限,其在運(yùn)算過程中會(huì)損失許多有用的數(shù)據(jù)。本節(jié)以Uniform Symmetric Quantizer[23]下的INT8 量化為例說(shuō)明量化推理中存在的安全風(fēng)險(xiǎn),對(duì)于其他量化策略,該風(fēng)險(xiǎn)依然存在。
這里首先給出分類不等價(jià)的概念,方便后續(xù)說(shuō)明。
本節(jié)討論量化乘法中分類不等價(jià)現(xiàn)象產(chǎn)生原因。量化推理操作導(dǎo)致的這種輸出序列分類不等價(jià)現(xiàn)象來(lái)源可以分為兩部分。第一部分來(lái)源于量化操作中round的函數(shù);第二部分來(lái)源于量化操作中Clamp的函數(shù)。
由于量化推理DNN中的絕大部分計(jì)算為量化乘法,基于量化乘法操作導(dǎo)致的這種輸出序列分類不等價(jià)性,本文結(jié)合側(cè)信道分析構(gòu)造了一種新型的攻擊方式來(lái)逆向DNN中的權(quán)重。
本節(jié)考慮這種場(chǎng)景下的攻擊:攻擊者偽裝成使用終端推理服務(wù)的普通用戶,其可獲取AI 芯片,使用量化推理技術(shù)來(lái)加速模型推理過程,上部署了DNN 模型,攻擊者可以獲取運(yùn)行DNN 模型產(chǎn)生的功耗,攻擊者的目標(biāo)為使用模型逆向方法恢復(fù)DNN 模型權(quán)重集合。其中,權(quán)重集合包含神經(jīng)網(wǎng)絡(luò)中全連接層和卷積層的所有權(quán)重值。這樣的場(chǎng)景廣泛存在于安防攝像頭、無(wú)人駕駛、智能家居設(shè)備、AIoT 等邊緣計(jì)算環(huán)境。例如,在圖3無(wú)人駕駛汽車場(chǎng)景,廣泛使用AI芯片加速目標(biāo)識(shí)別等任務(wù)。
對(duì)于攻擊者,做出如下攻擊者能力假設(shè)。
① 在信息收集階段,可獲得部署了攻擊目標(biāo)模型的AI芯片,控制模型的輸入,獲得其輸出,并且可以測(cè)量加速卡運(yùn)行DNN模型時(shí)產(chǎn)生的功耗。
圖2 FP32乘法、量化乘法(僅使用round函數(shù))、量化乘法(round+Clamp)在輸出序列分類不等價(jià)性上的區(qū)別
Figure 2 The difference of classification unequivalence between FP32 multiplication, quantized multiplication(only round),quantized multiplication(round+Clamp)
② 攻擊者獲取了模型各層的量化參數(shù)和模型的結(jié)構(gòu)。
③ 攻擊者不了解AI 芯片內(nèi)部的架構(gòu)設(shè)計(jì)細(xì)節(jié),也無(wú)法得知AI 芯片對(duì)網(wǎng)絡(luò)層的底層實(shí)現(xiàn),AI 芯片對(duì)于攻擊者來(lái)說(shuō)是一個(gè)完全的黑盒。
在攻擊者能力假設(shè)中,對(duì)于假設(shè)①,攻擊者可以直接通過購(gòu)買等方式獲得部署了攻擊目標(biāo)模型的AI芯片并使用各種示波器和探頭獲取芯片運(yùn)行時(shí)產(chǎn)生的功耗。對(duì)于假設(shè)②中的模型結(jié)構(gòu)信息,在實(shí)際環(huán)境中也可以滿足,現(xiàn)今神經(jīng)網(wǎng)絡(luò)的發(fā)展類似于加密算法的發(fā)展,模型大多公開或者直接使用開源模型,而對(duì)數(shù)據(jù)集進(jìn)行保密。另外,攻擊者可以使用模型逆向的方法來(lái)恢復(fù)模型結(jié)構(gòu)[8,12]。在攻擊者能力假設(shè)下,攻擊者無(wú)法獲得關(guān)于AI 芯片的內(nèi)部實(shí)現(xiàn)細(xì)節(jié),無(wú)法構(gòu)造有效的泄露模型。因此,本文使用Cluster-based SCA來(lái)進(jìn)行權(quán)重的逆向。
圖3 攻擊場(chǎng)景:無(wú)人駕駛
Figure 3 Attack scenario: automatic drive
本節(jié)介紹Cluster-based SCA方法的原理。Cluster-based SCA方法的優(yōu)點(diǎn)在于其不需要攻擊者構(gòu)造泄露模型。本文使用Uniform Symmetric Quantizer量化方案的乘法(表示為式(5))。
圖4 Cluster-based SCA方法實(shí)例(M=0.57)
Figure 4 An instance of Cluster-based SCA (=0.57)
算法1 Cluster-based SCA
end
=ClusterWithKey(KV)
for=1:|| do
end
end
4.3.1 對(duì)稱性
4.3.2 不均勻性
圖5 不同取值Cluster-based SCA的恢復(fù)效果
圖6 Cluster-based SCA的不均勻性(M=0.000 663)
Figure6 Nonuniformity of Cluster-based SCA (=0.000 663)
本節(jié)使用Cluster-based方法來(lái)逆向模型的權(quán)重。本節(jié)將全連接層視為卷積核尺寸等于輸入特征圖尺寸的特殊卷積層,根據(jù)2.1節(jié)和2.2 節(jié)的分析,在量化推理中,F(xiàn)P32類型權(quán)重值與特征值均被轉(zhuǎn)換為INT8類型的數(shù)據(jù),全連接層和卷積層的輸出在進(jìn)入激活函數(shù)之前,可以統(tǒng)一表示為式(7)。
為探究不同網(wǎng)絡(luò)結(jié)構(gòu)對(duì)方法的影響,本文實(shí)驗(yàn)部分采取了10種不同結(jié)構(gòu)的網(wǎng)絡(luò),其擁有不同的卷積層設(shè)置,詳細(xì)設(shè)置如表2所示。
為探究曲線條數(shù)對(duì)方法的影響,實(shí)驗(yàn)對(duì)于每一種網(wǎng)絡(luò)結(jié)構(gòu),設(shè)置了10種曲線條數(shù)取值情況,從1 000到10 000。為探究噪聲對(duì)方法的影響,實(shí)驗(yàn)對(duì)于每一種網(wǎng)絡(luò)結(jié)構(gòu),曲線條數(shù)取5 000時(shí),設(shè)置了10種噪聲方差取值情況,從0.1到1.0。
表2 實(shí)驗(yàn)網(wǎng)絡(luò)層結(jié)構(gòu)
實(shí)驗(yàn)使用Cluster-based SCA方法分別恢復(fù)了這10種網(wǎng)絡(luò)結(jié)構(gòu)的卷積層參數(shù)。
為了探究泄露模型對(duì)方法的影響,實(shí)驗(yàn)選取了5種不同的泄露模型進(jìn)行對(duì)比,分別為漢明重模型與4種隨機(jī)數(shù)模型(random leakage model)。使用漢明重模型為基準(zhǔn)泄露模型來(lái)仿真AI芯片實(shí)際運(yùn)行量化乘法時(shí)產(chǎn)生的功耗,并使用隨機(jī)數(shù)模型進(jìn)行對(duì)比實(shí)驗(yàn)。漢明重模型使用操作數(shù)的漢明重量作為其功耗,即INT8 數(shù)據(jù)二進(jìn)制表示中置1的位數(shù);隨機(jī)數(shù)模型將操作數(shù)映射到一個(gè)隨機(jī)功耗值。二者計(jì)算式見式(9)。本文引入了高斯噪聲來(lái)模型實(shí)際情況下的環(huán)境噪聲。值得注意的是,雖然使用了泄露模型,但在實(shí)際的Cluster-based SCA方法中并沒有使用到任何與泄露模型有關(guān)的信息,其作用僅為得到仿真實(shí)驗(yàn)所需的仿真功耗值。
實(shí)驗(yàn)使用Cluster-based SCA 方法恢復(fù)了所有實(shí)驗(yàn)?zāi)繕?biāo)CNN的第一層卷積層的所有權(quán)重,使用TOP恢復(fù)率來(lái)定量描述方法的效果。對(duì)于卷積核中的每一個(gè)權(quán)重,若其猜測(cè)序列前個(gè)猜測(cè)權(quán)重中包含正確值,則認(rèn)為成功恢復(fù)該權(quán)重。TOP正確率等于卷積核中恢復(fù)成功的權(quán)重?cái)?shù)量與總權(quán)重?cái)?shù)量之比。
圖7顯示了共384次恢復(fù)實(shí)驗(yàn)的整體情況。
圖7 恢復(fù)實(shí)驗(yàn)整體情況
Figure 7 The overall situation of the experiment
表3展示了不同網(wǎng)絡(luò)結(jié)構(gòu)、曲線條數(shù)以及取值情況下的正確率。曲線條數(shù)取值情況為100條、1 000條、2 000條、6 000條。TOP中取值情況為=1,=2,=5。從表3來(lái)看,曲線在各種結(jié)構(gòu)下的TOP恢復(fù)率變化不大,這與理論分析相符合,即權(quán)重的恢復(fù)率取決于參數(shù)的分布情況,而與模型的結(jié)構(gòu)無(wú)關(guān)。由于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練特性,導(dǎo)致訓(xùn)練后的模型每一層的權(quán)重服從于高斯分布[24]。
圖8 顯示了Cluster-based SCA 方法TOP恢復(fù)率的實(shí)驗(yàn)結(jié)果。仿真泄露模型為漢明重模型,方差為0.2。由圖8可以看出,Cluster-based SCA 方法在曲線條數(shù)為6 000時(shí)收斂到最佳效果。
圖8 TOPK恢復(fù)率隨曲線條數(shù)的變化
Figure 8 TOPrecovery rate with respect to samples
圖8中TOP2 正確率相對(duì)于TOP1 正確率提升了約100%。這是Cluster-based SCA 方法的對(duì)稱性導(dǎo)致的。Cluster-based SCA對(duì)稱性的存在,導(dǎo)致在恢復(fù)模型權(quán)重時(shí)只能恢復(fù)其絕對(duì)值。但這不是一個(gè)很大的問題,因?yàn)楸3州斎霝檎龝r(shí),權(quán)重的正負(fù)將表現(xiàn)在輸出值上,而根據(jù)文獻(xiàn)[8]的研究,對(duì)于激活函數(shù),其對(duì)于正負(fù)激活值的操作時(shí)間是存在巨大區(qū)別的,因此,攻擊者可以使用激活函數(shù)的執(zhí)行時(shí)間來(lái)分辨出權(quán)重值的正負(fù)。
表3 不同網(wǎng)絡(luò)結(jié)構(gòu)、曲線條數(shù)以及K取值情況下的正確率
圖9為曲線條數(shù)10 000 條,漢明重模型方差0.2時(shí),TOP恢復(fù)率隨值的變化曲線,圖中TOP的恢復(fù)率在=1,2 時(shí)迅速增長(zhǎng),隨后變緩,直到=243 才能達(dá)到100%。這是由于SCA 方法不均勻性導(dǎo)致的。具體地,模型權(quán)重TOP2恢復(fù)率為52.66%,此時(shí)成功恢復(fù)的權(quán)重包括位于顯著區(qū)的權(quán)重(在=2時(shí),其絕對(duì)值被恢復(fù)出來(lái)),以及部分位于有效區(qū)的權(quán)重。對(duì)于有效區(qū)的權(quán)重,由于不均勻性,最小的離散系數(shù)可能不由真實(shí)權(quán)重或其相反數(shù)產(chǎn)生,在這種情況下真實(shí)權(quán)重在猜測(cè)序列中的索引大于或等于2,具體索引值取決于噪聲,帶有隨機(jī)性。但根據(jù)圖5的結(jié)果,有效區(qū)的AGT指標(biāo)和VGT指標(biāo)仍相對(duì)較小,所以恢復(fù)率較快上升,對(duì)應(yīng)圖9中2<<40區(qū)間。而對(duì)于空洞區(qū)的權(quán)重,其真實(shí)權(quán)重在猜測(cè)序列中的索引完全隨機(jī),AGT指標(biāo)和VGT指標(biāo)高,所以恢復(fù)率上升變得緩慢,對(duì)應(yīng)圖9中≥40區(qū)間。
圖9 TOPK恢復(fù)率隨K值的變化
Figure 9 TOPrecovery rate with respect to
通過對(duì)基準(zhǔn)泄露模型設(shè)定不同的方差值,本文分析了Cluster-based SCA 方法的抗噪聲能力,共進(jìn)行了11組實(shí)驗(yàn),圖10顯示了Cluster-based SCA 方法在面對(duì)不同大小噪聲時(shí)的表現(xiàn),發(fā)現(xiàn)Cluster-based SCA 方法具有很強(qiáng)的抗噪聲能力。
圖10 TOPK恢復(fù)率隨噪聲的變化
Figure 10 TOPrecovery rate with respect to noise
最后選取4組隨機(jī)數(shù)模型作為泄露模型,并與基準(zhǔn)泄露模型的實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比。圖11的實(shí)驗(yàn)結(jié)果顯示了本文方法對(duì)5組泄露模型的攻擊呈現(xiàn)出穩(wěn)定性。對(duì)于位于顯著區(qū)的權(quán)重,Cluster-based SCA 均以接近100%的TOP2 恢復(fù)率完成了逆向。這驗(yàn)證了Cluster-based SCA 無(wú)須構(gòu)造泄露模型信息的特點(diǎn)。
圖11 TOPK恢復(fù)率隨泄露模型的變化
Figure 11 TOPrecovery rate with respect to leakagemodel
本文以模型逆向攻擊為研究目標(biāo),具體地,以部署在使用了量化推理技術(shù)的AI 芯片上的DNN 模型為攻擊目標(biāo),旨在逆向DNN中卷積層和全連接層的權(quán)重。本文分析了量化推理過程,發(fā)現(xiàn)了其中存在的輸出序列分類不等價(jià)現(xiàn)象,結(jié)合側(cè)信道攻擊,提出Cluster-based SCA 方法。現(xiàn)有的使用CPA方法恢復(fù)模型權(quán)重的方法,需要攻擊者構(gòu)造準(zhǔn)確的泄露模型,要求攻擊者十分了解AI芯片的底層實(shí)現(xiàn),且具有豐富的經(jīng)驗(yàn),這是因?yàn)锳I芯片本身具有的黑盒性而變得難以實(shí)現(xiàn)。而與CPA 方法相比,本文提出的Cluster-based SCA方法無(wú)須攻擊者構(gòu)建功耗模型,適用于未知實(shí)現(xiàn)細(xì)節(jié)的AI 芯片上的模型逆向,對(duì)于權(quán)重值較大的顯著區(qū),Cluster-based SCA 方法使攻擊者權(quán)重恢復(fù)指標(biāo)AGT 減少至1.5。本文進(jìn)行了仿真實(shí)驗(yàn),Cluster-based SCA 方法以52.66%的TOP2恢復(fù)率恢復(fù)了CNN第一層卷積層所有卷積核權(quán)重,對(duì)于取值位于顯著區(qū)的權(quán)重,TOP2 的恢復(fù)率均達(dá)到了100%,并驗(yàn)證了方法的可行性,發(fā)現(xiàn)Cluster-based SCA 方法具有抗噪能力。
未來(lái)的工作將集中于:① 驗(yàn)證使用估計(jì)量化參數(shù)進(jìn)行逆向的有效性以及提出應(yīng)對(duì)措施解決Cluster-based SCA 的不均勻性問題;② 將Cluster-based SCA 方法用于實(shí)際的攻擊環(huán)境中并對(duì)其進(jìn)行評(píng)估;③ 給出針對(duì)Cluster-based SCA 的防護(hù)措施。
[1] KURAKIN A, GOODFELLOW I J, BENGIO S, et al. Adversarial examples in the physical world[J]. CoRR, abs/1607.02533, 2016.
[2] GOODFELLOW I J, SHLENS J, SZEGEDY C, et al. Explaining and harnessing adversarial examples[C]//3rd International Conference on Learning Representations(ICLR 2015). 2015.
[3] BIGGIO B, NELSON B, LASKOV P, et al. Poisoning attacks against support vector machines[C]//Proceedings of the 29th International Conference on Machine Learning(ICML 2012). 2012.
[4] XIAO H, BIGGIO B, BROWN G, et al. Is feature selection secure against training data poisoning? [J]. CoRR, abs /1804.07933, 2018.
[5] SHOKRI R, STRONATI M, SONG C Z, et al. Membership inference attacks against machine learning models[C]//2017 IEEE Symposium on Security and Privacy (SP 2017). 2017: 3-18.
[6] TRAM_ER F, ZHANG F, JUELS A, et al. Stealing machine learning models via prediction apis[C]//25th USENIX Security Symposium. 2016: 601-618.
[7] OH S J, AUGUSTIN M, FRITZ M, et al. Towards reverse-engineering black-box neural networks[C]//6th International Conference on Learning Representations(ICLR 2018). 2018.
[8] BATINA L, BHASIN S, JAP D, et al. CSI NN: reverse engineering of neural network architectures through electromagnetic side channel[C]//28th USENIX Security Symposium. 2019: 515-532.
[9] OREKONDY T, SCHIELE B, FRITZ M, et al. Knockoff nets: stealing functionality of black-box models[C]//IEEE Conference on Computer Vision and Pattern Recognition(CVPR 2019). 2019: 4954-4963.
[10] HUA W, ZHANG Z R, SUH G E. Reverse engineering convolutional neural networks through side-channel information leaks[C]// Proceedings of the 55th Annual Design Automation Conference (DAC 2018). 2018: 41-46.
[11] WEI L X, LUO B, LI Y, et al. I know what you see: Power side-channel attack on convolutional neural network accelerators[C]//Proceedings of the 34th Annual Computer Security Applications Conference. 2018: 393-406.
[12] HU X, LIANG L, DENG L, et al. Neural network model extraction attacks in edge devices by hearing architectural hints[J]. CoRR, abs/1903.03916, 2019.
[13] HAN S, MAO H Z, DALLY W J. Deep compression: compressing deep neural networks with pruning, trained quantization and human coding[C]//ICLR 2016. 2016.
[14] JACOB B, KLIGYS S, CHEN B, et al. Quantization and training of neural networks for efficient integer- arithmetic-only inference[C]// 2018 IEEE Conference on Computer Vision and Pattern Recognition(CVPR 2018). 2008: 2704-2713.
[15] RASTEGARI M, ORDONEZ V, REDMON J, et al. Xnor-net: Imagenet classification using binary convolutional neural networks[J]. CoRR, abs/1603.05279, 2016.
[16] PATIL N, JOUPPI N P, YOUNG C, et al. In-datacenter performance analysis of a tensor processing unit[C]//Proceedings of the 44th Annual International Symposium on Computer Architecture(ISCA 2017). 2017: 1-12.
[17] KOCHER P C. Timing attacks on implementations of Diffie-Hellman, RSA, DSS, and other systems[C]//Advances in Cryptology | CRYPTO '96. 1996: 104-113.
[18] MANGARD S. A simple power-analysis (spa) attack on implementations of the AES key expansion[C]//International Conference on Information Security and Cryptology(ICISC 2002). 2002: 343-358.
[19] KOCHER P, JAFFE J, JUN B. Differential power analysis[C]//Advances in Cryptology(CRYPTO' 99). 1999: 388-397.
[20] BRIER E, CLAVIER C, OLIVIER F. Correlation power analysis with a leakage model[C]//Cryptographic Hardware and Embedded Systems(CHES 2004). 2004: 16-29.
[21] KRIZHEVSKY A. One weird trick for parallelizing convolutional neural networks[J]. CoRR, abs/1404.5997, 2014.
[22] HE K, ZHANG X Y, REN S Q, et al. Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition(CVPR 2016). 2016: 770-778.
[23] KRISHNAMOORTHI R. Quantizing deep convolutional networks for efficient inference: a whitepaper[M]. CoRR, abs/1806.08342, 2018.
[24] LIN D D, SACHIN S, TALATHI V, et al. Fixed point quantization of deep convolutional networks[C]//Proceedings of the 33nd International Conference on Machine Learning(ICML 2016). 216: 2849-2858.
Using side-channel and quantization vulnerability to recover DNN weights
LI Jinghai1, TANG Ming1,2, HUANG Chengxuan1
1.Key Laboratory of Aerospace Information Security and Trusted Computing, Ministry of Education, School of Cyber Science and Engineering, Wuhan University, Wuhan 430072, China 2. State Key Laboratory of Cryptology, Beijing 100878, China
AI security, model extraction attack, quantization vulnerability, side-channel analysis, Cluster-based SCA
TP309.2
A
10.11959/j.issn.2096?109x.2021038
2020?07?23;
2021?01?20
唐明,m.tang@126.com
國(guó)家自然科學(xué)基金(61972295);武漢市科技項(xiàng)目應(yīng)用基礎(chǔ)前沿專項(xiàng)(2019010701011407)
The National Natural Science Foundation of China (61972295), The Frontier Applied Basic Research Project of Science and Technology Department of Wuhan (2019010701011407)
李景海, 唐明, 黃誠(chéng)軒. 基于側(cè)信道與量化推理缺陷的模型逆向攻擊[J]. 網(wǎng)絡(luò)與信息安全學(xué)報(bào), 2021, 7(4):53-67.
LI J H, TANG M, HUANG C X. Using side-channel and quantization vulnerability to recover DNN weights[J]. Chinese Journal of Network and Information Security, 2021, 7(4): 53-67.
李景海(1996?),男,重慶人,武漢大學(xué)碩士生,主要研究方向?yàn)閭?cè)信道與AI安全。
唐明(1976?),女,湖北武漢人,武漢大學(xué)教授、博士生導(dǎo)師,主要研究方向?yàn)樾畔踩?、密碼學(xué)、密碼芯片。
黃誠(chéng)軒(1997?),男,湖北武漢人,武漢大學(xué)碩士生,主要研究方向?yàn)閭?cè)信道與AI安全。