張永恒
海南師范大學信息科學技術學院,海南 海口570100
?
軟件安全漏洞檢測技術研究
張永恒
海南師范大學信息科學技術學院,海南海口570100
摘要:隨著我國信息技術的快速發展,越來越多的軟件滲入到人們的日常生活中,所以軟件系統的安全就成為了軟件開發中的重要工作內容。而軟件安全漏洞是威脅軟件安全的主要原因,很多黑客正是利用這一漏洞,通過代碼入侵到各大網站或者軟件程序中的。因而軟件安全漏洞檢測技術的研究成為人們關注的焦點。
關鍵詞:軟件技術;安全漏洞;技術
現代信息技術的高速發展給人們的生活提供了便利,但是同時也帶來一些弊端,如用戶信息泄露、破壞網站系統等,這些問題不僅會給人們造成一定的經濟損失還會給人們帶來一定的生活困擾,所以提高軟件安全系統是很必要的。而軟件安全漏洞檢測技術是預防和保證軟件安全的主要手段,因而其檢測技術也成為人們關注的焦點,就此本文與讀者對軟件安全漏洞檢測技術進行通過探究。
近年來,各種各樣的生活軟件受到人們的歡迎。如支付寶、百度錢包等是人們生活中常用的支付軟件不僅涉及到人們的真實身份信息還涉及到人們的財產安全,所以加強軟件安全漏洞檢測技術是很有必要的。一般分為兩種檢測方法即靜態檢測和動態檢測。
(一)靜態檢測技術
所謂靜態檢測技術是對軟件的源程序或代碼進行掃描,從語法、語義等方面來理解、分析程序的行為,從而找出其中的錯誤代碼或者異常行為。隨著近年來程序語言的革新,靜態檢測技術逐漸分為兩種一是靜態分析,二是程序檢驗。靜態分析是對軟件程序的源代碼進行掃描然后根據語法,了解代碼語言含義和程序行為是否匹配,再按照漏洞特點和檢測標準完成檢測任務。程序檢驗是指對面向抽象系統里的程序代碼進行檢測,其重點檢測內容是軟件程序是否符合實際需求,從而檢測出軟件是否存在安全漏洞。靜態檢測技術側重是軟件內部程序,檢測的關鍵在于對程序語言的檢測。程序檢測的側重點在于程序模型,主要是通過對軟件程序的有向圖和狀態機建立模型,來檢測軟件系統安全漏洞。一般分為兩種方法,一是符號化檢驗,二是模型自動化檢驗。靜態檢測技術的不足之處在于只能檢測一些符合漏洞描述標準的軟件漏洞,而對那些未知漏洞無法進行檢測。
(二)動態檢測技術
動態檢測技術分為四種,分別為內存映射、非執行棧、安全共享庫以及沙箱方法。內存映射是指通過在代碼中實施映射,使攻擊方的字符串末尾“NULL”的字符序列對內存作出全覆蓋的行為,從而使得跳轉到簡易區域內存中的控制無法繼續進行。非執行棧指的是通過更改棧內的執行代碼使攻擊方送入棧內的惡意代碼無法執行,從而降低攻擊的成功率。這是針對對棧進行攻擊的破壞行為。安全共享庫是指如果計算機有且執行了安全系數較低的共享庫產生了安全漏洞,就可以采用在程序執行階段對危險系數較高的函數運用進行攔截并進行測驗的方法。這是針對安全度較低的軟件進行的檢測技術。沙箱法就是借助程序的訪問來限制來實現預防損害性攻擊的方法。最著名的案例就是360隔離沙箱,隔離沙箱是創建一個有部分權限的系統環境的副本。其中所有的程序和操作都是修改到副本之中,對真實的系統本身并沒有改變。動態檢測技術相比于靜態檢測技術更加先進、方便。
(一)避免競爭性漏洞
競爭性漏洞是一種常見的安全漏洞模式,在這個模式中,非授權用戶能夠破壞系統的完整性和密封性。對于這類漏洞主要是采用原子化操作方法。比如某個進程在寫文件,而同時又有另一個進程從同一位置讀取數據,那么后一個進程讀到的數據有可能是新內容或舊內容,也有可能是新舊內容的混合。在設計程序時,如果不采用措施避免這個問題,就會很容易造成安全漏洞。如攻擊者將會有權限讀取任意的文件。
(二)避免緩沖區漏洞
緩沖區溢出是一種常見的編程錯誤。在軟件開發過程中,工作人員經常預留一部門特殊空間作為存放特殊信息的空間,如果沒有執行對比存放數據大小和保存它空間大小的代碼,那么靠近分配空間的內存就有會被攻擊覆蓋的危險。比如一段代碼的執行結果是打印html下某個HTML文件的內容,把html作為Red Hat服務器上Apache的httpd服務程序默認的文檔根目錄,當這段代碼接受一個文件名,并把它作為參數傳給open函數時,黑客就有可能把…/…/…/etc/shadow當作參數輸入的話,就會顯示出/etc/shadow的內容,并可能根據這些內容破譯出root密碼。
(三)避免隨機性漏洞和字符串漏洞
對于隨機性漏洞,在預防是可以采用性能良好、自帶密碼算法的隨機發生設備。這樣在遭遇攻擊時,就能夠確保數據流的安全。而對于字符串漏洞一般是采用格式常量使攻擊者無法創建格式串。
綜上所述,軟件安全漏洞檢測技術是保護計算機軟件系統安全的基本措施,所以工作人員應該不斷學習和創新軟件安全漏洞檢測技術,從而降低軟件安全攻擊率。
[參考文獻]
[1]李舟軍,張俊賢,廖湘科,馬金鑫.軟件安全漏洞檢測技術[J].計算機學報,2015,04:717-732.
[2]鐘麗芳.計算機軟件中安全漏洞檢測技術及其應用[J].計算機光盤軟件與應用,2013,12:59-60 +62.
[3]高妍.計算機軟件安全漏洞檢測技術與應用[J].計算機光盤軟件與應用,2014,04:172-173.
中圖分類號:TP309
文獻標識碼:A
文章編號:1006-0049-(2016)04-0213-01