馬玥 王云生
【摘 要】 隨著社會經(jīng)濟(jì)和科學(xué)技術(shù)不斷發(fā)展,現(xiàn)代信息技術(shù)在各個行業(yè)、領(lǐng)域,得到了越來越廣泛且深入的應(yīng)用,極大方便人們生活和工作的同時,對于計算機軟件安全提出了更高的標(biāo)準(zhǔn)要求。計算機軟件安全漏洞是造成一切計算機安全問題的根本原因,并且目前的第三方軟件無法實現(xiàn)對軟件自身漏洞的彌補和修復(fù),因此加強對計算機軟件安全漏洞的科學(xué)檢測,及時發(fā)現(xiàn)計算機軟件存在的安全漏洞問題,具有重要的現(xiàn)實意義。筆者即從計算機軟件安全入手,就其漏洞檢測技術(shù)和實踐應(yīng)用,發(fā)表幾點看法,以供相關(guān)人員參考。
【關(guān)鍵詞】 計算機 軟件安全 漏洞檢測技術(shù) 應(yīng)用
近幾年,我國社會經(jīng)濟(jì)發(fā)展迅速,帶動計算機技術(shù)、互聯(lián)網(wǎng)通訊技術(shù)等現(xiàn)代信息技術(shù)在各個行業(yè)、領(lǐng)域,得到了越來越廣泛且深入的應(yīng)用,計算機設(shè)備和各類系統(tǒng)軟件,已經(jīng)成為現(xiàn)代人正常工作、生活不可缺少的組成部分。在這種環(huán)境背景下,計算機軟件安全問題受到了社會各界的廣泛關(guān)注。究其根本,計算機軟件安全問題是由于計算機軟件存在安全漏洞導(dǎo)致的,即計算機軟件自身編寫程序存在一定的缺陷。計算機軟件存在安全漏洞,不僅會干擾系統(tǒng)的正常運行,還可能為不法分子利用,造成更為嚴(yán)重的不良后果。因此,加強對計算機軟件安全漏洞的科學(xué)檢測,具有重要的現(xiàn)實意義。筆者即從計算機軟件安全漏洞入手,就其漏洞檢測技術(shù)和有效應(yīng)用途徑,進(jìn)行了分析和探討,具體內(nèi)容如下:
一、計算機軟件安全漏洞基本內(nèi)涵概述
就計算機軟件而言,其漏洞具體是指計算機軟件編程中存在的一些缺點和弱項,在軟件運行過程中,可能對軟件系統(tǒng)造成一些不良的影響,同時也會給軟件運行埋下巨大的安全隱患。通常來說,計算機軟件安全漏洞分為安全性漏洞和功能性漏洞兩種類型,其中安全性漏洞一般不會對系統(tǒng)運行造成直接地影響,但其可以為黑客利用,通過發(fā)布錯誤指令、造成運行錯誤等方式,對于計算機和使用者造成嚴(yán)重的安全侵害;功能性漏洞則多直接表現(xiàn)在對系統(tǒng)正常運行的功能影響,具體包括運行結(jié)果錯誤、運行程序錯誤等等。
計算機軟件漏洞是造成的計算機軟件安全問題的根本原因,并且計算機漏洞與漏洞之間還存在著復(fù)雜的聯(lián)系。目前應(yīng)用的第三方軟件,如360殺毒、騰訊電腦管家等,雖然可以起到一定的安全防護(hù)作用,但不具備對軟件漏洞的自動修復(fù)功能,無法從源頭上消除軟件漏洞的安全威脅,因此必須加強對軟件漏洞的科學(xué)檢測,以確保系統(tǒng)的長期安全使用和運行。
二、目前常用的計算機軟件安全漏洞檢測技術(shù)分析
(一)靜態(tài)檢測技術(shù)分析
靜態(tài)檢測技術(shù)具體是指借助程序分析技術(shù)針對源代碼或二進(jìn)制代碼進(jìn)行系統(tǒng)分析,進(jìn)而判斷軟件漏洞存在情況的一種檢測技術(shù),該技術(shù)可以在不運行軟件的條件下進(jìn)行漏洞檢測,具有較高的安全性和實用性。目前,主要的靜態(tài)檢測技術(shù)主要有以下幾種:一,規(guī)則檢測技術(shù)。規(guī)則檢測技術(shù)通常是對軟件自身程序進(jìn)行檢測,通過特定語法對程序規(guī)則的描述,由規(guī)則處理器和分析器進(jìn)行處理和接受,最終對比得到程序漏洞的存在情況;二,詞法分析技術(shù)。詞法分析技術(shù)主要是借助語法基礎(chǔ)對多個程序進(jìn)行檢測的一種技術(shù)。具體來說,首先需針對目標(biāo)程序進(jìn)行合理劃分,隨后逐一對劃分后的片段進(jìn)行漏洞檢測,由于整個過程過于繁瑣,該技術(shù)的應(yīng)用局限性較大;三,類型推導(dǎo)檢測技術(shù)。該技術(shù)主要是通過對目標(biāo)程序相關(guān)函數(shù)和變量的實施進(jìn)行類型推導(dǎo)的方式,判斷軟件對二者訪問的正常情況。這一技術(shù)主要應(yīng)用于程序流與檢測間無相互關(guān)聯(lián)的情況;四,定理證明檢測技術(shù)。定理證明檢測技術(shù)主要是通過抽查計算機軟件程序安全性的方式,對程序抽象公式的準(zhǔn)確性進(jìn)行判斷的一種技術(shù)。
(二)動態(tài)檢測技術(shù)分析
動態(tài)檢測技術(shù)具體是指在源代碼相對固定的條件下,針對計算機程序運行進(jìn)行動態(tài)檢測的一種檢測技術(shù),應(yīng)用動態(tài)檢測技術(shù)不可避免地對運行環(huán)境造成一定的修改,雖然可達(dá)到檢測軟件漏洞的目的,但也可能造成全新的漏洞和隱患。目前,主要的動態(tài)檢測技術(shù)主要有以下幾種:一,非執(zhí)行棧技術(shù)。從計算機安全的角度分析,非執(zhí)行棧技術(shù)是最直接、最有效的阻止棧攻擊、保護(hù)計算機軟件安全的方法。但這種技術(shù)的缺陷同樣鮮明,只有在系統(tǒng)操作層修改棧之后才能使用,并且對于操作技術(shù)和規(guī)范有著較為嚴(yán)苛的要求;二,內(nèi)存映射技術(shù)。這一技術(shù)主要是通過將惡意攻擊代碼頁映射到計算機地址的方式,實現(xiàn)對黑客攻擊的干擾,進(jìn)而保障計算機的安全。該技術(shù)的優(yōu)勢在于不存在計算機代碼的修改需求,操作技術(shù)較為簡單;三,非執(zhí)行堆技術(shù)。“堆”具體是指計算機軟件運行過程中存在的程序分配區(qū)域,非執(zhí)行堆技術(shù)就是通過對數(shù)據(jù)段進(jìn)行初始化的方式,避免軟件非法入侵的一種技術(shù)。通常來說,非執(zhí)行堆技術(shù)往往與非執(zhí)行棧技術(shù)聯(lián)合使用,以達(dá)到理想的處理效果。
三、計算機軟件安全漏洞檢測技術(shù)的有效應(yīng)用途徑分析
(一)加強緩沖區(qū)溢出漏洞的科學(xué)檢測
就計算機軟件而言,使用漏洞檢測技術(shù)對軟件程序相關(guān)危險函數(shù)進(jìn)行系統(tǒng)的檢測和漏洞判斷,可有效避免緩沖區(qū)溢出漏洞的產(chǎn)生。另外,為進(jìn)一步優(yōu)化計算機的安全性能,還應(yīng)優(yōu)先使用strncat等安全版本,替代傳統(tǒng)的strcat版本。
(二)加強競爭條件漏洞的科學(xué)檢測
一般來說,相關(guān)操作人員可以借助原子化的形式,對出現(xiàn)競爭的代碼進(jìn)行漏洞檢測和操作,從而達(dá)到安全預(yù)防的目的。這種處理方法的優(yōu)勢在于不存在使用文件及其文件名系統(tǒng)的直接調(diào)用需求。
結(jié) 語
綜上所述,在計算機軟件使用過程中,相關(guān)人員必須加強對計算機軟件安全的重視和關(guān)注,并通過各類靜態(tài)檢測技術(shù)和動態(tài)檢測技術(shù)的科學(xué)運用,及時發(fā)現(xiàn)軟件中潛在的漏洞問題,從而保障計算機軟件長期的安全運行。
【參考文獻(xiàn)】
[1] 鮑彬,武云濤.計算機軟件安全漏洞檢測技術(shù)與應(yīng)用[J].中國新通信,2016(24).
[2] 楊博寧.計算機軟件安全漏洞檢測技術(shù)的應(yīng)用研究[J].中國科技縱橫,2014(09).