沈軼杰 李良澄 劉子威 劉天天 羅 浩 沈 汀 林 峰,2 任 奎
1(浙江大學網(wǎng)絡空間安全研究中心 杭州 310027) 2(浙江省區(qū)塊鏈與網(wǎng)絡空間治理重點實驗室(浙江大學) 杭州 310027) 3(浙江東安檢測技術(shù)有限公司 杭州 310063) (shenyijie@zju.edu.cn)
說話人識別技術(shù)通過對說話人聲紋的分析識別說話人身份,是目前應用廣泛的生物認證技術(shù)之一.該技術(shù)已經(jīng)被廣泛應用于個人安全和社會安全領(lǐng)域(如個人設(shè)備管理[1]、電子取證[2]以及電子監(jiān)控[3]等).然而,目前主流的說話識別系統(tǒng)存在著重大安全隱患,即攻擊者可以通過來源于第三方的音頻(即非來源于受害者的音頻)獲取目標系統(tǒng)(如安卓操作系統(tǒng)、支付寶、微信等)中受害者的權(quán)限,執(zhí)行查看隱私、交易支付、登入社交賬號等操作.這些操作會威脅受害者的隱私信息、經(jīng)濟利益甚至人身安全.
前人的工作提出了一系列基于機器學習的攻擊方案.這些攻擊運用對抗學習的技術(shù),生成特殊的擾動使第三方音頻偽裝成受害者的身份,實現(xiàn)入侵系統(tǒng)的目的.根據(jù)攻擊者對模型信息的獲取程度可以分為白盒攻擊[4-5]和黑盒攻擊[6-8].其中,白盒攻擊假設(shè)攻擊者需要獲取模型的完整參數(shù),而黑盒攻擊假設(shè)攻擊者不需要獲得模型的任何參數(shù).上述方案取得了一定的效果,但是也存在2點不足:1)白盒攻擊依賴于被攻擊模型的完整參數(shù),這一約束降低了攻擊的實用性.2)人工復查是目前檢測語音識別是否遭受攻擊的主要手段之一.因此,提升攻擊對于人耳的隱蔽性是提高攻擊實用性的重要環(huán)節(jié).由于增加擾動會引入寬頻噪聲,這樣的噪聲根據(jù)人耳的“掩蔽效應”[9]容易被人耳所察覺.因此注入擾動的時長越長,攻擊被察覺的可能性越大.然而目前的攻擊方案需要向第三方音頻注入亞秒級甚至秒級的擾動,導致攻擊易被察覺.存在這一不足是因為現(xiàn)有的白盒和黑盒攻擊方案都依賴于梯度信息,所以容易陷入局部最優(yōu)解,形成對于攻擊能力的限制,即攻擊者無法通過修改對攻擊成功增益最大的采樣點實現(xiàn)將第三方音頻偽裝成受害者的目的.
隨著深度學習的發(fā)展,基于深度學習的說話人識別技術(shù)(如x-vector[10]和d-vector[11-12])由于其高精確以及高魯棒性成為了目前該領(lǐng)域的主流技術(shù).現(xiàn)有的工作[13-14]指出了深度學習技術(shù)在實現(xiàn)特征提取的過程中位于決策邊界附近的數(shù)據(jù)點對于特定方向的擾動的敏感性.特別地,本文利用這一特性試圖實現(xiàn)一種針對說話人識別的高隱蔽性擾動攻擊.為了實現(xiàn)針對說話人識別系統(tǒng)的攻擊并克服現(xiàn)有工作不足,本文攻擊方案需要滿足3個特性:
1) 黑盒攻擊.攻擊者不需要獲取任何說話人識別系統(tǒng)中模型的參數(shù)信息,這一特性增強攻擊的實用性.
2) 有目標的攻擊.攻擊能夠?qū)⒌谌揭纛l偽裝成目標受害者,這一特性使攻擊具有有效性和針對性.
3) 單“音頻像素”擾動.單“音頻像素”指音頻中的單個獨立采樣點,類比于圖像中的一個像素點,是音頻采集過程中最小的記錄單位.在擾動生成過程中能夠搜索對攻擊增益最高的“音頻像素”并進行注入.這一特性強化攻擊的高效性和隱蔽性.
為了實現(xiàn)以上3個特性,圖1展示了我們針對說話人識別基于單“音頻像素”擾動的攻擊流程,下文簡稱這種攻擊為基于單“音頻像素”擾動的攻擊.攻擊者先在第三方音頻上搜索對攻擊增益最高的“音頻像素”,并通過向搜索到的“音頻像素”注入擾動產(chǎn)生能夠偽裝成受害者身份的攻擊音頻,最后攻擊者使用該音頻實現(xiàn)攻擊.為了實現(xiàn)這套方案需要解決2個技術(shù)挑戰(zhàn):1)如何在黑盒條件下實現(xiàn)針對說話人識別系統(tǒng)的攻擊?2)如何使得攻擊能夠搜索并修改對攻擊增益最高的“音頻像素”?
Fig.1 The workflow of the attack aiming the speaker verification system via one-“audio pixel” perturbation圖1 單“音頻像素”擾動實現(xiàn)針對說話人識別系統(tǒng)的攻擊流程
本文提出了一種基于差分進化算法[15]的針對說話人識別技術(shù)的攻擊方案,以下簡稱基于單“音頻像素”擾動的攻擊.首先,利用差分進化算法的啟發(fā)式特性,實現(xiàn)不依賴于系統(tǒng)參數(shù)的攻擊.其次,提出基于音頻段-音頻點-擾動值多元組的候選點構(gòu)造模式,結(jié)合差分進化算法不依賴梯度的特點,對候選點進行迭代和優(yōu)化,實現(xiàn)搜索并修改對攻擊增益最高的“音頻像素”,生成能夠偽裝為受害者的攻擊音頻.我們在LibriSpeech數(shù)據(jù)集[16]上測試了該方案,攻擊成功率達到了100%.另外,我們對影響基于單“音頻像素”擾動的攻擊因素進行了評估,為獲得高性能攻擊提供了指導.除此之外,利用實驗探究了不同平臺和跨數(shù)據(jù)集下攻擊的性能,說明了攻擊不依賴于平臺和數(shù)據(jù)集.
本文的主要貢獻有3個方面:
1) 提出和探索了利用單“音頻像素”擾動實現(xiàn)對于說話人識別系統(tǒng)的隱蔽攻擊,攻擊注入擾動的時長僅為幾十微妙.
2) 設(shè)計了基于音頻段-音頻點-擾動值多元組的候選點構(gòu)造模式,結(jié)合差分進化算法,實現(xiàn)了在音頻上搜索對攻擊增益最高的“音頻像素”并注入有效的擾動.
3) 開展了廣泛的實驗,探究了不同條件對于攻擊的影響.同時,通過實驗說明基于單“音頻像素”擾動的攻擊隱蔽性優(yōu)于目前最先進的攻擊工作.
相比于其他生物認證技術(shù),說話人識別技術(shù)具有低成本、高精確度和非接觸的特點.經(jīng)過數(shù)十年的發(fā)展,說話人識別系統(tǒng)已經(jīng)具有大量的開源平臺(如Kaldi[17],MSR Identity Toolkit[18],ALIZE[19]和SIDEKIT[20])以及商業(yè)項目(Google home[21],Talentedsoft[22]).根據(jù)對于識別時語料內(nèi)容的約束,說話人識別系統(tǒng)可以分為文本相關(guān)的[23-24]和文本無關(guān)的[25-26]兩類,前者要求用戶使用文本內(nèi)容一致的語料進行注冊和識別,而后者沒有這一限制.顯然,文本無關(guān)的說話人識別系統(tǒng)更加便利和實用,因此本文設(shè)計的攻擊針對文本無關(guān)的說話人識別系統(tǒng)展開,即下文中的說話人識別系統(tǒng)默認為文本無關(guān)的說話人識別系統(tǒng).說話人識別系統(tǒng)由3個子模塊構(gòu)成,分別為音頻預處理模塊、特征提取模塊以及決策模塊.
1) 音頻預處理模塊.使用人聲提取算法如G.279[27]提取原音頻中的人聲部分從而消除環(huán)境噪聲對于識別結(jié)果的影響,接著通過梅爾頻率倒譜系數(shù)(Mel-frequency cepstral coefficients, MFCC)[28]等時頻分析方法,獲取音頻信號的時頻信息為進一步的特征提取提供數(shù)據(jù).
2) 特征提取模塊.特征提取模塊通過特定的提取器,提取出與身份相關(guān)的特征為身份決策提供可靠的依據(jù).特征提取模塊是說話人識別系統(tǒng)的核心模塊,也是目前說話人識別技術(shù)的主要研究內(nèi)容.目前的特征提取器大致可以分為基于概率分析的特征提取器和基于深度學習的特征提取器2類.
① 基于概率分析的特征提取器.基于概率分析的特征提取器使用概率模型提取語音中的特征.基于高斯混合-通用背景模型(Gaussian mixture model-universal background model, GMM-UBM)框架[29]的特征提取是其中最成熟的特征提取方式,它通過大量無關(guān)語料預先構(gòu)建通用的背景模型,實現(xiàn)不依賴用戶的說話人特征提取.而基于概率分析的特征提取器中最先進的是Dehak等人[30]提出的i-vector,它優(yōu)化GMM-UBM模型,基于i-vector因子分析技術(shù)將信道和說話人作為一個整體分析,實現(xiàn)高性能的說話人特征提取.
② 基于深度學習的特征提取器.基于深度學習的特征提取器使用深度神經(jīng)網(wǎng)絡提取描述對象身份的特征.按照優(yōu)化提取器性能的方法不同,主要可以分為2類:一類使用獨特的深度神經(jīng)網(wǎng)絡模型來實現(xiàn)高效的特征提取.比如,Google公司[31]提出的d-vector;Shi等人[32]提取的j-vector;Snyder等人[33]提出的x-vector.另一類使用獨特的損失函數(shù)來實現(xiàn)高效的特征提取.比如,rahman等人[34]和Wan等人[11]先后提出基于元組的端到端損失(tuple-based end-to-end, TE2E)和廣義端到端損失(generalized end-to-end, GE2E).
目前基于深度學習的特征提取器性能表現(xiàn)遠高于基于統(tǒng)計分析的特征提取器,因此本文的工作針對基于深度學習的特征提取器展開.
3) 決策模塊.決策模塊可以使用余弦相似度[11]、K臨近算法[35]、支持向量機[36]和概率線性判別分析[37]等算法根據(jù)特征提取模塊提取的特征識別說話人身份.在這一模塊根據(jù)目的的不同,說話人識別可以細分為說話人確認和說話人辨認2類.由于在日常使用的支付、解鎖、登入社交帳號等操作中都以說話人確認為目的,因此本文圍繞以說話人確認為目的的說話人識別展開.在發(fā)起一次識別后,將輸入語音x與受害者的記錄進行比較.在比較過程中,識別系統(tǒng)通過函數(shù)f(·)計算x與受害人的相似度作為得分.當?shù)梅指哂诜謹?shù)閾值θ時,輸出受害者的身份信息;若得分低于θ時,則輸出失敗的標識,具體公式為
(1)
2013年Szegedy等人[38]在圖像領(lǐng)域提出對抗樣本的概念.隨著這一技術(shù)的應用和發(fā)展,Cisse等人[39]將對抗概念應用于語音識別領(lǐng)域,實現(xiàn)了對抗音頻攻擊.隨后,不同研究人員針對語音識別提出了成功率更高和隱蔽性更強的攻擊方案[40-42].緊接著,研究人員發(fā)現(xiàn)對抗音頻攻擊同樣可以用于攻擊說話人識別.因此,隨后的工作[4-8]針對說話人識別的對抗音頻攻擊進行了探索.其中有基于白盒攻擊[4-5]的工作,通過對于說話人識別模型參數(shù)的學習,生成能夠偽裝成受害者的攻擊音頻.然而,白盒攻擊需要依賴于被攻擊模型的參數(shù),這些參數(shù)在實際場景中往往被第三方所保護,攻擊者難以獲取,因此這類攻擊的實際應用價值很低.Li等人[7]和Chen等人[6]的工作分別提出了針對說話人識別系統(tǒng)的黑盒攻擊方案,解決了以往工作中對于被攻擊模型參數(shù)的依賴問題.然而,這些工作中對于注入時長沒有約束,攻擊時需要對于整段音頻進行注入,引入長時間的寬帶噪聲易于被察覺.Li等人[8]為了降低長時間噪聲的影響提出了一種亞秒級的注入攻擊,但是注入擾動的時間仍然超過0.2 s,無法實現(xiàn)“音頻像素”級的注入攻擊.因此,已有工作在實現(xiàn)高隱蔽性對抗音頻攻擊的方面仍然存在不足.
相較于已有工作,基于單“音頻像素”擾動的攻擊方案不依賴于梯度信息,利用差分進化算法和獨特的候選點構(gòu)造模式,通過修改單個“音頻像素”實現(xiàn)有效的黑盒攻擊,大幅度地減小了注入時間,從而獲得更高的隱蔽性.
差分進化算法(differential evolution, DE)[15]是一種基于種群的優(yōu)化算法,適合用來實現(xiàn)基于單“音頻像素”擾動的攻擊,因為該算法具有3個特性:
1) 全局最優(yōu)性.差分進化算法在迭代過程中利用隨機性選擇的候選點進行擇優(yōu)進化.這使得差分進化算法能夠在全局搜索解,避免陷入局部最優(yōu)解.
2) 可遷移性.差分進化算法是一種不依賴于目標模型的黑盒算法,因此對于攻擊的目標系統(tǒng)有良好的可遷移性,即當更換攻擊目標系統(tǒng)時不需要對算法實現(xiàn)進行重寫.
3) 可優(yōu)化性.本文中所使用的是標準的差分進化算法.差分進化算法發(fā)展至今已經(jīng)出現(xiàn)了多種變體以滿足不同的優(yōu)化需求,如使用模糊邏輯控制器加快收斂速度[43]和使用自適應參數(shù)選擇優(yōu)化算法性能[44].
除了這3個算法理論的特性以外,差分進化算法已經(jīng)在攻擊圖像識別領(lǐng)域上展現(xiàn)了優(yōu)異的性能.Su等人[13]利用差分進化算法實現(xiàn)了一種基于單像素的攻擊方案,通過改變圖像中關(guān)鍵像素的像素值,實現(xiàn)干擾系統(tǒng)識別結(jié)果的目的.然而,由于圖像和音頻在表現(xiàn)形式和特征蘊含方式上都有巨大的差異.因此我們設(shè)計了一套獨特的差分進化算法構(gòu)造模式,輔助我們將差分進化算法應用于攻擊說話人識別系統(tǒng),實現(xiàn)基于單“音頻像素”擾動的攻擊方案,具體的方案會在第3節(jié)中詳細討論.
在基于單“音頻像素”擾動的攻擊中,攻擊者通過在第三方音頻上注入單“音頻像素”擾動,即改變第三方音頻中的一個采樣點,將第三方音頻偽裝成受害者身份.為了使攻擊者具有足夠的能力和約束,我們對攻擊者有4方面假設(shè):
1) 攻擊者有足夠大的語料庫用于攻擊.目前,開源社區(qū)中包含大量語音開源數(shù)據(jù)庫(如VCTK[45],TIMIT[46],CMU_ARCTIC[47]等)以及網(wǎng)絡上存在大量音頻信息,因此攻擊者可以通過網(wǎng)絡獲取語料庫從而滿足這一假設(shè).
2) 攻擊者進行黑盒攻擊,即攻擊者只能獲取說話人識別系統(tǒng)反饋的評分數(shù)值和最終給出的身份.這一假設(shè)符合目前主流說話人識別系統(tǒng)給出識別結(jié)果的形式.
3) 說話人識別系統(tǒng)提供用戶接口進行查詢,例如Talentedsoft[22].攻擊者可以通過這些接口注入攻擊.同時,它也符合已有工作對于注入擾動攻擊的假設(shè)[6].
4) 受害者的語料數(shù)據(jù)不能被獲得,攻擊者無法使用偷錄等方式獲得被害者語料.受害者對于自身的保護可以滿足這一假設(shè).
相較于現(xiàn)有的攻擊方案,基于單“音頻像素”擾動的攻擊在保證高性能的前提下,利用差分進化算法,突破以往攻擊注入時間長而易被發(fā)現(xiàn)的問題,實現(xiàn)基于單“音頻像素”擾動的隱蔽攻擊.
圖2為基于單“音頻像素”擾動的攻擊目標.受害者的身份標識為v,目標說話人識別的相似度比較為函數(shù)f(·),函數(shù)的輸入值為一段語音數(shù)據(jù),輸出值為輸入值和系統(tǒng)中受害者記錄的相似度,當輸出值大于閾值θ時,系統(tǒng)認為輸入值來源于受害者.
基于單“音頻像素”擾動的攻擊需要滿足3個目標:1)攻擊者能偽裝成受害者進入系統(tǒng);2)攻擊者能夠修改的采樣點數(shù)量為1;3)生成的擾動注入第三方音頻后,幅值絕對值不能超出音頻編碼允許的最大值.
Fig.2 The goal of the attack based on one-‘a(chǎn)udio pixel’ perturbation圖2 基于單“音頻像素”擾動的攻擊目標
在這3個目標下,為了更好地建立攻擊的數(shù)學模型,我們對這3個目標進行了公式化的描述.假設(shè)一個n維向量x=(x1,x2,…,xn)表示第三方音頻,攻擊的目標是生成一個n維擾動p=(p1,p2,…,pn),使得系統(tǒng)識別x+p的結(jié)果是v,定義為
f(x+p)≥θ.
(2)
接著,為了實現(xiàn)通過單“音頻像素”擾動的目標,我們進一步地約束擾動為
(3)
其中,k為算法搜索到的進行攻擊的“音頻像素”位置的集合,當基于單“音頻像素”擾動實現(xiàn)攻擊時,k中的元素數(shù)量為1,Di為對應位置i處需要引入擾動的大小.在此基礎(chǔ)上,為了保證擾動p注入第三方音頻x后的采樣點幅值的絕對值小于音頻幅值的絕對值上限l,我們需要擾動滿足:
|xi+pi|≤l,i∈{1,2,…,n}.
(4)
攻擊可以被描述為在式(3)和式(4)約束下對式(2)的優(yōu)化問題.
Fig.3 The workflow of the attack base on the one-‘a(chǎn)udio pixel’ perturbation圖3 基于單“音頻像素”擾動的攻擊的工作流程圖
基于單“音頻像素”擾動的攻擊的工作流程圖如圖3所示,可以分為2個子模塊:1)候選語料選擇;2)擾動生成.其中擾動生成包含候選點構(gòu)造、候選點的迭代優(yōu)化和最優(yōu)點測試攻擊3個步驟.當攻擊者發(fā)起攻擊,候選語料選擇子模塊首先從語料庫中選擇最有可能實現(xiàn)攻擊的前50條語料送入擾動生成子模塊,擾動生成模塊對于當前語料生成候選點集并開始迭代,當其中任意一條語料被注入擾動后可以偽裝成受害者身份進入目標系統(tǒng)時,則認為攻擊成功;否則,若50條語料全部進行嘗試后,則認為攻擊失敗.
攻擊者利用一個數(shù)量巨大的語料庫對目標受害者進行攻擊.然而,針對特定的受害者,并不是所有語料都能實現(xiàn)有效的攻擊,因此隨機選擇候選語料嘗試攻擊的方法將消耗大量無意義的時間.為了優(yōu)化攻擊的時間成本,我們利用深度神經(jīng)網(wǎng)絡中,位于決策邊界附近的數(shù)據(jù)對于擾動的敏感度高的特性[14],對語料庫進行篩選,通過說話人識別系統(tǒng)對于語料庫中語料與受害者之間的相似度,把語料庫中的語料按相似度從高到低排序.最后,我們選擇相似度最高的前 50條語料作為攻擊的候選語料,以相似度從高到低的順序送入擾動生成子模塊.
擾動生成子模塊采用差分進化算法,利用我們提出的音頻段-音頻點-擾動值多元組的候選點構(gòu)造模式,解決針對基于單“音頻像素”擾動的攻擊差分進化算法的候選點難以被描述的問題,實現(xiàn)能夠有效攻擊目標說話人識別系統(tǒng)的擾動的生成.
對于每一條語料,基于單“音頻像素”擾動的生成的實現(xiàn)可以分為3個步驟:
1) 以特殊的構(gòu)造模式構(gòu)建候選點,每個候選點是一個包含多個元素的元組.在初始化過程中,系統(tǒng)會根據(jù)攻擊者給出的參數(shù)隨機生成一個包含多個候選點的集合,稱為候選集.
2) 當前候選集中的候選點稱為父代候選點,對于每個父代候選點,攻擊者先通過對于整體父代候選集中的最優(yōu)點bbest,即注入語料后生成的音頻與受害者相似度最高的候選點,進行變異得到一個子代候選點,再將子代和父代候選點進行交叉,獲得新的候選點.最后,保留父代候選點和新的候選點之間對于攻擊表現(xiàn)更好的候選點,完成一次變異—交叉—選擇的過程.對所有候選點完成一次變異—交叉—選擇后,則完成一次迭代.
3) 重復步驟2,每次迭代結(jié)束后,當新一代的父代候選點集中的bbest注入語料后能夠以受害者的身份被系統(tǒng)所識別時則退出迭代,且返回候選點bbest.當?shù)螖?shù)大于設(shè)定閾值后結(jié)束迭代,且返回攻擊失敗.
3.4.1 候選點構(gòu)造模式
候選點是為基于單“音頻像素”擾動的攻擊提供優(yōu)化所需要的啟發(fā)信息的重要描述方法.我們結(jié)合音頻數(shù)據(jù)的時間維度特性提出了基于音頻段-音頻點-擾動大小多元組的候選點構(gòu)造模式,實現(xiàn)候選點的構(gòu)造.為了使候選點構(gòu)造方法更具有普適性,我們介紹當需注入擾動點數(shù)量為n的情況下,擾動點的構(gòu)造模式.構(gòu)造候選點b為
b={xb,x0,D0,x1,D1,…,xn-1,Dn-1},
(5)
其中,xb為候選點插入擾動點時的基準值,xi為第i個擾動點的相對偏移,即xb+xi為實際擾動在音頻中插入的絕對位置,Di為第i個擾動點位置加入擾動的大小.
同時,假設(shè)采樣率為s,“音頻像素”分布時間的寬度為Δt,初始化時約束候選點b的不等式為
Max(b)≤sΔt,
(6)
其中,Max(b)是計算候選點中最大xi的函數(shù).初始化階段攻擊者總共生成140個候選點.
3.4.2 候選點的迭代優(yōu)化
在初始化候選點后,我們需要對候選點進行迭代優(yōu)化,從而獲得能夠?qū)崿F(xiàn)攻擊的候選點.迭代優(yōu)化過程可以分為變異—交叉—選擇3個階段,是基于單“音頻像素”擾動的攻擊的核心過程.變異階段使用已有候選點產(chǎn)生新的候選點,實現(xiàn)候選集的擴大;交叉階段使用對父代和子代的交叉重組,實現(xiàn)通過離散雜交增加子代隨機解的多樣性;選擇階段淘汰對于實現(xiàn)目標能力較弱的候選點,使得候選集整體朝著設(shè)定目標不斷進化.
1) 變異.我們采用的是best1bin策略進行變異.變異階段通過父代候選點中的最優(yōu)點bbest生成新的子代候選點.值得注意的是,變異—交叉—選擇的過程是針對一個父代候選點進行的,但是在best1bin策略的變異中并不會使用該父代候選點的元素值.子代候選點生成:
(7)
2) 交叉.交叉階段首先需要定義交叉概率cr因子:
(8)
當確定cr因子后,需要對父代候選點和子代候選點的每一個維度進行交叉重組:
(9)
3) 選擇.在完成交叉以后,算法需要對父代候選點b和新生成的侯選點b″進行選擇.選擇依據(jù)為將2個候選點分別注入語料后,比較與受害者的相似度,將相似度更高的候選點保留作為下一代的父代候選點,并淘汰另一個候選點.
3.4.3 迭代設(shè)置
在實驗過程中,攻擊設(shè)定最大迭代次數(shù)為1 000次.同時,為了提高攻擊效率,攻擊設(shè)定了一個附加約束:每100次迭代計算最優(yōu)候選點與受害者相似度的提升,當提升小于等于0時,則也提前終止迭代,并與達到最大迭代次數(shù)的情況一樣返回攻擊失敗的提示.
為了探究基于單“音頻像素”擾動的攻擊性能,我們使用LibriSpeech[16]公開語音數(shù)據(jù)庫作為語料數(shù)據(jù)集.LibriSpeech是一個在語音識別領(lǐng)域被廣泛使用的語料庫,包含有大約1 000 h的英語語音.每段語音經(jīng)過去除環(huán)境噪音處理,且分割為10s左右的語音片段.我們將數(shù)據(jù)庫分為3個部分,分別對說話人識別系統(tǒng)進行訓練、注冊和攻擊.其中,訓練集由train-clean-100數(shù)據(jù)包構(gòu)成,注冊集由train-clean-100數(shù)據(jù)包中隨機選擇的60個人構(gòu)成,攻擊集由test-clean數(shù)據(jù)包中隨機選擇的40個人構(gòu)成.
我們搭建了一個基于d-vector的說話人身份認證系統(tǒng)作為攻擊的目標系統(tǒng).采用由百度提出的Deep Speaker[12]作為說話人特制提取器,并將余弦相似性作為說話人識別的決策模塊.我們在配備Ubuntu 16.04和Intel?Xeon?CPU E5-2678 v3 2.50 GHz(12核)的服務器上進行了實驗,這臺服務器還配有8塊NVIDIA GeForce GTX 1070(8 GB)的顯卡.
我們通過欺騙說話人識別的成功率(success rate of spoofing speaker recognition,SRoSSR)來量化單“音頻像素”擾動的攻擊的性能,下文簡稱成功率,具體計算為:對于已注冊的說話人,假如存在一個攻擊集中的音頻,在注入對抗擾動后能使目標聲紋識別系統(tǒng)判斷說話人為該已注冊的說話人,則認為針對這一已注冊的說話人的攻擊成功,我們對所有注冊集中說話人進行攻擊,成功率為被攻擊成功的說話人占所有目標說話人的比例.定義為
(10)
其中,S是被攻擊成功的說話人數(shù)量,T是所有目標說話人的數(shù)量.該評價方法也被應用于Chen等人[48]的工作中,能夠有效評價針對說話人識別系統(tǒng)的性能.
此外,為了評價說話人識別系統(tǒng)的性能,我們使用錯誤接受率(fake accept rate,FAR)、錯誤拒絕率(fake reject rate,FRR)和精確度(accuracy,Acc).其定義分別為:
(11)
(12)
(13)
其中,TP是正確分類陽性樣本的數(shù)量,TN是正確分類陰性樣本的數(shù)量,F(xiàn)P是錯誤分類陽性樣本的數(shù)量,F(xiàn)N是錯誤分類陰性樣本的數(shù)量.在這3個指標的基礎(chǔ)上,我們使用等錯誤率(equal error rate,EER)對說話人識別系統(tǒng)的整體性能進行客觀的評價.等錯誤率定義為:當錯誤接受率和錯誤拒絕率相等時,錯誤接受率和錯誤拒絕率的值.
為了評估用戶調(diào)查中語音的隱蔽性,首先考慮定量的評價指標,正如引言中介紹的增加擾動會引入寬頻噪聲,因此我們使用攻擊注入前后時頻譜的失真率作為評價隱蔽性的指標.其中,直方圖相似度被用于評價時頻譜的失真率,它是一種能夠評價時頻譜圖失真率的指標,直方圖相似度定義為[49]
(14)
其中,x和y分別為攻擊注入前后時頻譜,Hx和Hy分別為x和y歸一化直方圖的向量.此外,S(x,y)∈[-1,1],該值越小則失真率越大,反之失真率越小.除此之外,我們還設(shè)置評價指標擾動數(shù)據(jù)占比對于用戶調(diào)查結(jié)果進行評價,該數(shù)值越低則攻擊隱蔽性越高,定義為
(15)
其中,DR是擾動數(shù)據(jù)占比,distorted_number是被認為注入過擾動的音頻數(shù)量,total_number是該類音頻的總量.
我們首先評估搭建的說話人識別系統(tǒng)在Libri-Speech數(shù)據(jù)集上的性能,該性能能夠證明第三方音頻被識別成受害者是由攻擊引起的,而不是因為系統(tǒng)本身的性能不佳導致的.
首先,我們使用4.1節(jié)中提到的訓練集對Deep Speaker進行訓練,接著我們使用注冊集中每個人的一條語料進行注冊,最后使用每個人與注冊語料不同的一條語料進行測試.在認證階段,說話人識別系統(tǒng)會計算輸入語料的特征和注冊人的特征之間的余弦相似度sim,設(shè)定閾值為θ,當sim<θ時,則認為語料不屬于注冊人;否則,認為語料屬于注冊人.由于余弦相似度的特性θ∈[-1,1].通過改變閾值θ,我們繪制了說話人識別系統(tǒng)的接收者操作特征曲線,如圖4所示.圖4說明說話人識別系統(tǒng)的等錯誤率為0.05(EER=0.05).此時設(shè)定的閾值θ=0.58,說話人識別的精確度為98.5%.圖4說明,我們攻擊的說話人識別系統(tǒng)具有良好的性能,可以有效地識別說話人的身份,用來評估我們攻擊的性能.
Fig.4 The receiver operating characteristic of the speaker recognition system圖4 說話人識別系統(tǒng)的接收者操作特征曲線
在最優(yōu)情況下,攻擊者可以通過注入單“音頻像素”的擾動來實現(xiàn)攻擊.我們使用4.1節(jié)攻擊集中的40個人,對已注冊的60個人進行攻擊.攻擊的成功率能夠到達100%.這一結(jié)果說明,基于單“音頻像素”擾動的攻擊可以有效地攻擊說話人識別系統(tǒng).我們還對基于單“音頻像素”擾動的攻擊隱蔽性進行了評估并與Chen等人[6]的工作FakeBob進行了比較,F(xiàn)akeBob是目前攻擊說話人識別的工作中最先進的方法.結(jié)果顯示我們攻擊平均直方圖相似度S=0.99高于FakeBob的0.94,這一結(jié)果表明基于單“音頻像素”擾動的攻擊在隱蔽性方面具有優(yōu)越性.除此之外,下文我們還對基于單“音頻像素”擾動的攻擊的隱蔽性進行了用戶調(diào)查進一步說明了這一優(yōu)越性.
攻擊集人數(shù)對于攻擊的性能也存在著影響,我們使用4.1節(jié)中的攻擊集進行測試,把整個攻擊集的人數(shù)等分成了4組,每組10個人.隨機選擇其中的一組作為攻擊集,對所有注冊的說話人進行攻擊.接著,在攻擊集中加入一組人,重復上述步驟,直到攻擊集中人數(shù)到達40人.
圖5展示了測試結(jié)果,結(jié)果表明隨著攻擊集中人數(shù)的上升,攻擊的成功率也呈現(xiàn)上升趨勢.當人數(shù)到達40人時,成功率到達了100%.這說明攻擊者可以通過加攻擊集中人數(shù)來提高攻擊的性能,并且由于開源的音頻數(shù)據(jù)庫和其他音頻數(shù)據(jù)量十分巨大,攻擊者可以借助這些音頻數(shù)據(jù)實現(xiàn)高性能的攻擊.由于基于單“音頻像素”擾動的攻擊在攻擊集中人數(shù)到達40時成功率已經(jīng)到達了100%,使得在40人的條件下探究5.4~5.6節(jié)的實驗無法得出有意義的實驗結(jié)論,因此在5.4~5.6節(jié)的實驗中我們使用本節(jié)中劃分的30人作為攻擊集進行攻擊,下文稱為30人攻擊集.攻擊的基準成功率為91.7%.
Fig.5 Experiment of different numbers of individuals圖5 不同人數(shù)的實驗
在實際攻擊中,通過改變少量“音頻像素”擾動的攻擊只會產(chǎn)生短時的寬頻噪聲,同樣能夠保證攻擊的隱蔽性,因此值得深入探究.首先考慮“音頻像素”分布的時間寬度對于攻擊性能的影響.我們使用4.1節(jié)的注冊集進行注冊,并使用30人攻擊集進行攻擊.在設(shè)置擾動中改動的“音頻像素”數(shù)量為3的條件下,探究“音頻像素”分布時間的寬度分別為1 ms,10 ms,100 ms,1 000 ms時攻擊的成功率.
圖6展示了4種不同的“音頻像素”分布時間的寬度下攻擊的成功率.如圖6所示,當“音頻像素”分布時間的寬度從10 ms擴大到100 ms時,性能有小幅度提高,并在10 ms之前和100 ms之后保持穩(wěn)定狀態(tài).這一現(xiàn)象說明“音頻像素”分布時間的寬度對于攻擊性能存在小幅度的影響,且當“音頻像素”分布時間的寬度到達100 ms后性能達到最優(yōu)且趨于穩(wěn)定.
Fig.6 Experiment of different ranges of distribution of “audio pixel”圖6 不同“音頻像素”分布時間寬度的實驗
我們探究了“音頻像素”數(shù)量對于攻擊成功率的影響.我們使用4.1節(jié)中的注冊集進行注冊,并使用30人攻擊集進行攻擊.除此之外,我們固定“音頻像素”分布時間為100 ms.結(jié)果如圖7所示,結(jié)果說明當擾動中修改的“音頻像素”數(shù)量上升時,攻擊的成功率會增加,當“音頻像素” 數(shù)量到達10時,攻擊的成功率會到達96.8%并在隨后趨于穩(wěn)定,然而隨著“音頻像素”數(shù)量的增加,攻擊的隱蔽性會相對降低.這一現(xiàn)象說明,“音頻像素”的數(shù)量和攻擊的成功率之間存在權(quán)衡的關(guān)系.當“音頻像素”數(shù)量上升時,攻擊的成功率會增高,而攻擊的隱蔽性則會相應降低.值得注意的是,當“音頻像素”數(shù)量到達10個時,攻擊的成功率已經(jīng)超過了95%,但此時擾動帶來噪聲的總時間也遠低于已有工作匯報的結(jié)果[6].
Fig.7 Experiment of different numbers of “audio pixel”圖7 不同“音頻像素”數(shù)量的實驗
性別也是影響攻擊性能的關(guān)鍵性因素之一.為了探究性別對于攻擊性能的影響,我們從LibriSpeech數(shù)據(jù)集中隨機選擇20名女性和20名男性的語料組成攻擊集(與注冊的說話人不重復),并從4.1節(jié)的注冊集中選取25名女性和25名男性進行注冊并作為受害者.在攻擊過程中,我們使用攻擊者語料庫中的每一條語料嘗試攻擊所有注冊人,并記錄每一次攻擊的結(jié)果.最終,對所有攻擊成功的語料和受害者的性別配對關(guān)系進行了分析.結(jié)果如表1所示,在所有成功的配對中同性別之間的攻擊數(shù)量占所有攻擊成功配對數(shù)的93%,同時跨性別的攻擊數(shù)量僅占所有攻擊成功配對數(shù)的7%.這一結(jié)果表明,性別對于攻擊性能有較大的影響.這是因為基于單“音頻像素”擾動的攻擊只改變音頻中的一個或幾個“音頻像素”,微小的改變無法改變男性和女性之間音調(diào)和音色的天然不同,使得跨性別的攻擊難以實現(xiàn).但是,因為攻擊者可以獲得大量的語料庫進行嘗試,所以這并不會成為限制攻擊者攻擊能力的阻礙.
Table 1 Percentage of Successful Attacks That Were Intergender and Transgender
現(xiàn)實中存在不同的說話人識別系統(tǒng),基于單“音頻像素”擾動的攻擊能否在不同系統(tǒng)上都獲得良好的性能也是值得探究的問題.為了探究這一問題,我們使用GE2E[11]和x-vector[33]分別搭建了2個說話人識別系統(tǒng),使用4.1節(jié)中的訓練集對它們分別進行了訓練.與5.1節(jié)一樣我們使用注冊集中的一條語料注冊,并使用一條語料進行測試.最后得到2個說話人識別系統(tǒng)的EER分別為0.05和0.06.在此基礎(chǔ)上,我們使用4.1節(jié)中的注冊集進行注冊,使用4.1節(jié)中的攻擊集進行基于單“音頻像素”擾動的攻擊,即攻擊中改變的“音頻像素”數(shù)量為1.結(jié)果如表2所示,在2個系統(tǒng)上的成功率分別為98.3%和95%.這一結(jié)果說明基于單“音頻像素”擾動的攻擊在不同說話人識別系統(tǒng)上都能獲得良好的性能.
Table 2 SRoSSR on Different Speaker Recognition Platforms
由于不同數(shù)據(jù)集采集的環(huán)境、說話人習慣和采集設(shè)備不同.為了說明跨數(shù)據(jù)集下基于單“音頻像素”擾動的攻擊仍然有效,我們組織了下面的實驗:以4.1節(jié)中的注冊集進行注冊,并使用TIMIT數(shù)據(jù)集[46]和CMU_ARCTIC數(shù)據(jù)集[47]作為攻擊集進行基于單“音頻像素”擾動的攻擊,即攻擊中改變的“音頻像素”數(shù)量為1.結(jié)果表明,攻擊的成功率達到了98.3%.這一結(jié)果說明在跨數(shù)據(jù)集的情況下,基于單“音頻像素”擾動的攻擊仍然可以保持良好的性能.
為了體現(xiàn)出我們攻擊的隱蔽性,我們進行了用戶調(diào)查并將基于單“音頻像素”擾動的攻擊和Chen等人[6]的工作FakeBob進行了比較.
1) 用戶調(diào)查的設(shè)置.為了保證志愿者不會被先驗知識所影響,我們在進行用戶調(diào)查時從正常(無攻擊)的、FakeBob攻擊后的和我們攻擊后的語音數(shù)據(jù)庫中分別隨機選擇10條語音打亂后組成30條語音的測試集(1)用戶調(diào)查數(shù)據(jù):https://flin.group/attack_demo.我們總共招募了10位志愿者包括7名男性和3名女性,在測試之前我們會告知志愿者測試集中包含正常(無攻擊)的和攻擊后的語音.接著,在安靜的環(huán)境中,每位志愿者單獨試聽測試集中的所有語音,每條語音志愿者都可以重復試聽任意次數(shù),最后志愿者給出當前語音是正?;蚴潜还舻臉擞?
2) 用戶調(diào)查結(jié)果和分析.經(jīng)過用戶調(diào)查中設(shè)置的實驗后,我們統(tǒng)計了每種類型的擾動數(shù)據(jù)占比.結(jié)果如表3所示,正常(無攻擊)的語音中的擾動數(shù)據(jù)占比為11%;FakeBob攻擊后的語音中的擾動數(shù)據(jù)占比為71%;我們攻擊后的語音中的擾動數(shù)據(jù)占比為38%.從表3可知,在志愿者被告知聽到的語音中存在被攻擊的語音后,志愿者對于攻擊的警惕性增強,因此即使是正常(無攻擊)的語音中也有11%的語音被志愿者認為是攻擊后的語音.在這種情況下,基于單“音頻像素”擾動的攻擊比目前最先進的FakeBob擾動數(shù)據(jù)占比低了33%,這說明基于單“音頻像素”擾動的攻擊的隱蔽性更高,更加不易被人所察覺.
Table 3 The Distorted Rate in Different Attack Types
由于我們提出的基于單“音頻像素”擾動的攻擊的成功率高且隱蔽性強,通過用戶調(diào)查可以說明人工的審查很難檢測出攻擊;同時,由Wang等人[50]提出的最先進的針對單個元素擾動的攻擊的檢測方法和候選檢測方法的性能只能達到9.1%和30.1%.因此本文提出攻擊會對說話人識別系統(tǒng)的安全造成顯著的危害.為了避免這一危害,我們在本節(jié)討論了3種可行的防御方法.
1) 使用去噪器的防御方法.說話人識別系統(tǒng)可以在預處理階段增加針對基于單“音頻像素”擾動的攻擊的去噪器,由于注入單“音頻像素”的擾動,所以注入的擾動幅值大,去噪器將局部變化認為超過閾值的點去除,從而實現(xiàn)去除注入擾動的目的.這一方法在Chen等人[51]的工作中已經(jīng)被證明能夠有效地抵抗單像素的攻擊,并在圖像領(lǐng)域取得了98.6%的防御成功率.
2) 使用重建算法的防御方法.由于聲音是連續(xù)的信號,所以在音頻信號中時間相近的“音頻像素”存在一定相關(guān)性,通過這種相關(guān)性我們可以通過重建的方式將音頻進行重建,重建后的音頻將不包含與周圍“音頻像素”不相關(guān)的擾動點.這種方法也被Liu等人[52]證明了防御針對基于單像素擾動攻擊的有效性.
3) 使用不同壓縮方式的防御方法.說話人識別系統(tǒng)可以通過不同的壓縮方式將音頻進行壓縮,實現(xiàn)對于單“音頻像素”擾動的攻擊的防御.由于不同壓縮算法(如MP3[53])的特性在壓縮過程中會將原音頻中的“音頻像素”壓縮,所以擾動點所在位置的信息會被去除,從而使得擾動無法生效.
在說話人識別領(lǐng)域,由于時頻信息相較于時域信息帶有更多能夠描述說話人特征的信息,因此對于時頻信息的分析是目前說話人識別中主流的預處理方式.由于時頻信息相較于時域信息的粒度更細,因此如果針對時頻信息(如MFCC等)進行擾動攻擊,實現(xiàn)的說話人識別攻擊能夠獲得更高的性能和隱蔽性.由于說話人識別系統(tǒng)接收的是時域的音頻信息并且目前的主流時頻分析方法(如MFCC等)是不可逆的,所以如何將攻擊后的時頻信息映射回時域是實現(xiàn)上述攻擊的一大挑戰(zhàn).我們設(shè)想使用自編碼器可以有效地解決這一問題,已有工作[54]已經(jīng)證明自編碼器具有良好的降維能力,這一能力能夠有效地幫助完成高維的時頻信息映射到低維的時域信息的任務,從而實現(xiàn)時頻信息層面的攻擊.
除了本文假設(shè)的攻擊者通過用戶接口注入擾動的方式以外,通過音頻在空氣中傳播的擾動注入方式也是常見的注入方式之一.聲波在空氣中傳播會引入音頻的失真(如衰減、環(huán)境噪聲和多徑效應)導致最終的結(jié)果無法達到預期.針對這一問題,目前已有工作給出了一些解決方案,如在有先驗知識的條件下整合房間脈沖響應附加到擾動上,使得生成的音頻能夠在空氣中傳播而不損失擾動信息[55].除此之外,Li等人的工作[8]提出了通過在對抗學習過程加入符合環(huán)境失真條件的隨機擾動,使得生成的擾動能夠穩(wěn)定地在空氣中傳播而避免失真帶來的性能損失.因此,在基于單“音頻像素”擾動的攻擊中可以在擾動生成子模塊將符合環(huán)境失真條件的隨機擾動附加到擾動之上,使得攻擊能夠生成不受空氣傳播中失真影響的單“音頻像素”擾動,實現(xiàn)通過空氣傳播的擾動注入方式.
在攻擊過程中,對于說話人識別系統(tǒng)的大量訪問會降低攻擊的效率并且增加攻擊被管理人員發(fā)現(xiàn)的可能性.替代模型是解決這一問題最先進的方式.攻擊者通過對于目標系統(tǒng)的少量訪問,可以在本地建立目標說話人識別系統(tǒng)的替代模型,從而大幅度減少對于目標系統(tǒng)的訪問次數(shù).Papernot 等人[56]最早在圖像對抗攻擊中應用了這種方法并取得了良好的性能.Chen等人[48]將該方法應用于攻擊說話人識別系統(tǒng)中,在不降低攻擊性能的前提下,實現(xiàn)了對于訪問次數(shù)的優(yōu)化,說明了替代模型在攻擊說話人識別領(lǐng)域中的可用性和高效性.因此,單“音頻像素”攻擊可以借助替代模型,從而實現(xiàn)減少對于說話人識別系統(tǒng)的訪問的目的.
本文提出了一種新穎的基于單“音頻像素”擾動的說話人識別隱蔽攻擊,獲得了相較以往攻擊更高的隱蔽性.利用差分進化算法不依賴梯度的特性,克服了已有工作中存在局部最優(yōu)的問題,提出了基于音頻段-音頻點-擾動的構(gòu)造模式,解決了針對我們的攻擊差分進化算法的候選點難以被描述的問題,實現(xiàn)了具有高性能高隱蔽性的攻擊.這種攻擊在由百度提出的Deep Speaker上獲得了100%的成功率,同時攻擊對主流的說話人識別都有良好的攻擊性能表現(xiàn).我們還探究了不同因素對于攻擊性能的影響,并且進行了用戶調(diào)查說明了攻擊的隱蔽性.最后,我們提出了幾種針對攻擊有效的防御手段,進一步增強了說話人識別的安全性.
作者貢獻聲明:沈軼杰提出基于單“音頻像素”擾動的攻擊方案,設(shè)計總體實驗,優(yōu)化算法,整體文章撰寫;李良澄實現(xiàn)基于單“音頻像素”擾動的攻擊,設(shè)計候選點構(gòu)造模式;劉子威搭建攻擊測試平臺,收集實驗所需數(shù)據(jù);劉天天嘗試迭代優(yōu)化中不同參數(shù)對于性能的影響;羅浩繪制文章內(nèi)圖片,對文章進行修訂;沈汀在修改過程中,對于實驗給出指導性建議,提出使用直方圖相似度對失真率進行衡量,從而解決對于攻擊性能量化的目標,并對文章整體進行了修訂;林峰指導實驗的總體設(shè)計和文章寫作指導;任奎指導文章寫作,對于克服文中挑戰(zhàn)給出方向性建議.