李登魁
西安文理學(xué)院
安全漏洞檢測技術(shù)在軟件工程中的應(yīng)用
李登魁
西安文理學(xué)院
如今人們生活、工作都離不開網(wǎng)絡(luò)以及計(jì)算機(jī),所以計(jì)算機(jī)通信安全就顯得尤為重要。但是,也正是因?yàn)橛?jì)算機(jī)軟件的應(yīng)用范圍不斷擴(kuò)大,計(jì)算機(jī)軟件開始出現(xiàn)各種安全漏洞,導(dǎo)致人們的信息丟失,給用戶帶來巨大的經(jīng)濟(jì)損失。因此,為了合理解決計(jì)算機(jī)軟件安全漏洞問題,就需要合理應(yīng)用安全漏洞檢測技術(shù),制定安全漏洞檢測技術(shù)的應(yīng)用方案?;诖耍恼戮桶踩┒礄z測技術(shù)在軟件工程中的應(yīng)用進(jìn)行分析。
安全漏洞檢測技術(shù);軟件工程;應(yīng)用
電腦系統(tǒng)有一個(gè)重要特征就是存在安全漏洞,人們可以利用這一弱點(diǎn)編寫攻擊程序,通過授權(quán)方式獲得沒有經(jīng)過授權(quán)方面的相關(guān)訪問,進(jìn)而對(duì)電腦系統(tǒng)造成危害。即使電腦中安裝了防火墻,防毒以及殺毒軟件,但對(duì)于那些利用軟件方面漏洞進(jìn)行攻擊的程序來說,并沒有多大用處,甚至還會(huì)出現(xiàn)更大的危害。站在當(dāng)前軟件市場角度來看,有幾個(gè)漏洞經(jīng)常被人們所忽視。分別為JBOSS服務(wù)器、LIBTIFF軟件庫、NET-SNMP以及ZLIB。非法人員可以Geronimo2.0安全漏洞實(shí)現(xiàn)遠(yuǎn)程造作,繞過電腦中身份識(shí)別這一環(huán)節(jié),通過對(duì)電腦插入惡意的軟件代碼獲取訪問控制權(quán)限。JBOSS服務(wù)器中的3.2.4到4.0.5這些版本中,存在目錄遍歷這一安全漏洞。LIBTIFF軟件庫則是讀寫、標(biāo)簽圖像具有的文件格式的相關(guān)文件。NET-SNMP中的NET以及SNMP協(xié)議文件之中存在安全漏洞。ZLIB是一個(gè)對(duì)數(shù)據(jù)進(jìn)行壓縮的軟件庫,因?yàn)閹炖锏拇a解釋長度大于1,進(jìn)而導(dǎo)致安全漏洞。
2.1 安全靜態(tài)檢測
靜態(tài)檢測技術(shù)指的是一種全面的檢測與分析方法,往往是使用二進(jìn)制代碼以及源代碼進(jìn)行分析。該檢測技術(shù)中,檢測軟件往往無需運(yùn)行,因此便利性較強(qiáng),具體技術(shù)上包含了以下幾種。
2.1.1 詞法分析技術(shù)。在檢測過程中,多項(xiàng)程序的檢測根據(jù)計(jì)算機(jī)語法進(jìn)行,通過對(duì)程序進(jìn)行劃分,然后對(duì)計(jì)算機(jī)軟件的各個(gè)片段進(jìn)行檢測,這樣做的目的是檢查出軟件中存在的潛在漏洞,并且確定片段的安全性是否較高,該檢測技術(shù)的漏報(bào)率較高,并且簡便性也較差。
2.1.2 規(guī)則檢測技術(shù)。計(jì)算機(jī)程序本身為檢測對(duì)象,應(yīng)用特定的語法,將程序的規(guī)則描述出來,然后使用規(guī)則處理器對(duì)軟件程序進(jìn)行處理,之后再使用分析器來完成檢測。
2.1.3 類型推導(dǎo)技術(shù)。在該技術(shù)中,對(duì)變量以及函數(shù)訪問情況進(jìn)行判斷及觀察,這樣做的目的是掌握程序變量與函數(shù)類型的具體情況,如果計(jì)算機(jī)程序與控制流之間不遜在聯(lián)系,就可以使用該方法進(jìn)行檢測。
2.1.4 定理證明技術(shù)。該技術(shù)主要對(duì)計(jì)算機(jī)程序公式的正確性進(jìn)行判斷,安全判別的方法用公式的形式來決定。
2.2 動(dòng)態(tài)安全漏洞檢測技術(shù)
2.2.1 非執(zhí)行技術(shù)。如今,惡性攻擊計(jì)算機(jī)軟件的事情經(jīng)常會(huì)出現(xiàn),主要的原因就是計(jì)算機(jī)軟件內(nèi)部的棧是可以被改寫的,計(jì)算機(jī)軟件的大量數(shù)據(jù)都會(huì)保存在棧內(nèi),惡意攻擊者會(huì)首先攻擊棧,向棧內(nèi)輸入惡性代碼,并執(zhí)行這部分代碼。要想防范棧被人為惡性攻擊最佳的方法就是防止棧內(nèi)信息被改寫,而且保證棧內(nèi)的惡意代碼不被執(zhí)行,這樣就可以降低計(jì)算機(jī)軟件安全漏洞出現(xiàn)的機(jī)率。
2.2.2.數(shù)據(jù)安全漏洞檢測技術(shù)。數(shù)據(jù)安全漏洞檢測技術(shù)實(shí)際上就是在計(jì)算機(jī)軟件運(yùn)行的過程中進(jìn)行內(nèi)存區(qū)域分配,計(jì)算機(jī)軟件內(nèi)部的數(shù)據(jù)段也會(huì)同時(shí)啟動(dòng),數(shù)據(jù)段不會(huì)執(zhí)行惡意輸入的軟件代碼,數(shù)據(jù)安全漏洞檢測技術(shù)可以與非執(zhí)行技術(shù)結(jié)合在一起,全面防范計(jì)算軟件安全漏洞的出現(xiàn),惡性代碼的破壞和執(zhí)行能力就會(huì)不斷下降。部分計(jì)算機(jī)軟件安全漏洞出現(xiàn)的原因就是用戶應(yīng)用了一些存在安全隱患的共享庫。對(duì)此,技術(shù)人員可以應(yīng)用安全共享庫技術(shù)來防范惡性攻擊,避免安全漏洞的出現(xiàn)。安全共享庫技術(shù)實(shí)際上就是應(yīng)用動(dòng)態(tài)鏈接技術(shù)對(duì)程序運(yùn)行中出現(xiàn)的安全性問題進(jìn)行檢測。
2.2.3 沙箱安全漏洞檢測技術(shù)。沙箱安全漏洞檢測技術(shù)實(shí)際上就是限制計(jì)算機(jī)軟件的訪問資源,以此來防止惡性攻擊。程序解釋技術(shù)也屬于比較傳統(tǒng)的動(dòng)態(tài)安全漏洞檢測技術(shù),也是應(yīng)用效果比較理想的安全漏洞檢測技術(shù)。程序解釋技術(shù)可以對(duì)計(jì)算機(jī)軟件進(jìn)行監(jiān)視,并對(duì)計(jì)算機(jī)軟件的安全性采用強(qiáng)制性檢測方法,并對(duì)計(jì)算機(jī)程序的運(yùn)行做出合理的解釋。但是,程序解釋技術(shù)的應(yīng)用會(huì)消耗較多的性能。
3.1 預(yù)防競爭條件的漏洞
針對(duì)由于競爭條件而產(chǎn)生的安全漏洞,通常所使用的預(yù)防措施是使用原子化的方式對(duì)形成競爭的編碼進(jìn)行操作。在程序運(yùn)行時(shí),編碼可謂是最小單位,它不受到任何情況的干擾。而在原子化操作中,通過鎖定技術(shù),間接調(diào)用使用文件名系統(tǒng),然后把使用的文件或者句柄表達(dá)出來。
3.2 預(yù)防緩沖區(qū)漏洞
通過對(duì)軟件中危險(xiǎn)系數(shù)高的函數(shù)進(jìn)行檢查,充分避免緩沖區(qū)漏洞的溢出,這一過程的軟件版本使用中,可以安全版本代替不安全版本。
3.3 預(yù)防隨機(jī)出現(xiàn)的漏洞
對(duì)隨機(jī)漏洞的預(yù)防中,采用隨機(jī)發(fā)生設(shè)備比較合適。這種設(shè)備具備了密碼算法,可以在很大程度上確保隨機(jī)數(shù)流的安全。
3.4 預(yù)防格式化字符串的漏洞
通常情況下,不定參數(shù)的個(gè)數(shù)函數(shù)中格式化字符串出現(xiàn)的可能性較大,因此,在該類函數(shù)的應(yīng)用中,要確保每項(xiàng)參數(shù)的個(gè)數(shù)和均衡性能。
綜上,當(dāng)今社會(huì),網(wǎng)絡(luò)發(fā)展使得軟件工程日趨復(fù)雜,計(jì)算機(jī)之中軟件安全關(guān)系到全球每一個(gè)使用計(jì)算機(jī)網(wǎng)絡(luò)用戶的安全。所以,應(yīng)采取相應(yīng)的措施加以預(yù)防,從而將安全漏洞對(duì)計(jì)算機(jī)產(chǎn)生的威脅降至最低。計(jì)算機(jī)軟件安全漏洞檢測應(yīng)不斷深入該項(xiàng)技術(shù)的應(yīng)用,從而保證計(jì)算機(jī)各行業(yè)中的良好應(yīng)用。
[1]王勇利.安全漏洞檢測技術(shù)在計(jì)算機(jī)軟件中應(yīng)用研究[J].數(shù)字技術(shù)與應(yīng)用,2016,11:215.
[2]桑洋.淺談軟件設(shè)計(jì)中的安全漏洞動(dòng)態(tài)檢測技術(shù)[J].信息化建設(shè),2016,05:86.
[3]賀向陽.計(jì)算機(jī)軟件安全漏洞檢測技術(shù)應(yīng)用研究[J].無線互聯(lián)科技,2016,20:59-61.