徐曉君,常會(huì)麗
(1. 寧夏理工學(xué)院計(jì)算機(jī)科學(xué)與工程學(xué)院,寧夏 石嘴山 753000;2. 寧夏大學(xué)物理與電子電氣工程學(xué)院,寧夏 銀川 750021)
交互學(xué)習(xí)軟件系統(tǒng)是通過(guò)運(yùn)用多媒體計(jì)算機(jī)技術(shù)與網(wǎng)絡(luò)技術(shù),融合網(wǎng)上資源與多媒體課件等,實(shí)現(xiàn)各個(gè)學(xué)生之間及學(xué)生與教師之間的交流互動(dòng)的學(xué)習(xí)軟件系統(tǒng)[1]。它能夠?qū)⒔煌秶鷶U(kuò)大,利用相關(guān)學(xué)習(xí)工具規(guī)避以往普通學(xué)習(xí)方式在空間與時(shí)間上的束縛,有效推進(jìn)移動(dòng)學(xué)習(xí)的快速發(fā)展。當(dāng)前交互學(xué)習(xí)軟件系統(tǒng)中運(yùn)用較多的即為多通道交互,是指采用肢體、手勢(shì)及語(yǔ)音等實(shí)現(xiàn)同計(jì)算機(jī)系統(tǒng)的互動(dòng)交流,令交互學(xué)習(xí)軟件系統(tǒng)具備更自然高效的人機(jī)交互性能[2,3]。隨著計(jì)算機(jī)硬件系統(tǒng)的多處理器結(jié)構(gòu)逐步取代單處理器結(jié)構(gòu),多線程軟件逐步發(fā)展為系統(tǒng)中軟件技術(shù)的關(guān)鍵核心之一,能夠最大限度地對(duì)系統(tǒng)多核硬件的潛能加以運(yùn)用,將多線程軟件運(yùn)用于交互學(xué)習(xí)軟件系統(tǒng)內(nèi),可通過(guò)其信號(hào)量技術(shù)有效解決交互學(xué)習(xí)軟件系共享資源互相排斥的問(wèn)題[4]。但當(dāng)多線程交互學(xué)習(xí)軟件系統(tǒng)的信號(hào)量應(yīng)用不恰當(dāng)時(shí),易產(chǎn)生安全漏洞,導(dǎo)致整個(gè)系統(tǒng)程序的癱瘓。針對(duì)多線程交互學(xué)習(xí)軟件系統(tǒng)安全漏洞的檢測(cè)是降低整體軟件系統(tǒng)漏洞威脅、提升軟件系統(tǒng)安全性與質(zhì)量的關(guān)鍵,成為當(dāng)前各界學(xué)者的主要研究方向[5,6]。
基于支持向量機(jī)的漏洞檢測(cè)技術(shù)是通過(guò)將正則表達(dá)式與支持向量機(jī)相結(jié)合,創(chuàng)建遞歸特征消去算法,通過(guò)此算法由訓(xùn)練集代表特征中選取出最優(yōu)特征,依據(jù)最優(yōu)特征對(duì)攻擊性關(guān)鍵詞實(shí)施排序,根據(jù)特征關(guān)鍵詞的出現(xiàn)概率判斷漏洞風(fēng)險(xiǎn),實(shí)現(xiàn)漏洞檢測(cè),該技術(shù)檢測(cè)精度較高,但檢測(cè)中需多次排序?qū)е聶z測(cè)效率過(guò)低[7];基于符號(hào)執(zhí)行的網(wǎng)絡(luò)程序漏洞檢測(cè)技術(shù)是以選擇性符號(hào)執(zhí)行技術(shù)與軟件虛擬機(jī)動(dòng)態(tài)二進(jìn)制翻譯機(jī)制為基礎(chǔ),將符號(hào)化數(shù)據(jù)導(dǎo)入,運(yùn)用重點(diǎn)函數(shù)掛鉤法監(jiān)控程序執(zhí)行過(guò)程,將雙端狀態(tài)同步判定模型確準(zhǔn),建立網(wǎng)絡(luò)程序漏洞檢測(cè)技術(shù),達(dá)到漏洞檢測(cè)的目的,此技術(shù)檢測(cè)效率高,但檢測(cè)精度稍低[8]。
靜態(tài)檢測(cè)方法是在待檢測(cè)軟件程序處于非動(dòng)態(tài)執(zhí)行狀態(tài)下時(shí),通過(guò)對(duì)待檢測(cè)軟件程序的方法語(yǔ)句、結(jié)構(gòu)及接口等源程序信息展開(kāi)分析,實(shí)現(xiàn)對(duì)待檢測(cè)軟件程序的安全漏洞檢測(cè)[9]。其具體實(shí)現(xiàn)過(guò)程包括軟件源程序的分析與轉(zhuǎn)化、依賴分析以及漏洞分析等,最關(guān)鍵的特點(diǎn)為檢測(cè)效率高,能夠?qū)⒋龣z測(cè)軟件的缺陷漏洞迅速找出。
基于以上分析,本文研究多線程交互學(xué)習(xí)軟件系統(tǒng)安全漏洞自動(dòng)化檢測(cè)技術(shù),通過(guò)有效結(jié)合靜態(tài)檢測(cè)方法,設(shè)計(jì)安全漏洞自動(dòng)化檢測(cè)技術(shù),實(shí)現(xiàn)對(duì)多線程交互學(xué)習(xí)軟件系統(tǒng)安全漏洞的自動(dòng)化檢測(cè),為有效保障多線程交互學(xué)習(xí)軟件系統(tǒng)的可靠性與安全性提供幫助。
多線程交互學(xué)習(xí)軟件系統(tǒng)安全漏洞自動(dòng)化檢測(cè)技術(shù)的整體架構(gòu)中主要包含待測(cè)系統(tǒng)源代碼轉(zhuǎn)化、流分析、依賴圖生成及安全漏洞靜態(tài)檢測(cè)四大部分。整體技術(shù)架構(gòu)圖如圖1所示。
圖1 檢測(cè)技術(shù)整體架構(gòu)圖
其中源代碼轉(zhuǎn)化部分的主要任務(wù)為分析待測(cè)多線程交互學(xué)習(xí)軟件系統(tǒng)源代碼,同時(shí)遍歷生成抽象語(yǔ)法樹(shù)(AST),對(duì)待測(cè)系統(tǒng)程序的行號(hào)信息、類與接口間的實(shí)現(xiàn)信息、各類間的繼承信息以及控制流信息等實(shí)施收集并向數(shù)據(jù)結(jié)構(gòu)內(nèi)保存,完成待測(cè)系統(tǒng)源代碼的程序中間表示(IR)轉(zhuǎn)化,為之后的流分析及生成依賴圖做準(zhǔn)備;流分析部分的關(guān)鍵任務(wù)為對(duì)源代碼轉(zhuǎn)化IR中各語(yǔ)句之間的數(shù)據(jù)依賴與控制依賴關(guān)系展開(kāi)分析;依賴圖生成部分是以流分析部分所得到的IR內(nèi)各語(yǔ)句間的數(shù)據(jù)依賴與控制依賴關(guān)系為依據(jù),將數(shù)據(jù)流與控制流信息提取出,并依據(jù)用戶的輸入?yún)?shù)篩選此類信息,向依賴圖內(nèi)保存;安全漏洞靜態(tài)檢測(cè)部分屬于整體檢測(cè)技術(shù)的核心,其任務(wù)是依據(jù)依賴圖內(nèi)信息運(yùn)用靜態(tài)檢測(cè)算法分析出待測(cè)系統(tǒng)所存在的安全漏洞,生成安全漏洞報(bào)告,完成多線程交互學(xué)習(xí)軟件系統(tǒng)安全漏洞的自動(dòng)化檢測(cè)。
自動(dòng)化檢測(cè)技術(shù)的整體檢測(cè)流程設(shè)計(jì)情況如圖2所示。
圖2 整體檢測(cè)流程圖
整體檢測(cè)流程描述包括:
1)接收待檢測(cè)多線程交互學(xué)習(xí)軟件系統(tǒng)的源代碼編程語(yǔ)言與所處路徑,以層級(jí)信息的方式讀取所有路徑目錄下與編程語(yǔ)言有關(guān)的文件;
2)運(yùn)用開(kāi)源編譯器工具(ANTLR)生成詞法與語(yǔ)法分析器,對(duì)待測(cè)系統(tǒng)的源代碼實(shí)施詞法與語(yǔ)法分析;生成AST轉(zhuǎn)化器,轉(zhuǎn)化源代碼為語(yǔ)法樹(shù)AST,經(jīng)遍歷獲取到AST樹(shù),對(duì)有關(guān)信息實(shí)施收集后,構(gòu)成待測(cè)系統(tǒng)源代碼的IR;
3)對(duì)待測(cè)系統(tǒng)源代碼的IR實(shí)施數(shù)據(jù)依賴與控制依賴的流分析,獲取到語(yǔ)句間的數(shù)據(jù)依賴和控制依賴關(guān)系,構(gòu)成待測(cè)系統(tǒng)源代碼IR的依賴圖OCSDG;
4)通過(guò)靜態(tài)檢測(cè)方法運(yùn)用依賴圖內(nèi)所獲取到的依賴信息分析出IR的安全漏洞,得到安全漏洞分析報(bào)告,報(bào)告中結(jié)果由安全漏洞的位置、類別及詳細(xì)跟蹤信息等構(gòu)成,實(shí)現(xiàn)多線程交互學(xué)習(xí)軟件系統(tǒng)的安全漏洞自動(dòng)化檢測(cè)。
待測(cè)系統(tǒng)源代碼IR的依賴圖整體生成過(guò)程主要包括待測(cè)系統(tǒng)源代碼的IR轉(zhuǎn)化、IR流分析、生成依賴圖。
2.3.1 系統(tǒng)源代碼分析及轉(zhuǎn)化
運(yùn)用靜態(tài)檢測(cè)方法對(duì)待測(cè)系統(tǒng)源代碼的安全漏洞實(shí)施檢測(cè)時(shí),需通過(guò)逐行掃描源代碼的方式識(shí)別安全漏洞,然而因源代碼屬于二進(jìn)制代碼或字符串,導(dǎo)致此方法獲取源代碼依賴信息與語(yǔ)義的難度較高[10]。故應(yīng)在實(shí)施靜態(tài)檢查之前,等價(jià)轉(zhuǎn)化待測(cè)系統(tǒng)源代碼為IR,之后再對(duì)IR實(shí)施相應(yīng)的流分析,運(yùn)用IR及語(yǔ)句之間的依賴信息生成依賴圖用于靜態(tài)檢測(cè)中。源代碼分析與轉(zhuǎn)化過(guò)程如圖3所示。
圖3 源代碼分析與轉(zhuǎn)化過(guò)程圖
選用開(kāi)源編譯器工具ANTLR分析與轉(zhuǎn)化待測(cè)系統(tǒng)源代碼,具體過(guò)程為:①通過(guò)ANTLR的GUI工具對(duì)待測(cè)系統(tǒng)源程序相應(yīng)的文法文件實(shí)施編寫(xiě);②運(yùn)用ANTLR生成詞法與語(yǔ)法分析器、AST遍歷器;③經(jīng)過(guò)對(duì)源代碼的詞法與語(yǔ)法分析之后,將源代碼轉(zhuǎn)化成語(yǔ)法樹(shù)AST;④經(jīng)由AST遍歷器遍歷并收集相關(guān)信息后,轉(zhuǎn)化源代碼為IR。
2.3.2 IR流分析
通過(guò)等價(jià)轉(zhuǎn)化待測(cè)系統(tǒng)源代碼為IR后,在控制流程圖內(nèi)保存了源代碼內(nèi)各語(yǔ)句之間的關(guān)系。為了將充足的信息提供給之后的安全漏洞檢測(cè),實(shí)現(xiàn)對(duì)待測(cè)系統(tǒng)源代碼所轉(zhuǎn)化的IR實(shí)施控制依賴與數(shù)據(jù)依賴的流分析,并向圖結(jié)構(gòu)內(nèi)儲(chǔ)存最終所獲取到的分析結(jié)果。
2)數(shù)據(jù)依賴分析:對(duì)于?n∈N,其中N與n分別為CFG的全部節(jié)點(diǎn)集合與某個(gè)節(jié)點(diǎn),即某個(gè)方法中的某條語(yǔ)句為n;某條語(yǔ)句n內(nèi)定義的變量與所引用的變量集分別以Def(n)和Use(n)表示。
2.3.3 生成算法過(guò)程
面向?qū)ο蟛⑿械南到y(tǒng)依賴圖(OCSDG),即當(dāng)某個(gè)五元組OCSDG=(V,E,Ts,Te,s)時(shí),且其中s∈V表示主線程入口的節(jié)點(diǎn);Ts?V和Te?V分別為線程進(jìn)入與退出節(jié)點(diǎn)的集合;E:V×E→V與V分別代表某個(gè)表示邊的集合與某個(gè)非空語(yǔ)句的節(jié)點(diǎn)集合,如此可稱之為OCSDG。OCSDG模型描述為:OCSDG的基本單位為語(yǔ)句,主要有擴(kuò)展型語(yǔ)句、行為型語(yǔ)句及結(jié)構(gòu)型語(yǔ)句三類,屬于圖內(nèi)節(jié)點(diǎn)的內(nèi)容;OCSDG內(nèi)語(yǔ)句的上級(jí)子圖為方法依賴子圖,代表的是待測(cè)系統(tǒng)程序內(nèi)的單個(gè)方法;方法依賴子圖的上級(jí)即為類依賴子圖,其僅具備一個(gè)類入口節(jié)點(diǎn)[11];與類依賴子圖同一等級(jí)的接口依賴子圖,其所代表的是待測(cè)系統(tǒng)程序內(nèi)的單個(gè)接口;最后一個(gè)子圖為多線程依賴子圖,此子圖為面向多線程的系統(tǒng)依賴圖特定的結(jié)構(gòu)。
OCSDG生成算法過(guò)程見(jiàn)圖4。
圖4 OCSDG生成算法過(guò)程圖
OCSDG生成算法過(guò)程描述為:
1)對(duì)全部的類實(shí)施遍歷,收集其中各類與其相關(guān)成員間的類成員依賴信息;
2)對(duì)各類內(nèi)的全部方法實(shí)施遍歷,將方法與類接口間的抽象實(shí)現(xiàn)邊及方法收集到;
3)對(duì)方法內(nèi)的全部語(yǔ)句實(shí)施遍歷,依次獲得此節(jié)點(diǎn)的數(shù)據(jù)依賴及控制依賴信息;
4)對(duì)語(yǔ)句內(nèi)的所有表達(dá)式實(shí)施遍歷與相應(yīng)處理,若所遍歷的表達(dá)式為方法調(diào)用表達(dá)式,處理時(shí)可依據(jù)對(duì)象流分析所得結(jié)果對(duì)有可能被調(diào)用到的方法實(shí)施收集,將方法調(diào)用依賴邊添加到此表達(dá)式內(nèi);若所遍歷的表達(dá)式為類字段訪問(wèn)表達(dá)式,可將對(duì)應(yīng)信息添加到此表達(dá)式內(nèi)。
安全漏洞靜態(tài)檢測(cè)方法是基于OCSDG所提供的信息,對(duì)待測(cè)系統(tǒng)實(shí)施安全漏洞檢測(cè)。待測(cè)系統(tǒng)的安全漏洞主要包括多線程結(jié)構(gòu)化漏洞、違反執(zhí)行順序漏洞及違反原子性漏洞三大類。其中多線程結(jié)構(gòu)化漏洞指的是與多線程同步語(yǔ)句存在關(guān)聯(lián)的錯(cuò)誤;違反執(zhí)行順序漏洞指的是只有在某種特定次序下兩條語(yǔ)句的執(zhí)行順序方可保證待測(cè)系統(tǒng)程序無(wú)誤,但不存在同步語(yǔ)句保證此種特定次序[12];違反原子性漏洞指的是在并行執(zhí)行狀態(tài)下意圖成為原子性的代碼段原子性遭到破壞。安全漏洞靜態(tài)檢測(cè)算法過(guò)程為:
輸入:OCSDG
輸出:安全漏洞報(bào)告
1)entrypoint=待檢測(cè)系統(tǒng)入口點(diǎn)主要方法;
2)context 對(duì)靜態(tài)方法調(diào)用信息進(jìn)行設(shè)置;
3)for(對(duì)全部語(yǔ)句實(shí)施遍歷){
4) if(指派語(yǔ)句){
5) for(對(duì)干涉依賴信息Use實(shí)施遍歷)
6) if(如果Use與Def存在在相同時(shí)間段執(zhí)行的可能性)獲取到違反執(zhí)行順序漏洞報(bào)告
7) }
8) if(表達(dá)式語(yǔ)句){
9) for(對(duì)干涉依賴信息Use實(shí)施遍歷)
10) if(如果Use與Def存在在相同時(shí)間段執(zhí)行的可能性)獲取到違反原子性漏洞報(bào)告
11) }
12) if(對(duì)象方法調(diào)用語(yǔ)句){
13) context 對(duì)對(duì)象方法調(diào)用信息實(shí)施設(shè)定;
14)遞歸調(diào)用(3)~(21)步,分析此對(duì)象方法();
15) context 內(nèi)對(duì)此對(duì)象方法返回信息實(shí)施設(shè)定;
16) }
17) if(靜態(tài)方法調(diào)用語(yǔ)句){
18) context 對(duì)此靜態(tài)方法調(diào)用信息實(shí)施設(shè)定;
19)遞歸調(diào)用(3)~(21)步,分析此靜態(tài)方法();
20) context 對(duì)此靜態(tài)方法返回信息實(shí)施設(shè)定;
21)}
22)context 對(duì)此靜態(tài)方法返回信息實(shí)施設(shè)定;
23)for(對(duì)全部線程實(shí)施遍歷){
24) initThread();
25) entrypoint=得到線程對(duì)象的初始方法;
26) context 內(nèi)對(duì)此方法調(diào)用信息實(shí)施設(shè)定;
27)遞歸調(diào)用(3)~(21)步,分析此方法();
28) context 內(nèi)對(duì)此方法返回信息實(shí)施設(shè)定;
29)}
以某高?,F(xiàn)實(shí)應(yīng)用中的多線程交互學(xué)習(xí)軟件系統(tǒng)為例,由此系統(tǒng)內(nèi)隨機(jī)抽取出兩組歷史數(shù)據(jù)集(A與B)作為實(shí)驗(yàn)對(duì)象,分別運(yùn)用本文技術(shù)、基于支持向量機(jī)的漏洞檢測(cè)技術(shù)(文獻(xiàn)[7]技術(shù))、基于符號(hào)執(zhí)行的漏洞檢測(cè)技術(shù)(文獻(xiàn)[8]技術(shù))對(duì)實(shí)驗(yàn)系統(tǒng)A、B數(shù)據(jù)集實(shí)施安全漏洞自動(dòng)化檢測(cè),通過(guò)對(duì)比各技術(shù)的檢測(cè)結(jié)果,檢驗(yàn)本文技術(shù)的綜合檢測(cè)性能。
基于支持向量機(jī)的漏洞檢測(cè)技術(shù)是通過(guò)結(jié)合正則表達(dá)式與支持向量機(jī)構(gòu)成遞歸特征消去算法,由訓(xùn)練集內(nèi)代表特征中將最優(yōu)特征選取出,排序攻擊性關(guān)鍵詞,實(shí)現(xiàn)漏洞檢測(cè);基于符號(hào)執(zhí)行的漏洞檢測(cè)技術(shù)是在軟件虛擬機(jī)動(dòng)態(tài)二進(jìn)制翻譯機(jī)制與選擇性符號(hào)執(zhí)行技術(shù)的基礎(chǔ)上,引入符號(hào)化數(shù)據(jù),采用重點(diǎn)函數(shù)掛鉤法對(duì)程序執(zhí)行過(guò)程實(shí)施監(jiān)控,將雙端狀態(tài)同步判定模型確準(zhǔn),形成自動(dòng)化網(wǎng)絡(luò)程序漏洞檢測(cè)技術(shù),實(shí)現(xiàn)漏洞檢測(cè)。
實(shí)驗(yàn)系統(tǒng)A、B歷史數(shù)據(jù)集內(nèi)所包含的真實(shí)安全漏洞總數(shù)量分別為320個(gè)和298個(gè),其中A數(shù)據(jù)集內(nèi)多線程結(jié)構(gòu)化漏洞、違反執(zhí)行順序漏洞、違反原子性漏洞及其它漏洞的數(shù)量依次為73個(gè)、96個(gè)、68個(gè)、83個(gè);B數(shù)據(jù)集內(nèi)多線程結(jié)構(gòu)化漏洞、違反執(zhí)行順序漏洞、違反原子性漏洞及其它漏洞的數(shù)量依次為66個(gè)、73個(gè)、75個(gè)、84個(gè)。統(tǒng)計(jì)通過(guò)三種技術(shù)所檢測(cè)出的A、B兩組數(shù)據(jù)集內(nèi)各類漏洞數(shù)量與總漏洞數(shù)量,與A、B兩組數(shù)據(jù)集的漏洞真實(shí)值對(duì)比,分析三種技術(shù)的檢測(cè)效果。統(tǒng)計(jì)對(duì)比結(jié)果詳見(jiàn)表1。
表1 各技術(shù)檢測(cè)結(jié)果與真實(shí)值對(duì)比情況
通過(guò)表1能夠看出,三種技術(shù)中本文技術(shù)所檢測(cè)出的A、B兩組數(shù)據(jù)集內(nèi)總漏洞數(shù)量同真實(shí)值更為接近,兩組總漏洞數(shù)量的檢測(cè)誤差分別為3.44%與3.02%;文獻(xiàn)[7]技術(shù)與文獻(xiàn)[8]技術(shù)的兩組總漏洞數(shù)量的檢測(cè)誤差分別為4.69%、5.03%與6.88%、6.71%。由此可見(jiàn),本文技術(shù)的漏洞數(shù)量檢測(cè)誤差更低,檢測(cè)效果更優(yōu)越。
為進(jìn)一步測(cè)試三種技術(shù)的檢測(cè)效果,現(xiàn)以召回率與誤檢率作為測(cè)試指標(biāo),依據(jù)三種技術(shù)檢測(cè)A、B兩組數(shù)據(jù)集的結(jié)果運(yùn)算獲得各技術(shù)所對(duì)應(yīng)的兩種指標(biāo)值,取A、B兩組數(shù)據(jù)集檢測(cè)結(jié)果指標(biāo)值的平均值作為三種技術(shù)的對(duì)比數(shù)據(jù),結(jié)果如圖5所示。
圖5 各技術(shù)檢測(cè)結(jié)果的召回率與誤檢率對(duì)比結(jié)果
分析圖5可得知,本文技術(shù)的各類別漏洞平均召回率為93.75%,文獻(xiàn)[7]技術(shù)的各類別漏洞平均召回率為90.03%,文獻(xiàn)[8]技術(shù)的各類別漏洞平均召回率為83.26%;本文技術(shù)、文獻(xiàn)[7]技術(shù)及文獻(xiàn)[8]技術(shù)的各類漏洞平均誤檢率依次為1.35%、3.51%、4.19%,由此可見(jiàn),本文技術(shù)的平均召回率最高,平均誤檢率最低,相比之下具有更高的檢測(cè)精度。
對(duì)三種技術(shù)檢測(cè)安全漏洞的用時(shí)情況實(shí)施統(tǒng)計(jì),依據(jù)統(tǒng)計(jì)結(jié)果測(cè)試三種技術(shù)的檢測(cè)效率,統(tǒng)計(jì)結(jié)果如圖6所示。
圖6 三種技術(shù)檢測(cè)用時(shí)統(tǒng)計(jì)情況
由圖6能夠得出,本文技術(shù)檢測(cè)A、B兩組數(shù)據(jù)集安全漏洞的用時(shí)遠(yuǎn)低于其它兩種技術(shù),可高效率完成實(shí)驗(yàn)系統(tǒng)數(shù)據(jù)集安全漏洞的檢測(cè),節(jié)省檢測(cè)耗時(shí),提升自動(dòng)化檢測(cè)的實(shí)時(shí)性。
多線程交互學(xué)習(xí)軟件系統(tǒng)的安全問(wèn)題成為教育領(lǐng)域應(yīng)用此軟件系統(tǒng)實(shí)施教學(xué)所需考慮的關(guān)鍵問(wèn)題,造成軟件系統(tǒng)安全問(wèn)題的原因較多,其中最為主要的即為軟件系統(tǒng)本身的錯(cuò)誤與缺陷等,因此類錯(cuò)誤與缺陷導(dǎo)致軟件系統(tǒng)易遭受網(wǎng)絡(luò)攻擊,為用戶帶來(lái)不同程度的損失。本文針對(duì)多線程交互學(xué)習(xí)軟件系統(tǒng)安全漏洞自動(dòng)化檢測(cè)技術(shù)展開(kāi)研究,通過(guò)IR轉(zhuǎn)化待測(cè)系統(tǒng)源代碼并對(duì)轉(zhuǎn)化后IR實(shí)施流分析,獲取到IR內(nèi)語(yǔ)句間的依賴關(guān)系信息,在此基礎(chǔ)上生成依賴圖,輸入到安全漏洞靜態(tài)檢測(cè)算法內(nèi),經(jīng)分析獲取到安全漏洞檢測(cè)報(bào)告,完成多線程交互學(xué)習(xí)軟件系統(tǒng)安全漏洞的自動(dòng)化檢測(cè);應(yīng)用結(jié)果表明,本文技術(shù)檢測(cè)結(jié)果的綜合精度高,具有較高的檢測(cè)效率,可快速完成安全漏洞的自動(dòng)化檢測(cè),為有效保障多線程交互學(xué)習(xí)軟件系統(tǒng)的安全運(yùn)行提供幫助。