1.計算機軟件漏洞及其現(xiàn)狀
我們常說的計算機軟件漏洞是廣義上的軟件安全漏洞,主要是指在軟件的編寫過程中,容易對整個計算機軟件系統(tǒng)造成安全性方面威脅的缺陷,或者是能夠?qū)φ麄€系統(tǒng)的運行帶來影響的各類因素的總和。由于計算機軟件都是人為編制的,所以都會因為軟件的編制人員在編制軟件過程中的考慮問題不全面帶來安全漏洞,這是每一個計算機系統(tǒng)都存在的問題,所以漏洞的出現(xiàn)是在正常不過了。
但于此同時,計算機軟件存在的漏洞一旦被一些黑客發(fā)現(xiàn),就會成為攻擊的目標和突破口,所以我們在無法避免計算機軟件漏洞的同時,要及時對計算機軟件進行掃描,對發(fā)現(xiàn)的漏洞及時進行修復(fù),這也是評測一個計算機系統(tǒng)安全性能的一個標準。
從當前的情況來看,黑客利用計算機軟件系統(tǒng)的漏洞實施攻擊是當下軟件系統(tǒng)安全時間中最主要發(fā)生的一類,并且,網(wǎng)上一般活躍比較多的都是一些初級黑客,他們在對計算機軟件系統(tǒng)的漏洞進行攻擊是呈現(xiàn)了一定的特點,比如,漏洞遭受攻擊的次數(shù)與漏洞發(fā)布的時間成反比,也就是說,最新發(fā)布的軟件漏洞遭受黑客攻擊的次數(shù)比較多。著也是因為微軟會依據(jù)在系統(tǒng)中檢測中的漏洞進行及時的補丁完善而導(dǎo)致的,發(fā)布時間越長的漏洞,打補丁的用戶會越多。因此,如何能夠快速檢測出聯(lián)網(wǎng)計算機在使用過程中產(chǎn)生的軟件漏洞問題,并且有針對性地進行更新,是我們當前信息安全人員需要開展的重要工作。
2.計算機軟件漏洞檢測常用的技術(shù)
針對軟件存在漏洞的問題,信息安全人員也已經(jīng)于漏洞以及黑客打了半個多世紀的交道,因此,在漏洞檢測技術(shù)中,也形成了一系列檢測的慣例。如今我們在計算機軟件漏洞的檢測中比較常用的檢測方法主要有一下幾種:
(1)靜態(tài)檢測。靜態(tài)檢測技術(shù)就是我們軟件工程師常說的軟件靜態(tài)測試,通過一定的技術(shù)直接分析軟件的源代碼,通過對編程源代碼中的語法、語義進行分析,從最基本的邏輯中檢測和去除可能存在的安全隱患或者說軟件漏洞。目前在靜態(tài)測試過程中主要采取的方法有推斷、數(shù)據(jù)流分析以及約束分析這三類。其中,推斷主要是將同語法類型的源代碼進行總結(jié),有針對性地進行推斷,而數(shù)據(jù)流分析是通過斷點檢測的方法分析源代碼中數(shù)據(jù)的走向,以此來判斷源程序中是否會有安全隱患,約束分析就是在源代碼的一些地方認為增加一些可能發(fā)生的約束條件,看軟件是否會產(chǎn)生存在安全隱患的相應(yīng)。
靜態(tài)分析雖然能夠最直接地對軟件的安全隱患進行解除和排查,但是并不能完全排查出軟件中存在的漏洞,因此我們還需要尋找其他配合使用的軟件測試方法。
(2)動態(tài)測試。動態(tài)測試不同于靜態(tài)分析,是首先將軟件“跑起來”,在軟件執(zhí)行的情況下對軟件中的變量在特定時間域內(nèi)的數(shù)值變化提取出來進行分析,看其是否符合我們預(yù)定的變化軌道,以此來判斷軟件在哪一個環(huán)節(jié)會存在安全。動態(tài)測試中的一種方式是在動態(tài)測試的過程中就進行軟件數(shù)據(jù)信息的收集工作,而另外一種方式是將執(zhí)行過程中的信息做全紀錄,之后再用這些信息進行漏洞模式匹配,查找軟件漏洞。
(3)混合檢測。混合檢測并不是單純地將靜態(tài)檢測和動態(tài)檢測結(jié)合起來形成先靜態(tài)后動態(tài)或者先動態(tài)后靜態(tài)的檢測方法。而是在結(jié)合了二者的內(nèi)容衍生出的檢測方法,兼顧有兩種檢測方法的特點。這其中就包括了測試庫技術(shù)、源代碼的改編技術(shù)以及異常檢測技術(shù)等多種技術(shù)。這些技術(shù)都是使用在不同需求和不同環(huán)境下的混合軟件漏洞檢測技術(shù)。
通過計算機漏洞的檢測技術(shù),讓計算機軟件以及計算機自身的漏洞能夠盡快找出,從而進行軟件的及時漏洞修補與更新,在一定程度上完成對于漏洞的檢測工作。為了讓計算機更好的運行,并且保證期運行的安全性。漏洞檢測技術(shù)是必然要進行開發(fā)與研究的,此外要注意對于漏洞的危險性級別的分類。
3.計算機軟件漏洞的修復(fù)與更新
漏洞的修復(fù)與更新的概念非常廣,不僅包含了我們常說的對計算機軟件進行升級或者安全補丁的修復(fù),我們平時經(jīng)常使用的安裝防火墻、殺毒軟件以及更改一些關(guān)鍵部位的安全口令都可以看做是最計算機軟件的漏洞修復(fù)與更新。以安裝官方的補丁這種修復(fù)方法為例,最早提出對計算機軟件的漏洞進行補丁修復(fù)的是微軟公司,在補丁的全生命周期中對補丁的識別、部署以及評估等都需要進行有效的管理,才不會再次成為軟件安全漏洞。在軟件漏洞與修復(fù)的管理中主要有以下幾類成熟的管理模型:
(1)微軟補丁管理模型。微軟作為全球計算機系統(tǒng)的寡頭,其推行下的補丁管理模型已經(jīng)逐漸成為其他廠商的標準。微軟的補丁管理從漏洞的識別開始,經(jīng)過計劃階段、測試階段和部署階段。整個流程中通過對計算機漏洞的威脅等級進行評估和識別,在計劃階段拿出補丁的計劃方案并予以實施,再通過植入系統(tǒng)中進行全方位的測試到最終的部署階段。但是后續(xù)一定要對補丁的反饋信息進行及時的梳理和統(tǒng)計。
(2)CNCERT/CC補丁管理流程。這個補丁的管理流程是來自于我國國家計算機網(wǎng)絡(luò)應(yīng)急技術(shù)處理協(xié)調(diào)中心的,將補丁管理視為一類特殊的工程管理,也分為事前管理、實施過程的管理以及事后管理三部分。總體來講與微軟的管理模式大同小異,只是在事后管理中采取一定措施來保證計算機軟件系統(tǒng)的穩(wěn)定性。
4.結(jié)語
總之,隨著計算機技術(shù)的普及化以及越來越多的計算機軟件方面人才的培養(yǎng),黑客的數(shù)量也會越來越多。因此,計算機軟件的安全性也需要進行更高技術(shù)的改革。作為我們的計算機軟件的普通用戶來講,發(fā)現(xiàn)軟件的漏洞是非常正常的,但與此同時,我們也要做好保密工作,不要將漏洞散播出去,而是即使反饋給相應(yīng)的廠商,讓他們?nèi)プ鱿鄳?yīng)的更新工作,這樣我們才能夠有一個更好的計算機軟件的生存環(huán)境。