當前位置:學問谷 >

行業範例 >計算機軟件 >

淺談計算機軟件安全漏洞檢測技術論文

淺談計算機軟件安全漏洞檢測技術論文

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

淺談計算機軟件安全漏洞檢測技術論文

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

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

1)靜態程序解析

這種技術來自於編譯優化技術,對程序代碼進行分析,實現特定程序性質的求解,屬於多種分析技術的結合,其中居於基礎地位的是控制流與數據流兩種分析方法。前者提取代碼之中的控制結構,將控制流圖當做程序當中分支跳轉關係的抽象,對程序全部的可能執行路徑進行闡述。數據流分析涵蓋的內容較為複雜,可先從流敏感、流不敏感、路徑敏感、路徑不敏感等方面進行判定,其中需要注意程序語句的次序。比如,一個流不敏感對應的指針分析存在“變量x與y共同指向一個位置”的可能,單個流敏感則會表現出“某個語句得到執行之後,x和y存在位置指向一致”的可能。路徑敏感則與控制流有關係。比如,某個分支條件為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 總結

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

  • 文章版權屬於文章作者所有,轉載請註明 https://xuewengu.com/flhy/ruanjian/w2mp4g.html