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