楊曉明 劉禎
摘要:隨著科學(xué)技術(shù)的發(fā)展,計算機(jī)技術(shù)也得到了飛速的發(fā)展,在人們使用計算機(jī)的過程中,安全漏洞逐漸成為困擾廣大用戶的問題,為人們帶來了諸多不便。因此,為了使計算機(jī)技術(shù)為人們帶來更大的便利與效益,相關(guān)的計算機(jī)技術(shù)人員需要繼續(xù)深入鉆研,加強(qiáng)計算機(jī)安全漏洞的防護(hù)。文章對計算機(jī)軟件的安全漏洞做了簡要的論述,同時對計算機(jī)安全漏洞分類以及漏洞檢測技術(shù)做了研究并闡述了安全漏洞監(jiān)測技術(shù)的應(yīng)用。
關(guān)鍵詞:計算機(jī)軟件;安全;編程;漏洞檢測
在當(dāng)前人們的各項(xiàng)工作均越來越依賴計算機(jī)軟件的背景下,計算機(jī)軟件運(yùn)行的安全性需要有充分的保障,而要確保計算機(jī)軟件運(yùn)行安全需要對軟件的程序進(jìn)行科學(xué)的編程,預(yù)防安全漏洞。當(dāng)前計算機(jī)軟件復(fù)雜性越來越高,軟件的安全漏洞對整個系統(tǒng)的安全造成了重大的威脅,人們的重要信息泄露,辦公系統(tǒng)出現(xiàn)故障,對人們造成了巨大的損失。因此,人們對計算機(jī)軟件安全漏洞的預(yù)防與檢測開始逐漸重視,先進(jìn)的安全漏洞檢測技術(shù)可以及早發(fā)現(xiàn)計算機(jī)軟件內(nèi)部存在的安全隱患,從而減少人們的損失。
1 計算機(jī)安全漏洞概述
1.1 安全漏洞定義
計算機(jī)軟件的安全漏洞為計算機(jī)在軟件設(shè)計、硬件以及協(xié)議實(shí)施方面的不足導(dǎo)致系統(tǒng)安全性不足,一些未被授權(quán)的程序趁機(jī)入侵,進(jìn)而造成系統(tǒng)的損害甚至崩潰。安全漏洞的產(chǎn)生通常有以下幾種,最常見的為在程序編程中由于編程者的失誤出現(xiàn)了一些邏輯上的錯誤,進(jìn)而給不法人員可乘之機(jī);其次為軟件在進(jìn)行數(shù)據(jù)的處理與整合中出現(xiàn)邏輯上的失誤,這些模塊大小不一,對模塊進(jìn)行對比發(fā)現(xiàn),中等模塊的失誤率較低;還有軟件系統(tǒng)所處的硬件配置環(huán)境不同的情況下,也會產(chǎn)生相應(yīng)的漏洞;最后,隨著軟件的漏洞被不斷地發(fā)現(xiàn)與修補(bǔ),隨著時間的推移,會有新的露洞不斷出現(xiàn),這使得安全漏洞始終無法杜絕,只能對其不斷地完善與修復(fù),通過加強(qiáng)預(yù)防與及時更新使安全漏洞在早期階段即被發(fā)現(xiàn),以減少人們的損失。
1.2 安全漏洞特性
1.2.1 原發(fā)性
原發(fā)性是指計算機(jī)軟件本身在編程上存在著一定缺陷,這些缺陷在軟件的運(yùn)行中就會成為遭受攻擊的突破口,造成這種現(xiàn)象的主要原因在于軟件編程人員的自身失誤,由于其存在先天上的缺陷使得其容易遭受入侵者的攻擊。而計算機(jī)軟件的編程人員在進(jìn)行軟件設(shè)計與編程的過程中很難將全部的因素考慮周到,這使得計算機(jī)軟件自投入市場開始就存在著安全隱患,需要定期的更新與維護(hù)[1]。
1.2.2 差異性
隨著信息化時代的到來,人們的休閑、辦公、娛樂、交流等都更多地通過計算機(jī)軟件進(jìn)行,因此,計算機(jī)軟件在當(dāng)前的應(yīng)用極為廣泛,相應(yīng)的針對不同的用途也開發(fā)了形式多樣的軟件。由于計算機(jī)軟件的安全漏洞與相應(yīng)的工作環(huán)境、硬件配置等關(guān)系密切,同一款計算機(jī)軟件在不同的環(huán)境下工作所形成的漏洞也各有不同。計算機(jī)軟件的運(yùn)行主要是依據(jù)編程人員編寫好的程序代碼,不同的設(shè)備其硬件設(shè)施也各有不同,這導(dǎo)致軟件執(zhí)行代碼運(yùn)行的過程中會產(chǎn)生一定的差異,這使得安全漏洞呈現(xiàn)出差異性的特點(diǎn)。
1.2.3 延續(xù)性
計算機(jī)軟件中的安全漏洞具有延續(xù)性的特點(diǎn),所謂延續(xù)性是指安全漏洞不可能一勞永逸地解決掉,隨著安全漏洞的不斷修復(fù),又會出現(xiàn)新的漏洞,即使計算機(jī)軟件設(shè)計師對軟件進(jìn)行不斷地更新,還是會出現(xiàn)各種形式不一的漏洞,在不斷地更新中原有的安全漏洞會得到相應(yīng)的修補(bǔ),但是計算機(jī)軟件的程序在其他程序的邏輯上總會有新的錯誤,進(jìn)而出現(xiàn)新的漏洞,在原有漏洞不斷被修補(bǔ),新的漏洞不斷出現(xiàn)的循環(huán)中,計算機(jī)軟件不斷發(fā)展和完善。
2 如何檢測安全漏洞
2.1 動態(tài)監(jiān)測技術(shù)
2.1.1 非執(zhí)行技術(shù)
如今許多惡意攻擊軟件通常會尋找計算機(jī)軟件的漏洞入侵,對其進(jìn)行深入的研究,發(fā)現(xiàn)攻擊軟件最先入侵的是計算機(jī)軟件的棧,而棧內(nèi)儲存著大量的數(shù)據(jù),攻擊軟件入侵棧成功后會輸入惡意代碼并使其執(zhí)行。因此,計算機(jī)軟件內(nèi)的棧如果能夠不被惡意軟件改寫,那么就能有效保障計算機(jī)軟件運(yùn)行的安全性,從而減少出現(xiàn)漏洞的概率[2]。
2.1.2 數(shù)據(jù)安全漏洞檢測
這項(xiàng)檢測技術(shù)實(shí)際上是對計算機(jī)的數(shù)據(jù)內(nèi)存進(jìn)行各個區(qū)域的分配,計算機(jī)軟件內(nèi)不同的數(shù)據(jù)段對惡意攻擊軟件輸入的惡意代碼不會執(zhí)行,但是會啟動自身的數(shù)據(jù)執(zhí)行系統(tǒng),這使得惡意軟件植入的代碼無法發(fā)揮作用,進(jìn)而減少計算機(jī)軟件受到的損害。這項(xiàng)技術(shù)同時可以與非執(zhí)行技術(shù)共同運(yùn)用,對安全漏洞進(jìn)行全方位的防范,降低惡意代碼的執(zhí)行,以最大化地降低惡意軟件的攻擊。
2.1.3 沙箱安全漏洞檢測
這項(xiàng)檢測技術(shù)實(shí)質(zhì)上是對計算機(jī)資源的訪問權(quán)限進(jìn)行了限制,惡意軟件無法訪問,自然無法植入惡意代碼。程序解釋技術(shù)在所有的動態(tài)安全漏洞的檢測技術(shù)中比較傳統(tǒng),并且對漏洞的檢出有較好的效果。它可以詳細(xì)地對計算機(jī)軟件運(yùn)行的全過程進(jìn)行監(jiān)測,并且對各種軟件的安全性進(jìn)行強(qiáng)制檢測,同時對運(yùn)行程序做出相應(yīng)的解釋。由于這項(xiàng)技術(shù)的強(qiáng)制性檢測特點(diǎn),會導(dǎo)致較多的計算機(jī)性能消耗。
2.2 靜態(tài)檢測技術(shù)
2.2.1 詞法分析技術(shù)
這項(xiàng)技術(shù)通過計算機(jī)語言在語法的基礎(chǔ)上對多個計算機(jī)軟件進(jìn)行全面的檢測,具體通過以下幾個步驟操作:首先對程序進(jìn)行分段,將軟件的程序分為幾個片段,然后對每個片段的數(shù)據(jù)進(jìn)行全面的、詳細(xì)的檢測與分析,從而發(fā)現(xiàn)其中的安全漏洞。由于整個過程相對比較繁瑣,如非特定情況,這項(xiàng)技術(shù)很少使用。
2.2.2 規(guī)則檢測技術(shù)
這項(xiàng)技術(shù)應(yīng)用最多的是軟件自身的程序檢測,由于計算機(jī)軟件的編程極為復(fù)雜深奧,軟件編程師在編寫程序時不可避免的會發(fā)生失誤,進(jìn)而引起計算機(jī)軟件的安全漏洞。規(guī)則檢測技術(shù)能夠用語法對程序的規(guī)則進(jìn)行描述,相應(yīng)的處理器分析與處理以后被分析器接受,最后詳細(xì)地對程序進(jìn)行分析[3]。
2.2.3 類型推導(dǎo)檢測技術(shù)
計算機(jī)軟件正常運(yùn)行時,其程序的變量和函數(shù)的訪問處于正常狀態(tài),運(yùn)用類型推導(dǎo)檢測技術(shù)對計算機(jī)軟件的程序變量以及函數(shù)進(jìn)行推導(dǎo),進(jìn)而分析其訪問是否處于正常狀態(tài),這項(xiàng)技術(shù)主要用于檢測與程序流無關(guān)的程序。
3 安全漏洞檢測技術(shù)在計算機(jī)軟件中的應(yīng)用
3.1 預(yù)防競爭性漏洞的產(chǎn)生
安全漏洞形成的原因有許多,競爭的條件下計算機(jī)軟件會出現(xiàn)缺陷,進(jìn)而形成安全漏洞。對這一現(xiàn)象通過采用合適的安全漏洞檢測技術(shù)可以有效解決,通過對形成競爭條件的編碼進(jìn)行原子化的操作,計算機(jī)軟件就是通過執(zhí)行編程代碼而運(yùn)行的,原子化的編碼在運(yùn)行過程中不會被其他因素影響,因此安全漏洞檢測技術(shù)可以實(shí)現(xiàn)對漏洞良好的鎖定,進(jìn)而在競爭漏洞方面有一個良好的效果。
3.2 預(yù)防緩沖漏洞的產(chǎn)生
安全漏洞檢測技術(shù)不僅可以有效地阻止競爭條件下產(chǎn)生的漏洞,同時在緩沖區(qū)出現(xiàn)的漏洞也可以有良好的阻止效應(yīng),計算機(jī)軟件的函數(shù)發(fā)生異常將會導(dǎo)致漏洞的產(chǎn)生,而漏洞檢測技術(shù)可以對其進(jìn)行詳細(xì)的分析與檢查,從而有效預(yù)防緩沖區(qū)發(fā)產(chǎn)生的漏洞。同時對于計算機(jī)軟件中的一些存在安全隱患的危險版本要及時發(fā)現(xiàn),并用安全版本進(jìn)行取代。
3.3 預(yù)防隨機(jī)漏洞的產(chǎn)生
安全漏洞檢測技術(shù)在預(yù)防隨機(jī)漏洞方面有較好的效果。對隨機(jī)漏洞的有效阻止要求安全漏洞檢測技術(shù)能夠?qū)τ嬎銠C(jī)軟件的漏洞進(jìn)行實(shí)時的檢測,能夠隨時關(guān)注并及時發(fā)現(xiàn)計算機(jī)軟件運(yùn)行過程中出現(xiàn)的隨機(jī)漏洞。隨機(jī)發(fā)生器中對密碼有相應(yīng)的算法,因而漏洞檢測技術(shù)需要對隨機(jī)發(fā)生器中流入的各項(xiàng)數(shù)據(jù)進(jìn)行全面的并且實(shí)時的檢測,從而盡可能降低隨機(jī)漏洞的發(fā)生'
3.4 預(yù)防字符漏洞的產(chǎn)生
安全漏洞檢測技術(shù)還可以在阻止字符漏洞中起到良好的效果。由于字符的改變比如格式化、篡改等將會對計算機(jī)軟件的運(yùn)行產(chǎn)生很大的影響,進(jìn)而產(chǎn)生字符漏洞,在實(shí)際的應(yīng)用中需要對字符漏洞進(jìn)行充分的預(yù)防。安全漏洞檢測技術(shù)通過對字符進(jìn)行一定的處理,附加了特定的函數(shù),這使得字符多了一層保護(hù),最終有效預(yù)防字符漏洞的產(chǎn)生。
4 結(jié)語
隨著社會的發(fā)展,計算機(jī)軟件系統(tǒng)將會得到越來越廣泛的應(yīng)用。計算機(jī)安全漏洞是如今計算機(jī)軟件運(yùn)行中的主要威脅因素,如果對安全漏洞沒有一個詳細(xì)的了解,安全檢測技術(shù)沒有充分的研發(fā),人們的日常辦公以及休閑娛樂將會受到很大的影響。為了使計算機(jī)技術(shù)更好地造福人類,計算機(jī)軟件得以安全有序地運(yùn)行,我們還需要加大對安全漏洞的研究技術(shù),盡可能及早對漏洞進(jìn)行發(fā)現(xiàn)與預(yù)防,減少安全漏洞給人們帶來的損失。
[參考文獻(xiàn)]
[1]王懷.安全漏洞檢測技術(shù)在計算機(jī)軟件中的應(yīng)用研究[J].信息與電腦(理論版),2018(2):190-191.
[2]吳珅珅,周軍.計算機(jī)軟件屬性以及保護(hù)方式的認(rèn)知研究[J].電腦知識與技術(shù),2018(1):92-93.
[3]趙世斌,周天陽,朱俊虎,等.競態(tài)漏洞檢測方法綜述[J].計算機(jī)工程與應(yīng)用,2018(3):1-10.
[4]陳斯,盧華.計算機(jī)軟件中安全漏洞檢測技術(shù)及其應(yīng)用[J].電子技術(shù)與軟件工程,2016(11):79.