- 相關(guān)推薦
計算機安全漏洞的動態(tài)檢測
計算機安全漏洞的動態(tài)檢測【1】
摘 要:隨著國家經(jīng)濟的發(fā)展以及科學(xué)技術(shù)的提高,計算技術(shù)也開始不斷得到普及。
計算機技術(shù)和網(wǎng)絡(luò)技術(shù)在給人們提供了便利的同時,其自身的安全隱患也讓人們的生活受到了困擾。
由此可見,需要建立相應(yīng)有效的安全體系對計算機軟件的安全漏洞進行檢測和防護,防止不安全因素對計算機軟件的損害。
本文就計算機安全漏洞動態(tài)檢測技術(shù)進行了以下分析和探討。
關(guān)鍵詞:計算機;安全漏洞;動態(tài)檢測
在計算機的組成中,軟件是結(jié)構(gòu)體系中十分重要的一個內(nèi)容,軟件的安全性在很大程度上也影響了軟件的性能,從而影響了計算機的使用。
所謂計算機安全漏洞,就是計算機系統(tǒng)軟件以及協(xié)議在實現(xiàn)過程中或者計算機系統(tǒng)安全策略存在的一些問題和缺陷。
在計算機軟件中,安全漏洞的出現(xiàn),會導(dǎo)致計算機系統(tǒng)受到入侵,對計算機的安全性造成嚴(yán)重影響。
如何對安全漏洞進行檢測,并對漏洞進行修復(fù),也是目前計算機信息安全領(lǐng)域中的一個難題。
1 計算機安全漏洞動態(tài)檢測的概述
在計算機系統(tǒng)中,安全漏洞是計算機系統(tǒng)自身的一些缺陷和問題,這些缺陷和問題的出現(xiàn),計算機系統(tǒng)也會因此受到侵襲和攻擊。
這些安全漏洞大多與計算機軟件的開發(fā)工作中,開發(fā)人員人為失誤有關(guān)。
對于計算機安全漏洞,主要存在以下幾個特點:
(1)軟件的編程過程中,邏輯錯誤是常見的一個問題,大多是因為開發(fā)人員失誤所致。
(2)在軟件的數(shù)據(jù)處理過程中,比數(shù)值的計算中邏輯錯誤較為常見,相比中等程度模塊,過大模塊以及過小模塊的錯誤率更高。
(3)計算機安全漏洞與系統(tǒng)環(huán)境存在十分密切的聯(lián)系,不同的系統(tǒng)以及不同的軟件設(shè)備和版本在安全漏洞的種類上也會不一樣。
(4)計算機安全漏洞與時間的聯(lián)系也十分密切,在時間的影響下,舊漏洞會逐漸得到修復(fù),然而新的漏洞也會不斷出現(xiàn)。
由此可見,計算機系統(tǒng)的安全漏洞情況將會長時間的存在,因此需要采取合理的措施對其進行控制和檢測。
2 計算機安全漏洞動態(tài)檢測技術(shù)
計算機安全漏洞動態(tài)檢測技術(shù)主要是在源代碼保持不變的情況下,對計算機程序缺陷進行檢測,其對運行環(huán)境進程有所要求,因此需要對計算機運行環(huán)境進程進行修改。
在計算機安全漏洞動態(tài)檢測技術(shù)上,主要存在以下幾種技術(shù):
2.1 非執(zhí)行棧檢測技術(shù)
在目前,攻擊事件中,以棧為基礎(chǔ)的攻擊發(fā)生率日益增加。
這主要是因為計算機操作系統(tǒng)中,大多數(shù)的棧具有可執(zhí)行性,另外棧存儲著內(nèi)部變量,這也使得攻擊率大大增加,攻擊方可以通過將惡意代碼注入棧中,即可攻擊對方計算機系統(tǒng)。
另外,攻擊棧的技術(shù)目前較為完整,這也讓棧成為了主要的攻擊對象。
在對此類攻擊的防范中,主要目標(biāo)是讓棧中的惡意代碼得不到執(zhí)行,從而防止棧受到攻擊。
然而,這種防范方法要求對計算機的操作系統(tǒng)進行修改,加上棧出現(xiàn)不可執(zhí)行的情況,計算機的自身性能也會受到影響。
對于一些存在棧以及堆溢出漏洞的程序,可以通過棧溢出從而是程序向攻擊代碼跳轉(zhuǎn),代碼置于堆上,執(zhí)行棧沒有實際代碼,而是堆中的執(zhí)行代碼。
非執(zhí)行棧檢測技術(shù)要求對計算機操作系統(tǒng)的內(nèi)核進行修改,將棧頁標(biāo)設(shè)置為不可執(zhí)行。
非執(zhí)行棧檢測技術(shù)僅可以檢測棧攻擊并對其進行組織,在檢測的全面性上還不夠完整。
攻擊方如果將惡意代碼的數(shù)據(jù)段注入棧中,非執(zhí)行棧檢測技術(shù)則會失效。
另外,這項技術(shù)在兼容性方面還存在一系列的問題。
2.2 非執(zhí)行堆和數(shù)據(jù)檢測
在堆中,因為程序運行動態(tài)分配過程中所存的區(qū)域,數(shù)據(jù)段已將其初始化,加上堆以及數(shù)據(jù)段在非執(zhí)行時對計算機軟件的運行存在影響,因此非執(zhí)行堆和數(shù)據(jù)檢測技術(shù)的發(fā)展也不斷受到阻礙。
堆和數(shù)據(jù)段在不執(zhí)行代碼的情況下,攻擊方的惡意代碼也將不會被執(zhí)行,同時將這種技術(shù)與非執(zhí)行棧技術(shù)相互配合,能夠?qū)崿F(xiàn)對計算機安全漏洞的有效檢測和保護。
然而,非執(zhí)行堆以及數(shù)據(jù)檢測技術(shù)在實施上要求對計算機內(nèi)核進行大量修改。
然而,這項技術(shù)的可行性也得到了很多人的肯定,其能夠檢測和抵御所有在進程內(nèi)存中注入的惡意代碼攻擊。
然而,這項技術(shù)在堆以及數(shù)據(jù)段代碼的動態(tài)生成模式進行了改變,因此也讓程序出現(xiàn)了不兼容的情況。
2.3 內(nèi)存映射檢測技術(shù)
一些攻擊方可以利用NULL結(jié)尾字符串覆蓋內(nèi)存,從而對系統(tǒng)進行攻擊。
對于這種情況,可以隨機將代碼頁進行內(nèi)存地址的映射,從而使這種依靠地址猜測的方法無效。
比如,在緩沖區(qū)的溢出漏洞中,攻擊方一般要尋找內(nèi)存的目標(biāo)進程地址,并利用自身創(chuàng)造的數(shù)據(jù)覆蓋該地址。
然而這種地址主要是系統(tǒng)自身計算所得出的,因此通過內(nèi)存映射檢測技術(shù),將代碼頁進行隨機地址映射,則會增加攻擊方的難度。
然而對于內(nèi)存映射檢測技術(shù),也需要修改系統(tǒng)內(nèi)核,將系統(tǒng)的代碼頁在低內(nèi)存的空間內(nèi)映射。
對于內(nèi)存映射檢測技術(shù),其能夠檢測和阻止內(nèi)存地址跳轉(zhuǎn)的攻擊。
然而對于新代碼注入和執(zhí)行的攻擊則無法進行檢測。
另外,因低端內(nèi)存大小受限,因此在代碼頁映射上,也無法實現(xiàn)所有代碼頁的低端內(nèi)存映射。
2.4 安全共享庫檢測技術(shù)
對于計算機軟件的安全漏洞,大多是因為不安全共享庫使用所致,這是因為共享庫內(nèi)部存在大量不安全的函數(shù),這種函數(shù)會對計算機系統(tǒng)造成嚴(yán)重影響。
安全共享庫檢測技術(shù)主要利用動態(tài)鏈接技術(shù),并對程序運行過程中的不安全函數(shù)的使用進行攔截。
另外,安全共享庫檢測技術(shù)還能夠評估內(nèi)存的上限,從而防止數(shù)據(jù)在評估邊界上寫入。
此技術(shù)在開發(fā)和配置上較為簡單,因此無需對程序進行修改。
從理論上看,安全共享庫檢測技術(shù)能夠?qū)?biāo)準(zhǔn)庫函數(shù)為基礎(chǔ)的攻擊進行檢測和保護。
然而,由于其無法保證本地變量的安全,因此也使得數(shù)據(jù)段以及代碼段數(shù)據(jù)溢出攻擊得不到化解。
另外,安全共享庫檢測技術(shù)對于非標(biāo)準(zhǔn)庫函數(shù)也沒有能力。
唯一的優(yōu)點是,其能夠保證系統(tǒng)不會出現(xiàn)兼容性問題。
2.5 沙箱檢測技術(shù)
沙箱檢測技術(shù)主要是對進程訪問的資源進行控制,從而對安全漏洞進行檢測和防范。
在系統(tǒng)調(diào)用函數(shù)上,如果存在多種軟件調(diào)用了系統(tǒng),則可能是系統(tǒng)受到攻擊所致。
在攻擊之前,可以采用沙箱檢測技術(shù)對該資源訪問進行控制,從而使攻擊得到化解。
沙箱檢測技術(shù)對系統(tǒng)的內(nèi)核以及應(yīng)用程序無需進行修改,然而需要對安全檢測對象程序的資源訪問策略進行定義,定義工作較為復(fù)雜和麻煩。
此技術(shù)在檢測上較為全面,能夠有效對程序進行保護,然而對于重要本地變量改寫方面,此技術(shù)無法發(fā)揮效用。
沙箱檢測技術(shù)在兼容性上并不存在問題。
2.6 程序解釋檢測技術(shù)
程序解釋檢測技術(shù)是針對程序運行過程中的檢查和監(jiān)視的一項技術(shù)。
對于此技術(shù)而言,在性能消耗上要求較大,程序監(jiān)視器在使用的過程中,雖然能夠進行額外安全檢測,但是其性能的消耗也十分巨大。
程序解釋檢測技術(shù)的內(nèi)核以及程序代碼無需進行改變,僅僅要求在程序中對新啟動代碼進行重新鏈接,在安全策略上較為全面,能夠?qū)Ω鞣N危險函數(shù)參數(shù)變化以及程序控制流程修改等攻擊進行檢測和阻止。
3 結(jié)束語
計算機安全問題一直十分嚴(yán)峻,這也使得安全漏洞檢測技術(shù)得以發(fā)展。
在對安全漏洞進行檢測的過程中,需要對安全漏洞加以分析,運用安全漏洞檢測技術(shù),從而使計算機的安全性得到加強。
參考文獻(xiàn):
[1]彭煒.計算機安全漏洞動態(tài)檢測研究[J].光盤技術(shù),2009,2(4):16-17.
[2]冉崇善,周瑩.軟件設(shè)計中的安全漏洞動態(tài)檢測技術(shù)分析[J].微計算機信息,2010,3(6):78-79.
[3]梁彬,侯看看,石文昌.一種基于安全狀態(tài)跟蹤檢查的漏洞靜態(tài)檢測方法[J].計算機學(xué)報,2009,3(05):103-104.
[4]萬緒江,班顯秀,劉小東.網(wǎng)絡(luò)安全的防御方法和可行性研究[J].電腦編程技巧與維護,2010,1(08):111-112.
[5]張迎,寧玉文,高東懷.高校網(wǎng)站信息安全威脅與對策探析[J].中國教育信息化,2010,1(09):142-143.
計算機安全漏洞的動態(tài)檢測【2】
【摘 要】動態(tài)檢測方法就是在不改變源代碼甚至是二進制代碼的情況下,對程序的弱點進行檢測的方法,這類檢測主要通過修改進程運行環(huán)境來實現(xiàn)。
動態(tài)檢測方法主要有:非執(zhí)行棧、非執(zhí)行堆與數(shù)據(jù)、內(nèi)存映射、安全共享庫、沙箱和程序解釋等。
【關(guān)鍵詞】計算機;安全漏洞;動態(tài)檢測
1.計算機安全動態(tài)檢測技術(shù)探討
1.1非執(zhí)行棧技術(shù)
基于棧進行軟件攻擊的事件最近幾年經(jīng)常發(fā)生,原因就是很多操作系統(tǒng)的棧是可以寫與執(zhí)行的,而且內(nèi)部變量尤其是數(shù)組變量都保存在棧中,攻擊者向棧中注入惡意代碼,然后想方設(shè)法來執(zhí)行這段代碼。
棧攻擊技術(shù)的文檔也比較全面,這從某種程度上加速了基于棧的攻擊。
一個最直接的防范棧攻擊的方法就是使得棧不能執(zhí)行代碼。
這樣即使攻擊者在棧中寫入了惡意代碼,這個惡意代碼也不會被執(zhí)行,在一定程度上防住了一些攻擊者。
只是這個方法需要在操作系統(tǒng)層進行修改,同時,不可執(zhí)行棧的技術(shù)涉及到的一個大問題就是性能問題。
此外,在既有棧溢出漏洞又有堆溢出漏洞的程序中,易出問題。
可以利用棧溢出使程序跳轉(zhuǎn)至攻擊代碼,該代碼是被放置在堆上。
沒有實際執(zhí)行棧中的代碼,而是執(zhí)行了堆中的代碼。
該技術(shù)所付出的代價就是對操作系統(tǒng)內(nèi)核引入一個微小的改變:把棧頁標(biāo)記為不可執(zhí)行。
1.2非執(zhí)行堆與數(shù)據(jù)技術(shù)
由于堆是程序運行時動態(tài)分配內(nèi)存的區(qū)域,而數(shù)據(jù)段則是程序編譯時就初始化好了的。
很長時期以來,由于擔(dān)心非執(zhí)行的堆與數(shù)據(jù)段會破壞軟件的正常運行,所以該方法進展緩慢,最近幾年才有些進展和文章。
如果堆和數(shù)據(jù)段都不能執(zhí)行代碼,攻擊者注入其中的惡意代碼將不能被執(zhí)行。
這項技術(shù)和前面的非執(zhí)行棧技術(shù)結(jié)合能起到更全面的作用,使得惡意代碼徹底失去執(zhí)行機會。
使用該技術(shù)所付出的代價要比非執(zhí)行棧技術(shù)大一些,因為它對內(nèi)核的修改要多一些。
現(xiàn)在已經(jīng)有了大量的實例可以使用,這個技術(shù)還是可以接受的。
從全面性上來看,該技術(shù)對于幾乎所有的利用把惡意代碼注入進程內(nèi)存中的攻擊都可以檢測并阻止。
但是,對于惡意修改函數(shù)指針和函數(shù)參數(shù)的攻擊沒有辦法檢測和防范。
該技術(shù)改變了傳統(tǒng)程序在堆或數(shù)據(jù)段中動態(tài)生成代碼的方式,會造成很多應(yīng)用程序的不兼容性。
1.3內(nèi)存映射技術(shù)
內(nèi)存映射技術(shù)可以檢測并阻止基于內(nèi)存中地址跳轉(zhuǎn)的攻擊。
但它對于注入新代碼并執(zhí)行新代碼的攻擊不能檢測和預(yù)防。
除此之外,因為低端內(nèi)存是有大小限制的,想把所有的代碼頁都映射到低端內(nèi)存在有些應(yīng)用中是不可行的。
內(nèi)存映射技術(shù)僅僅對那些依靠固定地址或使用高端地址的應(yīng)用程序有影響。
而這樣的應(yīng)用程序并不多。
內(nèi)存映射技術(shù)對性能的消耗也可以忽略,它僅僅是在程序裝載的過程中工作,運行起來之后對程序沒有任何影響。
1.4安全共享庫技術(shù)
從理論上講,安全共享庫技術(shù)可以檢測并防止所有的基于標(biāo)準(zhǔn)庫函數(shù)的攻擊。
但是它不能保護本地變量的安全,而且它也不能防止數(shù)據(jù)段和代碼段數(shù)據(jù)的溢出攻擊。
安全共享庫技術(shù)對于非標(biāo)準(zhǔn)的庫函數(shù)無能為力。
安全共享庫技術(shù)不會造成任何兼容性問題,在標(biāo)準(zhǔn)庫下運行正常的程序在安全共享庫技術(shù)下面也同樣運行良好。
安全共享庫技術(shù)對于那些和安全沒有關(guān)系的標(biāo)準(zhǔn)庫中函數(shù)不做任何處理。
性能瓶頸主要在這些有安全弱點的函數(shù)上。
1.5沙箱技術(shù)
沙箱技術(shù)檢測的全面性主要看定義的策略的全面性。
一個嚴(yán)格定義的策略可以更好的保護程序不受攻擊。
但該技術(shù)對于通過改寫關(guān)鍵的本地變量(例如用戶的身份ID等)而修改程序邏輯流程的攻擊束手無策。
沙箱技術(shù)依賴于安全策略。
它不會帶來兼容性方面的問題。
但是一個過于嚴(yán)格的策略可能會限制應(yīng)用程序的合法行為,最終導(dǎo)致程序不能使用。
而且對系統(tǒng)調(diào)用函數(shù)的審查可能會帶來競爭條件問題的出現(xiàn)。
1.6程序解釋技術(shù)
程序解釋技術(shù)不需要對操作系統(tǒng)內(nèi)核和應(yīng)用程序代碼作任何改變,應(yīng)用程序只要重新鏈接產(chǎn)生一個新的起動代碼就可以了,然后有這個起動代碼來調(diào)用動態(tài)優(yōu)化的程序解釋框架。
有了嚴(yán)謹(jǐn)?shù)陌踩呗裕瑤缀跛幸阎母淖兂绦蚩刂屏鞒袒蛐薷奈kU函數(shù)的參數(shù)的攻擊都可以被檢測到并防范住。
2.計算機網(wǎng)絡(luò)安全漏洞檢測防護方案
2.1發(fā)送含特征碼的檢測數(shù)據(jù)包與接收數(shù)據(jù)包
首先需要在漏洞特征庫中查找漏洞的特征碼,構(gòu)造數(shù)據(jù)包進行發(fā)送。
在發(fā)送檢測數(shù)據(jù)包之前,先判斷目標(biāo)主機是否在線,然后檢測操作系統(tǒng)版本等基本信息,并掃描它的端口開放以及所提供的服務(wù)情況,以此避免不必要的空掃描和決定檢測數(shù)據(jù)包發(fā)往的目的端口。
在漏洞檢測時,若目標(biāo)主機不在線或所提供服務(wù)的相應(yīng)端口沒有開放,就無須進一步發(fā)送數(shù)據(jù)進行檢測,可以提高檢測效率。
在Windows系統(tǒng)中,NDIS(Network Driver Interface Specification)是操作系統(tǒng)網(wǎng)絡(luò)功能驅(qū)動的關(guān)鍵部分,位于網(wǎng)絡(luò)驅(qū)動協(xié)議和網(wǎng)卡之間,它既為上層的協(xié)議驅(qū)動提供服務(wù),又屏蔽了各種網(wǎng)卡的差別。
它提供了一個完備的NDIS庫,可以利用庫函數(shù)直接對網(wǎng)卡進行各種讀寫操作。
但所提供的函數(shù)都是工作在核心模式下,用戶不便直接操作。
本方案采用由澳大利亞的Canberra大學(xué)信息科學(xué)與工程系開發(fā)研制的網(wǎng)絡(luò)開發(fā)包Packet32來設(shè)置網(wǎng)卡的工作模式,調(diào)用庫中函數(shù)直接在網(wǎng)卡上讀寫數(shù)據(jù),為用戶提供了一個面向底層的網(wǎng)絡(luò)編程接口。
2.2建立漏洞特征庫與驗證庫
漏洞特征庫是計算機網(wǎng)絡(luò)漏洞安全檢測防護方案中最為重要的部分,包含每個漏洞的特征碼。
在實際檢測中,最終操作是對網(wǎng)絡(luò)數(shù)據(jù)包的操作,所以特征碼應(yīng)該能夠保證檢測數(shù)據(jù)包的有效性和接收回應(yīng)數(shù)據(jù)包后的判斷的準(zhǔn)確性。
由于漏洞的種類千差萬別,提取漏洞的特征碼是關(guān)鍵工作,實現(xiàn)漏洞掃描是一個分析漏洞、建立知識庫、維護知識庫的過程。
2.3漏洞掃描控制與調(diào)度
漏洞掃描控制是系統(tǒng)管理控制臺與掃描調(diào)度的接口,接受系統(tǒng)管理控制臺的各種命令,可對要掃描的網(wǎng)絡(luò)、主機和服務(wù)端口、敏感信息等等加以配置,按一定的掃描控制策略調(diào)用掃描調(diào)度;可以控制掃描調(diào)度模塊的工作,使整個檢測系統(tǒng)暫停、停止、繼續(xù)、結(jié)束等。
漏洞掃描調(diào)度根據(jù)掃描控制模塊發(fā)送的掃描控制要求,采用消息機制協(xié)調(diào)各工作模塊。
采用多線程調(diào)度策略,對本地或遠(yuǎn)程主機進行掃描;調(diào)用漏洞特征庫接口模塊,在漏洞特征庫表文件中查詢漏洞對應(yīng)的檢測表文件名稱,調(diào)用檢測驗證模塊進行檢測驗證等。
3.漏洞防護建議
在系統(tǒng)作完安全漏洞檢測、掃描之后,形成針對整個系統(tǒng)多種形式的安全報表,如系統(tǒng)內(nèi)工作站或服務(wù)器在某一時間段內(nèi)的安全狀況、提供服務(wù)的變化情況以及軟件版本更新的情況等,并在此基礎(chǔ)上提交用戶檢測報告,主要包括漏洞風(fēng)險分析及安全建議。
漏洞的風(fēng)險分析包括漏洞的流行程度、利用漏洞攻擊的容易程度、攻擊造成系統(tǒng)的損害程度和采用此漏洞進行攻擊被抓獲的冒險程度。
損害度、容易度、流行度、冒險度都由數(shù)字1到9來表示不同的級別。
其中冒險程度越大,攻擊者被抓住可能性就越大,風(fēng)險級別就相應(yīng)的減小。
因此,冒險度的具體數(shù)值與實際的冒險程度恰好相反。
安全建議是根據(jù)漏洞風(fēng)險分析的結(jié)果提醒用戶需要在哪些方面如何加強系統(tǒng)的安全性。
安全建議具體包括需要填補的所有系統(tǒng)漏洞,如何填補這些漏洞(修改系統(tǒng)配置、下載相應(yīng)補丁、刪除不必要的服務(wù)等),在填補所有漏洞不可實現(xiàn)的情況下,應(yīng)當(dāng)優(yōu)先填補那些對系統(tǒng)安全威脅較大或填補工作較為容易的漏洞。
【參考文獻(xiàn)】
[1]單谷云,黃成軍,江秀臣.電纜排管機器人的圖像監(jiān)控傳輸系統(tǒng)設(shè)計[J].微計算機信息.2008,(29).
[2]蔣誠.信息安全漏洞等級定義標(biāo)準(zhǔn)及應(yīng)用[J].信息安全與通信保密,2007,(6).
【計算機安全漏洞的動態(tài)檢測】相關(guān)文章:
計算機網(wǎng)絡(luò)安全漏洞及防范的論文10-11
計算機網(wǎng)絡(luò)安全漏洞及防范論文10-08
學(xué)校核酸檢測工作動態(tài)簡報(精選10篇)10-20
計算機網(wǎng)絡(luò)常見安全漏洞及基本防護論文10-08
計算機漏洞檢測思考論文10-08
計算機仿真動態(tài)負(fù)載平衡新算法應(yīng)用論文10-09
檢測評估計算機安全論文10-11
新型計算機病毒檢測分析論文10-10