版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
E-mail:jos@JournalofSoftware,2023,34(9):4018?4036[doi:10.13328/ki.jos.006879]?中國(guó)科學(xué)院軟件研究所版權(quán)所有.12(DisciplineofInformationTechnology,PeterFaberBusinessSchool,AustralianCatholicUniversity,SydneyNSW206通信作者:毛潤(rùn)豐,mrf@smail.nj摘要:人工智能(artificialintelligence,AI)技術(shù)的發(fā)展為源碼處理場(chǎng)景下AI系統(tǒng)提供了強(qiáng)有力的支撐.相較然語(yǔ)言處理,源碼在語(yǔ)義空間上具有特殊性,源碼處理相關(guān)的機(jī)器學(xué)習(xí)任務(wù)通常采用抽象語(yǔ)法樹(shù)、數(shù)據(jù)依賴圖、控制流圖等方式獲取代碼的結(jié)構(gòu)化信息并進(jìn)行特征抽取.現(xiàn)有研究通過(guò)對(duì)源碼結(jié)構(gòu)的深入分析以及對(duì)分類器的靈活應(yīng)用已經(jīng)能夠在實(shí)驗(yàn)場(chǎng)景下獲得優(yōu)秀的結(jié)果.然而,對(duì)于源碼結(jié)構(gòu)更為復(fù)雜的真實(shí)應(yīng)用場(chǎng)景,多數(shù)源碼處理相關(guān)的AI系統(tǒng)出現(xiàn)性能滑坡,難以在工業(yè)界落地,這引發(fā)了從業(yè)者對(duì)于AI系統(tǒng)魯棒性的思考.由于基于AI技術(shù)開(kāi)發(fā)的系統(tǒng)普遍是數(shù)據(jù)驅(qū)動(dòng)的黑盒系統(tǒng),直接衡量該類軟件系統(tǒng)的魯棒性存在困難.隨著對(duì)抗攻擊技術(shù)的興起,在自然語(yǔ)言處理領(lǐng)域已有學(xué)者針對(duì)不同任務(wù)設(shè)計(jì)對(duì)抗攻擊來(lái)驗(yàn)證模型的魯棒性并進(jìn)行大規(guī)模的實(shí)證研究.為了解決源碼處理場(chǎng)景下AI系統(tǒng)在復(fù)雜代碼場(chǎng)景下的不穩(wěn)定性問(wèn)題,提出一種魯棒性驗(yàn)證方法(robustnessverificationbyMetropolis-Hastingsattackmethod,RVMHM),首先使用利用MHM源碼攻擊算法替換變量擾動(dòng)模型的預(yù)測(cè)效果.通過(guò)干擾數(shù)據(jù)和模型交互過(guò)程,觀察攻擊前后的魯棒性驗(yàn)證指標(biāo)的變化量來(lái)衡量AI系統(tǒng)的魯棒性.以漏洞預(yù)測(cè)作為基于源碼處理的二分類典型場(chǎng)景源項(xiàng)目的數(shù)據(jù)集上驗(yàn)證12組AI漏洞預(yù)測(cè)模型魯棒性說(shuō)明RVMHM方法針對(duì)源碼處理場(chǎng)景下AI系統(tǒng)進(jìn)行魯棒性驗(yàn)證的有效性.....中文引用格式:楊焱景,毛潤(rùn)豐,譚睿,沈海峰,榮國(guó)平.源碼處理場(chǎng)景下人工智能系統(tǒng)魯棒性驗(yàn)證方法.軟件學(xué)報(bào),2023,34(9):4018–4036http://wwwjoscn/1000-9825/6879htm英文引用格式英文引用格式:YangYJ,MaoRF,TanR,ShenHF,RongGP.RobustnessVerificationMethodforArtificialIntelligenceSystemsBasedonSourceCodeProcessing.RuanJianXueBao/JournalofSoftware,2023,34(9):4018–4036(inChinesRobustnessVerificationMethodforArtificialIntelligYANGYan-Jing1,MAORun-Feng1,TANRui1,SHENHai-Feng2,R1(SoftwareInstitute,NanjingUniversity,Nanjing2(DisciplineofInformationTechnology,PeterFaberBusinessSchool,AustralianCatholicUniversity,SydneyNSWAbstract:Thedevelopmentofartificialintellprocessing.Comparedwithnaturallanguage*基金項(xiàng)目:國(guó)家自然科學(xué)基金(620大學(xué)計(jì)算機(jī)軟件新技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室創(chuàng)新項(xiàng)目(ZZKT2022A25);海外開(kāi)放課題(KFKT2022A09)本文由“AI軟件系統(tǒng)工程化技術(shù)與規(guī)范”專題特約編輯張賀教授、夏鑫博士、蔣振鳴副教授、祝立明教授和收稿時(shí)間:2022-09-05;修改時(shí)間:2022-10-13;采用時(shí)間:2022-12-14;jos在線出版時(shí)間:2023-01-楊焱景等:源碼處理場(chǎng)景下人工智能系統(tǒng)魯棒性驗(yàn)證方法codeprocessingusuallyemployabstraofcodesandextractfeatures.Existingstudiescanobtainexcellentresultsinexperimcodestructuresandflexibleapplicationofclassifiers.However,forrealapplicatcomplex,mostoftheAIsystemsrelatedtosourcecodeprocessinghavepohichtriggerspractitionerstoconsidertherobustnessofAIsystems.AsAI-bastisdifficulttodirectlymeasuretherobustnessofthesesoftnaturallanguageprocessinghavedesignedadversarialattacksfordifferenttaskstscaleempiricalstudies.TosolvetheinstabilityofAIsystemsbasroposesrobustnessverificationbyMetropolis-Hastingsattackmethod(RVMHM).Firstly,thetsyntaxtreesisadoptedtoextractthevariablepoolofthepredictioneffectofthevariableperturbationmodel.TherobustnessofAIsystemsismeasuredbyobservingthechangesintherobustnessverificationindexbeforeandaftertheattackbyinterferingwiththedataandmodelinteractionprocpredictionasatypicalbinaryclassificationscenarioofsourcecodeprocessing,thisstudyverifiestvulnerabilitypredictionmodelsonthreedatasetsofopensourceprojectstoillustrateofsourcecodeprocessingbasedonAIsystems.Keywords:codestructureanalysis;codeadversarial機(jī)器學(xué)習(xí)理論和技術(shù)的發(fā)展為AI系統(tǒng)進(jìn)行各種源碼文本分析的復(fù)雜任務(wù)提供了數(shù)據(jù)和模型層面的強(qiáng)有力支撐.在諸多關(guān)鍵領(lǐng)域,由于AI模型優(yōu)異的表現(xiàn),一些基于AI的軟件系統(tǒng)也正在成為不可或缺的組成部分.但是多數(shù)AI系統(tǒng)為數(shù)據(jù)驅(qū)動(dòng),且可解釋性較差,容易受到數(shù)據(jù)干擾.盡管在訓(xùn)練場(chǎng)景下有良好的表現(xiàn),但在真實(shí)場(chǎng)景中,由于可能存在噪音數(shù)據(jù)、惡意用戶甚至是攻擊者,系統(tǒng)在生命周期的各個(gè)階段都可能面臨著不同程度的安全風(fēng)險(xiǎn),導(dǎo)致無(wú)法提供正常的服務(wù)[1].如果關(guān)鍵安全漏洞識(shí)別軟件因?yàn)槟P驮馐芄艋蚱垓_而檢測(cè)失敗,將會(huì)對(duì)軟件開(kāi)發(fā)和使用造成極大的隱患[2].而現(xiàn)有的對(duì)于漏洞預(yù)測(cè)模型的評(píng)價(jià)體系還是僅僅關(guān)注模型的在其特定拆分的訓(xùn)練和測(cè)試集上的指標(biāo)表現(xiàn),疏忽了對(duì)于真實(shí)世界數(shù)據(jù)集的泛化評(píng)估[3].同時(shí)有研究指出大多數(shù)現(xiàn)有方法的訓(xùn)練和測(cè)試數(shù)據(jù)包含重復(fù)數(shù)據(jù)(高達(dá)68%),實(shí)驗(yàn)表現(xiàn)夸大了報(bào)告的結(jié)果[4].所以實(shí)際應(yīng)用當(dāng)中AI系統(tǒng)的魯棒性表現(xiàn)是保證軟件正常運(yùn)行的基礎(chǔ),優(yōu)異的指標(biāo)也需要建立在穩(wěn)定的、魯棒的模型表現(xiàn)基礎(chǔ)之上[5].但是AI軟件系統(tǒng)的開(kāi)發(fā)方式也較傳統(tǒng)軟件系統(tǒng)開(kāi)發(fā)方式不同.AI系統(tǒng)具有數(shù)據(jù)驅(qū)動(dòng)的特性(通過(guò)學(xué)習(xí)觀測(cè)數(shù)據(jù)上的模式,并對(duì)新的未知數(shù)據(jù)做出預(yù)測(cè))[6],其過(guò)程中數(shù)據(jù)、模型、權(quán)重的初始化和模型優(yōu)化訓(xùn)練過(guò)程的隨機(jī)性導(dǎo)致系統(tǒng)在構(gòu)建時(shí)存在大量不確定性,并使軟件測(cè)試和衡量軟件系統(tǒng)復(fù)雜度都具有一定的挑戰(zhàn)性[7].這就導(dǎo)致軟件系統(tǒng)的質(zhì)量[8].在自然語(yǔ)言處理及圖像識(shí)別領(lǐng)域,已有不少研究使用對(duì)抗攻擊的方法來(lái)驗(yàn)證模型的魯棒性[9].然而在源碼處處理的各類任務(wù)中,輸入大量數(shù)據(jù)時(shí),多數(shù)AI系統(tǒng)在實(shí)驗(yàn)場(chǎng)景下的綜合表現(xiàn)甚至超過(guò)了人類[10?14],但在真實(shí)復(fù)雜代碼場(chǎng)景下表現(xiàn)卻不穩(wěn)定[4].這反映了目前研究對(duì)模型的評(píng)價(jià)體系缺少對(duì)應(yīng)泛化性能的驗(yàn)證.目前針對(duì)源碼處理的擾動(dòng)方法是可以對(duì)目前的模型使用造成擾動(dòng)[15],但是該方法使用的過(guò)多的模型優(yōu)化過(guò)程的梯度信息,并不適用于測(cè)試階段對(duì)于模型的黑盒魯棒性驗(yàn)證.需要設(shè)計(jì)方法對(duì)源碼處理場(chǎng)景下AI系統(tǒng)魯棒性進(jìn)行驗(yàn)證并將魯棒性作為重要的篩選標(biāo)準(zhǔn)之一.為了避免AI系統(tǒng)驗(yàn)證過(guò)程復(fù)雜的問(wèn)題,Li等人[7]將AI軟件系統(tǒng)測(cè)試拆解為3個(gè)部分測(cè)試并進(jìn)行了實(shí)證研究.我們參考該實(shí)證研究拆解源碼處理場(chǎng)景下AI系統(tǒng),重要組件如圖1所示:(1)基于源碼處理的機(jī)器學(xué)習(xí)模型.(2)系統(tǒng)搭建所需的驅(qū)動(dòng)數(shù)據(jù).(3)項(xiàng)目部署應(yīng)用的實(shí)現(xiàn)框架.其中我們使用現(xiàn)有的前后端交互框架進(jìn)行模型的開(kāi)發(fā)和部署,在模型的應(yīng)用層面我們需要使用目前機(jī)器學(xué)習(xí)的支持庫(kù)(如TensorFlow,Keras等)進(jìn)行模型的搭建.許多基于機(jī)器學(xué)習(xí)的AI軟件系統(tǒng)都是從大型數(shù)據(jù)集中學(xué)習(xí)數(shù)據(jù)分布特征實(shí)現(xiàn)目標(biāo)功能,所以使用機(jī)器學(xué)習(xí)方法的項(xiàng)目成功與否很大程度上取決于數(shù)據(jù)的可用性、質(zhì)量和管理[16].數(shù)據(jù)組件是驅(qū)動(dòng)整個(gè)AI系統(tǒng)的核心,用于訓(xùn)練和測(cè)試模型.AI系統(tǒng)的功能都是通過(guò)數(shù)據(jù)的高維特征關(guān)系反向傳播到網(wǎng)絡(luò)權(quán)重形成的.數(shù)據(jù)組件和機(jī)器學(xué)習(xí)模型4020的交互質(zhì)量決定了AI軟件系統(tǒng)的核心功能完善程度[17].由于交互過(guò)程的重要性,如圖1所示本文設(shè)計(jì)魯棒性驗(yàn)證方法主要針對(duì)驗(yàn)證系統(tǒng)拆解后的AI模型組件和驅(qū)動(dòng)數(shù)據(jù)組件交互過(guò)程,并以此來(lái)衡量AI系統(tǒng)的魯棒性.該問(wèn)題的目前存在主要難點(diǎn)有:(1)暫缺明確的框架去驗(yàn)證源碼處理場(chǎng)景下AI系統(tǒng)魯棒性.(2)缺少實(shí)際的量化指標(biāo)衡量機(jī)器學(xué)習(xí)模型魯棒性[18].(3)一般對(duì)抗攻擊方式可能造成源碼樣本數(shù)據(jù)失效.現(xiàn)有研究多數(shù)采用對(duì)抗擾動(dòng)方式驗(yàn)證模型和數(shù)據(jù)交互的魯棒性[19].然而由于源碼語(yǔ)義空間的特殊性,自然語(yǔ)言處理領(lǐng)域常用的文本黑盒對(duì)抗攻擊方式可能會(huì)替換影響代碼語(yǔ)義結(jié)構(gòu)的關(guān)鍵符號(hào),導(dǎo)致源碼語(yǔ)義完全不同甚至導(dǎo)致編譯失敗,并不能夠形成有效的對(duì)抗樣本.我們參考自然語(yǔ)言處理領(lǐng)域的研究設(shè)計(jì)驗(yàn)證框架,引入基于Metropolis-Hastings采樣的源碼攻擊算法構(gòu)建對(duì)抗樣本的采樣空間,保留關(guān)鍵語(yǔ)義符號(hào),在不破壞源碼編譯結(jié)構(gòu)的前提下進(jìn)行對(duì)抗攻擊.魯棒性驗(yàn)證作用域源碼處理當(dāng)中有多種類別的機(jī)器學(xué)習(xí)任務(wù)(如:源碼克隆檢測(cè),源碼補(bǔ)全,函數(shù)命名等)大多數(shù)都是基于n階Markov假設(shè)構(gòu)建語(yǔ)言模型進(jìn)行代碼的高維特征嵌入提取之后進(jìn)行機(jī)器學(xué)習(xí)形成對(duì)應(yīng)的AI模型.針對(duì)源碼處理場(chǎng)景下AI系統(tǒng)在復(fù)雜代碼場(chǎng)景下的不穩(wěn)定性問(wèn)題,本文選取檢測(cè)模型和數(shù)據(jù)集都相對(duì)充分的漏洞預(yù)測(cè)場(chǎng)景作為研究的主要實(shí)驗(yàn)場(chǎng)景并提出漏洞預(yù)測(cè)場(chǎng)景下AI系統(tǒng)的魯棒性驗(yàn)證方法(robustnessverificationbyMetropolis-Hastingsattackmethod,RVMHM),通過(guò)驗(yàn)證系統(tǒng)拆解后的AI模型組件和驅(qū)動(dòng)數(shù)據(jù)組件交互的魯棒性來(lái)衡量系統(tǒng)的魯棒性.RVMHM首先提取每個(gè)源碼樣本的變量表.然后篩選分類平面附近的樣本作為待攻擊樣本,利用基于Metropolis-Hastings采樣的源碼攻擊算法進(jìn)行變量采樣替換生成對(duì)抗樣例干擾模型的預(yù)測(cè)效果.相較于本文選取的基線工作(Metropolis-Hastingsmodifier,MHM)對(duì)抗樣本生成算法[20]在漏洞預(yù)測(cè)場(chǎng)景下存在由于采樣擾動(dòng)方式的限制導(dǎo)致擾動(dòng)效率緩慢,以及無(wú)法直接處理真實(shí)項(xiàng)目中源碼切片的問(wèn)題,RVMHM框架體系內(nèi)的源碼攻擊算法可以通過(guò)設(shè)置模型的超參數(shù)使得模型優(yōu)先攻擊一些易受到干擾的源碼樣本,優(yōu)化RVMHM中源碼攻擊算法在魯使得RVMHM可以有效地處理漏洞預(yù)測(cè)場(chǎng)景下的源碼切片,并且只會(huì)替換目標(biāo)源碼切片樣本的變量名,不會(huì)干擾到樣本的語(yǔ)義空間.RVMHM使得選取的基于Metropolis-Hastings采樣的源碼攻擊算法更加適合AI系統(tǒng)的魯棒性驗(yàn)證框架.通過(guò)觀察攻擊前后方法中設(shè)計(jì)的各項(xiàng)魯棒性驗(yàn)證指標(biāo)上的變化可以對(duì)系統(tǒng)魯棒性進(jìn)行驗(yàn)證.通過(guò)在漏洞預(yù)測(cè)場(chǎng)景下的相關(guān)實(shí)驗(yàn)結(jié)果,展現(xiàn)該方法對(duì)于目前基于n階Markov假設(shè)楊焱景等:源碼處理場(chǎng)景下人工智能系統(tǒng)魯棒性驗(yàn)證方法本文第1節(jié)介紹漏洞預(yù)測(cè)場(chǎng)景下AI系統(tǒng)魯棒性驗(yàn)證方法的相關(guān)工作和研究現(xiàn)狀.第2節(jié)介紹本文所使用和參考的有關(guān)技術(shù)和知識(shí),包括Metropolis-Hastings采樣方法和針對(duì)文本的黑盒采樣攻擊方式.第3節(jié)介紹本文構(gòu)建的漏洞預(yù)測(cè)場(chǎng)景下AI系統(tǒng)魯棒性驗(yàn)證方法RVMHM.第4節(jié)在3個(gè)真實(shí)項(xiàng)目的數(shù)據(jù)集(FFmpeg,LibPNG,LibTIFF)上進(jìn)行對(duì)比實(shí)驗(yàn)說(shuō)明RVMHM在魯棒性驗(yàn)證上的有效性,并對(duì)攻擊算法的超參數(shù)進(jìn)行靈敏度分析.最后總結(jié)全文.魯棒性一般指的是系統(tǒng)(程序)在面對(duì)輸入集變化時(shí),表現(xiàn)出結(jié)果輸出集穩(wěn)定的一種性質(zhì).當(dāng)前許多開(kāi)發(fā)團(tuán)隊(duì)都在調(diào)查中表明AI的系統(tǒng)組件更難進(jìn)行魯棒性評(píng)估工作[17].Alexander等人提出一套審核方法evAIa通過(guò)問(wèn)有效性[22].近年來(lái)隨著對(duì)抗攻擊在機(jī)器學(xué)習(xí)各領(lǐng)域的興起[23],Gui等人[9]提出模型TextFlint對(duì)最自然語(yǔ)言處理領(lǐng)域內(nèi)先進(jìn)的基于深度學(xué)習(xí)的模型進(jìn)行了大規(guī)模的魯棒性實(shí)證評(píng)估.幾乎所有的模型在收到對(duì)抗攻擊后,在諸多任務(wù)上(包括情感分類、命名實(shí)體識(shí)別和自然語(yǔ)言推理等任務(wù))都表現(xiàn)不同程度的指標(biāo)波動(dòng),以此來(lái)評(píng)估模型的魯棒性,并且提出將魯棒性作為自然語(yǔ)言處理模型中重要的指標(biāo)加入模型的在很多突出貢獻(xiàn),但是在真實(shí)場(chǎng)景中很多系統(tǒng)中的實(shí)用性卻不盡如人意.造成AI系統(tǒng)實(shí)際應(yīng)用效果不佳的原因之一就是應(yīng)用前缺乏對(duì)AI系統(tǒng)組件中模型的魯棒性的重視和深入探討,導(dǎo)致模型只能在特定場(chǎng)景數(shù)據(jù)上表現(xiàn)良好,在模型的效果評(píng)測(cè)中也僅關(guān)心在特定測(cè)試集上的性能.在本文實(shí)驗(yàn)選取的漏洞預(yù)測(cè)場(chǎng)景下,Chakraborty等人[4]對(duì)目前表現(xiàn)較好的模型做了評(píng)估,發(fā)現(xiàn)其中VulDeePecker[24]在報(bào)告中實(shí)現(xiàn)了86.9%的精度.然而在真實(shí)世界的數(shù)據(jù)集中使用模型VulDeePecker時(shí),由于缺少驗(yàn)證數(shù)據(jù)和模型之間交互擾降低到11.12%,再訓(xùn)練后,精度變?yōu)?7.68%.同時(shí)該研究還指出目前最先進(jìn)的漏洞預(yù)測(cè)模型都是脆弱的,雖然訓(xùn)練模型學(xué)習(xí)如何區(qū)分漏洞,但訓(xùn)練范式并沒(méi)有明確關(guān)注增加漏洞和非漏洞樣本之間的分離.因此,只要稍加擾動(dòng),分類就會(huì)變得不穩(wěn)定[4].Yamaguchi等人[25]指出在真實(shí)場(chǎng)景下的漏洞要復(fù)雜得多,需要對(duì)控制流、數(shù)據(jù)流、優(yōu)勢(shì)關(guān)系和代碼元素之間的其他類型的依賴關(guān)系進(jìn)行推理,才能很好地表達(dá)程序和提取的特征嵌入之間的語(yǔ)義差距,而訓(xùn)練集和真實(shí)場(chǎng)景下代碼語(yǔ)義復(fù)雜性的差距,也造成了在復(fù)雜的真實(shí)場(chǎng)景下應(yīng)用模型表現(xiàn)十分不穩(wěn)定.這些擾動(dòng)可以分為噪聲擾動(dòng)和對(duì)抗攻擊,其中噪聲擾動(dòng)是不規(guī)則無(wú)規(guī)律的,無(wú)法具體研究.而對(duì)抗攻擊是一種試圖用惡意輸入來(lái)欺騙或誤導(dǎo)基于機(jī)器學(xué)習(xí)的模型的技術(shù),該技術(shù)在安全領(lǐng)域也得到了廣泛的研究.對(duì)抗性規(guī)避攻擊[26]是最常見(jiàn)的對(duì)抗性機(jī)器學(xué)習(xí)攻擊類型之一,發(fā)生在機(jī)器學(xué)習(xí)過(guò)程的測(cè)試階段,攻擊者試圖通過(guò)操縱測(cè)試數(shù)據(jù)來(lái)逃避檢測(cè)系統(tǒng),從而導(dǎo)致錯(cuò)誤的模型分類.Nicholas等人[27]說(shuō)明神經(jīng)網(wǎng)絡(luò)在面對(duì)對(duì)抗性實(shí)例時(shí)很脆弱,并且評(píng)估調(diào)查了最近設(shè)計(jì)的10個(gè)檢測(cè)方案得出對(duì)抗性的例子比之前認(rèn)為的更難察覺(jué),提出了評(píng)估防御對(duì)抗性擾動(dòng)的指導(dǎo)原則.Papernot等人[28]提出了針對(duì)黑盒神經(jīng)網(wǎng)絡(luò)模型的攻擊方法,該方法對(duì)于不同的機(jī)器學(xué)習(xí)模型都有很好的攻擊效果.這種基于黑盒網(wǎng)絡(luò)的設(shè)計(jì)使得攻擊方式更適合實(shí)際生產(chǎn)環(huán)境中使用.在針對(duì)源碼處理的多種任務(wù)當(dāng)中,對(duì)抗樣本就受到編程語(yǔ)言的結(jié)構(gòu)化格式和語(yǔ)法限制.Zhang等人[20]指出由于代碼的語(yǔ)義空間具有離散性,基于源碼的對(duì)抗攻擊必須遵從一定的編程語(yǔ)言的規(guī)則,否則將會(huì)不可通過(guò)相應(yīng)的編譯,進(jìn)行不了任何一步工作.所以模型中采用的對(duì)抗攻擊的方式就會(huì)被限制在采樣對(duì)抗的方式下.Alzan等人[29]提出GA模型采用遺傳算法對(duì)源碼處理模型分類器進(jìn)行采樣攻擊,進(jìn)一步的研究將梯度信息引入到對(duì)抗樣本的實(shí)例化生成的過(guò)程中.Zhang等人[20]針對(duì)源碼多分類匹配模型提出MHM源碼生成對(duì)抗模型,采用了Markov隨機(jī)采樣算法從源碼中提取變量符號(hào),對(duì)每語(yǔ)義上保持不變的源代碼示例用于模型的測(cè)試評(píng)估,同時(shí)該團(tuán)隊(duì)提出了基于神經(jīng)元覆蓋的方法評(píng)估樣本的生成.Chen等人[31]提出了KUAFUDET,一種二階段對(duì)抗學(xué)習(xí)增強(qiáng)方法,通過(guò)從訓(xùn)練集中選擇和提取特征的訓(xùn)練階段,以及利用第1階段訓(xùn)練的分類器的識(shí)別階段,利用對(duì)抗攻擊學(xué)習(xí)提高檢測(cè)模型的表現(xiàn).Shu等人[32]提出了集成漏洞預(yù)測(cè)模型Omni.該模型利用集成防御的思想,通過(guò)超參數(shù)優(yōu)化等方法創(chuàng)建與攻擊者預(yù)期模4022型(即目標(biāo)模型)距離較遠(yuǎn)的候選模型集成學(xué)習(xí)漏洞特征并預(yù)測(cè),提高了模型2源碼處理場(chǎng)景下人工智能系統(tǒng)魯棒性驗(yàn)證方法的相本文提出的方法主要基于Metropolis-Hasting采樣方法和針對(duì)文本的黑盒攻擊方式TextBugger.Metropolis-Hasting采樣方法可以獲取到復(fù)雜目標(biāo)分布的采樣集合,我們使用這種采樣方法去近似采樣逼近樣本的對(duì)抗攻擊.TextBugger可以對(duì)文本屬性的樣本進(jìn)行黑盒的對(duì)抗攻擊,以此來(lái)擾動(dòng)模型的正常處理過(guò)程.下面就相關(guān)知識(shí)予以介紹.2.1Metropolis-Hasting對(duì)抗攻擊在理論上可以被處理成3種形式:(1)最大化的優(yōu)化問(wèn)題[19];(2)梯度上升優(yōu)化的擾動(dòng)[33];(3)采樣近似逼近對(duì)抗性攻擊[29].但是由于代碼語(yǔ)義空間的特殊性,我們只能通過(guò)采樣的方法近似逼近我們理想的對(duì)抗樣本的分布.但是由于在自然條件下,許多分布并不能夠通過(guò)簡(jiǎn)單的基本常見(jiàn)分布運(yùn)算得到,所以需要對(duì)其進(jìn)行蒙特卡洛采樣.其中一種常見(jiàn)的方法就是接受-拒絕采樣,如果目標(biāo)分布p(x)太復(fù)雜,在程序中沒(méi)辦法直接采樣,那么我們就需要設(shè)定一個(gè)既定已知分布q(x)(例如:高斯分布),然后按照一定的方法拒絕某些樣本,以達(dá)到近似采樣p(x)的目的.在MCMC(MarkovchainMonteCarlo)采樣中,一般情況下目標(biāo)平穩(wěn)分布π(x)和某一個(gè)馬爾科夫鏈狀態(tài)轉(zhuǎn)移矩陣Q不滿足細(xì)致平穩(wěn)條件.此時(shí)就通過(guò)引入新的π(i)Q(i,j)α(i,j)=π(j)Q(j,i)α(j,i)(1)要使得細(xì)致平穩(wěn)條件成立就必須讓?duì)翝M足以下兩個(gè)條件.由此可以得到滿足對(duì)應(yīng)滿足目標(biāo)矩陣的P可以通過(guò)任意一個(gè)Markov狀態(tài)轉(zhuǎn)移矩陣Q乘α得到.這里我們?cè)O(shè)定α為接受率,取值在[0,1]之間,即可執(zhí)行接受-拒絕采樣過(guò)程.但是對(duì)于采樣來(lái)講,如果α取值過(guò)小就會(huì)導(dǎo)致采樣效率過(guò)低.由于等式兩邊同時(shí)擴(kuò)大并不會(huì)影響細(xì)致平穩(wěn)條件成立的條件,所以Metropolis-Hasting改良致平穩(wěn)條件如下.然后我們通過(guò)改良后的細(xì)致平穩(wěn)條件計(jì)算接受-拒絕采樣的接受率,然后細(xì)化采樣過(guò)程.首先通過(guò)輸入任意Markov狀態(tài)轉(zhuǎn)移矩陣Q,平穩(wěn)分布π(x),最大狀態(tài)轉(zhuǎn)移次數(shù)n1,采樣需要的樣本數(shù)n2.然后從任意已知簡(jiǎn)單概率分布中采樣得到初始狀態(tài)x0.從t=0循環(huán)至最大迭代次數(shù)n1+n2?1,每一個(gè)循環(huán)中流程如下.(2)從均勻分布中采樣u~uniform[0,1].如果u<α=min則接受轉(zhuǎn)移xt→x?,即xt+1=x?.如果條件不滿足則不接受轉(zhuǎn)移,重新執(zhí)行該輪次采樣,即t=max(t?1,0).最后執(zhí)行完得到的樣本集(xn1,xn1+1,...,xn1+n2?1)即為我們求得的平穩(wěn)分布對(duì)應(yīng)的采樣集合.對(duì)抗攻擊大體可以分為白盒和黑盒攻擊.由于白盒的攻擊方式及只存在模型的自測(cè)和驗(yàn)證階段,并不適用于模擬實(shí)際生產(chǎn)環(huán)境的攻擊測(cè)試.TextBugger[34]作為一個(gè)抽樣黑盒的攻擊方式,用于生成文本對(duì)抗樣本.其優(yōu)勢(shì)如下:(1)有效,超出從前的模型.(2)隱蔽,保場(chǎng)景下,沒(méi)有衡量攻擊損失函數(shù)的梯度信息.TextBugger采用如下過(guò)程進(jìn)行采樣攻擊.楊焱景等:源碼處理場(chǎng)景下人工智能系統(tǒng)魯棒性驗(yàn)證方法第1步:將文檔進(jìn)行語(yǔ)句級(jí)分割,逐句作為輸入,查看模型的預(yù)測(cè)結(jié)果.從而過(guò)濾掉那些對(duì)標(biāo)簽預(yù)測(cè)不重要的單句,剩下的語(yǔ)句也使用預(yù)測(cè)置信度進(jìn)行排序.第2步:尋找語(yǔ)句級(jí)當(dāng)中重要的詞.利用去除前后的預(yù)測(cè)置信度變化,衡量詞語(yǔ)在預(yù)測(cè)過(guò)程中的影響大小.第3步:TextBugger生成.對(duì)于字母級(jí)擾動(dòng),只要隨意變動(dòng)單詞中字母的順序,就能輕易讓模型將單詞判定成未識(shí)別詞,從而達(dá)到攻擊的效果.對(duì)于單詞級(jí)擾動(dòng),可以在單詞嵌入層尋找最接近的單詞.在一些字母的變化或使用語(yǔ)義句法相似詞替換后,對(duì)抗樣本與原樣本在感官層面是相似的.據(jù)此提出5種對(duì)抗樣本生成方法:(1)在單詞中間插入空格.(2)隨機(jī)刪除除了開(kāi)始和末尾的字母.(3)交換單詞中除了開(kāi)頭和結(jié)尾的兩個(gè)字母.(4)替換看起來(lái)相似的字母.(5)使用情境感知空間中距離最近的k個(gè)單詞來(lái)進(jìn)行替換.將候選詞生成的對(duì)抗樣本輸入模型,得到對(duì)應(yīng)類別的置信度,選取置信度下降最大的詞.如果替換掉單詞后的對(duì)抗樣本與原樣本的語(yǔ)義相似度大于閾值,對(duì)抗樣本生成成功.如果未大于閾值,則選取下一個(gè)單詞進(jìn)行修改.D={(xi,yi1,yi=0or1(4)其中,xi是經(jīng)過(guò)模型需要處理后的源碼片段編碼,預(yù)處理方式可以采用字符解析序列,抽象語(yǔ)法解析樹(shù)和程序結(jié)構(gòu)化圖特征(如:控制流圖)等形式.yi是數(shù)據(jù)集對(duì)應(yīng)預(yù)先設(shè)置好的向量化標(biāo)簽.我們分別用D(t),D(v)和D(e)表示用于訓(xùn)練,驗(yàn)證和測(cè)試的數(shù)據(jù)集.其中,深度檢測(cè)模型C(x)通過(guò)訓(xùn)練獲取到數(shù)據(jù)的高維非線性變換特征,然后通過(guò)最小化特征映射到標(biāo)簽的損失作為目標(biāo)函數(shù),然后反向傳播誤差ζ得到具有一定泛化能力的檢測(cè)模型.我們提出該場(chǎng)景下AI系統(tǒng)驗(yàn)證方法RVMHM,框架如圖2所示,首先使用基于AST的源碼解析工具CodeSensor[21]對(duì)源碼進(jìn)行解析并提取每個(gè)樣本的變量采集表.由于漏洞預(yù)測(cè)場(chǎng)景下的數(shù)據(jù)集多數(shù)存在不平衡,以及數(shù)據(jù)分布分散的特性[4],文本級(jí)別的采樣擾動(dòng)可能會(huì)對(duì)模型對(duì)于該樣本的預(yù)測(cè)概率有所干擾,但是由于二分類任務(wù)映射函數(shù)的特殊性,可能最終經(jīng)過(guò)公式(5)優(yōu)化后的模型做=A(x),C()≠C(x),y()=y(x)(6)其中,A代表生成對(duì)抗樣本的方式,C(x)表示對(duì)應(yīng)類別的預(yù)測(cè)概率,y(x)表示對(duì)應(yīng)最后的預(yù)測(cè)類別結(jié)果.即對(duì)應(yīng)類別的預(yù)測(cè)概率受到干擾,但是由于數(shù)據(jù)與主題任務(wù)的特殊性,保證語(yǔ)義完整性的微小文本級(jí)別擾動(dòng)并沒(méi)有使最終的預(yù)測(cè)結(jié)果發(fā)生變化,存在大量的無(wú)效擾動(dòng).相較于如果對(duì)每個(gè)樣本進(jìn)行擾動(dòng)會(huì)導(dǎo)致驗(yàn)證系統(tǒng)工作效率緩慢,驗(yàn)證系統(tǒng)不能及時(shí)反饋一個(gè)最有效的評(píng)估結(jié)果,RVMHM增加了篩選優(yōu)先攻擊對(duì)象的方法避免了在有限時(shí)間當(dāng)中產(chǎn)生很多無(wú)效攻擊嘗試,優(yōu)先去攻擊那些最有可能擾動(dòng)的樣本提高了限定時(shí)間內(nèi)的擾動(dòng)性能.所以我們通過(guò)樣本特征構(gòu)建攻擊范圍的篩選規(guī)則,選取最有可能被干擾樣本進(jìn)行對(duì)抗性擾動(dòng).通過(guò)篩選構(gòu)建待攻擊對(duì)象集合,從中采樣候選和目標(biāo)變量標(biāo)識(shí)集,通過(guò)MHM源碼對(duì)抗攻擊算法采樣篩選替換的變量名形成一次一階Markov轉(zhuǎn)換過(guò)程,計(jì)算替換后采樣概率和該次轉(zhuǎn)換的接受率α,根據(jù)接受率判斷是否執(zhí)行該次Markov轉(zhuǎn)換,最后再使用分類模型驗(yàn)證是否是一次成功的對(duì)抗攻擊.最后結(jié)合這些對(duì)抗樣本對(duì)模型進(jìn)行測(cè)試,觀察模型在設(shè)計(jì)好的魯棒性驗(yàn)證指魯棒性驗(yàn)證的結(jié)果進(jìn)行分析和展示.在進(jìn)行漏洞預(yù)測(cè)場(chǎng)景下,現(xiàn)有研究通常采用基于自然語(yǔ)言處理的方式,然而字符集的識(shí)別過(guò)程并不能表示完4024整的程序結(jié)構(gòu).程序當(dāng)中一些特殊的符號(hào)表達(dá)的意思也不能夠簡(jiǎn)單利用同級(jí)別的字符順序含義所表示,如循環(huán)結(jié)構(gòu)標(biāo)志(while,for),條件判斷結(jié)構(gòu)(if,else),或者變量名稱.此類特殊字符存在循環(huán)、跳躍或反復(fù)調(diào)用結(jié)構(gòu).本文選取基于抽象語(yǔ)法樹(shù)的源碼分析工具CodeSensor進(jìn)行源碼解析工作.由圖3可知CodeSensor生成的解析文件清晰(待驗(yàn)證模型)未通過(guò)未通過(guò)楊焱景等:源碼處理場(chǎng)景下人工智能系統(tǒng)魯棒性驗(yàn)證方法應(yīng)變量字符的編碼.為每個(gè)源碼樣本的變量和對(duì)應(yīng)編碼構(gòu)建映射關(guān)系作為變量采集表.所有的變量采集表合并可以形成對(duì)應(yīng)的整個(gè)數(shù)據(jù)集的變量采集池.變量提取的預(yù)處理工作方便之后利用變量進(jìn)行源碼對(duì)抗攻擊.3.2基于Metropolis-Hastings采樣基于Metropolis-Hastings采樣的攻擊算法通過(guò)構(gòu)造對(duì)抗攻擊目標(biāo)樣本的隨機(jī)采樣近似生成干擾目標(biāo)主題任務(wù)的對(duì)抗樣本.基于源碼的分析處理任務(wù)是一個(gè)近似一階Markov鏈的過(guò)程[20],但是由于源碼空間的離散性,所以針對(duì)這個(gè)過(guò)程,我們無(wú)法直接去衡量或者知道如何在源碼空間領(lǐng)域進(jìn)行最優(yōu)化問(wèn)題梯度及優(yōu)化的目標(biāo)函數(shù),利用梯度信息是非常困難的.這使得基于優(yōu)化和基于梯度的方法難以實(shí)現(xiàn),所以只能通過(guò)近似采樣去逼近理想的對(duì)抗攻擊.如果只是對(duì)于一般的語(yǔ)言模型,可以使用類似TextBugger[33]模型的方法,成對(duì)應(yīng)的預(yù)測(cè)模型的對(duì)抗樣本.雖然基于源碼處理的漏洞預(yù)測(cè)模型會(huì)利用自然語(yǔ)言處理領(lǐng)域內(nèi)的方法,提取源碼通過(guò)利用Pythontutor工具[35]生成隨機(jī)盲目替換后的源碼執(zhí)行過(guò)程.不難發(fā)現(xiàn),如果利用TextBugger模型隨機(jī)盲目改變符號(hào)構(gòu)建對(duì)抗樣本,盡管會(huì)使得原有語(yǔ)義和原本樣本差距變大造成對(duì)抗,但是會(huì)改變程序的執(zhí)行軌跡.甚至可能導(dǎo)致源碼樣本無(wú)法通過(guò)編譯過(guò)程,這樣的對(duì)抗樣本從執(zhí)行的檢測(cè)過(guò)程上來(lái)看就是無(wú)效樣本.為了提高對(duì)抗源碼生成算法工作的效率,算法利用待驗(yàn)證模型的預(yù)測(cè)層,計(jì)算樣本到分類檢測(cè)平面的預(yù)測(cè)損失,本文采用L2范式衡量該損失,對(duì)待測(cè)試的源碼進(jìn)行初次篩選.參考自然語(yǔ)言處理類別其他的基于文本的攻擊過(guò)程,攻擊檢測(cè)平面周?chē)臉颖?將更有可能攻擊成功.其中,X表示待攻擊樣本的集合,range表示設(shè)定的篩選攻擊范圍,超過(guò)這個(gè)距離的樣本將不會(huì)收到攻擊.通過(guò)攻擊迭代次數(shù)上限maxiter限制算法的運(yùn)行時(shí)間,達(dá)到最短時(shí)間攻擊最多樣本的目標(biāo).獲取待攻擊源碼樣本集合之后,利用待攻擊樣本的源碼變量采集表挑選變量進(jìn)行采樣替換,在不影響程序執(zhí)行過(guò)程的情況下構(gòu)建對(duì)抗樣本.4026算法把對(duì)抗性實(shí)例生成看作是一個(gè)抽樣問(wèn)題.首先定義對(duì)抗性樣本為給定一個(gè)訓(xùn)練良好的主題模型C和一個(gè)標(biāo)記的數(shù)據(jù)對(duì)(x,y),其中C正確地將x分類到y(tǒng),對(duì)抗例子集對(duì)x的定義如下.π(x)∝(1?C(x)[y])·X1...Xk(9)C(x)[y]使用主題模型C預(yù)測(cè)到y(tǒng)這類的概率,對(duì)應(yīng)X1...Xk是對(duì)目前任務(wù)的若干約束:如語(yǔ)法約束,詞法約束等.之后基于Metropolis-Hastings采樣方法進(jìn)行變量名的采樣更新.MHM變量名采樣替換算法,首先會(huì)利用受害者模型C選取漏洞預(yù)測(cè)場(chǎng)景下易受到攻擊的樣本.然后將一對(duì)正確分類的數(shù)據(jù)對(duì)(x,y),輸出一系列對(duì)抗樣例.這些對(duì)抗樣例應(yīng)該具備如下特征:(1)能夠誤導(dǎo)主題模型C.(2)與源碼中的語(yǔ)義空間一致,即不會(huì)出誤.(3)在給定輸入和輸出結(jié)果之后能夠與原樣例輸出結(jié)果一致,即該采樣算法是一種基于經(jīng)典的Markov轉(zhuǎn)換鏈的蒙特卡洛采樣方法.給定分布和轉(zhuǎn)換方法,M-H采樣方法可以從分布中采樣出期望的樣本.對(duì)于漏洞預(yù)測(cè)場(chǎng)景下,階段1:選擇源命名標(biāo)識(shí)符s:收集源碼片段x中所有變量和函數(shù)的定義和聲源標(biāo)識(shí)符s,每個(gè)原標(biāo)識(shí)符被提取的概率相等.碼段仍然滿足對(duì)抗子集中定義.重命名的標(biāo)識(shí)符來(lái)自構(gòu)建整體變量標(biāo)識(shí)全集但不屬于當(dāng)前源碼樣本標(biāo)識(shí)集的其他變量標(biāo)識(shí)符,整體變量標(biāo)識(shí)符是包含于整體詞匯集V的.這種變量替換即可以保證目標(biāo)源碼仍然可以通過(guò)原有的項(xiàng)目編譯,而且替換的詞匯不會(huì)引入新的未知變量作為毫無(wú)意義的干擾噪聲.Q(xs(x)(s)·PT(x)(t)whereS(x)∩T(x)=。如果通過(guò)檢驗(yàn),那么樣本就會(huì)由x轉(zhuǎn)換到進(jìn)行采樣.否則算法就會(huì)停留在當(dāng)前狀態(tài)不進(jìn)行采樣.1.初始化x0(源碼材料→embeddinWhilet<maxiter(3.通過(guò)掃描源碼生成對(duì)應(yīng)的標(biāo)識(shí)符候選5.通過(guò)源碼掃描生成代替楊焱景等:源碼處理場(chǎng)景下人工智能系統(tǒng)魯棒性驗(yàn)證方法9.根據(jù)接受閾值和接受率的大小關(guān)系反饋是否執(zhí)行MIfargmax(y)≠argmaxC()即攻擊成功break利用MHM變量名采樣換名算法計(jì)算轉(zhuǎn)換接收概率,然后根據(jù)接受率和接受閾值的大小關(guān)系篩選能夠執(zhí)行轉(zhuǎn)換的樣本形成新的源碼對(duì)抗樣本.整個(gè)變量替換產(chǎn)生對(duì)抗樣本的過(guò)程是一個(gè)累計(jì)替換、疊加影響的過(guò)程,RVMHM在執(zhí)行的過(guò)程中將替換的變量條目和當(dāng)時(shí)變量的取值情況詳細(xì)記錄,方便進(jìn)行進(jìn)一步的攻擊日志分析和后續(xù)研究.經(jīng)過(guò)對(duì)于魯棒性的調(diào)查研究,現(xiàn)有多數(shù)的評(píng)價(jià)模型還是通過(guò)展示攻擊前后,或更換輸入集前后模型參數(shù),通過(guò)各項(xiàng)指標(biāo)上的變化量,綜合展示模型的魯棒性.所以在本文中挑選了以下3個(gè)指標(biāo),通過(guò)其變化量綜合評(píng)估模型魯棒性.F1-score是統(tǒng)計(jì)學(xué)中用來(lái)衡量二分類模型精確度的一種指標(biāo),用于測(cè)量不均衡數(shù)據(jù)的精度.它同時(shí)兼顧了分類模型的精確率precision和召回率recall.F1-score可以看作是模型精確率和召回率的一種加權(quán)平均,它的最大(2)AUPRC用于評(píng)估模型工作的可靠性.在這些不平衡或傾斜的數(shù)據(jù)集上,PRC相較于(receiveroperatingcharacteristic,ROC)可以突出ROC曲線中丟失的性能差異[37].所以絕大多數(shù)算法在面對(duì)不平衡數(shù)據(jù)集時(shí)選取PRC作為性能的一般衡量標(biāo)準(zhǔn).在本文中我們使用黎曼和的形式近似計(jì)算AUPRC.由于漏洞預(yù)測(cè)場(chǎng)景下的數(shù)據(jù)集大多數(shù)都存在由不平衡的情況.也符合該場(chǎng)景真實(shí)運(yùn)行所得的數(shù)據(jù)集,畢竟漏洞大多數(shù)存在隱蔽性和欺騙性.如果存在很明顯的漏洞,很容易就被發(fā)現(xiàn)且及時(shí)修復(fù)了.所以存在漏洞類別的數(shù)據(jù)量要遠(yuǎn)遠(yuǎn)小于無(wú)漏洞類別的數(shù)據(jù)量.所以本文更加關(guān)注如上所示漏洞預(yù)測(cè)類別的相4028實(shí)驗(yàn)設(shè)計(jì)主要展示了漏洞預(yù)測(cè)場(chǎng)景下,基于機(jī)器學(xué)習(xí)的漏洞預(yù)測(cè)模型(2種特征提取算法和6種檢測(cè)網(wǎng)絡(luò))在3個(gè)真實(shí)項(xiàng)目的數(shù)據(jù)集上進(jìn)行魯棒性驗(yàn)證的結(jié)果.通過(guò)對(duì)比擾動(dòng)方法MHM[20]進(jìn)行實(shí)驗(yàn).相較于基線MHM擾動(dòng)算法無(wú)差別的攻擊每一個(gè)源碼樣本,會(huì)產(chǎn)生大量文本級(jí)別無(wú)效的擾動(dòng)過(guò)程,RVMHM在使用M-H采樣源碼攻擊分布時(shí)會(huì)通過(guò)源碼置信度的分布優(yōu)先去攻擊那些最有可能被擾動(dòng)的源碼樣本.提高了漏洞預(yù)測(cè)場(chǎng)景下驗(yàn)證模型魯棒性的效率.同時(shí)RVMHM采用了更加一般的基于抽動(dòng)算法,使得M-H采樣攻擊成功作用于無(wú)法單獨(dú)進(jìn)行編譯代碼切片.實(shí)驗(yàn)結(jié)果說(shuō)明了本文提出的魯棒性驗(yàn)證模型RVMHM的有效性.通過(guò)結(jié)果展示在真實(shí)數(shù)據(jù)集上相關(guān)指標(biāo)表現(xiàn)說(shuō)明盡管參與驗(yàn)證的漏洞預(yù)測(cè)模型在訓(xùn)練場(chǎng)景下能夠取得較好的指標(biāo)表現(xiàn),但是在真實(shí)場(chǎng)景下(即包含了對(duì)抗攻擊和噪聲擾動(dòng)的檢測(cè)情況下)模型的表現(xiàn)并不穩(wěn)定[38].本文涉及的實(shí)驗(yàn)工作的將在GitHub倉(cāng)庫(kù)(https://github.com/Yang-Yanjing/Robustness_for_SVD.git)開(kāi)放源碼獲取以供讀者后續(xù)科研以為了盡可能模擬模型在真實(shí)場(chǎng)景下的表現(xiàn)情況,在對(duì)比前人研究的情況下[21,39],本文參考漏洞預(yù)測(cè)場(chǎng)景已經(jīng)存在的研究,專注于對(duì)魯棒性驗(yàn)證方法效果進(jìn)行評(píng)估,我們選取了漏洞類別與無(wú)漏洞類別不平衡比例小于1:50的數(shù)據(jù)集以減少不平衡數(shù)據(jù)集對(duì)于實(shí)驗(yàn)預(yù)測(cè)模型訓(xùn)練的影響.根據(jù)上述原則選取3個(gè)在GitHub上存在的真實(shí)的項(xiàng)目作為實(shí)驗(yàn)數(shù)據(jù)集:(1)FFmpeg;(2)LibPNG;(3)LibTIFF.FFmpeg是一套可置算法將它們轉(zhuǎn)化成計(jì)算機(jī)可以操作、修改的數(shù)據(jù)流.同時(shí)該項(xiàng)目提供了錄制、轉(zhuǎn)換以及流方案.LibPNG是一款基于C語(yǔ)言編寫(xiě)的底層的讀寫(xiě)PNG文件的庫(kù),該項(xiàng)目不受到平臺(tái)的限制,利用該項(xiàng)目可以獲取PNG文件的每一行像素,方便圖像處理算法的進(jìn)一步實(shí)施.LibTIFF是一個(gè)用來(lái)讀寫(xiě)標(biāo)簽圖像文件格式的庫(kù),項(xiàng)目以源碼方式分發(fā),并且構(gòu)建不受平臺(tái)限制,利用該項(xiàng)目可以很方便地利用命令行就能處理TIFF文件.通過(guò)收實(shí)驗(yàn)所使用的漏洞預(yù)測(cè)模型架構(gòu)如圖5所示由特征提取部分和深度F1-score在數(shù)據(jù)集LibPNG,LibTIFF,FFmpeg上本文挑選了表現(xiàn)較為優(yōu)良的嵌入算法和檢測(cè)網(wǎng)絡(luò)組合成12組模型進(jìn)楊焱景等:源碼處理場(chǎng)景下人工智能系統(tǒng)魯棒性驗(yàn)證方法行擾動(dòng)攻擊,選取攻擊方法設(shè)置超參數(shù)為表2所示.為了保證模型在統(tǒng)計(jì)意義上相較于基線算法的優(yōu)勢(shì),本文本攻擊工作[20,29]和觀察重復(fù)性實(shí)驗(yàn)攻擊記錄的差異,設(shè)計(jì)對(duì)每組漏洞預(yù)測(cè)模型進(jìn)行10次對(duì)抗性攻擊,取攻擊后指標(biāo)變化量的平均值作為實(shí)驗(yàn)的統(tǒng)計(jì)結(jié)果.46因?yàn)長(zhǎng)ibPNG相對(duì)于其余兩組數(shù)據(jù)集,對(duì)應(yīng)的數(shù)據(jù)量相對(duì)較少,所以綜合考慮攻擊時(shí)間,本文選取LibPNG的最大迭代次數(shù)maxiter相對(duì)較大,因?yàn)镕Fmpeg的數(shù)據(jù)量龐大,所以本文相對(duì)于其他兩個(gè)數(shù)據(jù)集設(shè)置對(duì)應(yīng)FFmpeg的篩選攻擊范圍range相對(duì)較小.執(zhí)行時(shí)間根據(jù)數(shù)據(jù)集大小綜合選定,避免驗(yàn)證執(zhí)行時(shí)間過(guò)長(zhǎng)導(dǎo)致效率偏低.如表3所示,為數(shù)據(jù)集LibPNG上各模型經(jīng)過(guò)MHM源碼攻擊模型的擾動(dòng)之后,在魯棒性指標(biāo)評(píng)價(jià)上的變化,可以看到原本高準(zhǔn)確率的分類模型,攻擊之后都存在有一定的指標(biāo)浮動(dòng),魯棒性普遍存在一定的影響.由于LibPNG數(shù)據(jù)集本身數(shù)據(jù)量的少和正負(fù)類別數(shù)據(jù)不平衡的特性,部分?jǐn)?shù)據(jù)可能趨向0.通過(guò)詳細(xì)篩查攻擊成功的對(duì)象發(fā)現(xiàn)此類變化是符合實(shí)驗(yàn)過(guò)程的.F1-scoreAUPRCRecallVul0.001.0→0.890.9→0.890.000.000.0000.0000.0000.0001.0→0.890.000.000.000.000.9→0.880.9→0.890.000.000.000.000.0000.0000.000.00通過(guò)觀察圖6和表3可以發(fā)現(xiàn)在該數(shù)據(jù)集下,可以發(fā)現(xiàn)普遍我們的RVMHM比現(xiàn)有先進(jìn)的擾動(dòng)算法MHM在性能上較好,同時(shí)可以發(fā)現(xiàn)一些較為先進(jìn)的網(wǎng)絡(luò)如Text-CNN在面對(duì)擾動(dòng)時(shí)變化量較大,可以說(shuō)明該檢測(cè)網(wǎng)絡(luò)雖然在實(shí)驗(yàn)階段其表現(xiàn)良好,但是在面對(duì)對(duì)抗攻擊時(shí)波動(dòng)較大,魯棒性較差.40300F1-scoreAUPRCRecallVulF1-scoreAUPRCRecallVul如表4所示,為數(shù)據(jù)集LibTIFF上各模型經(jīng)過(guò)RVMHM如圖7所示相比于MHM擾動(dòng)算法,RVMHM在該數(shù)據(jù)集上對(duì)模型的F1-scoreAUPRCRecallVul0.37→0.30.000.82→0.80.11→0.00.11→0.0如表5所示,為數(shù)據(jù)集FFmpeg上各模型經(jīng)過(guò)MHM源碼攻擊模型的擾動(dòng)之后,在魯棒性指標(biāo)評(píng)價(jià)上的變化,因?yàn)镕Fmpeg采集的樣本數(shù)3個(gè)樣本中最高的,對(duì)應(yīng)的也更能反應(yīng)各個(gè)模型在真實(shí)情況下,收到對(duì)抗攻擊楊焱景等:源碼處理場(chǎng)景下人工智能系統(tǒng)魯棒性驗(yàn)證方法擾動(dòng)后,模型指標(biāo)的變化量,以此來(lái)反映各組模型的魯棒性.由于真實(shí)模型的應(yīng)用場(chǎng)景中存在著大量的擾動(dòng)條件,模型優(yōu)良表現(xiàn)更需要建立在魯棒穩(wěn)定的基礎(chǔ)之上.圖8也體現(xiàn)在真實(shí)大量的數(shù)據(jù)集上我們算法較基線算法的優(yōu)勢(shì).F1-scoreAUPRCRecallVulF1-scoreAUPRCRecallVulF1-scoreAUPRCRecallVul0.92→0.90.73→0.60.91→0.90.000.000.0000.000.000.92→0.90.73→0.60.000.91→0.90.000.000.000.004032F1-scoreAUPRCRecallVulF1-scoreAUPRCRecallVul由于不同的漏洞預(yù)測(cè)模型使用的網(wǎng)絡(luò)和特征提取方式不同,源碼樣本進(jìn)入預(yù)測(cè)模型后編碼向量也有所區(qū)別,與其他對(duì)應(yīng)的源碼文本對(duì)抗工作[19,20,29]相同,RVMHM在嘗試進(jìn)行變量名替換之后對(duì)于不同模型影響的性能差異也有所不同,是一個(gè)文本對(duì)抗工作普遍存在的差異現(xiàn)象.同時(shí)我們關(guān)注到R大型的數(shù)據(jù)集上可以獲得更加穩(wěn)定的擾動(dòng)效果,這是由于RVMHM在篩選攻擊對(duì)象之后,如果對(duì)應(yīng)數(shù)據(jù)集足夠充分,進(jìn)行M-H采樣空間也較大,攻擊成功率就會(huì)更高.為了進(jìn)一步展示RVMHM相較于MHM提升量的統(tǒng)計(jì)顯著性,考慮無(wú)法確定RVMHM生成數(shù)據(jù)的分布,我們選擇非參數(shù)檢驗(yàn)方法Wilcoxontest進(jìn)行顯著性檢驗(yàn),并使用Cohen’sd方法計(jì)算他們之間的差異性效應(yīng)量.如表6所示,可以發(fā)現(xiàn)在非參數(shù)的統(tǒng)計(jì)檢驗(yàn)Wilcoxon-test當(dāng)中,除了在數(shù)據(jù)集LibPNG上計(jì)算F1-score對(duì)應(yīng)的p-value值較大(p-value>0.1),綜合考慮檢驗(yàn)對(duì)應(yīng)的效應(yīng)量,可以發(fā)現(xiàn)其他數(shù)據(jù)都滿足統(tǒng)計(jì)顯著性,可以說(shuō)明RVMHM在其他各項(xiàng)指標(biāo)上的表現(xiàn)是優(yōu)于MHM方法的.F1-scoreRecallVulAUPRCp-value而LibPNG上對(duì)應(yīng)F1-score檢驗(yàn)異常值(0.113),關(guān)注其對(duì)應(yīng)的Effect-size同時(shí)也非常小,說(shuō)明對(duì)應(yīng)檢驗(yàn)不具上沒(méi)有相較于MHM提升很大.楊焱景等:源碼處理場(chǎng)景下人工智能系統(tǒng)魯棒性驗(yàn)證方法如圖9可以發(fā)現(xiàn)相關(guān)指標(biāo)隨著最大迭代次數(shù)變化,在最大迭代次數(shù)到達(dá)240之后相關(guān)指標(biāo)變化不明顯,再擴(kuò)大攻擊迭代次數(shù)對(duì)攻擊效果的影響不大,但是會(huì)消耗更多的時(shí)間,算法執(zhí)行的效率明顯降低.因?yàn)槿镽VMHM對(duì)應(yīng)的擾動(dòng)對(duì)象,但是有些樣本由于自身的高維特征結(jié)構(gòu)在分類檢測(cè)空間中較為穩(wěn)定不會(huì)被文本級(jí)別的詞匯替換進(jìn)行擾動(dòng),擴(kuò)大攻擊迭代次數(shù)在一定范圍內(nèi)可以達(dá)到更好的性能,但是多余的攻擊次數(shù)并不能夠產(chǎn)生對(duì)應(yīng)成比例的擾動(dòng)性能.FF1-score/RecallVulAUPRCAUPRCF1-scoreRecallVulAUPRC如圖10可以發(fā)現(xiàn)在擴(kuò)大了攻擊范圍之后明顯參與攻擊的樣本更加多,但是成功攻擊的個(gè)數(shù)并不是隨著攻擊范圍的增加而正比增加的,在擴(kuò)大到0.15之后對(duì)于算法的影響效果逐漸降低.一定程度擴(kuò)大攻擊范圍能夠使得RVMHM從目標(biāo)數(shù)據(jù)集中選取更多的源碼樣本,擴(kuò)大了攻擊目標(biāo)的數(shù)量.但是擴(kuò)大篩選范圍后多余的攻擊樣本攻擊成功率低,造成不必要的性能消耗.通過(guò)實(shí)驗(yàn)表明候選變量個(gè)數(shù)在實(shí)驗(yàn)中對(duì)于攻擊指標(biāo)的影響不明顯,但是在實(shí)驗(yàn)過(guò)程中我們發(fā)現(xiàn)超參數(shù)候選變量個(gè)數(shù)會(huì)影響到攻擊算法單次攻擊過(guò)程執(zhí)行的效率.F1-F1-score/RecallVul0AUPRCAUPRCF1-scoreRecallVulAUPRC4034預(yù)測(cè)的研究工作落實(shí)到實(shí)際應(yīng)用提供重要的參考評(píng)價(jià)指標(biāo).RVMHM通過(guò)使用驗(yàn)證框架的擾動(dòng)下,其模型魯棒性或多或少都存在一定的影響.我們建議研究者們?cè)诤Y選模型的時(shí)候不僅需要觀察模型本身在數(shù)據(jù)集上的表現(xiàn),也需要將對(duì)抗擾動(dòng)下魯棒性指標(biāo)的浮動(dòng),納入模型的評(píng)價(jià)篩選生成的對(duì)抗樣本對(duì)模型進(jìn)行對(duì)抗性訓(xùn)練提升模型的魯棒性是很多工作正在進(jìn)行的重要研究方向,在RVMHM的對(duì)抗擾動(dòng)過(guò)程中,也會(huì)存儲(chǔ)生成的對(duì)抗樣本,一步的對(duì)抗訓(xùn)練以提高模型的魯棒性.在實(shí)驗(yàn)過(guò)程中,本文的MHM源碼對(duì)抗攻擊算法在以下幾個(gè)部分可以開(kāi)展后續(xù)的研究.(1)將多種先進(jìn)的攻擊算法納入RVMHM魯棒性驗(yàn)證框架體系當(dāng)中,通過(guò)多種算法的綜合擾動(dòng)結(jié)果給出對(duì)應(yīng)魯棒性指標(biāo)變化的綜合評(píng)判結(jié)果.(2)針對(duì)篩選對(duì)抗攻擊樣本對(duì)象的時(shí)候,目前采用的是簡(jiǎn)單的L2范式差距來(lái)進(jìn)行對(duì)象篩選,之后可以采用啟發(fā)式的算法進(jìn)行對(duì)抗樣本的篩選.(3)使用字詞距離或者影響大小作為標(biāo)準(zhǔn)篩選優(yōu)先參與對(duì)抗的樣本,去采樣擬合連續(xù)對(duì)抗問(wèn)題中對(duì)于梯度方(4)使用生成的對(duì)抗樣本對(duì)當(dāng)前參與測(cè)試的模型進(jìn)行對(duì)抗性訓(xùn)練,觀察模型的各項(xiàng)指標(biāo)的效果變化.(5)實(shí)驗(yàn)結(jié)果目前可以表明RVMHM在面對(duì)不同嵌入提取算法和深度檢測(cè)網(wǎng)絡(luò)的組合上存在性能的差異.之后的工作會(huì)嘗試控制實(shí)驗(yàn)變量研究擾動(dòng)算法在嵌入提取算法和深度檢測(cè)網(wǎng)絡(luò)上的細(xì)節(jié)預(yù)測(cè)場(chǎng)景下對(duì)于不同檢測(cè)方法組合的擾動(dòng)可解釋性.[1]JiSL,DuTY,LiJF,ShenC,Li2021,32(1):41–67(inChinesewithEnglishabstract)./1000-9825/6131.htm[doi:10.133[2]LinGJ,WenS,HanQL,ZhangJ,Xian[3]JohnsonB,SongY,Murphy-HillE,BowdidgeR.Whydon’tsoftware35thInt’lConf.onSoftwareEngineering(ICSE).SanFrancisco:IE[4]ChakrabortyS,KrishEngineering,2022,48(9):3280–3296.[doi:10.1109[5]KuwajimaH,YasuokaH,NakaeT.Eng[doi:10.1007/s1099[6]GirayG.Asoftwareengineeringperspectiveonengineeringmach44thIEEE/ACMInt’lConf.onSoftwareEngineering:SoftwareEngineeringinPractice(ICSE-SEIP楊焱景等:源碼處理場(chǎng)景下人工智能系統(tǒng)魯棒性驗(yàn)證方法[8]IshikawaF,YoshiokaN.Howdoengineersperceivedifficultiesinengineeringofmachine-learningsProc.ofthe7thIEEE/ACMJointInt’lWorkshoponConductingEmpiricalStuSoftwareEngineeringResearchandIndustrialPractice(SER&IP).Montreal:IEEE,2019.2–9.[doi:10.1[9]GuiT,WangX,ZhangQ,etal.TextFlint:Unifiedmultilingualrobustnessevaluat[10]LinGJ,ZhangJ,LuoW,PanL,VelOD,MontagueP,Xbases.IEEETrans.onDependableandSecureComputing,2021,18(5)[11]FengHT,FuXT,SunHY,WangH,Zhanofthe2020IEEEINFOCOM-IEEEConf.onComputerCommuni722–727.[doi:10.1109/INFOCOMWKSHP[12]LeeYJ,ChoiSH,KimKSIIInt’lConf.onInternet(ICONI)Ssourcecodeusingdeeprepresentationlearning.In:Proc.oftheOrlando:IEEE,2018.757–762.[doi:10.1[14]LiZ,ZouDQ,XuSHTrans.onDependableandSecureComputing,2022,1[15]YefetN,AlonU,YahavE.Adversarialexamplesformodel[16]PolyzotisN,RoyS,WhangSE,ZinkevichM.DatamanagementchInt’lConf.onManagementofData.Chicago:ACM,2017.1723–1726.[doi:learning:Acasestudy.In:Proc.ofthe41stIESEIP).Montreal:IEEE,2019.291–300.[doi:10.1109/IJournalofComputers,2022,45(1):190–206(inChinesewithEnglishabstract).[doi:10[19]CarliniN,WagnerD.Towardsevaluatingtherobustnessofneu(SP).SanJose:IEEE,2017.[20]ZhangHZ,LiZ,LiG,MaL,LiuY,JinZ.GeneratinProc.ofthe2020AAAIConf.onArtificialIntelligence,2020,34(1):1169–1176.[[21]LiuSG,LinGJ,HaIEEETrans.onFuzzySystems,2020,28[22]PothA,MeyerB,SchlichtP,RielA.Qualityassuranceofthe20thIEEEInt’lConf.onSoftwareQuality,ReliabilityandSecurity(QRS).Macao:IE
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度跑步活動(dòng)志愿者服務(wù)合同3篇
- 2024-2025學(xué)年貴州省畢節(jié)市大方縣東關(guān)鄉(xiāng)教育管理中心三年級(jí)數(shù)學(xué)第一學(xué)期期末綜合測(cè)試試題含解析
- 創(chuàng)新教育與文化融合學(xué)校國(guó)際交流實(shí)踐探索
- 2024年科技園區(qū)商鋪代理合作協(xié)議3篇
- 商業(yè)中心大門(mén)的智能化改造與升級(jí)方案
- 2025中國(guó)鐵物物資集團(tuán)限公司校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國(guó)遠(yuǎn)洋海運(yùn)集團(tuán)校園招聘995人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國(guó)移動(dòng)浙江公司校園招聘595人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國(guó)石油獨(dú)山子石化分公司校園招聘145人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國(guó)建材集團(tuán)總部招聘1人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 房屋維修方案三篇
- 湖北省武漢市青山區(qū)2023-2022學(xué)年度第二學(xué)期五年級(jí)英語(yǔ)期末測(cè)試試卷(劍橋版)(PDF版 含答案 含聽(tīng)力原文及音頻)
- 科室質(zhì)量與安全管理小組專題活動(dòng)記錄
- 2022年安徽省公務(wù)員錄用考試《行測(cè)》真題及答案
- 電子技術(shù)說(shuō)課課件
- 安徽恒光聚氨酯材料有限公司年產(chǎn)2.8萬(wàn)噸聚氨酯高新材料及原料項(xiàng)目環(huán)境影響報(bào)告書(shū)
- 5.4.6土釘墻檢驗(yàn)批質(zhì)量驗(yàn)收記錄
- 七年級(jí)體育與健康 《足球》單元作業(yè)設(shè)計(jì)
- 放射性粒子植入自我評(píng)估報(bào)告
- LY/T 2450-2015無(wú)花果栽培技術(shù)規(guī)程
- 浙大中控DCS系統(tǒng)介紹(簡(jiǎn)潔版)
評(píng)論
0/150
提交評(píng)論