前言:想要寫(xiě)出一篇引人入勝的文章?我們特意為您整理了0day應(yīng)用下的計(jì)算機(jī)安全論文范文,希望能給你帶來(lái)靈感和參考,敬請(qǐng)閱讀。
一、何謂“0day”
0day是指那些沒(méi)有公開(kāi)因而也沒(méi)有補(bǔ)丁的漏洞。也就是通常所說(shuō)的“未公開(kāi)漏洞”。0day無(wú)外乎破解的意思;最早的破解是專(zhuān)門(mén)針對(duì)軟件的,叫做WAREZ,后來(lái)才發(fā)展到游戲,音樂(lè),影視等其他內(nèi)容的。0day中的0表示zero,早期的0day表示在軟件發(fā)行后的24小時(shí)內(nèi)就出現(xiàn)破解版本,現(xiàn)在我們已經(jīng)引申了這個(gè)含義,只要是在軟件或者其他東西后,在最短時(shí)間內(nèi)出現(xiàn)相關(guān)破解的,都可以叫0day。0day是一個(gè)統(tǒng)稱(chēng),所有的破解都可以叫0day。0day可以分為服務(wù)器和客戶(hù)端。服務(wù)器端則主要包含了HTTPD,F(xiàn)TPD,IMAPD等等。客戶(hù)端則是主要包括了IE,F(xiàn)irefox,Word,AcrobatReader,WinRAR,Realplayer,Winamp,等等。使用0day的人主要可以分為以下幾類(lèi):各國(guó)情報(bào)機(jī)關(guān),在和平時(shí)期可以通過(guò)各種0day漏洞來(lái)獲取各種信息,戰(zhàn)時(shí)除了獲取情報(bào)外還可以通過(guò)0day漏洞展開(kāi)各種網(wǎng)絡(luò)攻擊;第二類(lèi)人是黑客,他們的一部分僅僅是進(jìn)行研究,而另外的一部分利用0day漏洞的目的就不言而喻了,而且有很多0day漏洞都是黑客所發(fā)現(xiàn)的;第三類(lèi)是滲透測(cè)試人員,利用0day漏洞來(lái)測(cè)試網(wǎng)絡(luò)的安全程度;最后就是蠕蟲(chóng)病毒也可能利用0day。使用0day漏洞的主要原因可以分為以下幾種:有效,很多已經(jīng)公布出來(lái)的漏洞由于各種原因,已經(jīng)不再有效;逃避入侵檢測(cè);很酷,很有趣等等。
二、挖掘0day的方法
作為攻擊者,除了需要精通各種漏洞利用技術(shù)之外,想要實(shí)施有效的攻擊,就必須掌握一些沒(méi)有公布的0day漏洞。而作為安全專(zhuān)家,他們的本職工作就是在搶在攻擊者之前發(fā)現(xiàn)更多的未公布漏洞。因此,不管是攻擊者還是安全專(zhuān)家,都需要精通漏洞挖掘。漏洞挖掘的方法主要有源代碼審核、二進(jìn)制審核、Fuzzing這三種。源代碼審核雖然很重要,但是卻非常的耗費(fèi)時(shí)間,同時(shí)還需要具有一定的經(jīng)驗(yàn)作為基礎(chǔ),否則所取得的效果則會(huì)不盡如人意,而且它有一個(gè)先決條件就是必須有代碼。對(duì)于一些開(kāi)源的軟件或者是共享代碼的軟件而言,更容易通過(guò)這種方式發(fā)現(xiàn)漏洞。現(xiàn)在流行的源代碼審核軟件有FlawFinder、RATS、ITS4、SPLINT、CodeScan等。二進(jìn)制審核需要有良好的匯編功底,二進(jìn)制審核也需要提供源代碼,并將源代碼進(jìn)行反匯編。而將二進(jìn)制文件被轉(zhuǎn)換成人可讀的形式,這樣的代碼就可以被評(píng)審以查找其中可能包含漏洞之處,這在很大程度上與源代碼的評(píng)審是類(lèi)似的。Fuzzing是一種基于缺陷注入的自動(dòng)軟件測(cè)試技術(shù)。通過(guò)編寫(xiě)fuzzer工具向目標(biāo)程序提供某種形式的輸入并觀察其響應(yīng)來(lái)發(fā)現(xiàn)問(wèn)題,這種輸入可以是完全隨機(jī)的或精心構(gòu)造的。Fuzzing測(cè)試通常以大小相關(guān)的部分、字符串、標(biāo)志字符串開(kāi)始或結(jié)束的二進(jìn)制塊等為重點(diǎn),使用邊界值附近的值對(duì)目標(biāo)進(jìn)行測(cè)試。Fuzzing測(cè)試使用的是帶有攻擊性的用例,測(cè)試人員需要實(shí)時(shí)地捕捉目標(biāo)程序所拋出的異常、發(fā)生的崩潰和寄存器等信息,綜合判斷這些錯(cuò)誤是不是真正的可利用的漏洞。這種方法最早是有BartonMiller、LarsFredriksen和BryanSo在異常偶然的情況下想到的。它的優(yōu)點(diǎn)是有效、很少出現(xiàn)誤報(bào),能夠快速的找到真正的漏洞,而且這種方法不論是針對(duì)開(kāi)源的軟件或者是非開(kāi)源的軟件都同樣適用。它的缺點(diǎn)是永遠(yuǎn)不能保證系統(tǒng)里面已經(jīng)沒(méi)有漏洞。
三、0day的獲取
簡(jiǎn)單而言0day的獲取主要有以下的幾種方式:地下交換,這種方式一般包括了IRC、非公開(kāi)論壇等方式;自己動(dòng)手,豐衣足食,具有一定能力與工具的人并非需要從他人手中獲取;第三種是黑市,從黑市上花巨額的代價(jià)獲取;第四種是漏洞共享俱樂(lè)部比如Immunity,$50,000-100,000/年,有一些公司在其網(wǎng)站上對(duì)各種漏洞進(jìn)行明碼標(biāo)價(jià);購(gòu)買(mǎi)商業(yè)滲透工具,例如CANVAS、CoreImpact(?)……等等;此外還可以通過(guò)一定的途徑獲取公開(kāi)的0day信息,例如漏洞庫(kù)Securityfocus(Symantec),ISSX-FORCEdatabase,OVSDB,NSFOCUS(最好的中文漏洞庫(kù)之一),Secunia,SecurityTracker,Securiteam,CVE(CommonVulnerabilitiesandExposure,通用漏洞披露)等等。
四、0day的防御
0Day防護(hù)是否真的存在?同時(shí)我們?cè)撊绾蔚钟?day攻擊呢?是通過(guò)IDS,還是IPS,還是啟發(fā)式安全軟件?如果IDS本身就存在0day又怎么辦呢?面對(duì)這些問(wèn)題我們也只能盡我們的最大努力。首先是進(jìn)行第三方評(píng)估,這一點(diǎn)對(duì)于對(duì)于那些廠(chǎng)商和大型的企業(yè)用戶(hù)來(lái)說(shuō)尤為重要,只有通過(guò)第三方的評(píng)估才能夠最大限度的發(fā)現(xiàn)0day。其次是必須注意防火墻對(duì)于客戶(hù)端的0day基本上無(wú)能為力,所以不能太過(guò)于依賴(lài)于防火墻。然后是部署網(wǎng)絡(luò)時(shí)時(shí)應(yīng)假設(shè)至少有一個(gè)0day在流傳,或者被你的競(jìng)爭(zhēng)對(duì)手所掌握。只有這樣才能夠做好應(yīng)對(duì)策略,以避免當(dāng)收到0day攻擊時(shí)出現(xiàn)手忙腳亂的情況。