文/李曦琛
計算機軟件中安全漏洞檢測技術的應用
文/李曦琛
由于計算機軟件中存在著安全漏洞問題,這樣也就給信息系統(tǒng)產(chǎn)生出了安全隱患。因此,在實際中就要及時對計算機軟件進行分析,運用好安全漏洞檢測技術,保證信息的安全。下面我們主要就其檢測技術以及實踐進行簡要的分析。
計算機軟件 安全 檢測
軟件的安全與否決定了計算機能否穩(wěn)定的運行,假如軟件當中存在一定的安全漏洞就會影響到計算機的安全。之所以會出現(xiàn)安全漏洞,通常情況下是由于軟件技術人員的失誤而導致的,要想確保計算機能夠安全的工作,進行安全檢測的人員就必須要制定相應的行之有效的防范措施。
1.1.1 靜態(tài)分析
所謂的靜態(tài)分析其實主要是掃描軟件系統(tǒng)內(nèi)部的源代碼,然后按照其掃描結(jié)果來進行語法和關鍵句的查找。通常來講,我們在顯示中經(jīng)常用到的靜態(tài)分析檢測技術能夠分為以下幾種:詞法檢測、推斷檢測以及評注計算機軟件程序等三種。詞法檢測在執(zhí)行時要先進行分析,首先可以通過檢查語法方面的內(nèi)容,將系統(tǒng)劃分為若干片段,然后參照數(shù)據(jù)庫來進行比較分析,檢測漏洞是否存在。然而這樣做的不足之處在于對數(shù)量上有限制,但是這種檢測工作缺點是檢測數(shù)量有限經(jīng)常會出現(xiàn)漏檢或者是重檢的情況;所謂的推斷檢測其實就是對程序當中的一些變量和函數(shù)進行自動分析,然后再根據(jù)分析結(jié)果并參照他們規(guī)范化的類型和方式做出相應的分析,從而判斷其是否真的有安全漏洞的存在的一種措施。評注計算機軟件程序其實就是是指通過“tainted”來對計算機軟件的外部數(shù)據(jù)進行標記,隨后相關的技術人員對其做評注的過程中需要結(jié)合排查和分析的結(jié)果來進行。
1.1.2 程序檢測
主要借用一些抽象軟件當中的程序獲取一些形式化程序以及模型,再采用形式化的漏洞檢驗方法來對其展開檢測,最后使用正確檢測方法對電腦漏洞進行整體檢測。要想順利的完成模型檢測離不開電腦系統(tǒng)內(nèi)部程序相關的有向圖以及狀態(tài)機。一般來講,檢測的方法可以分為兩種,即自動模型轉(zhuǎn)換和符號化。自動模型轉(zhuǎn)換需要將檢測程序進一步轉(zhuǎn)變成等價的自動機,在將這兩個自動機相互補充、替換,從而形成新的自動機,然后再將判定的系統(tǒng)轉(zhuǎn)變成能夠容納的語言形式進行檢測。而所謂的符號化其實就是用比較通俗易懂的公式來描述抽象模型,而結(jié)果是否合乎標準通過公式一看便知。
許多黑客經(jīng)常使用“NULL”表現(xiàn)在尾部的字符串來對內(nèi)存進行覆蓋,以此來實現(xiàn)攻擊目的。應用代碼存在頁面之中映射技術可以使黑客在使用“NULL”尾部字符串對內(nèi)存進行覆蓋,這使得跳轉(zhuǎn)到相對簡單內(nèi)存區(qū)域的相關操作顯得十分困難。要想徹底解決必須在保證不改變源代碼的基礎上來進行動態(tài)檢測,我們可以通過修改計算機運行環(huán)境的方法來進行安全漏洞的檢測,但是這樣做的缺點在于會對計算機的穩(wěn)定工作造成一定的影響。盡管安全漏洞可以通過動態(tài)檢測的手段檢測出來,然而在檢測的時候通常還會產(chǎn)生新的問題,如此將會對計算機的整體安全再一次造成損害,要想徹底有效的防止安全漏洞的產(chǎn)生,最直接的方法就是對黑客的惡意代碼進行攔截。然而如此做的話,就需要對計算機的操作層進行修改設置,假如在操作的時候產(chǎn)生了一些問題,就會對計算機的整體性能造成嚴重的損害,不但解決不了問題,還會導致安全漏洞更加頻繁的發(fā)生。在對軟件的運行過程進行檢測的時候,少不了會占據(jù)一定的存儲空間,而軟件分配的區(qū)域為堆,在編程的初始階段,形成初始的數(shù)據(jù)段,堆以及數(shù)據(jù)不能夠執(zhí)行代碼,對于黑客的入侵起到了很好的防范作用。還有就是能夠利用設計相關的C++等程序來檢測安全漏洞,然而這樣做的不足之處就是會留有一定的安全隱患,在運行C++程序的時候,會在一定程度上提高出現(xiàn)漏洞的機率,這樣的話要再想增強計算機的整體安全性,就必須要用到安全共享庫等相關技術,來阻隔函數(shù)的不安全行為,在一定程度上預防安全漏洞的產(chǎn)生。
對于競爭性的漏洞來講,可采取把相關編碼原子化的方式操作。原子化最為最小的編碼,往往不會有礙于程序的運行。利用原子化來鎖定程序,間接的調(diào)用文件系統(tǒng)名稱,從而對所用文件的名稱進行描述。
對隨機產(chǎn)生的安全問題進行預防和檢查的過程中,務必要選擇性能好的隨機發(fā)生設備。要想更好的保證隨機數(shù)流的安全性,就必須對隨機發(fā)生設備自身設置密碼算法,如此當軟件出現(xiàn)安全漏洞的時候,就能夠按照所掌握的算法的整體細節(jié)進行完整數(shù)據(jù)流的獲取,在受到攻擊的時候確保計算機能夠正常工作。
要想很好的對緩沖區(qū)的漏洞進行預防,就需要檢查軟件中危險系數(shù)高的函數(shù)。對于一些不安全的軟件版本進行及時的更新。例如,人們可以將原來 extern char strcat替換成 extern char strncat等。
Windows操作系統(tǒng)窗口的應用能夠進行數(shù)據(jù)的輸出,同時還可以降低計算機軟件漏洞對信息傳輸?shù)耐{。一般來講,格式化字符串在不定參數(shù)的個數(shù)函數(shù)中產(chǎn)生的機率很高,所以,在應用該類函數(shù)的時候,不但要確保其均衡性還要保證其個數(shù)。
通過對計算機的運用,我們發(fā)現(xiàn)安全漏洞的出現(xiàn)會對其穩(wěn)定運行造成一定的威脅,要想很好的解決這一問題就必須要采用相應的安全檢測技術來對其進行預防和解決。現(xiàn)階段,在計算機的操作過程中,依舊存在著一定的安全漏洞,因此我們必須要不斷的改進檢測技術,從而更好的防止和解決計算機軟件中存在的安全漏洞,在一定程度上確保計算機能夠安全穩(wěn)定的運行,從而更好的服務于人民。
[1]李曉南.基于數(shù)據(jù)綜合分析的軟件安全漏洞靜態(tài)檢測平臺設計與實現(xiàn)[D].電子科技大學,2011.
[2]劉欣.Windows 2000操作系統(tǒng)的安全漏洞檢測方法及其安全對策的研究[D].中國電力科學研究院,2005.
[3]盧廣.網(wǎng)絡安全中入侵檢測系統(tǒng)的設計與實現(xiàn)[D].大慶石油學院,2003.
作者單位Case Western Reserve University
李曦?。?994-),湖北 省武 漢市人。Macromolecular專業(yè)。