楊博寧
【摘 要】 伴隨著科學(xué)技術(shù)的發(fā)展,計算機軟件安全越來越重要。本文從計算機軟件安全漏洞出發(fā),在對計算機安全漏洞檢測技術(shù)分析的基礎(chǔ)上,提出了計算機軟件安全漏洞檢測技術(shù)的應(yīng)用策略。該研究對促進我國計算機軟件安全漏洞檢測技術(shù)應(yīng)用研究的發(fā)展有一定的借鑒作用。
【關(guān)鍵詞】 計算機 軟件安全 漏洞檢測技術(shù) 應(yīng)用
隨著電子商務(wù)的不斷發(fā)展,網(wǎng)絡(luò)交易的安全問題成為各大網(wǎng)站和商家關(guān)心的問題。網(wǎng)絡(luò)交易安全事件的根源是計算機軟件中存在的安全漏洞,所以檢測和修正軟件中的安全漏洞就可以杜絕安全事件的發(fā)生[1]。正是從這個層面出發(fā),本文對計算機軟件安全漏洞檢測技術(shù)的應(yīng)用進行研究。
1 計算機軟件安全漏洞概述
計算機軟件安全漏洞指的是計算機軟件自身存在的編寫缺陷,黑客利用這些漏洞非法訪問系統(tǒng)資源,或者對計算機軟件與計算機硬件造成損害。電腦用戶通過安裝防火墻和殺毒軟件,來保護系統(tǒng)自身的安全[2]。目前,使用最多的第三方軟件是360殺毒軟件、金山毒霸以及瑞星防火墻等等,但是這些軟件不能從根本上彌補軟件自身的漏洞。如果這些軟件自身運行不好,還會給軟件帶來更大的安全隱患。
2 計算機軟件安全漏洞檢測技術(shù)分析
計算機安全漏洞自動化檢測技術(shù)的出現(xiàn),可以提高軟件漏洞的檢測效率。目前,計算機安全漏洞自動化檢測技術(shù),主要為動態(tài)檢測技術(shù)和靜態(tài)檢測技術(shù)。
動態(tài)檢測技術(shù)指的是在源代碼不變的前提下對計算機程序進行動態(tài)檢測。動態(tài)監(jiān)測技術(shù)主要是對運行環(huán)境進行修改,雖然能對存在的漏洞進行有效的檢測,但會造成一些新的安全隱患,可能會對計算機系統(tǒng)正常運行造成影響。主要包括非執(zhí)行棧、非執(zhí)行堆、內(nèi)存映射、安全共享庫、沙箱以及程序解釋等等。以非執(zhí)行棧為例,應(yīng)對棧攻擊最直接有效的方法就是讓棧停止工作,可以有效的攔截黑客惡意代碼,但在應(yīng)用中有致命缺點,即需在操作層中進行相應(yīng)的設(shè)置或修改,運用不當(dāng)可能會對計算機系統(tǒng)性能造成傷害,特別是當(dāng)棧漏洞與堆溢出漏洞同時出現(xiàn)時更易出現(xiàn)問題。又如內(nèi)存映射,利用內(nèi)存映射技術(shù)可以將黑客所要攻擊的代碼頁映射到隨機地址上,會給黑客造成困擾,讓黑客花更多的時間查找地址(可能找不到),所以該技術(shù)不用修改代碼,而只需要重新鏈接。再如沙箱,該技術(shù)阻止黑客攻擊主要是限制訪問,其效果主要由定義策略全面與否決定,若定義策略合理且嚴(yán)格就能有效的防止黑客攻擊,但過于嚴(yán)格又會影響程序的正常利用,除此以外,若黑客利用本地變量進行入侵,則沙箱技術(shù)就失去作用。
靜態(tài)檢測技術(shù)主要是指利用程序分析技術(shù)對二進制代碼或者源代碼進行全面的分析。它的優(yōu)點是在不運行軟件的基礎(chǔ)上就可完成檢測,比較方便且不會產(chǎn)生其他安全漏洞。具體包括詞法分析、規(guī)則檢測、類型推導(dǎo)、模型檢測以及定理證明。以規(guī)則檢測為例,該技術(shù)主要是檢查程序本身,程序員在編程時,很容易不小心誤操作,造成安全漏洞[3]。規(guī)則檢測就是把程序規(guī)則用特定的語法描述出來,經(jīng)由規(guī)則處理器處理后能被分析器接受,接著對程序行為進行對比分析及檢測。又如類型推導(dǎo),該技術(shù)主要是通過程序中變量及函數(shù)類型推導(dǎo)觀察對變量及函數(shù)訪問是否正常,它比較適合用來分析與控制流沒有聯(lián)系的程序。
3 計算機軟件安全漏洞檢測技術(shù)的應(yīng)用策略
通過利用上文所論述的動、靜態(tài)安全漏洞檢測技術(shù),則能夠起到有效防治各類漏洞,提高軟件安全應(yīng)用的效果。具體可以通過以下方式來實現(xiàn):
3.1 緩沖區(qū)溢出漏洞的檢測
在計算機軟件中,可以通過采用安全漏洞檢測技術(shù)來對程序中的危險函數(shù)進行嚴(yán)格分析和判斷,從而起到預(yù)防緩沖區(qū)溢出漏洞的出現(xiàn)。同時,為了進一步提高計算機使用的安全性,還可采用一些安全版本,來代替以往的strcat版本,例如strncat等版本。
3.2 競爭條件漏洞的檢測
在檢測競爭條件漏洞方面,通??梢酝ㄟ^原子化的形式來操作發(fā)生競爭的代碼,從而實現(xiàn)防治的目的。代碼在執(zhí)行過程中單位最小,使得其在程序執(zhí)行期間,不容易受到各種干擾的阻滯[4]。而通過將代碼原子化,可以起到鎖定的作用,并用于對TOCTOU等問題的防范,這種做法的好處在于不需要直接調(diào)用所要使用的文件的文件名系統(tǒng),而是通過描述使用文件的句柄等來實現(xiàn)。
3.3 格式化字符串漏洞的檢測
通過安全漏洞檢測技術(shù)在計算機軟件中的高度防范作用,我們可以直接使用代碼中的格式常量,而不留下各種構(gòu)造格式串,進一步避免了攻擊者的攻擊風(fēng)險。一般來說,格式化字符串漏洞函數(shù)都是不定參數(shù)個數(shù)函數(shù)的產(chǎn)物,我們在使用前,一方面應(yīng)該先確認(rèn)這些函數(shù)的參數(shù)和個數(shù)都是均衡對應(yīng)的,另一方面,還需要借助基于 Windows 下的使用窗口來對相關(guān)數(shù)據(jù)進行輸入或輸出,從而減少和預(yù)防格式化字符串漏洞所導(dǎo)致的安全隱患。
除此以外,還可用于隨機數(shù)漏洞的檢測。一般在防范隨機數(shù)漏洞時,選擇較好的、符合程序要求的隨機數(shù)發(fā)生器是關(guān)鍵。通過使用這一類隨機數(shù)發(fā)生器,不但可以通過其本身具備的密碼算法,來有效提高隨機數(shù)流的安全運行,同時,還可在受到攻擊期間,即便攻擊者了解到所有的算法細(xì)節(jié),也不能夠生成數(shù)據(jù)流。
4 結(jié)語
在當(dāng)前,隨著互聯(lián)網(wǎng)的不斷發(fā)展和進步,以及電子商務(wù)領(lǐng)域的自動化、智能化和網(wǎng)絡(luò)化程度越來越深入,使得計算機軟件不斷被普及應(yīng)用,一定程度上這也增加了行業(yè)的隱患和風(fēng)險[5]。計算機軟件安全漏洞檢測是從本質(zhì)上發(fā)現(xiàn)問題,從本質(zhì)上研究軟件的安全性,進而提升計算機網(wǎng)絡(luò)的安全性。計算機軟件中安全漏洞檢測技術(shù)的研究,必須進行不斷探索,從本質(zhì)上防止黑客的非法入侵和惡意攻擊,保證計算機軟件的正常運行。
參考文獻:
[1]黃海濱,王艷芳.計算機軟件安全漏洞檢測技術(shù)的應(yīng)用研究[J].電腦與電信,2013,(4):51-52.
[2]高妍.計算機軟件安全漏洞檢測技術(shù)與應(yīng)用[J].計算機光盤軟件與應(yīng)用,2014,(2):172-173.
[3]閆云鋒.計算機軟件安全漏洞檢測技術(shù)探究[J].民營科技,2012,(11):99.
[4]肖鏃,趙倫.計算機軟件安全漏洞檢測技術(shù)探究[J].計算機光盤軟件與應(yīng)用,2012,(12):93.
[5]鄭晨.計算機軟件中安全漏洞檢測技術(shù)的應(yīng)用探討[J].電子技術(shù)與軟件工程,2013,(12):118.endprint