?

試論計算機軟件安全漏洞檢測技術

2016-06-14 19:36王愛菊石彥華
電腦知識與技術 2016年12期
關鍵詞:安全漏洞計算機軟件

王愛菊+石彥華

摘要:當前,社會不斷進步,計算機技術網絡對人們的生活產生較大影響,在給人們帶來巨大便利時,也存在一些安全隱患。計算機軟件的安裝和使用中都會存在一些漏洞,現在計算機安全設置不能徹底解決安全漏洞問題。為了應對計算機軟件安全漏洞造成的影響,對其進行檢測,尋找解決安全漏洞和攻擊的措施。

關鍵詞:計算機;軟件;安全漏洞

中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2016)12-0044-01

信息技術已經滲透到各個領域之中,人們對信息安全問題采取更加重視的態度。軟件是計算機的核心部分,其中存在的安全漏洞會讓計算機的信息面臨網絡攻擊、信息竊取等安全問題。在這種情況下,使用檢測技術盡快發現安全漏洞是解決問題的關鍵。

1 計算機軟件安全漏洞目前的狀況

其主要是指由于安裝的軟件不夠完善,存在能夠被他人盜用的程序代碼,這種情況就會導致計算機在網絡環境當中存在安全漏洞。安全漏洞出現之后,計算機在網絡運行中就會潛藏安全隱患,比如計算機會被攻擊、窺視、盜取資料等。在信息技術不斷發展的情況下,網絡的普及率將會更高,計算機安全漏洞的檢查技術需要得到升級改造,將計算機面臨的安全風險降到最低限度。

2 計算機軟件安全漏洞檢測技術解讀

1)靜態程序解析

這種技術來自于編譯優化技術,對程序代碼進行分析,實現特定程序性質的求解,屬于多種分析技術的結合,其中居于基礎地位的是控制流與數據流兩種分析方法。前者提取代碼之中的控制結構,將控制流圖當做程序當中分支跳轉關系的抽象,對程序全部的可能執行路徑進行闡述。數據流分析涵蓋的內容較為復雜,可先從流敏感、流不敏感、路徑敏感、路徑不敏感等方面進行判定,其中需要注意程序語句的次序。比如,一個流不敏感對應的指針分析存在“變量x與y共同指向一個位置”的可能,單個流敏感則會表現出“某個語句得到執行之后,x和y存在位置指向一致”的可能。路徑敏感則與控制流有關系[1]。比如,某個分支條件為x>0,則其條件與不相符的分支下分析當中會設定x≤0,但是在符合條件時,則會設定為x>0成立。對上下文敏感進行分析,那么處理過程就會被調用,在對目標函數調用實施解讀時,其就會參照調用的上下文信息讓受到調用的函數能回歸到合理的調用位置,一旦這種信息處于空白,回歸過程中就要對全部的調用位置進行關注,導致潛在的精確度無法把握[2]。

2)利用邏輯公式對程序性質進行表達

這種方法出現的時間較長,后續的研究人員已在原有基礎上不斷進行創新發展。其中,要對軟件程序的正確性進行驗證,這種方式以語法推導切入點,對程序符合其功能規約要求進行推演。其中的功能規約屬于一對謂詞公式,主要內容有前置謂詞與后置謂詞,兩者一起在內涵方式的支持下,各自將程序前后存在的各種可能狀態納入都一個集合中。程序啟動是導致狀態變遷唯一誘因[3]。所以這樣的一對謂詞公式可以很好地對程序功能進行解讀并展示。程序的正確性主要有部分正確以及全部正確,可以利用能否確保程序終止對兩者進行區分。如果程序由符合前置謂詞要求的一個狀態正式啟動,能實現終止執行,那么終止的狀態必定能與后置謂詞相符。能對程序部分正確性進行判定的方法主要有不變式斷言法、目標斷言法、公理化等方法。其中的公理化方法的邏輯是完整的體系,其中的每個公式都是由單個程序語句和其前后置斷言共同構成,具體理論當中只有一條賦值公理,形式演算系統以一階謂詞邏輯為基礎,各自為順序、分支以及循環指令增加了相應的演算法則。公理化方法已經被證明具有較強的可靠性和完整性,但匹配的形式演算系統存在半可判定的情況。程序的正確性涉及程序設計人員利用邏輯公式對程序對應的功能規約展開描述,另外一個問題就是要為循環體確定循環不變式。

3)測試庫技術

這種技術主要是對軟件當中的動態內存錯誤實施判定。此方面具有代表性的工具就是Purify,能對全部的內存操作函數實施審視,比如free、malloc等。Purify可以對運行中的全部內存塊進行特殊標記,依靠這些標記就能在程序運行當中對內存操作是否存在失誤進行判定。這項技術需要和對應的庫進行連接。比如使用與Purify匹配的程序就要使用Purify庫。這種行為不需要花費較大成本。但是Purify具有商業性質,使用存在局限性。利用測試庫技術只能對動態內存操作函數導致的錯誤進行判定。而且其主要對運行過程中輸入數據進行監控,發現其中的弱點。這種檢測并不是從整體上進行判定。這也表明檢測過程只是驗證BUG是否被發現,但是無法證實BUG的存在。使用這項技術對于普通應用程序而言,并不會存在任何兼容問題。使用測試庫技術的主要優勢不存在誤報。從性能上對這個技術展開分析,其性能消耗較大,從其工作原理很容易能推導出這個結論。

4)源碼改編

程序運行當中存在緩沖區溢出弱點,這就需要對程序源代碼進行改寫,同時追蹤內存緩沖區的長度,達到檢測目的。這項技術在應用中不需要使用構造長度過長的數據,對信息進行改變、追蹤,分析是否正在調用存在安全隱患的庫函數,可能會造成緩沖區的溢出。這種方式在使用的過程中需要改寫源代碼。能都實現自動化代碼改編軟件STOBO出現之后,很多存在安全隱患的函數都會被自動修改。使用STOBO進行源代碼自動改寫,利用的是靜態分析代碼技術,程序員不會有多余的負擔。在庫包裹函數受到調用之后,其在緩沖區溢出漏洞的判定之中具有明顯的效果。但是,如果程序代碼對緩沖區直接干預,漏洞就存在漏報的可能。而且STOBO存在一定的局限性。源代碼改變技術存在引發競爭的可能,尤其是在多線程的代碼條件下。但是這類技術由于能收集精確的改編和追蹤信息,誤報率和ITS4等相比相對較低。這項技術表現出動態監測的優勢,其能在程序運行時獲得更加精準的信息。為此,將靜態檢測方式與動態檢測方式結合在一起能獲得較好的結果。

5)其他檢測方法

如果計算機當中存在漏洞,需要使用第三方軟件實施掃描,一旦發現漏洞就可以自動提示使用者進行修補。此外想要實現對計算機安全漏洞的高效檢測,就要對來訪的計算機IP實施檢查,對于本地IP之外的IP的軟件要具備較強的攔截能力,防范一些非法活動。計算機要能有效應對遠程攻擊,達到識別各種偽裝攻擊的目的,全滿加強對可疑行為的監控水平。

3 總結

計算機技術軟件使用范圍的擴展速度十分之快,信息安全問題產生的影響十分之大。當前,計算機軟件遭受的攻擊主要來自于軟件自身漏洞,另外也有黑客主動攻擊。在進行檢測時,要注意從根源上分析軟件安全問題,切實解決安全問題。這方面的檢測技術要堅持不懈地進行探索,不斷提升應對安全風險的能力。

參考文獻:

[1] 張樞,楊兆楠.網絡信息系統中軟件方面安全漏洞與防范[J].煤礦機械,2015,15(10):72-74.

[2] 劉仁千,張玉中,張超永.基于源代碼的軟件安全性測試研究[J].計算機安全,2014,24(8):32-35.

[3] 石琳.淺析安全檢測技術在計算機軟件中的應用[J].科學與財富,2015,35(2):128-128.

猜你喜歡
安全漏洞計算機軟件
禪宗軟件
計算機操作系統
基于計算機自然語言處理的機器翻譯技術應用與簡介
軟件對對碰
安全漏洞太大亞馬遜、沃爾瑪和Target緊急下架這種玩具
信息系統審計中計算機審計的應用
基于安全漏洞掃描的校園網告警系統的開發與設計
Fresnel衍射的計算機模擬演示
談軟件的破解與保護
安全漏洞Shellshock簡介
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合