1. 首頁
  2. 計算機軟體

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

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

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主動攻擊。在進行檢測時,要注意從根源上分析軟體安全問題,切實解決安全問題。這方面的檢測技術要堅持不懈地進行探索,不斷提升應對安全風險的能力。