王 志 賈春福
摘要:“惡意代碼及其防治技術(shù)”是信息安全本科專(zhuān)業(yè)的核心課程之一,其實(shí)驗(yàn)環(huán)境構(gòu)建與實(shí)驗(yàn)內(nèi)容設(shè)計(jì)對(duì)學(xué)生掌握所學(xué)知識(shí)、提高分析和處理惡意代碼的實(shí)踐能力具有重要的意義。本文結(jié)合南開(kāi)大學(xué)信息安全專(zhuān)業(yè)的教學(xué)實(shí)際,探討了課程“惡意代碼及其防治技術(shù)”實(shí)驗(yàn)教學(xué)中實(shí)驗(yàn)環(huán)境構(gòu)建和實(shí)驗(yàn)內(nèi)容設(shè)計(jì)問(wèn)題,給出了該課程實(shí)驗(yàn)環(huán)境和實(shí)驗(yàn)內(nèi)容的一個(gè)建設(shè)方案。
關(guān)鍵詞:實(shí)驗(yàn)環(huán)境構(gòu)建;實(shí)驗(yàn)內(nèi)容設(shè)計(jì);惡意代碼及其防治技術(shù)
中圖分類(lèi)號(hào):G642文獻(xiàn)標(biāo)識(shí)碼:B
1引言
惡意代碼(包括病毒、蠕蟲(chóng)和木馬等)嚴(yán)重地干擾著整個(gè)計(jì)算機(jī)網(wǎng)絡(luò)的應(yīng)用環(huán)境,對(duì)網(wǎng)絡(luò)和信息的安全造成了嚴(yán)重的威脅。惡意代碼的研究與防治,目前已經(jīng)發(fā)展成為信息安全的一個(gè)重要領(lǐng)域,人們從技術(shù)、管理到應(yīng)用各個(gè)層面對(duì)此都極為重視。信息安全專(zhuān)門(mén)人才的培養(yǎng)中,惡意代碼及其防治技術(shù)是知識(shí)體系和能力體系中的重要組成部分,課程“惡意代碼及其防治技術(shù)”是信息安全專(zhuān)業(yè)必選課程之一;惡意代碼的分析和處理也是信息安全人才必備的技能之一。
信息安全是一個(gè)實(shí)踐性要求很強(qiáng)的學(xué)科,扎實(shí)的專(zhuān)業(yè)基礎(chǔ)知識(shí)和較強(qiáng)的實(shí)踐動(dòng)手能力是信息安全專(zhuān)門(mén)人才的培養(yǎng)目標(biāo),其中的實(shí)踐能力是人才培養(yǎng)過(guò)程中重要的能力要求之一,而實(shí)驗(yàn)教學(xué)是提高學(xué)生實(shí)踐能力的主要環(huán)節(jié)。實(shí)驗(yàn)環(huán)境的構(gòu)建與實(shí)驗(yàn)內(nèi)容的設(shè)計(jì)是實(shí)驗(yàn)教學(xué)中的基礎(chǔ),對(duì)人才的培養(yǎng)具有重要的作用。本文結(jié)合南開(kāi)大學(xué)信息安全專(zhuān)業(yè)的教學(xué)實(shí)際,探討了課程“惡意代碼及其防治技術(shù)”實(shí)驗(yàn)教學(xué)中實(shí)驗(yàn)環(huán)境構(gòu)建和實(shí)驗(yàn)內(nèi)容設(shè)計(jì)問(wèn)題。
2實(shí)驗(yàn)環(huán)境構(gòu)建
目前,國(guó)內(nèi)信息安全專(zhuān)業(yè)“惡意代碼及其防治技術(shù)”課程的實(shí)驗(yàn)教學(xué)內(nèi)容,一般都是要求學(xué)生親手編寫(xiě)一些簡(jiǎn)單的惡意代碼程序,然后運(yùn)行惡意代碼以實(shí)現(xiàn)其惡意行為,其目標(biāo)是讓學(xué)生通過(guò)實(shí)驗(yàn)了解惡意代碼的編寫(xiě)和運(yùn)行中的行為,從而增強(qiáng)學(xué)生對(duì)惡意代碼的編寫(xiě)及惡意代碼的邏輯結(jié)構(gòu)特點(diǎn)的認(rèn)識(shí)。然而,在分析社會(huì)對(duì)信息安全專(zhuān)業(yè)人才能力的需求時(shí),我們注意到,這些實(shí)驗(yàn)對(duì)學(xué)生日后實(shí)際工作中處置惡意代碼時(shí)的幫助并不大。事實(shí)上,在實(shí)際工作中,人們更多的是關(guān)注如何去解決惡意代碼所帶來(lái)的問(wèn)題,并為對(duì)抗惡意代碼提出解決方案,而對(duì)惡意代碼的編寫(xiě)的關(guān)注程度并不像我們?cè)趯?shí)驗(yàn)教學(xué)中要求的那樣高。因此,“惡意代碼及其防治技術(shù)”實(shí)驗(yàn)的重點(diǎn)應(yīng)集中在讓學(xué)生學(xué)會(huì)如何去識(shí)別惡意代碼、分析惡意代碼,并進(jìn)一步提出針對(duì)惡意代碼的適當(dāng)?shù)慕鉀Q方案。
“惡意代碼及其防治技術(shù)”實(shí)驗(yàn)環(huán)境與其他的計(jì)算機(jī)實(shí)驗(yàn)有所不同,因?yàn)閻阂獯a具有傳播能力和破壞性,所以惡意代碼的實(shí)驗(yàn)環(huán)境構(gòu)建需要考慮防止惡意代碼的擴(kuò)散和破壞。為了防止惡意代碼的擴(kuò)散,同時(shí)又便于管理和使用,整個(gè)實(shí)驗(yàn)環(huán)境應(yīng)包括惡意代碼分析區(qū)、安全服務(wù)區(qū)、實(shí)驗(yàn)數(shù)據(jù)區(qū)和學(xué)生上機(jī)實(shí)驗(yàn)區(qū)等幾個(gè)獨(dú)立的區(qū)域;對(duì)惡意代碼分析區(qū)采用物理防火墻進(jìn)行隔離,而且整個(gè)實(shí)驗(yàn)環(huán)境與外部網(wǎng)絡(luò)也采用物理防火墻進(jìn)行了隔離。實(shí)驗(yàn)環(huán)境拓?fù)浣Y(jié)構(gòu)示意圖如圖1所示。
2.1惡意代碼分析區(qū)
惡意代碼分析區(qū)包括以下幾個(gè)部分:
(1) 惡意代碼的靜態(tài)逆向分析環(huán)境
在此環(huán)境中,學(xué)生通過(guò)靜態(tài)反匯編技術(shù)將惡意代碼從機(jī)器指令逆向成可閱讀的匯編指令,進(jìn)而分析惡意代碼的組織結(jié)構(gòu)、惡意行為的實(shí)現(xiàn)細(xì)節(jié),并從中分析出惡意代碼的標(biāo)志性特征,進(jìn)而對(duì)惡意代碼進(jìn)行家族分析和變異分析。
(2) 惡意行為動(dòng)態(tài)跟蹤分析環(huán)境
在此環(huán)境中,學(xué)生通過(guò)動(dòng)態(tài)跟蹤調(diào)試工具來(lái)跟蹤惡意代碼的執(zhí)行過(guò)程,觀察惡意行為的表現(xiàn),驗(yàn)證靜態(tài)逆向分析。如果惡意代碼具有復(fù)制行為,需要收集被惡意代碼感染的樣本。如果惡意代碼具有網(wǎng)絡(luò)行為,例如網(wǎng)絡(luò)嗅探、網(wǎng)絡(luò)滲透等,可以配合蜜罐網(wǎng)絡(luò)對(duì)其行為進(jìn)行監(jiān)視和記錄。
(3) 沙箱網(wǎng)絡(luò)
為了引誘惡意代碼對(duì)其進(jìn)行攻擊和入侵,沙箱網(wǎng)絡(luò)的主機(jī)上留有各種安全漏洞。在惡意代碼的攻擊和入侵過(guò)程中,沙箱網(wǎng)絡(luò)能夠監(jiān)視并記錄系統(tǒng)中的所有操作和行為。通過(guò)對(duì)監(jiān)視記錄的研究和分析,可以得到惡意代碼采用的攻擊工具、攻擊手段、攻擊目的和攻擊水平等信息,還能對(duì)惡意代碼的活動(dòng)范圍以及下一個(gè)攻擊目標(biāo)進(jìn)行分析。
2.2安全服務(wù)區(qū)
安全服務(wù)區(qū)包括以下幾個(gè)部分:
(1) 漏洞掃描系統(tǒng)
漏洞掃描系統(tǒng),包括信息收集(發(fā)現(xiàn)網(wǎng)絡(luò)中的主機(jī)、主機(jī)系統(tǒng)開(kāi)放了哪些端口、啟動(dòng)了哪些服務(wù)等)、安全檢查(檢查系統(tǒng)口令的安全性、各種服務(wù)的安全配置等)和滲透測(cè)試(對(duì)數(shù)據(jù)庫(kù)、各種服務(wù)、系統(tǒng)漏洞等進(jìn)行滲透測(cè)試)三個(gè)主要功能。學(xué)生通過(guò)漏洞掃描系統(tǒng)去分析那些被惡意代碼攻陷的主機(jī)中存在的各種安全缺陷,總結(jié)惡意代碼的生存環(huán)境,并提出相應(yīng)的防御措施消除惡意代碼的生存環(huán)境。
(2) 入侵檢測(cè)系統(tǒng)
入侵檢測(cè)系統(tǒng)通過(guò)模式匹配、協(xié)議分析、專(zhuān)家系統(tǒng)等檢測(cè)手段對(duì)惡意攻擊和入侵進(jìn)行檢測(cè)。學(xué)生通過(guò)各種檢測(cè)方法對(duì)實(shí)驗(yàn)中的惡意代碼的攻擊行為和入侵行為進(jìn)行分析,深入理解這些惡意行為與正常行為之間的區(qū)別并找到有效的區(qū)分策略。
(3) 多引擎聯(lián)查系統(tǒng)
學(xué)生可以通過(guò)多引擎聯(lián)查系統(tǒng)獲得多個(gè)安全公司對(duì)惡意代碼的命名、分類(lèi)、行為等信息,以使學(xué)生了解當(dāng)前安全公司對(duì)惡意代碼的命名規(guī)則、分類(lèi)方法,為學(xué)生深入分析惡意代碼提供參考。
2.3實(shí)驗(yàn)數(shù)據(jù)區(qū)
實(shí)驗(yàn)數(shù)據(jù)區(qū)包括以下幾個(gè)部分:
(1) 惡意代碼樣本數(shù)據(jù)庫(kù)
統(tǒng)一存放學(xué)生試驗(yàn)用的各類(lèi)惡意代碼樣本,通過(guò)系統(tǒng)隔離和安全加密等方式防止惡意代碼的泄漏和擴(kuò)散,學(xué)生取到惡意代碼樣本后只有在試驗(yàn)區(qū)才可以進(jìn)行解密和分析。
(2) 解決方案測(cè)試服務(wù)器
用于驗(yàn)證學(xué)生所提出來(lái)的惡意代碼樣本的解決方案。發(fā)給學(xué)生的樣本只是其病毒家族或某一家族變異分支的一員,測(cè)試學(xué)生上交的解決方案是否全面地解決了病毒家族或某一變異分支的全部惡意代碼(即是否有漏報(bào)),并檢測(cè)是否有干凈文件被解決方案所誤殺(即是否有誤報(bào))。
(3) 惡意樣本的行為分析知識(shí)庫(kù)
記錄了惡意代碼樣本庫(kù)中各個(gè)樣本的惡意行為的深入分析。學(xué)生先自己動(dòng)手在實(shí)驗(yàn)區(qū)對(duì)樣本行為進(jìn)行分析,然后跟知識(shí)庫(kù)中的行為分析進(jìn)行比對(duì),查看是否有遺漏的或誤判的惡意行為。
(4) 惡意樣本解決方案知識(shí)庫(kù)
記錄了惡意代碼樣本庫(kù)中各個(gè)樣本的全面解決方案。學(xué)生在分析完惡意代碼樣本的行為并找出相應(yīng)的特征后就要嘗試著自己制定開(kāi)發(fā)相應(yīng)的解決方案,然后跟知識(shí)庫(kù)中的解決方案進(jìn)行對(duì)比,查看是否全面,是否高效等。
2.4學(xué)生上機(jī)實(shí)驗(yàn)區(qū)
學(xué)生上機(jī)實(shí)驗(yàn)區(qū)可以訪問(wèn)安全服務(wù)區(qū)、實(shí)驗(yàn)數(shù)據(jù)區(qū)、Internet、查找資料、寫(xiě)分析文檔、開(kāi)發(fā)解決方案等,但與惡意代碼分析區(qū)隔離。
3實(shí)驗(yàn)內(nèi)容設(shè)計(jì)
實(shí)驗(yàn)內(nèi)容設(shè)計(jì)的出發(fā)點(diǎn),也是教會(huì)學(xué)生在遇到惡意代碼的情況下如何識(shí)別、分析和處置惡意代碼。實(shí)驗(yàn)內(nèi)容主要包括以下兩個(gè)大類(lèi):一是,惡意代碼的各種基本行為的分析實(shí)驗(yàn);二是,惡意代碼的防治策略制定實(shí)驗(yàn)。
(1) 惡意代碼的各種基本行為的分析實(shí)驗(yàn)
惡意代碼的各種基本行為的分析實(shí)驗(yàn),目的是讓學(xué)生嘗試分析一些常見(jiàn)的惡意代碼行為,加深對(duì)這些惡意代碼的認(rèn)識(shí)。實(shí)驗(yàn)內(nèi)容可以包括:
計(jì)算機(jī)病毒感染行為的分析;
蠕蟲(chóng)代碼的基于網(wǎng)絡(luò)傳播行為的分析;
蠕蟲(chóng)代碼的基于郵件傳播行為的分析;
特洛伊木馬代碼的偽裝策略分析;
后門(mén)代碼的秘密通道分析;
間諜代碼的竊取密碼行為分析;
漏洞攻擊和緩沖區(qū)溢出代碼的分析。
這些實(shí)驗(yàn)內(nèi)容分別讓學(xué)生分析了計(jì)算機(jī)病毒、蠕蟲(chóng)、特洛伊木馬、后門(mén)程序、間諜軟件、漏洞攻擊和緩沖區(qū)溢出惡意代碼。通過(guò)這些分析,學(xué)生加深了對(duì)惡意代碼的分類(lèi)和各類(lèi)惡意代碼的典型行為的認(rèn)識(shí),了解了惡意代碼的組織結(jié)構(gòu)、執(zhí)行方式和攻擊策略,為研究惡意代碼的防治策略提供了重要支持。
在惡意代碼的各種行為的分析實(shí)驗(yàn)中,學(xué)生首先從惡意代碼樣本庫(kù)中取出需要分析的惡意代碼樣本,將惡意代碼樣本存放到惡意代碼分析區(qū),結(jié)合靜態(tài)的逆向分析和動(dòng)態(tài)的跟蹤分析,認(rèn)識(shí)惡意代碼的組織結(jié)構(gòu)、生存環(huán)境、攻擊對(duì)象、運(yùn)行機(jī)制和惡意代碼的特征或者進(jìn)一步分析該惡意代碼的家族特征。
在分析過(guò)程中,學(xué)生可以結(jié)合漏洞掃描系統(tǒng),分析那些被惡意代碼攻陷的主機(jī)中存在的各種安全缺陷,得到那些基于漏洞的惡意代碼的生存環(huán)境。
在沙箱網(wǎng)絡(luò)中運(yùn)行惡意代碼樣本,記錄系統(tǒng)中的所有操作和行為。學(xué)生通過(guò)研究和分析監(jiān)視記錄,將更有針對(duì)性的進(jìn)行靜態(tài)逆向分析和動(dòng)態(tài)跟蹤分析。
入侵檢測(cè)系統(tǒng)可以幫助學(xué)生很容易的發(fā)現(xiàn)惡意代碼的各種攻擊和滲透行為,加強(qiáng)學(xué)生對(duì)惡意的攻擊和滲透行為的認(rèn)識(shí),幫助學(xué)生找到惡意行為與正常行為之間的異同,進(jìn)而提取出惡意攻擊和滲透行為的特征點(diǎn)。
多引擎聯(lián)查系統(tǒng),讓學(xué)生了解到專(zhuān)業(yè)的安全公司對(duì)該惡意代碼樣本的命名,通過(guò)命名規(guī)則學(xué)生可以了解到該惡意代碼的分類(lèi)信息、家族信息和一些行為信息。
當(dāng)學(xué)生通過(guò)各種分析方法得到惡意代碼的分析結(jié)果后,他們可以將自己的分析結(jié)果和惡意樣本的行為分析知識(shí)庫(kù)中的完整的分析結(jié)果進(jìn)行對(duì)比,發(fā)現(xiàn)自己的分析結(jié)果有哪些遺漏或錯(cuò)誤,然后再次分析和驗(yàn)證,最終得到完整的分析結(jié)果。
(2) 惡意代碼的防治策略制定實(shí)驗(yàn)
惡意代碼的防治策略實(shí)驗(yàn)是要求在對(duì)惡意代碼的深入分析的基礎(chǔ)上進(jìn)行的。學(xué)生根據(jù)前期深入的惡意代碼行為分析的結(jié)果,結(jié)合惡意特征掃描方法來(lái)嘗試開(kāi)發(fā)惡意代碼的檢測(cè)程序。惡意特征掃描方法主要包括:
惡意特征的字節(jié)序列掃描;
惡意特征的正則表達(dá)式掃描;
帶偏移量的快速惡意特征掃描;
針對(duì)首尾的快速惡意特征掃描;
針對(duì)入口點(diǎn)和特殊位置的快速惡意特征掃描;
帶過(guò)濾機(jī)制的快速惡意特征掃描;
基于統(tǒng)計(jì)的惡意特征掃描。
學(xué)生根據(jù)前期的分析實(shí)驗(yàn)提取出惡意代碼樣本的特征碼,選擇一種惡意特征掃描方法,然后編寫(xiě)相應(yīng)的檢測(cè)程序。然后將開(kāi)發(fā)出的惡意代碼檢測(cè)程序上傳到解決方案測(cè)試服務(wù)器中進(jìn)行測(cè)試,以測(cè)試該程序是否存在誤報(bào)或漏報(bào)問(wèn)題。如果出現(xiàn)誤報(bào)或漏報(bào),學(xué)生可以從服務(wù)器上下載誤報(bào)或漏報(bào)的文件樣本,分析誤報(bào)或漏報(bào)的原因,然后改進(jìn)檢測(cè)程序。如果沒(méi)有誤報(bào)或漏報(bào)現(xiàn)象,學(xué)生將自己的檢測(cè)方案與惡意樣本解決方案知識(shí)庫(kù)中的方案進(jìn)行對(duì)比,查看自己開(kāi)發(fā)的方案是否全面、高效。
4總結(jié)
實(shí)驗(yàn)是教學(xué)過(guò)程中的重要環(huán)節(jié),是提高學(xué)生動(dòng)手能力的根本途徑;實(shí)驗(yàn)內(nèi)容的設(shè)計(jì)和實(shí)驗(yàn)環(huán)境的構(gòu)建應(yīng)以滿足社會(huì)對(duì)人才工作能力的需求為目標(biāo),緊跟技術(shù)及其應(yīng)用的發(fā)展趨勢(shì),這樣才能培養(yǎng)出掌握最新技術(shù)、滿足社會(huì)需求的高質(zhì)量人才。本文探討了“惡意代碼及其防治技術(shù)”實(shí)驗(yàn)環(huán)境的構(gòu)建和實(shí)驗(yàn)內(nèi)容的設(shè)計(jì)問(wèn)題。希望對(duì)兄弟院校的相應(yīng)工作能夠提供一定的參考。
參考文獻(xiàn):
[1] 高敏芬,賈春福. 信息安全專(zhuān)業(yè)實(shí)驗(yàn)教程[M].南開(kāi)大學(xué)出版社,2007.
[2] Peter Szor. The Art of Computer Virus Research and Defense[M]. Addison Wesley Professional,2005.
[3] John Aycock. Computer Viruses and Malware[M]. New York :Springer, 2006.