控制流
- 基于OpenMP的并行Fortran程序數(shù)據(jù)競(jìng)爭(zhēng)靜態(tài)檢測(cè)方法
影響,具有動(dòng)態(tài)控制流和不規(guī)則訪問(wèn)的程序不在LLOV分析范圍內(nèi).現(xiàn)有的缺陷檢測(cè)工具對(duì)OpenMP并行程序的語(yǔ)言和語(yǔ)法特性進(jìn)行分析的不多,一些研究人員是通過(guò)多面體模型來(lái)檢測(cè)指定的OMP并行構(gòu)造進(jìn)行靜態(tài)檢測(cè)分析,與他們工作不同的是,本文是針對(duì)OpenMP并行程序的指令特性來(lái)對(duì)數(shù)據(jù)競(jìng)爭(zhēng)故障進(jìn)行分析,從而建立數(shù)據(jù)競(jìng)爭(zhēng)模型.因此本文方法對(duì)OpenMP制導(dǎo)指令的支持更健全和更準(zhǔn)確.1.2.2 本文工作本文的工作應(yīng)用數(shù)據(jù)流分析以及模型檢測(cè)理論,將數(shù)據(jù)競(jìng)爭(zhēng)抽象為一種故障模型
小型微型計(jì)算機(jī)系統(tǒng) 2023年11期2023-11-10
- 面向DCU非一致控制流的編譯優(yōu)化
向DCU非一致控制流的編譯優(yōu)化楊小藝1,2,趙榮彩1,2,王洪生2*,韓林1,2,徐坤坤1,2(1.鄭州大學(xué) 計(jì)算機(jī)與人工智能學(xué)院,鄭州 450001; 2.國(guó)家超級(jí)計(jì)算鄭州中心,鄭州 450001)( ? 通信作者電子郵箱whs1814@foxmail.com)國(guó)產(chǎn)DCU采用單指令多線程(SIMT)的并行執(zhí)行模型,在程序執(zhí)行時(shí)核函數(shù)內(nèi)會(huì)產(chǎn)生非一致控制流,導(dǎo)致線程束中的線程部分只能串行執(zhí)行,即線程束分化。針對(duì)核函數(shù)的性能因線程束分化受到嚴(yán)重制約的問(wèn)題,提出
計(jì)算機(jī)應(yīng)用 2023年10期2023-10-21
- 面向基本路徑學(xué)習(xí)的代碼自動(dòng)命名
代碼的數(shù)據(jù)流和控制流相關(guān)的特征,作為方法名模板對(duì)應(yīng)的規(guī)則,根據(jù)啟發(fā)式規(guī)則去檢測(cè)具有與規(guī)則類似特征的方法代碼名稱是否準(zhǔn)確.應(yīng)用文本分析技術(shù)的方法的基本思想是將方法代碼當(dāng)作自然語(yǔ)言文本進(jìn)行處理.文獻(xiàn)[3]將源代碼中關(guān)鍵字標(biāo)識(shí)符剔除,使用文本主題提取算法得到文本主題特征,將提取的文本摘要作為方法名.最近,研究者將機(jī)器學(xué)習(xí)的技術(shù)引入到方法代碼的抽象命名中[4,7],這種方法的關(guān)鍵技術(shù)是將方法代碼抽象成新的代碼表示作為代碼特征,應(yīng)用機(jī)器學(xué)習(xí)技術(shù)自動(dòng)學(xué)習(xí)代碼特征,根據(jù)
小型微型計(jì)算機(jī)系統(tǒng) 2022年11期2022-11-18
- 致密油藏壓裂水平井產(chǎn)量預(yù)測(cè)
,提出了以邊界控制流時(shí)間為節(jié)點(diǎn)的新型組合模式,同時(shí)根據(jù)節(jié)點(diǎn)處的產(chǎn)量相等和遞減率相等,推導(dǎo)出了新型分段產(chǎn)量預(yù)測(cè)模型,并給出了邊界控制流時(shí)間及該模型的求解方法,可預(yù)測(cè)不同生產(chǎn)階段的單井全生命周期產(chǎn)量。1 產(chǎn)量預(yù)測(cè)模型的推導(dǎo)根據(jù)Arps 產(chǎn)量遞減模型[12],當(dāng)遞減指數(shù)為0 時(shí),可特殊化為指數(shù)遞減,其特點(diǎn)是單位時(shí)間內(nèi)產(chǎn)量下降與產(chǎn)量成比例,即遞減率為定值,為現(xiàn)場(chǎng)常用模型,其產(chǎn)量和時(shí)間的關(guān)系為指數(shù)遞減的遞減率:而借鑒的SEPD 模型,則是一個(gè)基于經(jīng)驗(yàn)的公式[13],
新疆石油地質(zhì) 2022年5期2022-09-20
- 基于IDA microcode的控制流反混淆框架設(shè)計(jì)與實(shí)現(xiàn)
指令替換、虛假控制流和控制流平坦化。隨后有多位開(kāi)發(fā)者在O-LLVM官方版本基礎(chǔ)上進(jìn)行修改并開(kāi)源,增加了更多的混淆方案,例如:字符串加密[2]、寄存器間接跳轉(zhuǎn)[3]、函數(shù)間接調(diào)用[3]、指令虛擬化[4]等。O-LLVM可以有效保護(hù)軟件知識(shí)產(chǎn)權(quán),同時(shí)也被廣泛應(yīng)用在病毒、木馬等惡意軟件。因此,實(shí)現(xiàn) O-LLVM反混淆對(duì)于維護(hù)健康的軟件安全生態(tài)環(huán)境具有重要的現(xiàn)實(shí)意義。2015年,Yadegari等[5]提出了一種基于模擬執(zhí)行的反混淆方法。但是,此類方案主要存在以下
桂林電子科技大學(xué)學(xué)報(bào) 2022年2期2022-07-08
- 基于級(jí)聯(lián)森林的控制流錯(cuò)誤檢測(cè)優(yōu)化算法
將這種錯(cuò)誤稱為控制流錯(cuò)誤.研究表明,瞬時(shí)故障引起的錯(cuò)誤中有約33%~77%的錯(cuò)誤是控制流錯(cuò)誤[3,4].控制流錯(cuò)誤主要是由于瞬時(shí)故障發(fā)生在程序計(jì)數(shù)器(PC),地址存儲(chǔ)單元或者條件判斷語(yǔ)句中的變量存儲(chǔ)單元.控制流錯(cuò)誤會(huì)造成計(jì)算機(jī)程序不按照正確的指令順序執(zhí)行,可能會(huì)干擾程序的運(yùn)行結(jié)果、造成程序陷入死循環(huán)甚至崩潰[5].針對(duì)瞬時(shí)故障,現(xiàn)有的故障檢測(cè)方法可以分為硬件方法和軟件方法.硬件方法主要依靠硬件模塊的冗余或者設(shè)置錯(cuò)誤檢測(cè)電路來(lái)實(shí)現(xiàn),需要針對(duì)不同的硬件體系專門
小型微型計(jì)算機(jī)系統(tǒng) 2022年5期2022-05-10
- 采用隱式跳轉(zhuǎn)的控制流混淆技術(shù)
易地構(gòu)建軟件的控制流信息,未經(jīng)保護(hù)的控制流信息暴露了包括源程序靜態(tài)結(jié)構(gòu)、代碼邏輯在內(nèi)的大量信息,因此對(duì)于許多逆向工具而言,控制流圖都是必須構(gòu)造的數(shù)據(jù)結(jié)構(gòu)。本文研究的主要目的是抵御靜態(tài)代碼分析。抵抗靜態(tài)代碼分析特別是控制流分析的主要技術(shù)是代碼混淆,這個(gè)概念最早由Collerg等[3]提出并加以分類及實(shí)現(xiàn)。代碼混淆技術(shù)是將一些結(jié)構(gòu)良好、易于理解的代碼轉(zhuǎn)換為難以閱讀分析的代碼,但是還能完整地保留其所實(shí)現(xiàn)的功能,著名的國(guó)際C語(yǔ)言混亂代碼大賽[4]就是典型的例子。一
計(jì)算機(jī)工程與應(yīng)用 2021年20期2021-10-28
- 一種基于控制流解耦的可重構(gòu)陣列動(dòng)態(tài)調(diào)度方法
時(shí)映射時(shí),會(huì)因控制流的非一致性導(dǎo)致處于不同控制體的數(shù)據(jù)流無(wú)法同時(shí)并行執(zhí)行,進(jìn)而引起陣列計(jì)算單元利用率下降的問(wèn)題。常見(jiàn)的非一致性控制流有非完美循環(huán)、分支以及循環(huán)依賴等。針對(duì)非完美循環(huán),可以通過(guò)循環(huán)交換和循環(huán)展開(kāi),對(duì)內(nèi)層循環(huán)體和外層循環(huán)體進(jìn)行重新組織,但并沒(méi)有解決執(zhí)行外層循環(huán)PE 利用率低的問(wèn)題[1-4];針對(duì)分支,通過(guò)將不同分支上的指令合并映射到同一PE 上以提高PE 利用率,但這種方法不適用于路徑長(zhǎng)度差異較大的非平衡分支[5-6];針對(duì)循環(huán)依賴,通過(guò)利用線
上海航天 2021年4期2021-09-11
- Android應(yīng)用Smali代碼混淆研究
通過(guò)插入多余的控制流和壓扁控制流對(duì)控制流進(jìn)行混淆以對(duì)安卓應(yīng)用進(jìn)行防御。并從功能、性能兩個(gè)方面做出了評(píng)價(jià)。劉方圓等人[14]同樣在smali層面對(duì)安卓應(yīng)用加固進(jìn)行研究,其主要是對(duì)寄存器的值加以混淆以及通過(guò)不透明謂詞對(duì)控制流進(jìn)行混淆,并且在強(qiáng)度、彈性、開(kāi)銷進(jìn)行的技術(shù)評(píng)價(jià)。吳林[15]提出了基于Dalvik字節(jié)碼指令的混淆技術(shù),從數(shù)據(jù)流和控制流兩個(gè)層面對(duì)apk進(jìn)行混淆。綜合現(xiàn)有的工作,大部分的工作都是針對(duì)于Android應(yīng)用程序中源碼級(jí)別Java代碼的混淆,對(duì)于
計(jì)算機(jī)技術(shù)與發(fā)展 2021年7期2021-08-02
- 基于代數(shù)的軟件路徑的自動(dòng)生成
分為代碼分析、控制流圖生成、路徑生成和測(cè)試用例四個(gè)部分[3]。因此,路徑測(cè)試的準(zhǔn)確性與路徑生成密切相關(guān)。然而,隨著軟件規(guī)模的不斷增加,軟件系統(tǒng)中的循環(huán)結(jié)構(gòu)出現(xiàn)次數(shù)也隨之增多,路徑成爆炸式增長(zhǎng),目前已有的軟件路徑生成方法代價(jià)大且困難。文獻(xiàn)[4-7]中對(duì)于軟件路徑的自動(dòng)生成問(wèn)題均提出了相關(guān)算法,但這些算法只生成了軟件的基本路徑集,并沒(méi)有生成軟件的完整路徑。文獻(xiàn)[8]提出了一種基于狀態(tài)圖自動(dòng)生成軟件路徑的方法,并實(shí)現(xiàn)了對(duì)路徑的優(yōu)化,但該方法未對(duì)程序中循環(huán)結(jié)構(gòu)的出
- 抵御控制流分析的Python 程序混淆算法
00)0 引言控制流分析是一種特殊的分析技術(shù),通常用于對(duì)程序的控制流結(jié)構(gòu)進(jìn)行靜態(tài)結(jié)構(gòu)分析。隨著軟件功能的增加,算法結(jié)構(gòu)也變得越來(lái)越復(fù)雜,程序員們開(kāi)始在程序語(yǔ)言中使用越來(lái)越多的分支語(yǔ)句[1]。為了能夠提高程序執(zhí)行的效率,通過(guò)控制流分析將這些程序編譯為相對(duì)較為簡(jiǎn)單的語(yǔ)言,以便程序員們能夠更好地利用和處理這些程序語(yǔ)言。但是這種能夠?qū)⑺谐绦蛘Z(yǔ)言變得簡(jiǎn)單易懂的分析方法使得軟件失去了程序語(yǔ)言對(duì)自身算法結(jié)構(gòu)的保護(hù)能力,很多黑客利用控制流分析能夠輕易地對(duì)軟件程序的安全構(gòu)
數(shù)字技術(shù)與應(yīng)用 2021年5期2021-06-29
- 基于動(dòng)態(tài)分析的控制流劫持攻擊檢測(cè)
式多種多樣,而控制流劫持攻擊是最常見(jiàn)的一種. 控制流劫持攻擊允許攻擊者破壞程序的控制數(shù)據(jù),通常將執(zhí)行流重定向到攻擊者自己的注入代碼. 通過(guò)執(zhí)行惡意代碼能夠完全控制程序和系統(tǒng),造成極大的危害. 目前的操作系統(tǒng)中部署了地址空間布局隨機(jī)化(Address Space Layout Randomization,ASLR)、數(shù)據(jù)執(zhí)行保護(hù)(Data Execution Protection,DEP)、結(jié)構(gòu)化異常處理安全校驗(yàn)(Safe Structured Except
- 面向進(jìn)程控制流劫持攻擊的擬態(tài)防御方法
)1 引言進(jìn)程控制流劫持是一種常見(jiàn)的攻擊手段,其通常利用緩沖區(qū)溢出[1]等二進(jìn)制漏洞篡改進(jìn)程的控制流,從而進(jìn)行程序正常功能之外的惡意操作[2]。控制流劫持攻擊的危害非常大,控制流劫持的目的往往是獲取目標(biāo)機(jī)器的控制權(quán),然后提取系統(tǒng)特權(quán)對(duì)目標(biāo)機(jī)器實(shí)現(xiàn)全面控制。根據(jù) CWE Top25[3]的排名,內(nèi)存緩沖區(qū)溢出仍然是最危險(xiǎn)的軟件錯(cuò)誤。控制流劫持攻擊可以分為代碼注入和代碼重用兩大類[2]。代碼注入類攻擊利用程序本身的輸入功能向進(jìn)程的虛擬地址空間注入惡意代碼,然后
通信學(xué)報(bào) 2021年1期2021-02-28
- 基于控制流的軟件樹(shù)生成及其應(yīng)用
,研究采用基于控制流分析結(jié)果的軟件故障樹(shù)自動(dòng)化分析技術(shù),實(shí)現(xiàn)SFTA基于客觀分析結(jié)果(控制流分析結(jié)果),并可達(dá)到分析過(guò)程短周期及計(jì)算機(jī)自動(dòng)化的目的。1 軟件故障樹(shù)分析的基本理論故障樹(shù)分析(FTA)是產(chǎn)品(系統(tǒng))可靠性和安全性分析的工具之一,用來(lái)尋找導(dǎo)致不希望的系統(tǒng)故障或?yàn)?zāi)難性危險(xiǎn)事件(頂事件)發(fā)生的所在原因和原因組合,在具有基礎(chǔ)數(shù)據(jù)時(shí)求出頂事件發(fā)生的概率及其他定量指標(biāo)。FTA也是分析已經(jīng)發(fā)生的事故的一種基本方法,在裝備研發(fā)、維護(hù)等領(lǐng)域有廣泛的應(yīng)用。故障樹(shù)分
微型電腦應(yīng)用 2021年1期2021-01-28
- 基于程序雙維度特征的惡意程序相似性分析
塊序列構(gòu)造軟件控制流圖,從軟件代碼語(yǔ)義特征和結(jié)構(gòu)特征兩個(gè)維度對(duì)軟件進(jìn)行相似性分析。動(dòng)態(tài)提取軟件特征能夠有效避免加殼、混淆等軟件變形技術(shù)的影響,提取匯編層面的信息使檢測(cè)不受軟件開(kāi)發(fā)語(yǔ)言的限制,從兩個(gè)維度進(jìn)行檢測(cè),既考慮到軟件的語(yǔ)義特征又考慮到軟件的結(jié)構(gòu)特征,能夠?qū)浖M(jìn)行較為全面的分析。1 相關(guān)工作隨著軟件技術(shù)的發(fā)展,軟件復(fù)用技術(shù)給軟件開(kāi)發(fā)帶來(lái)極大便利,同時(shí)也帶來(lái)了盜版軟件泛濫,惡意軟件開(kāi)發(fā)門檻降低,惡意軟件泛濫的問(wèn)題。最初,軟件相似性或同源性的檢測(cè)分析技術(shù)
計(jì)算機(jī)工程與應(yīng)用 2021年1期2021-01-11
- 工控系統(tǒng)中PLC安全漏洞及控制流完整性研究
安全漏洞和利用控制流完整性對(duì)PLC進(jìn)行保護(hù)的研究具有重要意義。1 PLC存在的安全漏洞根據(jù)PLC設(shè)備的特點(diǎn)以及程序的執(zhí)行流程和控制邏輯,PLC存在的安全漏洞被分為3種類型:固件修改漏洞、配置操作漏洞和控制流劫持漏洞[1]。1.1 PLC的固件修改漏洞PLC擁有以太網(wǎng)模塊,且制造商也提供了升級(jí)或替換以太網(wǎng)卡的服務(wù),但在大多數(shù)情況下,固件上傳到現(xiàn)場(chǎng)設(shè)備的以太網(wǎng)卡時(shí)沒(méi)有有效的安全保護(hù)機(jī)制,攻擊者利用PLC的以太網(wǎng)模塊上載惡意固件,實(shí)現(xiàn)對(duì)PLC的攻擊[2]。PLC
電子科技 2021年2期2021-01-08
- 基于返回地址簽名的控制流攻擊檢測(cè)方法
擊通道。近年來(lái)控制流攻擊事件不斷發(fā)生,如 2017 年 5 月,WannaCry 勒索病毒利用 TCP445端口漏洞將系統(tǒng)控制流篡改到惡意代碼處,進(jìn)而實(shí)施了控制流攻擊,造成至少150 個(gè)國(guó)家和地區(qū)受到攻擊,嚴(yán)重影響金融、能源、醫(yī)療等行業(yè)的正常運(yùn)行。相比于木馬攻擊、旁道攻擊、反向工程等硬件載體攻擊,控制流攻擊具有有效性高、可行性強(qiáng)以及與其他攻擊模式兼容等特性,因此防御控制流攻擊,保障嵌入式系統(tǒng)的安全性已經(jīng)成為當(dāng)前各領(lǐng)域的迫切需求。由于控制流攻擊的危害性巨大,
- 抵御控制流分析的程序混淆算法
點(diǎn),因此程序的控制流是可歸約的,可以通過(guò)控制流分析將程序反編譯成高級(jí)語(yǔ)言。近年來(lái),程序控制流分析成為軟件分析的研究熱點(diǎn),許多學(xué)者提出了基于符號(hào)執(zhí)行、程序切片和形式化推理等的程序控制流分析技術(shù)[2],大大提升了程序控制流的完整性和準(zhǔn)確性。利用控制流分析技術(shù)可以有效地分析程序結(jié)構(gòu)和行為,給程序安全帶來(lái)巨大的威脅。為保護(hù)程序,許多學(xué)者和研究機(jī)構(gòu)對(duì)此進(jìn)行了大量研究,提出了控制流完整性防護(hù)[3]、控制流異常檢測(cè)[4]和控制流混淆等各種程序安全保護(hù)方法[5]。其中,控
計(jì)算機(jī)工程與設(shè)計(jì) 2020年11期2020-11-17
- 基于控制流的軟件設(shè)計(jì)與實(shí)現(xiàn)一致性分析方法
息,比如代碼的控制流和數(shù)據(jù)流[12]971。本文采用基于語(yǔ)義的表征方式,語(yǔ)義信息為代碼的控制流,基于代碼控制流獲取函數(shù)特征。函數(shù)特征分為外部特征和內(nèi)部特征。外部特征為函數(shù)間調(diào)用關(guān)系,內(nèi)部特征為函數(shù)控制流信息,包括基本塊序列和控制流圖。函數(shù)間調(diào)用關(guān)系反映了系統(tǒng)的結(jié)構(gòu)[13],每個(gè)函數(shù)內(nèi)部的控制流信息反映了函數(shù)的內(nèi)部結(jié)構(gòu),因此選其作為函數(shù)特征并建立特征模型。函數(shù)特征提取具體過(guò)程如下:2.1 中間表示的生成偽代碼和源代碼中的控制結(jié)構(gòu)會(huì)造成控制流的改變,難以直接從
計(jì)算機(jī)應(yīng)用 2020年10期2020-10-18
- 基于XOR 門加密的抗控制流攻擊方法*
用軟件漏洞實(shí)施控制流攻擊進(jìn)而對(duì)整個(gè)系統(tǒng)進(jìn)行控制. 控制流攻擊是指利用程序漏洞, 通過(guò)篡改程序控制流的存儲(chǔ)地址或控制流數(shù)據(jù)等方式, 將程序?qū)虿?zhí)行預(yù)先設(shè)定的惡意代碼, 達(dá)到破壞系統(tǒng)或盜取關(guān)鍵信息的目的. 根據(jù)惡意代碼注入與否, 控制流攻擊可分為代碼注入攻擊和代碼復(fù)用攻擊. 代碼注入攻擊指攻擊者利用軟件的某些漏洞將惡意代碼注入到應(yīng)用程序. 堆棧溢出攻擊是代碼注入攻擊的一種典型方式, 堆棧中寫入的數(shù)據(jù)量超過(guò)堆棧本身的容量, 溢出的數(shù)據(jù)可以覆蓋合法的數(shù)據(jù), 但由
密碼學(xué)報(bào) 2020年4期2020-09-12
- 一種檢測(cè)控制流錯(cuò)誤的多層分段標(biāo)簽方法
于解決軟錯(cuò)誤中控制流錯(cuò)誤的檢測(cè)問(wèn)題。程序控制流錯(cuò)誤是軟錯(cuò)誤的一大類型,根據(jù)Zhu等人[3]和Ohlsson等人[4]的實(shí)驗(yàn)結(jié)果可知,在程序發(fā)生的軟錯(cuò)誤中,有33%~77%的可能性造成程序的控制流錯(cuò)誤。當(dāng)高能粒子在與程序調(diào)用地址相關(guān)的位置引發(fā)故障時(shí),就有可能造成控制流錯(cuò)誤[5]。對(duì)于任何計(jì)算機(jī)程序,只要給程序輸入,其內(nèi)部執(zhí)行指令的順序就是固定的,但是控制流錯(cuò)誤會(huì)改變這種順序,從而影響程序的正確執(zhí)行[6]。目前檢測(cè)控制流錯(cuò)誤的軟件技術(shù)通常是維護(hù)并更新一個(gè)全局的
計(jì)算機(jī)與現(xiàn)代化 2020年8期2020-08-17
- ASLR機(jī)制脆弱性自動(dòng)分析方法*
,通過(guò)劫持程序控制流,跳轉(zhuǎn)至指定內(nèi)存地址,實(shí)現(xiàn)任意代碼執(zhí)行,需要在觸發(fā)程序控制流劫持狀態(tài)的同時(shí),注入目標(biāo)內(nèi)存地址。地址隨機(jī)化(Address Space Layout Randomization, ASLR)機(jī)制對(duì)加載于程序內(nèi)存空間中的各模塊進(jìn)行隨機(jī)化布局,導(dǎo)致攻擊者無(wú)法準(zhǔn)確定位目標(biāo)代碼的內(nèi)存地址,從而阻止控制流劫持攻擊[2-3]。但是,ASLR依然存在不少局限性[4-5]。受地址隨機(jī)化的影響,內(nèi)存中各模塊的加載地址隨機(jī)分布,但各模塊的內(nèi)部結(jié)構(gòu)依然相對(duì)固定
國(guó)防科技大學(xué)學(xué)報(bào) 2020年2期2020-05-06
- 基于分段擬合的致密氣藏遞減分析方法
:氣井處于邊界控制流階段。尤其是致密氣藏的氣井,有很長(zhǎng)時(shí)間的不穩(wěn)定流階段,若對(duì)該階段的生產(chǎn)數(shù)據(jù)應(yīng)用Arps 遞減曲線進(jìn)行產(chǎn)量預(yù)測(cè)與指標(biāo)評(píng)價(jià),會(huì)存在較大誤差。文獻(xiàn)[4-6]提出:對(duì)于致密氣藏有限邊界壓裂氣井,隨著流動(dòng)階段的變化,遞減指數(shù)呈現(xiàn)“急速上升、持續(xù)下降、趨于穩(wěn)定”的變化趨勢(shì)。達(dá)到邊界控制流以后,遞減指數(shù)趨于穩(wěn)定,產(chǎn)量變化規(guī)律也趨于穩(wěn)定。根據(jù)前人的研究成果及Arps 遞減曲線的適用條件,針對(duì)蘇里格致密氣藏壓裂氣井生產(chǎn)實(shí)際,提出其產(chǎn)量遞減分析的關(guān)鍵—分段
石油化工應(yīng)用 2020年3期2020-04-11
- 分布式SDN控制平面下可靠的控制流傳輸路徑選擇
器與交換機(jī)間的控制流傳輸路徑選擇.現(xiàn)有研究通常默認(rèn)交換機(jī)到控制器的最短路徑作為控制流的傳輸路徑,而忽略傳輸路徑的可靠性對(duì)SDN性能的影響[5].特別是在In-Band控制平面下,控制流傳輸路徑的可靠性非常重要,網(wǎng)絡(luò)故障將導(dǎo)致大量交換機(jī)的控制流無(wú)法被正常轉(zhuǎn)發(fā),進(jìn)而影響SDN網(wǎng)絡(luò)正常運(yùn)行.現(xiàn)有的控制流路徑研究主要分為兩類: 一是基于交換機(jī)本地的切換機(jī)制,二是在基于全局拓?fù)涞?span id="j5i0abt0b" class="hl">控制流路徑選擇.第一類研究專注于在單個(gè)SDN交換機(jī)上實(shí)現(xiàn)各類機(jī)制來(lái)選擇控制流路徑,這類機(jī)
- 基于控制流的盒圖動(dòng)態(tài)建模與測(cè)試
,研究工作流中控制流的可視化建模與實(shí)現(xiàn);通過(guò)分析盒圖和控制流的轉(zhuǎn)換關(guān)系,將靜態(tài)的盒圖無(wú)縫地轉(zhuǎn)換成可視化的動(dòng)態(tài)控制流模型,完成從盒圖靜態(tài)過(guò)程描述到控制流的可視化動(dòng)態(tài)建模、實(shí)現(xiàn)、測(cè)試和驗(yàn)證;實(shí)現(xiàn)快速構(gòu)建復(fù)雜業(yè)務(wù)流程的可視化分析模型并提前驗(yàn)證,解決了復(fù)雜業(yè)務(wù)過(guò)程模型在編碼之前的邏輯驗(yàn)證,在實(shí)際的建模中,邏輯關(guān)系清晰,便于驗(yàn)證。關(guān)鍵詞:工作流;盒圖;控制流;動(dòng)態(tài)建模與測(cè)試中圖分類號(hào):TP311.51 ? ? 文獻(xiàn)標(biāo)識(shí)碼:AAbstract: This paper
軟件工程 2020年12期2020-01-07
- 進(jìn)程控制流劫持攻擊與防御技術(shù)綜述
偉光,孫蒙進(jìn)程控制流劫持攻擊與防御技術(shù)綜述王豐峰,張濤,徐偉光,孫蒙(陸軍工程大學(xué),江蘇 南京 210001)控制流劫持攻擊是一種常見(jiàn)的針對(duì)計(jì)算機(jī)軟件的攻擊,給計(jì)算機(jī)軟件安全帶來(lái)了巨大的危害,是信息安全領(lǐng)域的研究熱點(diǎn)。首先,從攻擊代碼的來(lái)源角度出發(fā),闡述了進(jìn)程控制流劫持攻擊的相關(guān)研究;其次,根據(jù)控制流劫持攻擊技術(shù)的發(fā)展現(xiàn)狀,基于不同防御思想介紹了近年來(lái)國(guó)內(nèi)外的相關(guān)防御技術(shù);最后對(duì)控制流劫持攻防技術(shù)發(fā)展趨勢(shì)進(jìn)行總結(jié)和展望。軟件安全;控制流劫持攻擊;控制流完整
網(wǎng)絡(luò)與信息安全學(xué)報(bào) 2019年6期2019-12-13
- 面向動(dòng)態(tài)加載的Android惡意行為動(dòng)靜態(tài)檢測(cè)方法
術(shù),提取程序的控制流圖,通過(guò)分析動(dòng)態(tài)加載點(diǎn)的位置進(jìn)行路徑制導(dǎo)的動(dòng)態(tài)執(zhí)行,以獲得動(dòng)態(tài)加載的APK。然后,再針對(duì)其進(jìn)行靜態(tài)分析獲得控制流圖[6],通過(guò)對(duì)宿主App和被加載APK的控制流組合,得到整個(gè)系統(tǒng)的完整控制流圖。針對(duì)該控制流圖進(jìn)行遍歷和惡意行為模式的匹配,就可以完成對(duì)完整App的檢測(cè)。本文基于所提出的惡意代碼檢測(cè)方法,開(kāi)發(fā)了相應(yīng)的原型工具、構(gòu)造了實(shí)例,并且進(jìn)行了實(shí)例研究。1 相關(guān)工作及背景現(xiàn)有的惡意代碼檢測(cè)技術(shù)主要分為靜態(tài)分析和動(dòng)態(tài)分析。靜態(tài)分析是在獲取
計(jì)算機(jī)應(yīng)用與軟件 2019年12期2019-12-12
- 一種基于數(shù)據(jù)流/控制流+知識(shí)條目的回歸影響域分析方案
是基于數(shù)據(jù)流/控制流的研究.董燕等[6]從控制結(jié)構(gòu)算法更動(dòng)、邏輯更動(dòng)、參數(shù)更動(dòng)等方面對(duì)基于代碼更動(dòng)的影響域分析方法進(jìn)行了研究,提出了各類更動(dòng)的分析方法和原則,并將其應(yīng)用于航天嵌入式軟件,取得了良好的效果;楊貞祥、王德敏等[7,8]對(duì)基于控制流和數(shù)據(jù)流的更動(dòng)影響域分析方法進(jìn)行了研究,闡述了分析原理,提出了分析操作步驟;楊波等[9]針對(duì)基于變量自身變化和變量間依賴關(guān)系的變量行為模型開(kāi)展了研究,提出了一種基于變量影響分析和數(shù)據(jù)變異的回歸測(cè)試用例方法;侯成杰[10
測(cè)試技術(shù)學(xué)報(bào) 2019年5期2019-10-18
- 面向C程序的環(huán)形復(fù)雜度自動(dòng)化計(jì)算方法
度量法根據(jù)程序控制流的復(fù)雜程度定量度量程序復(fù)雜程度,這樣度量出的結(jié)果稱為程序的環(huán)形復(fù)雜度。在軟件測(cè)試中,環(huán)形復(fù)雜度用于衡量一個(gè)模塊判定結(jié)構(gòu)的復(fù)雜程度,數(shù)量上表現(xiàn)為獨(dú)立路徑條數(shù),即合理的預(yù)防錯(cuò)誤所需測(cè)試的最少路徑條數(shù),這是為確保所有語(yǔ)句至少執(zhí)行一次而必須進(jìn)行測(cè)試的數(shù)量的上界,也可以理解為覆蓋所有的可能情況最少使用的測(cè)試用例數(shù)[2-4]。在通常情況下,程序環(huán)形復(fù)雜度值越大,說(shuō)明程序判斷邏輯越復(fù)雜,越容易出錯(cuò),且軟件難以測(cè)試與維護(hù)。大量研究和經(jīng)驗(yàn)表明,環(huán)形復(fù)雜度
計(jì)算機(jī)工程 2018年12期2019-01-02
- 基于Petri網(wǎng)數(shù)據(jù)流約束下的業(yè)務(wù)流程變化域分析
廓;依賴關(guān)系;控制流;數(shù)據(jù)流[中圖分類號(hào)]TP319.1 [文獻(xiàn)標(biāo)志碼]A文章編號(hào):1003-6180(2018)02-0015-06Abstract:Based on the behavioral profile theory of Petri nets, the control dependences and data dependences of the models are found and analyzed by studying the be
- 一種基于本地代碼特征的Android惡意代碼檢測(cè)方法
提取匯編代碼的控制流圖集合,將其與已知惡意應(yīng)用的控制流圖集合進(jìn)行相似性比較,得出它們的相似度.如果相似度大于某個(gè)閾值,則可以確定待檢測(cè)的Android應(yīng)用包含了惡意代碼.由于提取了SO文件中包含的代碼的特征,該方法的代碼覆蓋率比傳統(tǒng)的靜態(tài)檢測(cè)方法高.2 方法描述本文提出一種基于本地代碼特征的Android惡意代碼檢測(cè)方法,該方法通過(guò)提取Android應(yīng)用的本地代碼的控制流圖特征來(lái)檢測(cè)和分析惡意代碼,流程如圖1所示:圖1 檢測(cè)方法的流程2.1 ART虛擬機(jī)A
信息安全研究 2018年6期2018-06-15
- Java自動(dòng)化基本路徑測(cè)試技術(shù)研究
現(xiàn)有方法主要以控制流圖為輸入來(lái)生成基本路徑集合[6-8],減少了人工分析得到基本路徑集合的工作量。為了減少由代碼生成控制流圖以及執(zhí)行路徑與基本路徑集合比對(duì)的工作量,本文提出了針對(duì)Java源碼的路徑測(cè)試自動(dòng)化方法,首先通過(guò)對(duì)Java代碼的分析構(gòu)建控制流圖和實(shí)現(xiàn)程序插樁,保持控制流圖和代碼插樁中節(jié)點(diǎn)的一致性,然后通過(guò)控制流圖生成基本路徑集合,最后執(zhí)行插樁后被測(cè)程序判斷測(cè)試數(shù)據(jù)對(duì)基本路徑集合的覆蓋程度。1 控制流圖定義與構(gòu)造基本路徑集通過(guò)分析被測(cè)程序的控制流圖來(lái)
計(jì)算機(jī)測(cè)量與控制 2018年4期2018-04-25
- 一種基于控制流圖特征的Linux平臺(tái)惡意代碼檢測(cè)方法
了一種基于軟件控制流圖特征的惡意代碼檢測(cè)方法。通過(guò)對(duì)軟件進(jìn)行靜態(tài)分析得到匯編代碼,進(jìn)而分析匯編代碼構(gòu)建控制流圖。提取控制流圖的屬性作為特征向量,將這些特征向量送入機(jī)器學(xué)習(xí)算法進(jìn)行訓(xùn)練,得出分類器,使用分類器來(lái)檢測(cè)惡意軟件。1 相關(guān)定義基本塊:一段有序指令序列,從第一條指令順序執(zhí)行到序列的最后一條指令。除了最后一條指令外,序列中的其他指令不會(huì)是分支或者跳轉(zhuǎn)指令[6]。控制流圖:定義V={VI,V2,...,Vn}為代表基本塊的頂點(diǎn)集,E={brijl bri
現(xiàn)代計(jì)算機(jī) 2018年8期2018-04-24
- 基于表驅(qū)動(dòng)的純軟件簽名錯(cuò)誤檢測(cè)算法
過(guò)純軟件簽名的控制流檢測(cè)(CFDSS)[4-5]、通過(guò)斷言的控制流檢測(cè)(ACFC)[6]、運(yùn)用斷言的增強(qiáng)型控制流檢測(cè)(ECCA)[7]、通過(guò)冗余指令[8]的錯(cuò)誤檢測(cè)(EDDI)[9-11]等在內(nèi)的純軟件處理方法,比上述這2種概念運(yùn)用得更加廣泛,因?yàn)檫@些純軟件檢錯(cuò)方式不要求特定的硬件設(shè)備提供支持。ACFC在執(zhí)行過(guò)程中賦予每一個(gè)基本塊一個(gè)奇偶校驗(yàn)位,可檢測(cè)出奇偶性錯(cuò)誤;EDDI采用復(fù)制指令,并通過(guò)插入合適的檢測(cè)指令進(jìn)行驗(yàn)證,但這種方法易導(dǎo)致代碼容量增加近100
計(jì)算機(jī)工程 2018年4期2018-04-19
- PLC程序控制流分析方法
7)PLC程序控制流分析方法張 曄*,陸余良(合肥電子工程學(xué)院 ,合肥 230037)可編程邏輯控制器(PLC)是工業(yè)控制系統(tǒng)的重要組成部分,控制著各類物理設(shè)備及工藝流程。無(wú)論是攻擊者的惡意篡改還是內(nèi)部人員的編程錯(cuò)誤所造成的PLC控制程序錯(cuò)誤都將嚴(yán)重威脅設(shè)備及人身安全。為解決該問(wèn)題,提出了針對(duì)PLC程序的控制流分析方法。首先,利用flex和bison分析了源代碼的詞法及語(yǔ)法結(jié)構(gòu);其次,通過(guò)分析抽象語(yǔ)法樹(shù)(AST)生成并優(yōu)化了不含指令副作用的中間表示;最后,
計(jì)算機(jī)應(yīng)用 2017年12期2018-01-08
- 基于狀態(tài)轉(zhuǎn)換的PLC程序模型構(gòu)建方法
的文法結(jié)構(gòu)進(jìn)行控制流分析生成控制流圖;然后,通過(guò)數(shù)據(jù)流分析得到程序依賴圖;最后,根據(jù)程序依賴圖生成NuSMV的輸入模型。實(shí)驗(yàn)結(jié)果表明,所提方法實(shí)現(xiàn)了ST程序到NuSMV輸入模型的自動(dòng)化構(gòu)建,并且構(gòu)建的NuSMV輸入模型既保留了ST程序的原有特性又符合NuSMV模型檢測(cè)工具輸入的規(guī)范,與傳統(tǒng)手工模型構(gòu)建方法相比,提高了模型生成的效率和準(zhǔn)確率。工業(yè)控制系統(tǒng)安全;模型檢測(cè);NuSMV;程序分析;模型構(gòu)建0 引言工控安全事關(guān)經(jīng)濟(jì)發(fā)展、社會(huì)穩(wěn)定和國(guó)家安全。近年來(lái),隨
計(jì)算機(jī)應(yīng)用 2017年12期2018-01-08
- 基于影響域分析的軟件回歸測(cè)試設(shè)計(jì)
分析,并對(duì)基于控制流和數(shù)據(jù)流的影響域分析、影響域重定位、基于影響域的回歸測(cè)試設(shè)計(jì)進(jìn)行了詳細(xì)論述,希望由此能夠?yàn)橄嚓P(guān)業(yè)內(nèi)人士帶來(lái)一定啟發(fā)。影響域;回歸測(cè)試;數(shù)據(jù)流;控制流1 軟件回歸測(cè)試分析1.1 回歸測(cè)試的關(guān)鍵點(diǎn)作為軟件工程的重要組成,軟件測(cè)試屬于保證軟件質(zhì)量的重要手段,本文研究的回歸測(cè)試便是軟件測(cè)試的重要組成,其與首輪測(cè)試均在軟件工程中占據(jù)著較為重要的地位。首輪測(cè)試主要采用追蹤法保證測(cè)試需求覆蓋率,回歸測(cè)試則將開(kāi)展的重點(diǎn)放在了更改內(nèi)容的確認(rèn)與影響方面,而
電子測(cè)試 2017年22期2018-01-03
- 基于符號(hào)執(zhí)行的Android原生代碼控制流圖提取方法
oid原生代碼控制流圖提取方法顏慧穎,周振吉,吳禮發(fā),洪征,孫賀(解放軍理工大學(xué)指揮信息系統(tǒng)學(xué)院,江蘇南京 210000)提出了一種基于符號(hào)執(zhí)行的控制流圖提取方法,該方法為原生庫(kù)中的函數(shù)提供了符號(hào)執(zhí)行環(huán)境,對(duì)JNI函數(shù)調(diào)用進(jìn)行模擬,用約束求解器對(duì)符號(hào)進(jìn)行求解。實(shí)現(xiàn)了控制流圖提取原型系統(tǒng)CFGNative。實(shí)驗(yàn)結(jié)果表明,CFGNative可準(zhǔn)確識(shí)別樣例中所有的JNI函數(shù)調(diào)用和原生方法,并能夠在可接受的時(shí)間內(nèi)達(dá)到較高的代碼覆蓋率。控制流圖;Android應(yīng)用軟
網(wǎng)絡(luò)與信息安全學(xué)報(bào) 2017年7期2017-07-31
- 基于UML活動(dòng)圖的場(chǎng)景法測(cè)試用例生成策略的研究
本路徑覆蓋法;控制流圖;獨(dú)立路徑1 引言UML是一種可視化的建模語(yǔ)言,它通過(guò)圖形表示法從多個(gè)側(cè)面對(duì)系統(tǒng)的分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試等進(jìn)行刻畫.研究表明,采用有效的形式化方法來(lái)描述問(wèn)題域,并選擇適當(dāng)?shù)臏y(cè)試策略,是設(shè)計(jì)和生成完備的測(cè)試用例集合的關(guān)鍵環(huán)節(jié)[1].活動(dòng)圖是UML中的一種行為圖,它描述系統(tǒng)為完成某項(xiàng)功能而執(zhí)行的操作序列,其實(shí)質(zhì)就是流程圖,可用于描述程序流程和工作流程.所以活動(dòng)圖是軟件系統(tǒng)測(cè)試,尤其是業(yè)務(wù)流程測(cè)試的重要手段.場(chǎng)景測(cè)試法是通過(guò)構(gòu)建各種測(cè)試場(chǎng)景
- 一種JAVA控制流混淆方案
)一種JAVA控制流混淆方案葛 華a, 余沛釗a, 夏夢(mèng)森b(武漢理工大學(xué) a.信息工程學(xué)院; b.計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 武漢 430072)在逆向分析的領(lǐng)域里,JAVA軟件最需要保護(hù)的地方毫無(wú)疑問(wèn)是整個(gè)軟件的結(jié)構(gòu)。本文在總結(jié)代碼混淆領(lǐng)域中的一些混淆策略后,提出一個(gè)基于結(jié)構(gòu)代碼塊的控制流混淆方案。該方案不是以基本代碼塊為基礎(chǔ)來(lái)提出具體的混淆策略,而是從軟件結(jié)構(gòu)角度上,只對(duì)那些復(fù)雜的結(jié)構(gòu)塊進(jìn)行混淆處理。該方案首先插入含有垃圾代碼塊的分支路徑,然后以結(jié)構(gòu)代碼
湖北第二師范學(xué)院學(xué)報(bào) 2017年2期2017-05-15
- 控制流完整性的發(fā)展歷程
成崗 李建軍?控制流完整性的發(fā)展歷程文/武成崗李建軍武成崗中國(guó)科學(xué)院計(jì)算技術(shù)研究所正高級(jí)工程師、博士生導(dǎo)師,主要研究領(lǐng)域?yàn)閯?dòng)態(tài)編譯、軟件安全、程序分析等。李建軍中國(guó)科學(xué)院計(jì)算技術(shù)研究所副研究員,主要研究領(lǐng)域?yàn)閯?dòng)態(tài)程序分析、軟件安全保障等。控制流劫持是一種危害性極大的攻擊方式,攻擊者能夠通過(guò)它來(lái)獲取目標(biāo)機(jī)器的控制權(quán),甚至進(jìn)行提權(quán)操作,對(duì)目標(biāo)機(jī)器進(jìn)行全面控制。當(dāng)攻擊者掌握了被攻擊程序的內(nèi)存錯(cuò)誤漏洞后,一般會(huì)考慮發(fā)起控制流劫持攻擊。早期的攻擊通常采用代碼注入的方
中國(guó)教育網(wǎng)絡(luò) 2016年4期2016-06-06
- 面向動(dòng)態(tài)生成代碼的攻防技術(shù)綜述
的安全問(wèn)題,為控制流劫持攻擊和相應(yīng)的防御提供了新機(jī)會(huì),受到越來(lái)越多的關(guān)注。針對(duì)動(dòng)態(tài)生成代碼在數(shù)據(jù)區(qū)且可被執(zhí)行和直接依賴輸入的特性,本文從代碼注入攻擊和代碼重用攻擊兩個(gè)角度總結(jié)分析了控制流劫持攻擊新技術(shù),并從強(qiáng)制性防御和閃避防御(Moving target defense)兩個(gè)角度對(duì)相關(guān)的主要防御新方法進(jìn)行了闡述。同時(shí)提出動(dòng)態(tài)代碼生成系統(tǒng)安全性的衡量模型,對(duì)代表性防御技術(shù)進(jìn)行對(duì)比分析和評(píng)估,并探討了面向動(dòng)態(tài)生成代碼攻防技術(shù)的發(fā)展趨勢(shì)和下一步的研究方向。軟件安
信息安全學(xué)報(bào) 2016年4期2016-03-01
- 二進(jìn)制代碼塊: 面向二進(jìn)制程序的細(xì)粒度控制流完整性校驗(yàn)方法
制程序的細(xì)粒度控制流完整性校驗(yàn)方法王明華1,2, 尹 恒2, Abhishek Vasisht Bhaskar2, 蘇璞睿3,4, 馮登國(guó)41百度X-Lab2雪城大學(xué)3中國(guó)科學(xué)院軟件研究所計(jì)算機(jī)科學(xué)國(guó)家重點(diǎn)實(shí)驗(yàn)室4中國(guó)科學(xué)院軟件研究所可信計(jì)算與信息保障實(shí)驗(yàn)室控制流完整性(CFI)是一種在程序中通過(guò)保護(hù)間接轉(zhuǎn)移有效減少代碼注入和代碼重用攻擊等威脅的技術(shù)。由于二進(jìn)制程序缺少源代碼級(jí)別的語(yǔ)義, CFI策略的設(shè)定需要很謹(jǐn)慎?,F(xiàn)有的面向二進(jìn)制的 CFI解決方案, 如
信息安全學(xué)報(bào) 2016年2期2016-02-20
- 分存技術(shù)在代碼混淆中的研究
度。其中,代碼控制流混淆是當(dāng)前代碼混淆技術(shù)中的研究熱點(diǎn)。目前,存在著許多種代碼控制流混淆變換[3-4],但都由于變換形式過(guò)于單一,很容易被逆向工程所過(guò)濾。針對(duì)這種情況,文獻(xiàn)[5]提出不透明謂詞變換和降級(jí)高級(jí)控制結(jié)構(gòu)變換,加大了反編譯及逆向工程的難度;文獻(xiàn) [6]提出插入垃圾代碼的改進(jìn)的控制變換,增加了防止破解者靜態(tài)分析的能力;文獻(xiàn) [7]提出混沌不透明謂詞變換,盡可能地防止破解者對(duì)代碼進(jìn)行靜態(tài)攻擊。但是這些變換最終無(wú)法確定代碼的混淆強(qiáng)度是否足夠抵抗攻擊,并
計(jì)算機(jī)工程與設(shè)計(jì) 2015年1期2015-12-20
- 利用智能控制流方法的嵌入式軟件故障檢測(cè)*
00)利用智能控制流方法的嵌入式軟件故障檢測(cè)*周改云1,張國(guó)平1,呂瓊帥1,黎遠(yuǎn)松2(1.平頂山學(xué)院 軟件學(xué)院,河南 平頂山 467000;2.四川理工學(xué)院 計(jì)算機(jī)學(xué)院,四川 自貢 643000)針對(duì)現(xiàn)有的嵌入式軟件故障檢測(cè)方法性能低、開(kāi)銷大的缺點(diǎn),提出一種智能選擇檢測(cè)點(diǎn)的控制流方法,其創(chuàng)新之處主要為:使用變量的頻率和基本塊的執(zhí)行頻率用作選擇重要變量和基本塊的兩個(gè)參數(shù)。檢測(cè)的基本流程是首先過(guò)濾器還原標(biāo)準(zhǔn)C語(yǔ)句為偽代碼語(yǔ)句,然后掃描儀獲取偽代碼,并發(fā)送它到解
電子技術(shù)應(yīng)用 2015年10期2015-12-16
- 采用控制流監(jiān)控的Cisco IOS指針攻擊檢測(cè)方法
鄭州)?采用控制流監(jiān)控的Cisco IOS指針攻擊檢測(cè)方法劉勝利,鄒睿,彭飛,武東英,肖達(dá)(中國(guó)人民解放軍信息工程大學(xué)數(shù)學(xué)工程與先進(jìn)計(jì)算國(guó)家重點(diǎn)實(shí)驗(yàn)室, 450000, 鄭州)針對(duì)當(dāng)前Cisco IOS(internetwork operating system)漏洞攻擊檢測(cè)方法檢測(cè)效率低的問(wèn)題,提出了一種采用控制流監(jiān)控來(lái)判定Cisco IOS指針攻擊的方法。該方法通過(guò)靜態(tài)分析和動(dòng)態(tài)跟蹤相結(jié)合的方式對(duì)Cisco IOS中不同類別的控制流分別構(gòu)造合法轉(zhuǎn)移地
西安交通大學(xué)學(xué)報(bào) 2015年12期2015-03-07
- ARM架構(gòu)中控制流完整性驗(yàn)證技術(shù)研究
)ARM架構(gòu)中控制流完整性驗(yàn)證技術(shù)研究葉雁秋,王震宇,趙利軍(解放軍信息工程大學(xué),鄭州450001)通用平臺(tái)目標(biāo)二進(jìn)制代碼運(yùn)行時(shí)控制流的提取主要依賴于處理器硬件特性,或其動(dòng)態(tài)二進(jìn)制插樁工具,該平臺(tái)的控制流完整性驗(yàn)證方法無(wú)法直接移植到進(jìn)階精簡(jiǎn)指令集機(jī)器(ARM)架構(gòu)中。為此,基于控制流完整性驗(yàn)證技術(shù),設(shè)計(jì)一種用于ARM架構(gòu),利用緩沖溢出漏洞檢測(cè)控制流劫持攻擊的方法。該方法在程序加載時(shí)、執(zhí)行前動(dòng)態(tài)構(gòu)建合法跳轉(zhuǎn)地址白名單,在目標(biāo)二進(jìn)制代碼動(dòng)態(tài)執(zhí)行過(guò)程中完成控制流
計(jì)算機(jī)工程 2015年3期2015-02-20
- 渦流閥調(diào)節(jié)特性冷流實(shí)驗(yàn)研究*
實(shí)驗(yàn)。通過(guò)改變控制流的路數(shù)、控制流的壓強(qiáng)研究渦流閥的性能影響。實(shí)驗(yàn)系統(tǒng)主要由主流模擬氣源、控制流模擬氣源、渦流閥實(shí)驗(yàn)器、時(shí)序控制器、數(shù)據(jù)采集器及閥門管路等組成。主流模擬氣源和控制流模擬氣源采用壓縮氮?dú)庠?,主要由氣瓶、匯流排、減壓器等組成;渦流閥實(shí)驗(yàn)器(見(jiàn)圖2)采用固定幾何結(jié)構(gòu),4個(gè)控制流接口,根據(jù)實(shí)驗(yàn)工況進(jìn)行控制流接口數(shù)量的使用;時(shí)序控制器主要實(shí)現(xiàn)系統(tǒng)中的開(kāi)關(guān)閥門的打開(kāi)、關(guān)閉時(shí)刻的控制;數(shù)據(jù)采集器主要進(jìn)行實(shí)驗(yàn)中主流模擬氣源、控制流模擬氣源和渦流室的壓強(qiáng)信號(hào)
彈箭與制導(dǎo)學(xué)報(bào) 2014年6期2014-12-10
- 基于動(dòng)態(tài)數(shù)據(jù)流分析的虛擬機(jī)保護(hù)破解技術(shù)
跡,還原程序的控制流圖,根據(jù)軌跡信息對(duì)數(shù)據(jù)生成過(guò)程進(jìn)行分層次、分階段還原,并由分析人員結(jié)合控制流圖和數(shù)據(jù)生成過(guò)程進(jìn)行算法重構(gòu)。實(shí)驗(yàn)結(jié)果證明,該方法能夠正確還原程序的控制流和數(shù)據(jù)生成過(guò)程,輔助分析人員完成被保護(hù)算法的重構(gòu)。數(shù)據(jù)流分析;虛擬機(jī)保護(hù);控制流還原;算法還原1 概述軟件核心算法的逆向分析在網(wǎng)絡(luò)協(xié)議逆向、惡意代碼機(jī)理分析、協(xié)議特征提取等安全應(yīng)用中發(fā)揮著重要的作用。目前惡意軟件廣泛采用虛擬機(jī)保護(hù)等抗分析技術(shù)對(duì)核心算法進(jìn)行保護(hù),使得已有的逆向分析方法面臨新
計(jì)算機(jī)工程 2014年9期2014-06-06
- 白盒測(cè)試之基本路徑測(cè)試技術(shù)探析
徑測(cè)試是在程序控制流圖的基礎(chǔ)上,通過(guò)分析控制構(gòu)造的環(huán)路復(fù)雜性,導(dǎo)出基本可執(zhí)行路徑集合,然后據(jù)此設(shè)計(jì)測(cè)試用例[4,5]。設(shè)計(jì)出的測(cè)試用例要保證在測(cè)試中程序的每一條可執(zhí)行語(yǔ)句至少執(zhí)行一次。1.4 程序控制流圖在進(jìn)行軟件(程序)測(cè)試的設(shè)計(jì)時(shí),對(duì)程序的流程圖進(jìn)行簡(jiǎn)化,圖1中每個(gè)處理都退化成一個(gè)結(jié)點(diǎn),流線變成連接不同結(jié)點(diǎn)的有向弧,簡(jiǎn)化之后所得的圖形稱為程序控制流圖,即控制流圖是退化的程序流程圖[5]。控制流圖將程序流程圖中結(jié)構(gòu)化構(gòu)件改用一般有向圖的形式表示。在軟件(
- BPM軟件建模能力的評(píng)估
套標(biāo)準(zhǔn)。本文從控制流的視角出發(fā)對(duì)比了國(guó)內(nèi)具有代表性的一款BPM軟件與一個(gè)自由軟件,從對(duì)比中可以看出國(guó)內(nèi)BPM軟件的一些優(yōu)勢(shì)以及劣勢(shì)。為后續(xù)國(guó)內(nèi)BPM軟件的發(fā)展開(kāi)拓了空間,也為國(guó)內(nèi)企業(yè)級(jí)應(yīng)用廠商選擇BPM軟件提供一些選擇依據(jù)。1.BPM軟件控制流評(píng)估體系的建立BPM軟件從應(yīng)用初期憑借其可視化的特性降低了使得開(kāi)發(fā)變得簡(jiǎn)便,降低了開(kāi)發(fā)的門檻,同時(shí)其所見(jiàn)及所得的特性縮短了業(yè)務(wù)人員和開(kāi)發(fā)人員的距離,因此BPM軟件一直被推崇。近幾年BPM軟件發(fā)展迅猛,各種軟件如雨后春
電子世界 2014年7期2014-03-15
- 基于異常控制流識(shí)別的漏洞利用攻擊檢測(cè)方法
方法,通過(guò)劫持控制流實(shí)施利用攻擊。為了應(yīng)對(duì)這些新安全環(huán)境下的利用攻擊,安全人員需要及時(shí)地發(fā)現(xiàn)攻擊威脅,以便快速做出響應(yīng),避免造成損失。近年來(lái),學(xué)術(shù)界提出了控制流完整性檢測(cè)、污點(diǎn)分析等分析方法,來(lái)對(duì)程序執(zhí)行過(guò)程中的異常控制流進(jìn)行檢測(cè),取得了一定的效果。控制流完整性檢測(cè)方法[2],通過(guò)在CFG圖中構(gòu)造控制流轉(zhuǎn)移的合法目標(biāo)地址集合,在控制流轉(zhuǎn)移發(fā)生時(shí),校驗(yàn)?zāi)繕?biāo)地址是否在合法的集合內(nèi),并以此作為攻擊檢測(cè)的依據(jù)。此種方法依賴CFG,無(wú)法解決動(dòng)態(tài)生成代碼相關(guān)的惡意控制
通信學(xué)報(bào) 2014年9期2014-01-01
- 過(guò)程模型中控制流反模式的定義和檢測(cè)方法
程模型反模式以控制流反模式(控制結(jié)構(gòu)方面的反模式)最為常見(jiàn)[2]。文獻(xiàn)[3]對(duì)過(guò)程模型進(jìn)行化簡(jiǎn)并根據(jù)化簡(jiǎn)結(jié)果判斷過(guò)程模型中是否存在死鎖或乏同步,但該方法無(wú)法定位反模式。文獻(xiàn)[4]使用編譯技術(shù)中的控制流塊分析技術(shù)[5]分析過(guò)程模型并利用啟發(fā)式方法檢測(cè)并定位控制流反模式,但該方法只支持一些既定的控制流反模式,擴(kuò)展性不足。文獻(xiàn)[6]利用 BPMN-Q[7]定義并查詢BPMN模型中的常見(jiàn)控制流反模式,該方法允許用戶自定義反模式,但它的效率較低,而且不支持BPMN以
- 基于控制流切片的代碼安全缺陷檢測(cè)方法
測(cè),該方法通過(guò)控制流圖實(shí)現(xiàn)屬性狀態(tài)條件的合并,判斷不可達(dá)性,降低誤報(bào)率[1]。近年來(lái)模型驗(yàn)證也成為代碼診斷領(lǐng)域研究的熱點(diǎn),卞磊,劉超等人使用有窮狀態(tài)機(jī)模型對(duì)過(guò)程內(nèi)變量數(shù)據(jù)流異常進(jìn)行檢測(cè),根據(jù)數(shù)據(jù)項(xiàng)的狀態(tài)遷移判斷過(guò)程內(nèi)的數(shù)據(jù)流是否異常[5]。周寬久等人提出了一種基于XML中間模型的代碼安全規(guī)范檢測(cè)方法,使用GJB安全子集對(duì)代碼安全進(jìn)行分析[6]。陳忠湘,詹瑾瑜等人提出一種帶控制流的函數(shù)分析模型,對(duì)函數(shù)間調(diào)用次序以及邏輯設(shè)計(jì)復(fù)雜度都有描述,輔助程序設(shè)計(jì)人員進(jìn)行
計(jì)算機(jī)工程與設(shè)計(jì) 2012年6期2012-05-04
- 基于結(jié)構(gòu)語(yǔ)義樹(shù)的高級(jí)控制結(jié)構(gòu)恢復(fù)技術(shù)
的概念,在進(jìn)行控制流圖結(jié)構(gòu)化之后,構(gòu)建結(jié)構(gòu)語(yǔ)義樹(shù),從而得到高級(jí)控制結(jié)構(gòu)的嵌套關(guān)系信息。最后通過(guò)前序遍歷結(jié)構(gòu)語(yǔ)義樹(shù),則可恢復(fù)過(guò)程的高級(jí)控制結(jié)構(gòu)。準(zhǔn)確恢復(fù)過(guò)程的高級(jí)控制結(jié)構(gòu)對(duì)提高反編譯結(jié)果的正確性,代碼語(yǔ)義與功能的等價(jià)性等方面具有重要意義。1 預(yù)備知識(shí)定義1 基本塊[14-15]b=[i1,…,in-1,in],n≥1是一個(gè)滿足下列條件的指令序列:[i1,…,in-1]∈NTIin∈NTI或[i1,…,in-1,in]∈NTIin+1是另一個(gè)基本塊的第一條指令
計(jì)算機(jī)工程與設(shè)計(jì) 2011年9期2011-07-25
- C++反編譯中控制流圖優(yōu)化方法研究
執(zhí)行模塊;4)控制流分析,對(duì)流程進(jìn)行分析,為生成高級(jí)語(yǔ)言控制流做準(zhǔn)備;5)類型分析,識(shí)別數(shù)據(jù)的類型。最終生成可理解的高級(jí)語(yǔ)言代碼。其中步驟1),2)都有不少論文介紹這方面工作。其中,文獻(xiàn)[5]介紹了靜態(tài)反匯編的兩種方法。文獻(xiàn)[6]介紹了C++庫(kù)函數(shù)的識(shí)別方法。而且現(xiàn)在也出現(xiàn)了成熟的反匯編分析工具,如IDA。控制流分塊與控制流分析是反編譯器中間的部分,為輸出的高級(jí)語(yǔ)言代碼生成提供依據(jù)[7],直接影響到生成高級(jí)代碼的正確性。文中首先介紹了現(xiàn)有的控制流分塊方法以
電子設(shè)計(jì)工程 2011年21期2011-06-05
- 改進(jìn)的CFCSS控制流檢測(cè)算法
據(jù)流、指令流及控制流錯(cuò)誤,但幾率最大、危害最大的是改變指令序列執(zhí)行順序的控制流錯(cuò)誤[6].文中首先分析總結(jié)了控制流檢測(cè)算法的原理,其次,分析CFCSS算法原理[7-8],并簡(jiǎn)述其中存在的檢測(cè)混淆和檢測(cè)出錯(cuò)現(xiàn)象的原因;最后,根據(jù)CFCSS算法中存在的問(wèn)題,修改了基礎(chǔ)基本塊的選擇方法和多調(diào)整簽名值賦值語(yǔ)句的插入位置,提出了改進(jìn)的ICFCSS算法(improved CFCSS).1 控制流圖與基本塊為了方便描述控制流檢測(cè)算法,在此引入幾個(gè)定義.定義1 控制流圖(
哈爾濱工程大學(xué)學(xué)報(bào) 2011年6期2011-04-13
- 一種改進(jìn)的數(shù)據(jù)流分析方法
分析數(shù)據(jù)流方程控制流語(yǔ)句塊中圖分類號(hào):TP6文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1671-7597(2009)0710059-02一、引言基于源代碼靜態(tài)分析的數(shù)據(jù)流分析[1][2]作為程序分析的一種重要技術(shù),能夠從程序代碼中收集程序的語(yǔ)義信息,它不必實(shí)際運(yùn)行程序就能夠獲取程序運(yùn)行時(shí)的信息,更易于人們理解和分析程序,因此被廣泛用于解決編譯優(yōu)化、程序驗(yàn)證、調(diào)試、測(cè)試和并行編程環(huán)境等中的問(wèn)題。數(shù)據(jù)流分析獲取信息的方法有兩種,對(duì)于結(jié)構(gòu)化的程序可采用語(yǔ)法制導(dǎo)的求解方法,對(duì)于任意
新媒體研究 2009年13期2009-10-26