計(jì)算機(jī)軟件及應(yīng)用計(jì)算機(jī)病毒的檢測(cè)清除與免疫_(dá)第1頁(yè)
計(jì)算機(jī)軟件及應(yīng)用計(jì)算機(jī)病毒的檢測(cè)清除與免疫_(dá)第2頁(yè)
計(jì)算機(jī)軟件及應(yīng)用計(jì)算機(jī)病毒的檢測(cè)清除與免疫_(dá)第3頁(yè)
計(jì)算機(jī)軟件及應(yīng)用計(jì)算機(jī)病毒的檢測(cè)清除與免疫_(dá)第4頁(yè)
計(jì)算機(jī)軟件及應(yīng)用計(jì)算機(jī)病毒的檢測(cè)清除與免疫_(dá)第5頁(yè)
已閱讀5頁(yè),還剩51頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、主要內(nèi)容 計(jì)算機(jī)病毒的防范措施 計(jì)算機(jī)病毒的檢測(cè)技術(shù)與原理 啟發(fā)式查毒技術(shù) 虛擬機(jī)查毒技術(shù) 實(shí)時(shí)監(jiān)控技術(shù) 引導(dǎo)型病毒的清除 文件型病毒的清除 計(jì)算機(jī)病毒的免疫方法9.1.1 反病毒技術(shù)的產(chǎn)生與發(fā)展簡(jiǎn)介 反病毒技術(shù)應(yīng)運(yùn)而生,并在與病毒對(duì)抗的過程中不斷發(fā)展 從“消毒軟件”到“防毒卡” “查殺防三合一”實(shí)時(shí)反病毒軟件的誕生 反病毒技術(shù)的發(fā)展歷程 第一代反病毒技術(shù) 采用單純的病毒特征代碼分析,清除染毒文件中的病毒 第二代反病毒技術(shù) 采用靜態(tài)廣譜特征掃描技術(shù)檢測(cè)病毒,可以檢測(cè)變形病毒,但是誤報(bào)率高 第三代反病毒技術(shù) 將靜態(tài)掃描技術(shù)和動(dòng)態(tài)仿真跟蹤技術(shù)結(jié)合起來,將查找病毒和清除病毒合二為一 第四代反病毒技術(shù)

2、9.1.1 反病毒技術(shù)的產(chǎn)生與發(fā)展簡(jiǎn)介 基于病毒家族體系的命名規(guī)則、基于多位CRC校驗(yàn)和掃描機(jī)理、啟發(fā)式智能代碼分析模塊、動(dòng)態(tài)數(shù)據(jù)還原模塊(能查出隱蔽性極強(qiáng)的壓縮加密文件中的病毒)、內(nèi)存解毒模塊、自身免疫模塊等先進(jìn)的解毒技術(shù),較好的解決了以前防毒技術(shù)顧此失彼、此消彼長(zhǎng)的狀態(tài),能夠較好地完成查毒、解毒的任務(wù)9.1.2 計(jì)算機(jī)病毒防治技術(shù)的劃分 計(jì)算機(jī)病毒的防治技術(shù)分成四個(gè)方面 病毒預(yù)防技術(shù) 病毒檢測(cè)技術(shù) 病毒消除技術(shù) 病毒免疫技術(shù) 除了免疫技術(shù)因目前找不到通用的免疫方法而進(jìn)展不大之外,其他三項(xiàng)技術(shù)都有相當(dāng)?shù)倪M(jìn)展9.1.3 主動(dòng)內(nèi)核(Active K)技術(shù)與實(shí)時(shí)監(jiān)視 傳統(tǒng)的反病毒技術(shù),基于被動(dòng)式的

3、防御理念 這種理念最大的缺點(diǎn)在于將防治病毒的基礎(chǔ)建立在病毒侵入操作系統(tǒng)或網(wǎng)絡(luò)系統(tǒng)以后,作為上層應(yīng)用軟件的反病毒產(chǎn)品,才能借助于操作系統(tǒng)或網(wǎng)絡(luò)系統(tǒng)所提供的功能來被動(dòng)地防治病毒 主動(dòng)內(nèi)核(Active K)技術(shù),是在操作系統(tǒng)和網(wǎng)絡(luò)的內(nèi)核中嵌入反病毒功能,使反病毒成為系統(tǒng)本身的底層模塊,實(shí)現(xiàn)各種反毒模塊與操作系統(tǒng)和網(wǎng)絡(luò)無縫連接,而不是一個(gè)系統(tǒng)外部的應(yīng)用軟件 主動(dòng)內(nèi)核技術(shù)能夠在病毒突破計(jì)算機(jī)系統(tǒng)軟、硬件的瞬間發(fā)生作用9.1.4 自動(dòng)解壓縮技術(shù) 檢查壓縮文件中的病毒,首先必須搞清壓縮文件的壓縮算法,爾后根據(jù)壓縮算法將病毒碼壓縮成病毒壓縮碼,最后根據(jù)病毒壓縮碼在壓縮文件中查找 還有另一種檢查壓縮文件中病毒

4、的方法,是在搞清壓縮文件的壓縮算法和解壓縮算法的基礎(chǔ)上,先解壓縮文件,爾后檢查病毒碼,最后將文件還原壓縮9.2.1 計(jì)算機(jī)病毒防范的概念 計(jì)算機(jī)病毒防范,是指通過建立合理的計(jì)算機(jī)病毒防范體系和制度,及時(shí)發(fā)現(xiàn)計(jì)算機(jī)病毒侵入,并采取有效的手段阻止計(jì)算機(jī)病毒的傳播和破壞,恢復(fù)受影響的計(jì)算機(jī)系統(tǒng)和數(shù)據(jù) 計(jì)算機(jī)病毒能利用讀寫文件進(jìn)行感染,利用駐留內(nèi)存、截取中斷向量等方式能進(jìn)行傳染和破壞。預(yù)防計(jì)算機(jī)病毒就是要監(jiān)視、跟蹤系統(tǒng)內(nèi)類似的操作,提供對(duì)系統(tǒng)的保護(hù),最大限度地避免各種計(jì)算機(jī)病毒的傳染破壞9.2.2 必須具有的安全意識(shí) 對(duì)計(jì)算機(jī)病毒應(yīng)持有如下態(tài)度: 承認(rèn)計(jì)算機(jī)病毒的客觀存在 應(yīng)該具有安全意識(shí),積極采取預(yù)

5、防措施,堵塞計(jì)算機(jī)病毒的傳染途徑 不懼怕病毒,樹立必勝的信念;發(fā)現(xiàn)病毒,冷靜處理9.2.3 預(yù)防計(jì)算機(jī)病毒的一般措施 計(jì)算機(jī)病毒的預(yù)防措施可概括為兩點(diǎn) 勤備份 嚴(yán)防守9.3.1 病毒檢測(cè)方法綜述 檢測(cè)計(jì)算機(jī)病毒的方法有兩種 手工檢測(cè) 利用Debug、PCTools、SysInfo、WinHex等工具軟件進(jìn)行病毒的檢測(cè) 這種方法比較復(fù)雜,費(fèi)時(shí)費(fèi)力 可以剖析病毒、可以檢測(cè)一些自動(dòng)檢測(cè)工具不能識(shí)別的新病毒 自動(dòng)檢測(cè) 利用一些專業(yè)診斷軟件來判斷引導(dǎo)扇區(qū)、磁盤文件是否有毒的方法 自動(dòng)檢測(cè)比較簡(jiǎn)單,一般用戶都可以進(jìn)行,但需要較好的診斷軟件 可方便地檢測(cè)大量的病毒,自動(dòng)檢測(cè)工具的發(fā)展總是滯后于病毒的發(fā)展9.

6、3.2 比較法診斷的原理 比較法是用原始的正常備份與被檢測(cè)的內(nèi)容(引導(dǎo)扇區(qū)或被檢測(cè)的文件)進(jìn)行比較 長(zhǎng)度比較法 內(nèi)容比較法 內(nèi)存比較法 中斷比較法9.3.3 校驗(yàn)和法診斷的原理 根據(jù)正常文件的信息(包括文件名稱、大小、時(shí)間、日期及內(nèi)容),計(jì)算其校驗(yàn)和,將該校驗(yàn)和寫入文件中或?qū)懭肫渌募?資料庫(kù))中保存 在文件使用過程中,定期地或每次使用文件前,檢查文件現(xiàn)有信息算出的校驗(yàn)和與原來保存的校驗(yàn)和是否一致,因而可以發(fā)現(xiàn)文件是否已被感染 運(yùn)用校驗(yàn)和法查病毒一般采用三種方式 在檢測(cè)病毒工具中納入校驗(yàn)和法,對(duì)被查的對(duì)象文件計(jì)算其正常狀態(tài)的校驗(yàn)和,將校驗(yàn)和值寫入被查文件中或檢測(cè)工具中,而后進(jìn)行比較 在應(yīng)用程序

7、中,放入校驗(yàn)和法自我檢查功能,將文件正常狀態(tài)的校驗(yàn)和寫入文件本身中,每當(dāng)應(yīng)用程序啟動(dòng)時(shí),比較現(xiàn)行校驗(yàn)和與原校驗(yàn)和值,實(shí)現(xiàn)應(yīng)用程序的自檢測(cè) 將校驗(yàn)和檢查程序常駐內(nèi)存,每當(dāng)應(yīng)用程序開始運(yùn)行時(shí),自動(dòng)比較檢查應(yīng)用程序內(nèi)部或其他文件中預(yù)先保存的校驗(yàn)和9.3.4 掃描法診斷的原理 掃描法是用每一種病毒體含有的特定病毒碼(Virus Pattern)對(duì)被檢測(cè)的對(duì)象進(jìn)行掃描。如果在被檢測(cè)對(duì)象內(nèi)部發(fā)現(xiàn)了某一種特定病毒碼,就表明發(fā)現(xiàn)了該病毒碼所代表的病毒 特征代碼掃描法 特征字掃描法9.3.5 行為監(jiān)測(cè)法診斷的原理 利用病毒的特有行為特性監(jiān)測(cè)病毒的方法,稱為行為監(jiān)測(cè)法,也稱為人工智能陷阱法 通過對(duì)病毒多年的觀察、

8、研究,人們發(fā)現(xiàn)病毒有一些行為,是病毒的共同行為,而且比較特殊,在正常程序中,這些行為比較罕見。當(dāng)程序運(yùn)行時(shí),監(jiān)視其行為,如果發(fā)現(xiàn)了病毒行為,立即報(bào)警 占用INT 13H 修改DOS系統(tǒng)數(shù)據(jù)區(qū)的內(nèi)存總量 對(duì)可執(zhí)行文件做寫入動(dòng)作 病毒程序與宿主程序的切換9.3.6 感染實(shí)驗(yàn)法診斷的原理 這種方法的原理是利用了病毒的最重要的基本特征:感染特性 檢測(cè)未知引導(dǎo)型病毒的感染實(shí)驗(yàn)法 檢測(cè)未知文件型病毒的感染實(shí)驗(yàn)法9.3.7 軟件模擬法診斷的原理 軟件模擬(Software Emulation)法(即后文中將詳細(xì)介紹的虛擬機(jī)對(duì)抗病毒技術(shù)),是一種軟件分析器,用軟件方法來模擬和分析程序的運(yùn)行:模擬CPU執(zhí)行,在

9、其設(shè)計(jì)的虛擬機(jī)器(Virtual Machine)下假執(zhí)行病毒的變體引擎解碼程序,安全并確實(shí)地將多態(tài)病毒解開,使其顯露真實(shí)面目,再加以掃描 主要用于檢測(cè)多態(tài)型病毒9.3.8 分析法診斷的原理 使用分析法的人一般不是普通用戶,而是反病毒技術(shù)人員 使用分析法的目的在于: 確認(rèn)被觀察的引導(dǎo)扇區(qū)和程序中是否含有病毒 確認(rèn)病毒的類型和種類,判定其是否是一種新病毒 搞清楚病毒體的大致結(jié)構(gòu),提取特征識(shí)別用的字符串或特征字,并增添到病毒代碼庫(kù)供病毒掃描和識(shí)別程序使用 詳細(xì)分析病毒代碼,為制定相應(yīng)的反病毒措施制定方案 上述四個(gè)目的按順序排列起來,正好大致是使用分析法的工作順序 使用分析法要求具有比較全面的計(jì)算機(jī)

10、體系結(jié)構(gòu)、操作系統(tǒng)以及有關(guān)病毒技術(shù)的各種知識(shí)簡(jiǎn)介 啟發(fā)式代碼掃描技術(shù)源于人工智能技術(shù),是基于給定的判斷規(guī)則和定義的掃描技術(shù),若發(fā)現(xiàn)被掃描程序中存在可疑的程序功能指令,則作出存在病毒的預(yù)警或判斷 啟發(fā)式代碼分析掃描技術(shù)是對(duì)傳統(tǒng)的特征代碼掃描法查毒技術(shù)的改進(jìn) 在特征代碼掃描技術(shù)的基礎(chǔ)上,利用對(duì)病毒代碼的分析,獲得一些統(tǒng)計(jì)的、靜態(tài)的啟發(fā)式知識(shí),形成一種靜態(tài)的啟發(fā)式代碼掃描分析技術(shù)9.4.1 啟發(fā)式代碼掃描的基本原理 病毒和正常程序的區(qū)別可以體現(xiàn)在許多方面,比較常見的如通常一個(gè)應(yīng)用程序在最初的指令是檢查命令行輸入有無參數(shù)項(xiàng)、清屏和保存原來屏幕顯示等,而病毒程序則從來不會(huì)這樣做,它通常最初的指令是直接寫

11、盤操作、解碼指令,或搜索某路徑下的可執(zhí)行程序等相關(guān)操作指令序列 這些顯著的不同之處,一個(gè)熟練的程序員在調(diào)試狀態(tài)下只需一瞥便可一目了然 啟發(fā)式代碼掃描技術(shù)實(shí)際上就是把人類的這種經(jīng)驗(yàn)和知識(shí)移植到一個(gè)查病毒軟件中的具體程序體現(xiàn)9.4.2 可疑程序功能及其權(quán)值與相應(yīng)標(biāo)志 可疑程序功能的權(quán)值與報(bào)警標(biāo)準(zhǔn) 對(duì)以下可疑的程序代碼指令序列按照安全和可疑的等級(jí)進(jìn)行排序,根據(jù)病毒可能使用和具備的特點(diǎn)而授以不同的加權(quán)值 格式化磁盤操作 搜索和定位各種可執(zhí)行程序的操作 實(shí)現(xiàn)駐留內(nèi)存的操作 調(diào)用非常的或未公開的系統(tǒng)功能 子程序調(diào)用中只執(zhí)行入棧操作 如果一個(gè)程序的加權(quán)值的總和超過一個(gè)事先定義的閥值,那么,病毒檢測(cè)程序就可以

12、聲稱“發(fā)現(xiàn)病毒”;僅僅一項(xiàng)可疑的功能操作遠(yuǎn)不足以觸發(fā)“病毒報(bào)警”的裝置 為了避免“狼來了”的謊報(bào)和虛報(bào),病毒檢測(cè)程序常把多種可疑功能操作同時(shí)并發(fā)的情況定為發(fā)現(xiàn)病毒的報(bào)警標(biāo)準(zhǔn)9.4.3 關(guān)于虛警(謊報(bào)) 啟發(fā)式掃描技術(shù)有時(shí)也會(huì)把一個(gè)本無病毒的程序判斷為染毒程序,這就是所謂的查毒程序虛警或謊報(bào)現(xiàn)象 減少和避免誤報(bào)(謊報(bào)) ,必須努力做好以下幾點(diǎn) 準(zhǔn)確把握病毒行為,精確定義可疑功能調(diào)用集合,除非滿足兩個(gè)以上的病毒重要特征,否則不予報(bào)警 增強(qiáng)對(duì)常規(guī)正常程序的識(shí)別能力 增強(qiáng)對(duì)特定程序的識(shí)別能力 類似“無罪假定”的功能,首先假定程序和計(jì)算機(jī)是不含病毒的。許多啟發(fā)式代碼分析檢毒軟件具有自學(xué)習(xí)功能,能夠記憶那

13、些并非病毒的文件并在以后的檢測(cè)過程中避免再報(bào)警9.4.4 傳統(tǒng)掃描技術(shù)與啟發(fā)式掃描技術(shù)的結(jié)合 傳統(tǒng)的掃描技術(shù)基于對(duì)已知病毒的分析和研究,在檢測(cè)時(shí)能夠更準(zhǔn)確、減少誤報(bào);但如果是對(duì)待此前根本沒有出現(xiàn)過的新病毒,由于其知識(shí)庫(kù)并不存在該類(種)病毒的特征數(shù)據(jù),則有可能產(chǎn)生漏報(bào)的嚴(yán)重后果 基于規(guī)則和定義的啟發(fā)式代碼分析技術(shù)則可以使新病毒不至于成為漏網(wǎng)之魚 傳統(tǒng)掃描技術(shù)與啟發(fā)式掃描技術(shù)的結(jié)合,可以使病毒檢測(cè)軟件的檢出率提高到前所未有的水平,而另一方面,又大大降低了總的誤報(bào)率9.4.5 啟發(fā)式反毒技術(shù)的未來展望 任何改良的努力都會(huì)有不同程度的質(zhì)量提高,但是不能企望在沒有虛報(bào)為代價(jià)的前提下使檢出率達(dá)到100%

14、,或者反過來說,在相當(dāng)長(zhǎng)的時(shí)間里虛報(bào)和漏報(bào)的概率不可能達(dá)到0%,因?yàn)椴《驹诒举|(zhì)上也是程序,某些正常程序可能使用具有病毒特征的功能(可疑功能調(diào)用) 反毒技術(shù)的進(jìn)步也會(huì)從另一方面激發(fā)和促使病毒制作者不斷研制出更新的病毒,具有某種反啟發(fā)式掃描技術(shù)的功能,從而可以逃避這類檢測(cè)技術(shù)的檢測(cè)9.5.1 虛擬機(jī)簡(jiǎn)介 查毒的虛擬機(jī)是一個(gè)軟件模擬的CPU,它可以象真正CPU一樣取指令、譯碼、執(zhí)行,可以模擬一段代碼在真正CPU上運(yùn)行得到的結(jié)果 虛擬機(jī)的基本工作原理和簡(jiǎn)單流程 給定一組機(jī)器碼序列,虛擬機(jī)會(huì)自動(dòng)從中取出第一條指令操作碼部分,判斷操作碼類型和尋址方式以確定該指令長(zhǎng)度,然后在相應(yīng)的函數(shù)中執(zhí)行該指令,并根據(jù)執(zhí)

15、行后的結(jié)果確定下條指令的位置,如此循環(huán)反復(fù)直到某個(gè)特定情況發(fā)生以結(jié)束工作 設(shè)計(jì)虛擬機(jī)查毒的目的是為了對(duì)抗加密變形病毒 虛擬執(zhí)行技術(shù)使用范圍遠(yuǎn)不止自動(dòng)脫殼(虛擬機(jī)查毒實(shí)際上是自動(dòng)跟蹤病毒入口的解密子將加密的病毒體按其解密算法進(jìn)行解密),它還可以應(yīng)用在跨平臺(tái)高級(jí)語言解釋器、惡意代碼分析、調(diào)試器9.5.2 單步斷點(diǎn)跟蹤與虛擬執(zhí)行 目前有兩種方法可以跟蹤控制病毒的每一步執(zhí)行,并能夠在病毒循環(huán)解密結(jié)束后從內(nèi)存中讀出病毒體明文 單步和斷點(diǎn)跟蹤法,和目前一些程序調(diào)試器相類似 當(dāng)CPU在執(zhí)行一條指令之前會(huì)先檢查標(biāo)志寄存器,如果發(fā)現(xiàn)其中的陷阱標(biāo)志被設(shè)置則在指令執(zhí)行結(jié)束后引發(fā)一個(gè)單步陷阱INT 1H 虛擬執(zhí)行法9

16、.5.2 單步斷點(diǎn)跟蹤與虛擬執(zhí)行 單步斷點(diǎn)跟蹤的優(yōu)缺點(diǎn) 用單步和斷點(diǎn)跟蹤法的唯一好處就在于它不用處理每條指令的執(zhí)行,這意味著它無需編寫大量的特定指令處理函數(shù),因?yàn)樗械慕饷艽a都交由CPU執(zhí)行,調(diào)試器不過是在代碼被單步中斷的間隙得到控制權(quán)而已 這種方法的缺點(diǎn)也是相當(dāng)明顯的 容易被病毒覺察到,病毒只須進(jìn)行簡(jiǎn)單的堆棧檢查,或直接調(diào)用IsDebugerPresent就可確定自己正處于被調(diào)試狀態(tài) 由于沒有相應(yīng)的機(jī)器碼分析模塊,指令的譯碼、執(zhí)行完全依賴于CPU,所以將導(dǎo)致無法準(zhǔn)確地獲取指令執(zhí)行細(xì)節(jié)并對(duì)其進(jìn)行有效的控制 單步和斷點(diǎn)跟蹤法要求待查可執(zhí)行文件真實(shí)執(zhí)行,即其將做為系統(tǒng)中一個(gè)真實(shí)的進(jìn)程在自己的地址

17、空間中運(yùn)行,這當(dāng)然是病毒掃描所不能允許的 單步和斷點(diǎn)跟蹤法可以應(yīng)用在調(diào)試器、自動(dòng)脫殼等方面,但不合適于查毒9.5.2 單步斷點(diǎn)跟蹤與虛擬執(zhí)行 虛擬執(zhí)行的缺點(diǎn)與優(yōu)點(diǎn) 使用虛擬執(zhí)行法的唯一缺點(diǎn)就在于它必須在內(nèi)部處理所有指令的執(zhí)行,這意味著它需要編寫大量的特定指令處理函數(shù)來模擬每種指令的執(zhí)行效果,這里根本不存在何時(shí)得到控制權(quán)的問題,因?yàn)榭刂茩?quán)將永遠(yuǎn)掌握在虛擬機(jī)手中 虛擬執(zhí)行的優(yōu)點(diǎn)也是很明顯的,同時(shí)它正好填補(bǔ)了單步和斷點(diǎn)跟蹤法所力不能及的方面 不可能被病毒覺察到,因?yàn)樘摂M機(jī)將在其內(nèi)部緩沖區(qū)中為被虛擬執(zhí)行代碼設(shè)立專用的堆棧,所以堆棧檢查結(jié)果與實(shí)際執(zhí)行無差別(不會(huì)向堆棧中壓入單步和斷點(diǎn)中斷時(shí)的返回地址)

18、由于虛擬機(jī)自身完成指令的解碼和地址的計(jì)算,所以能夠獲取每條指令的執(zhí)行細(xì)節(jié)并加以控制 最為關(guān)鍵的一條在于虛擬執(zhí)行確實(shí)做到了“虛擬”執(zhí)行,系統(tǒng)中不會(huì)產(chǎn)生代表被執(zhí)行者的進(jìn)程,因?yàn)楸粓?zhí)行者的寄存器組和堆棧等執(zhí)行要素均在虛擬機(jī)內(nèi)部實(shí)現(xiàn),因而可以認(rèn)為它在虛擬機(jī)地址空間中執(zhí)行9.5.2 單步斷點(diǎn)跟蹤與虛擬執(zhí)行 虛擬機(jī)的設(shè)計(jì)方案 自含代碼虛擬機(jī)(SCCE) 自含代碼虛擬機(jī)工作起來象一個(gè)真正的CPU。一條指令取自內(nèi)存,由SCCE解碼,并被傳送到相應(yīng)的模擬這條指令的例程,下一條指令則繼續(xù)這個(gè)循環(huán) 緩沖代碼虛擬機(jī)(BCE) 緩沖代碼虛擬機(jī)是SCCE的一個(gè)縮略版 一條指令是從內(nèi)存中取得的,并和一個(gè)特殊指令表相比較。如

19、果不是特殊指令,則它被進(jìn)行簡(jiǎn)單的解碼以求得指令的長(zhǎng)度,隨后所有這樣的指令會(huì)被導(dǎo)入到一個(gè)可以通用地模擬所有非特殊指令的小過程中。而特殊指令,只占整個(gè)指令集的一小部分,則在特定的小處理程序中進(jìn)行模擬 有限代碼虛擬機(jī)(LCE) 有點(diǎn)象用于通用解密的虛擬系統(tǒng) LCE實(shí)際上并非一個(gè)虛擬機(jī),因?yàn)樗⒉徽嬲哪M指令,它只簡(jiǎn)單地跟蹤一段代碼的寄存器內(nèi)容,提供一個(gè)小的被改動(dòng)的內(nèi)存地址表,或是調(diào)用過的中斷之類的東西9.5.3 虛擬機(jī)代碼剖析 不依賴標(biāo)志寄存器指令模擬函數(shù)的分析 依賴標(biāo)志寄存器指令模擬函數(shù)的分析9.5.4 反虛擬機(jī)技術(shù) 任何一個(gè)事物都不是盡善盡美、無懈可擊的,虛擬機(jī)也不例外 由于反虛擬執(zhí)行技術(shù)的出

20、現(xiàn),使得虛擬機(jī)查毒受到了一定的挑戰(zhàn) 插入特殊指令技術(shù) 結(jié)構(gòu)化異常處理技術(shù) 入口點(diǎn)模糊(EPO)技術(shù) 多線程技術(shù) 元多形技術(shù)9.6.1 實(shí)時(shí)監(jiān)控技術(shù)背景 實(shí)時(shí)監(jiān)控技術(shù)其實(shí)并非什么新技術(shù),早在DOS編程時(shí)代就有之 在Windows下要實(shí)現(xiàn)實(shí)時(shí)監(jiān)控決非易事9.6.2 病毒實(shí)時(shí)監(jiān)控實(shí)現(xiàn)技術(shù)簡(jiǎn)介 病毒實(shí)時(shí)監(jiān)控會(huì)在文件打開、關(guān)閉、清除、寫入等操作時(shí)檢查文件是否是病毒攜帶者,如果是則根據(jù)用戶的決定選擇不同的處理方案,如清除病毒、禁止訪問該文件、刪除該文件或簡(jiǎn)單地忽略,從而有效地避免病毒在本地計(jì)算機(jī)上的感染傳播 可執(zhí)行文件裝入器在裝入一個(gè)文件執(zhí)行時(shí)首先會(huì)要求打開該文件,而這個(gè)請(qǐng)求又一定會(huì)被實(shí)時(shí)監(jiān)控在第一時(shí)間截

21、獲到,它確保了每次執(zhí)行的都是干凈的不帶毒的文件從而不給病毒以任何執(zhí)行和發(fā)作的機(jī)會(huì) 病毒實(shí)時(shí)監(jiān)控的設(shè)計(jì)主要存在以下幾個(gè)難點(diǎn) 驅(qū)動(dòng)程序的編寫不同于普通用戶態(tài)程序的編寫,其難度很大 驅(qū)動(dòng)程序與Ring3下客戶程序的通信問題 驅(qū)動(dòng)程序所占用資源問題9.6.3 Windows 9x下的病毒實(shí)時(shí)監(jiān)控 Windows 9x下病毒實(shí)時(shí)監(jiān)控的實(shí)現(xiàn)主要依賴于以下三項(xiàng)技術(shù) 虛擬設(shè)備驅(qū)動(dòng)(VxD)編程 可安裝文件系統(tǒng)鉤子(IFSHook) VxD與Ring3下客戶程序的通信(APC/EVENT) 只有工作于系統(tǒng)核心態(tài)的驅(qū)動(dòng)程序才具有有效地完成攔截系統(tǒng)范圍文件操作的能力,VxD就是適用于Windows 9x下的虛擬設(shè)備

22、驅(qū)動(dòng)程序,可以擔(dān)當(dāng)此重任 VxD的功能遠(yuǎn)不止由IFSMGR.vxd提供的攔截文件操作這一項(xiàng),系統(tǒng)的VxDs幾乎提供了所有的底層操作的接口(可以把VxD看成Ring0下的DLL) 虛擬機(jī)管理器本身就是一個(gè)VxD,它導(dǎo)出的底層操作接口一般稱為VMM服務(wù),而其他VxD的調(diào)用接口則稱為VxD服務(wù)9.6.4 Windows NT/2000下的病毒實(shí)時(shí)監(jiān)控 Windows NT/2000下病毒實(shí)時(shí)監(jiān)控的實(shí)現(xiàn)主要依賴于以下三項(xiàng)技術(shù) NT內(nèi)核模式驅(qū)動(dòng)編程 Windows NT/2000下不再支持VxD 攔截IRP 驅(qū)動(dòng)與Ring3下客戶程序的通信(命名的事件與信號(hào)量對(duì)象)9.7.1 清除病毒的一般方法 發(fā)現(xiàn)病

23、毒后,清除病毒的一般步驟是: 先升級(jí)殺毒軟件病毒庫(kù)至最新,進(jìn)入安全模式下全盤查殺 刪除注冊(cè)表中的有關(guān)可以自動(dòng)啟動(dòng)可疑程序的鍵值(可以重命名,以防誤刪,若刪除/重命名后按F5刷新,發(fā)現(xiàn)無法刪除/重命名,則可肯定其是病毒啟動(dòng)鍵值) 若系統(tǒng)配置文件被更改,需先刪除注冊(cè)表中鍵值,再更改系統(tǒng)配置文件 斷開網(wǎng)絡(luò)連接,重啟系統(tǒng),進(jìn)入安全模式全盤殺毒 若Windows ME/XP系統(tǒng)查殺病毒在系統(tǒng)還原區(qū),請(qǐng)關(guān)閉系統(tǒng)還原再查殺 若查殺病毒在臨時(shí)文件夾中,請(qǐng)清空臨時(shí)文件夾再查殺 系統(tǒng)安全模式查殺無效,建議到DOS下查殺。9.7.2 引導(dǎo)型病毒的清除 引導(dǎo)型病毒感染時(shí)常攻擊計(jì)算機(jī)的如下部位: 硬盤主引導(dǎo)扇區(qū) 硬盤或

24、軟盤的BOOT扇區(qū) 為保存原主引導(dǎo)扇區(qū)、BOOT扇區(qū),病毒可能隨意地將它們寫入其他扇區(qū),而徹底毀壞這些扇區(qū)中的信息 引導(dǎo)型病毒發(fā)作時(shí),執(zhí)行破壞行為造成種種損失 由于引導(dǎo)型病毒一般是常駐內(nèi)存的,因此,清除病毒之前必須先清除內(nèi)存中的病毒(或采用修復(fù)中斷向量表等方法將其滅活),否則難以清除干凈9.7.2 引導(dǎo)型病毒的清除 硬盤主引導(dǎo)扇區(qū)染毒時(shí)的修復(fù)方法: (1)用無毒軟盤啟動(dòng)系統(tǒng) (2)尋找一臺(tái)同類型、硬盤分區(qū)相同的無毒計(jì)算機(jī),將其硬盤主引導(dǎo)扇區(qū)寫入一張軟盤中 (3)將此軟盤插入染毒計(jì)算機(jī),將其中采集的主引導(dǎo)扇區(qū)數(shù)據(jù)寫入染毒硬盤0柱面0磁頭1扇區(qū),即可修復(fù) 修復(fù)硬盤主引導(dǎo)扇區(qū)時(shí),也可利用先前備份的本

25、扇區(qū)尚未感染時(shí)的數(shù)據(jù),替代(2)中采集的數(shù)據(jù)。修復(fù)主引導(dǎo)扇區(qū)時(shí),一般不用FDisk/MBR命令,以免丟失硬盤信息9.7.2 引導(dǎo)型病毒的清除 硬盤、軟盤BOOT扇區(qū)染毒時(shí)的修復(fù)方法: 修復(fù)硬盤BOOT扇區(qū) 最簡(jiǎn)單方便的殺毒方法是使用系統(tǒng)命令SYS,即:用與染毒盤相同版本的無毒系統(tǒng)軟盤啟動(dòng)計(jì)算機(jī),然后執(zhí)行命令“SYS C:”,用正常的引導(dǎo)程序覆蓋硬盤的BOOT扇區(qū) 修復(fù)軟盤BOOT扇區(qū)也可采用類似的覆蓋方法 引導(dǎo)型病毒如果將原主引導(dǎo)扇區(qū)或BOOT扇區(qū)覆蓋式寫入根目錄區(qū),被覆蓋的根目錄區(qū)完全損壞,不可能修復(fù)。如果引導(dǎo)型病毒將原主引導(dǎo)扇區(qū)或BOOT扇區(qū)覆蓋式寫入第一FAT表時(shí),第二FAT表未破壞,則

26、可以修復(fù),可將第FAT表復(fù)制到第一FAT表中 一般而言,引導(dǎo)型病毒占用的其他部分存儲(chǔ)空間,只有采用“壞簇”技術(shù)和“文件結(jié)束簇”技術(shù)占用的空間需要收回,修改文件分配表即可9.7.3 文件型病毒的清除 基于隱蔽病毒自身的目的,病毒一般都要保證原文件代碼還能正常地執(zhí)行。這就意味著原文件能被妥善保存,從而為清除病毒、恢復(fù)原文件提供了可能 除了覆蓋型的文件型病毒之外,其他文件型病毒都可以被清除干凈 用解毒軟件來解毒不保證能夠完全復(fù)原,有可能會(huì)越解越糟,殺完毒之后文件反而不能執(zhí)行。利用手工消毒也是如此。因此,用戶必須勤備份自己的資料 手工清除病毒之前,應(yīng)備份被感染文件,同時(shí)應(yīng)注意防護(hù)措施。任何清除病毒的動(dòng)

27、作,都是危險(xiǎn)操作9.7.3 文件型病毒的清除 清除.COM文件中的計(jì)算機(jī)病毒的方法 以使用Debug為例,清除計(jì)算機(jī)病毒的方法和步驟如下: 用Debug調(diào)入需清除病毒的文件程序,通過計(jì)算機(jī)病毒程序查找合法程序的程序頭(對(duì)加密或經(jīng)過轉(zhuǎn)換的文件頭進(jìn)行還原,還原的方法也在計(jì)算機(jī)病毒程序中) 對(duì)于鏈接于文件頭部的計(jì)算機(jī)病毒,可用合法文件移到文件偏移0100H處后存盤的方法清除。若文件的長(zhǎng)度小于計(jì)算機(jī)病毒的長(zhǎng)度,則通過設(shè)置CX寄存器并存盤來清除 對(duì)于鏈接于文件尾部的計(jì)算機(jī)病毒,可以將正常的文件頭(通過分析病毒程序可得到)寫入染毒的文件頭,并通過設(shè)置CX寄存器并存盤的方法去掉程序中的病毒部分 對(duì)內(nèi)存中的病

28、毒進(jìn)行清除。病毒程序常駐內(nèi)存后,一般修改中斷向量,使系統(tǒng)調(diào)用中斷向量時(shí)激活病毒。所以清除內(nèi)存中的病毒可以將備份或同版本的中斷向量表取代內(nèi)存中的中斷向量表,或直接關(guān)掉機(jī)器,用干凈系統(tǒng)重啟 對(duì)于交叉感染或重復(fù)感染的.COM文件,一定要找出病毒感染的先后順序,按從后向前(或從內(nèi)向外)的順序逐個(gè)清除病毒,否則會(huì)損壞原文件9.7.3 文件型病毒的清除 清除.EXE文件中的計(jì)算機(jī)病毒的方法 清除.EXE文件病毒的方法與清除.COM文件中病毒的方法類似,只不過更繁瑣的是恢復(fù)原文件頭參數(shù) 清除工作仍然要通過仔細(xì)分析病毒代碼,找到原文件頭參數(shù),寫回并丟掉病毒程序代碼 對(duì)于交叉感染或重復(fù)感染的.EXE文件,只要找

29、到最先感染的病毒代碼,從中找出原始文件頭參數(shù),可直接取出恢復(fù),而不必逐層解毒,恢復(fù)方法與單個(gè)病毒感染時(shí)的方法是一致的 注:由于Debug程序拒絕寫.EXE文件,所以在清除.EXE文件中的病毒時(shí)應(yīng)首先將.EXE文件改名,然后再清除 對(duì)于感染PE文件的病毒,可以用PEditor、LordPE等工具軟件刪除病毒體、恢復(fù)程序入口點(diǎn)(正常程序的入口一般是PE文件中的第一個(gè)節(jié).text),從而達(dá)到清除病毒的目的。若病毒采用了EPO等技術(shù),清除工作將變得異常繁雜9.8.1 重入檢測(cè)和病毒免疫 大部分駐留內(nèi)存的病毒會(huì)在加載病毒代碼之前,檢查系統(tǒng)的內(nèi)存狀態(tài),判斷內(nèi)存中是否有病毒,若存在(自身已被加載),則不再加

30、載病毒代碼,否則,加載 感染文件之前,查看文件的狀態(tài)(一般是查看感染標(biāo)志),檢查該文件是否已被感染,如果被感染了則不再重復(fù)感染 病毒的這種重入檢測(cè)機(jī)制導(dǎo)致了一種反病毒技術(shù)的出現(xiàn),也就是形形色色的免疫程序:利用免疫程序設(shè)置內(nèi)存的狀態(tài)、設(shè)置CPU的狀態(tài)或者設(shè)置文件的一些特征,從而防止某種特定的病毒進(jìn)入系統(tǒng)9.8.2 計(jì)算機(jī)病毒免疫的方法及其缺點(diǎn) 從實(shí)現(xiàn)計(jì)算機(jī)病毒免疫的角度看病毒的傳染,可以將病毒的傳染分成兩種 在傳染前先檢查待傳染的扇區(qū)或程序內(nèi)是否含有病毒代碼,如果沒有找到則進(jìn)行傳染,如果找到了則不再進(jìn)行傳染 如小球病毒、CIH病毒 在傳染時(shí)不判斷是否存在感染標(biāo)志(免疫標(biāo)志),病毒只要找到一個(gè)可傳

31、染對(duì)象就進(jìn)行一次傳染 例如黑色星期五病毒 (注:黑色星期五病毒的程序中具有判別傳染標(biāo)志的代碼,由于程序設(shè)計(jì)錯(cuò)誤,使判斷失敗,導(dǎo)致感染標(biāo)志形同虛設(shè))9.8.2 計(jì)算機(jī)病毒免疫的方法及其缺點(diǎn) 目前常用的免疫方法有兩種 針對(duì)某一種病毒進(jìn)行的計(jì)算機(jī)病毒免疫 一個(gè)免疫程序只能預(yù)防一種計(jì)算機(jī)病毒 例如對(duì)小球病毒,在DOS引導(dǎo)扇區(qū)的1FCH處填上1357H,小球病毒檢查到該標(biāo)志就不再對(duì)它進(jìn)行感染 優(yōu)點(diǎn)是可以有效地防止某一種特定病毒的傳染,但缺點(diǎn)很嚴(yán)重,主要有以下幾點(diǎn): 對(duì)于不設(shè)置感染標(biāo)識(shí)或設(shè)置后不能有效判斷的病毒,不能達(dá)到免疫的目的 當(dāng)該病毒的變種不再使用這個(gè)免疫標(biāo)志、或出現(xiàn)新病毒時(shí),免疫標(biāo)志失去作用 某些

32、病毒的免疫標(biāo)志不容易仿制,若必須加上這種標(biāo)志,則需對(duì)原文件做大的改動(dòng),例如大麻病毒 由于病毒的種類較多,再加上技術(shù)上的原因,不可能對(duì)一個(gè)對(duì)象加上各種病毒的免疫標(biāo)識(shí) 能阻止傳染,卻不能阻止病毒的破壞行為,仍然放任病毒駐留在內(nèi)存中9.8.2 計(jì)算機(jī)病毒免疫的方法及其缺點(diǎn) 基于自我完整性檢查的計(jì)算機(jī)病毒免疫 目前這種方法只能用于文件而不能用于引導(dǎo)扇區(qū) 原理是,為可執(zhí)行程序增加一個(gè)免疫外殼,同時(shí)在免疫外殼中記錄有關(guān)用于恢復(fù)自身的信息。執(zhí)行具有這種免疫功能的程序時(shí),免疫外殼首先得到運(yùn)行,檢查自身的程序大小、校驗(yàn)和、生成日期和時(shí)間等情況,沒有發(fā)現(xiàn)異常后,再轉(zhuǎn)去執(zhí)行受保護(hù)的程序 這種方法不只是針對(duì)病毒的,由

33、于其他原因造成的文件變化,在大多數(shù)情況下免疫外殼程序都能使文件自身得到復(fù)原,但仍存在一些缺點(diǎn)和不足: 每個(gè)受到保護(hù)的文件都要增加額外的存儲(chǔ)空間 現(xiàn)在使用中的一些校驗(yàn)碼算法不能滿足防病毒的需要,被某些種類的病毒感染的文件不能被檢查出來 無法對(duì)抗覆蓋方式的文件型病毒 有些類型的文件不能使用免疫外殼的防護(hù)方法,否則將使這些文件不能正常執(zhí)行 當(dāng)已被病毒感染的文件被免疫外殼包在里面時(shí),這將妨礙反病毒軟件的檢測(cè)清除9.8.3 數(shù)字免疫系統(tǒng)簡(jiǎn)介 早在20世紀(jì)90年代初,IBM公司的懷特和他的同事們就夢(mèng)想給計(jì)算機(jī)“接種”一種數(shù)字免疫系統(tǒng)(Digital Immune System,DIS) 為了對(duì)抗利用Int

34、ernet進(jìn)行傳播的病毒,IBM公司開發(fā)了該數(shù)字免疫系統(tǒng)原型病毒分析機(jī)分析病毒行為和結(jié)構(gòu)得到病毒特征碼得到解決方案(抗體)3感染病毒的客戶機(jī)客戶機(jī)客戶機(jī)管理機(jī)5624客戶機(jī)客戶機(jī)管理機(jī)獨(dú)立的客戶機(jī)77專用網(wǎng)絡(luò)專用網(wǎng)絡(luò)1IBM數(shù)字免疫系統(tǒng)示意圖思考題 1. 熟悉各種殺毒軟件、病毒防火墻的安裝、配置和使用。 2. 本章給出了一些病毒預(yù)防措施,在單機(jī)、網(wǎng)絡(luò)等特定環(huán)境下,如何預(yù)防病毒? 3. 基于特征碼的靜態(tài)掃描技術(shù),適合于查殺何種類型的計(jì)算機(jī)病毒?為什么? 4簡(jiǎn)述啟發(fā)式掃描技術(shù)的基本思想。 5查毒虛擬機(jī)與VmWare等虛擬軟件有何區(qū)別?病毒采用什么技術(shù)對(duì)抗虛擬機(jī)技術(shù)?我們又該如何查殺這類病毒? 6W

35、indows 9x下的實(shí)時(shí)監(jiān)控,主要采用哪些技術(shù)?Windows NT/2000下的實(shí)時(shí)監(jiān)控,主要采用哪些技術(shù)?為什么會(huì)存在這些差別? 7清除計(jì)算機(jī)病毒的一般方法和步驟是什么?對(duì)清除計(jì)算機(jī)病毒,你有什么經(jīng)驗(yàn)和建議?思考題 8編程實(shí)現(xiàn)一個(gè)加殼程序,并測(cè)試其對(duì)被保護(hù)對(duì)象的保護(hù)效果。 9. 什么是計(jì)算機(jī)病毒的免疫?9.1.2 計(jì)算機(jī)病毒防治技術(shù)的劃分 計(jì)算機(jī)病毒的防治技術(shù)分成四個(gè)方面 病毒預(yù)防技術(shù) 病毒檢測(cè)技術(shù) 病毒消除技術(shù) 病毒免疫技術(shù) 除了免疫技術(shù)因目前找不到通用的免疫方法而進(jìn)展不大之外,其他三項(xiàng)技術(shù)都有相當(dāng)?shù)倪M(jìn)展9.2.3 預(yù)防計(jì)算機(jī)病毒的一般措施 計(jì)算機(jī)病毒的預(yù)防措施可概括為兩點(diǎn) 勤備份 嚴(yán)防守9.3.4 掃描法診斷的原理 掃描法是用每一種病毒體

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論