計算機病毒常用技術綜述.ppt
《計算機病毒常用技術綜述.ppt》由會員分享,可在線閱讀,更多相關《計算機病毒常用技術綜述.ppt(45頁珍藏版)》請在裝配圖網上搜索。
,計算機病毒與反病毒技術,主要內容,計算機病毒的隱藏技術計算機病毒駐留內存技術計算機病毒的變形技術計算機病毒的反跟蹤、反調試、反分析技術,第8章計算機病毒常用技術綜述,8.1.1引導型病毒的隱藏技術,引導病毒的隱藏方法,8.1計算機病毒的隱藏技術,修改INT13H入口地址,修改INT21H功能4BH,8.1.2文件型病毒的隱藏技術,文件型病毒在打開文件的時候將文件的內容恢復到未感染的狀態(tài),在關閉文件的時候重新進行感染由于訪問文件的方式、方法非常多,所以實現完全的文件型病毒隱藏是一件非常困難的事情。一套較完整的隱藏技術應該改包括對如圖所示幾個方面的處理,8.1計算機病毒的隱藏技術,8.1.3宏病毒的隱藏技術,宏病毒的隱藏技術比較簡單在Word、Excel等軟件中禁止菜單“文件→模板”或者“工具→宏”通過宏病毒代碼刪除菜單項宏病毒用自己的FileTemplates和ToolsMacro宏替代系統(tǒng)缺省的宏也可以采用5.3節(jié)中討論的隱藏技術,8.1計算機病毒的隱藏技術,8.1.4Windows病毒的隱藏技術,以系統(tǒng)服務程序方式進行隱藏攔截枚舉進程的API函數動態(tài)嵌入式隱藏,8.1計算機病毒的隱藏技術,8.2.1加密解密技術與病毒的多態(tài)性,多態(tài)病毒的框架多態(tài)病毒是改進了的加密病毒,由變化的解密頭和加密的代碼組成。多態(tài)病毒運行時,先執(zhí)行的是解密代碼,對加密代碼解密,然后執(zhí)行剛解密的代碼,也就是實現傳播的主體代碼,8.2病毒的加密與多態(tài)(變形)技術,8.2.1加密解密技術與病毒的多態(tài)性,8.2病毒的加密與多態(tài)(變形)技術,8.2.1加密解密技術與病毒的多態(tài)性,多態(tài)病毒加密與普通加密的差別每條解密指令都不是固定的,上面的固定代碼實際上只是一種可能,病毒每次復制自身的時候,這些代碼都會隨機改變密鑰在復制自身時,也要重新生成宏I3、I2使得每條指令占用10個字節(jié)的空間(之所以選擇10個字節(jié),是因為幾乎所有指令,特別是病毒常用的,都小于10個字節(jié),保證了有剩余空間,又不會造成太大浪費,是一種折衷),在10個字節(jié)的剩余空間中插入隨機生成的垃圾代碼,這些垃圾代碼也是隨機選擇的,8.2病毒的加密與多態(tài)(變形)技術,8.2.1加密解密技術與病毒的多態(tài)性,8.2病毒的加密與多態(tài)(變形)技術,8.2.2使用改變可執(zhí)行代碼技術的多態(tài)病毒,由于在運行過程中改變機器語言的指令是非常困難的,所以這種技術主要使用在宏病毒中。在運行過程中,病毒可以隨機的改變變量名,指令的順序等,但是不影響病毒所實現的功能一些復雜的引導型病毒也采用了這種技術,在引導區(qū)或者分區(qū)表中,包含了一小段代碼來加載實際的病毒代碼,這段代碼在運行的過程中是可以改變的由于動態(tài)修改機器語言代碼的復雜性,完成在文件型病毒中使用動態(tài)代碼修改技術有相當的難度,但是已發(fā)現存在病毒使用了這種技術“厚度”(Ply)病毒在病毒體中隨機的移動指令,然后利用跳轉(JMP)或者調用(CALL)指令使病毒代碼仍然可以實現原來的功能“TMC”病毒沒有在運行過程中改變代碼,但是在感染的時候,整個代碼的分段、偏移量和填充代碼的分布都是可以隨機變化的,8.2病毒的加密與多態(tài)(變形)技術,8.2.3多態(tài)性的級別,根據病毒使用多態(tài)技術的復雜程度,可以將多態(tài)病毒劃分成以下幾個級別:半多態(tài)病毒擁有一組解密算法,感染的時候從中隨機的選擇一種算法進行加密和感染具有不動點的多態(tài)病毒有一條或者幾條語句是不變的,其他病毒指令都是可變的帶有填充物的多態(tài)解密代碼中包含一些沒有實際用途的代碼來干擾分析者的視線算法固定的多態(tài)解密代碼所使用的算法是固定的,但是實現這個算法的指令和指令的次序是可變的,8.2病毒的加密與多態(tài)(變形)技術,8.2.3多態(tài)性的級別,算法可變的多態(tài)使用了上述所有的技術,同時解密的算法也是可以部分或者全部改變的完全多態(tài)算法多態(tài),同時病毒體可以隨機的分布在感染文件的各個位置,但是在運行的時候能夠進行拼裝,并且可以正常工作對于前面3種多態(tài)病毒,使用病毒特征碼或者改進后的病毒特征碼是可以發(fā)現病毒的(所謂改進后的特征碼,就是包括一些非比較字節(jié)的特征串)對于第4種多態(tài)病毒,由于代碼的變化是有限的,所以通過增加多種情況的改進后的特征碼,應該也可以處理至于第5和第6種多態(tài)病毒,依靠傳統(tǒng)的特征碼技術是完全無能為力的,8.2病毒的加密與多態(tài)(變形)技術,8.2.3多態(tài)性的級別,一個真正意義的多態(tài)應該可以創(chuàng)建每次都不同的自解密代碼和不同的加密代碼一個優(yōu)秀的多態(tài)引擎可以作到:創(chuàng)建不同的解密代碼:產生不同的指令,完成相同的功能;這些指令集可以交換位置在真實的解密代碼中間創(chuàng)建垃圾指令可移動(可以包含在任意程序中)所有的是機制必須隨機進行解密器大小可變盡量快且小解密器越大越復雜,效果越好,但也越慢,必須找到一個平衡點,8.2病毒的加密與多態(tài)(變形)技術,8.2.4多態(tài)病毒的原理,最簡單的多態(tài)病毒,8.2病毒的加密與多態(tài)(變形)技術,8.2.4多態(tài)病毒的原理,這段代碼的工作流程是:獲得重定位信息將加密代碼的偏移保存在edi中,將加密代碼的大小保存在ecx中循環(huán)解密每一個字節(jié)解密完成后,病毒主體開始執(zhí)行,進行獲得地址、判斷發(fā)作、感染文件、返回宿主等病毒的常規(guī)工作,8.2病毒的加密與多態(tài)(變形)技術,8.2.4多態(tài)病毒的原理,改變指令順序多態(tài)很重要的一個工作就是可以交換解密指令位置,僅這個特性就可以使特征字符串掃描失效上面[1]~[9]可排列的指令具有如下規(guī)則:指令[1]~[3]順序不能改變指令[4]可以在VStart、DecryptLoop之間的任何地方指令[5]必須在指令[3]之后、指令[6]之前指令[6]~[9]順序不能改變根據這個原則,可能改變采用的指令序列是:[1][2][3][4][5][6][7][8][9][1][4][2][3][5][6][7][8][9][1][2][4][3][5][6][7][8][9][4][1][2][3][5][6][7][8][9][1][2][3][5][4][6][7][8][9]…,8.2病毒的加密與多態(tài)(變形)技術,8.2.4多態(tài)病毒的原理,改變解密指令把單條指令展開為復雜的指令集把已知的指令集轉換為單條指令,8.2病毒的加密與多態(tài)(變形)技術,8.2.4多態(tài)病毒的原理,把指令變換為相同功能的指令以上指令都做相同的事情,可以隨機選擇一個,然后再在空隙中插入垃圾指令來達到每條指令占用的最大空間。下面以mov指令為例,說明變換的過程,8.2病毒的加密與多態(tài)(變形)技術,8.2.4多態(tài)病毒的原理,8.2病毒的加密與多態(tài)(變形)技術,8.2.4多態(tài)病毒的原理,隨機數的生成多態(tài)必須建立在隨機過程上,避免有規(guī)律可尋,8.2病毒的加密與多態(tài)(變形)技術,8.2.4多態(tài)病毒的原理,垃圾代碼的產生選擇垃圾代碼的原則:不能影響任何寄存器(當然,eip是一定要改變的)和標志位的狀態(tài)不能修改程序中的任何數據總之,不可以干擾程序的正常運行可以選擇的垃圾代碼指令單字節(jié)垃圾指令雙字節(jié)垃圾指令三字節(jié)垃圾指令,8.2病毒的加密與多態(tài)(變形)技術,8.2.4多態(tài)病毒的原理,多態(tài)病毒復制自身時的特殊性普通病毒復制自身只要簡單的調用WriteFile(offsetVStart,VIRUS_SIZE…)多態(tài)病毒的復制過程要復雜一些,可以分為3個步驟:生成并寫入解密代碼每次感染文件的時候,都要變化解密代碼,這就要先對解密代碼進行一次處理,用相同功能的指令以一定的概率替換原有指令,再以隨機的垃圾代碼填充空隙后即可寫入到宿主文件生成并寫入密鑰密鑰是要每次重新生成的,動態(tài)生成一個新的密鑰,然后寫入寫入病毒加密部分這部分也是病毒的主體,不能直接寫入,用新密鑰加密后寫入,8.2病毒的加密與多態(tài)(變形)技術,8.2.5多態(tài)病毒的對抗,對付多態(tài)病毒的最好辦法是某種形式的虛擬執(zhí)行技術,也就是仿真出一個80 x86的CPU,讓解密代碼自己解密完成之后,再使用通常的特征碼識別法進行病毒檢測針對這種仿真技術也出現了一些具有反仿真技術的病毒例如根據執(zhí)行所需要的時間判斷是否處于虛擬機的監(jiān)視下,在監(jiān)視下和非監(jiān)視下表現出完全不同的行為衡量多態(tài)病毒的難度、復雜性和檢測的困難程度可以從下面幾個方面進行:采用算法的復雜性,是否采用了非公開、非標準的80 x86指令,是否使用了大量的尋址方法和多種類型的指令實現解密算法是否使用了反仿真(反虛擬執(zhí)行)技術是否采用了可變的加密/解密算法解密代碼是否具有充分的隨機性,8.2病毒的加密與多態(tài)(變形)技術,EPO技術簡介,EPO是EntryPointObscuring技術的簡寫,意即入口模糊技術,該技術改變了傳統(tǒng)的修改PE頭部的入口點、使其指向病毒代碼入口而使病毒代碼得以執(zhí)行的典型方法EPO技術的產生,源于計算機病毒對抗很多殺毒軟件為了避免耗時太多只是對PE入口處的代碼進行啟發(fā)式檢查如果只是簡單地修改PE的入口,則很容易被殺毒軟件識別如果可以把病毒代碼隱藏在PE文件的某個中間的位置,那么要想找出病毒來勢必要困難的多,8.3EPO技術簡介,EPO技術簡介,最早的EPO并不改變PE頭中入口點的值,相反,它改變了程序入口處的代碼,比如改成JMPVirStart跳轉到病毒體執(zhí)行另外一種實現EPO的方法是在PE文件代碼中的任意指令位置,將其替換成JMPVirStart或CALL或其他轉移指令跳轉到病毒體去執(zhí)行EPO存在如下缺陷:搜索任意指令的方法有一定的局限被替換的指令可能是廢代碼,也就是說在程序執(zhí)行過程中,幾乎永遠不會執(zhí)行到如果因為上面原因,導致病毒設計失敗,導致目標程序無法正常執(zhí)行,病毒幾乎無法傳播,而且由于殺死了目標程序,不但起不到EPO的作用,反而有可能暴露自己,8.3EPO技術簡介,8.4.1核心態(tài)與用戶態(tài),操作系統(tǒng)代碼、設備驅動程序代碼使用特權級0(Ring0),工作于系統(tǒng)核心態(tài)普通的用戶程序使用特權極3(Ring3),工作在用戶態(tài),8.4病毒進入系統(tǒng)核心態(tài)的方法,Windows2000/XP下普通應用程序對核心態(tài)功能的調用示意,8.4.2病毒進入系統(tǒng)核心態(tài)的方法,病毒就可以在GDT(全局描述符表)、LDT(局部描述符表)中隨意構造門描述符并借此進入核心態(tài)通過調用門(Callgate)、中斷門(INTgate)、陷阱門(Trapgate)、異常門(Fault)、中斷請求(IRQs)、端口(Ports)、虛擬機管理器(VMM)、回調(Callback)、形式轉換(Thunks)、設備IO控制(DeviceIOControl)、API函數(SetThreadContext)、中斷2E服務(NTKERN.VxD)得到Ring0,8.4病毒進入系統(tǒng)核心態(tài)的方法,8.5.1DOS環(huán)境下文件型病毒的內存駐留,對于標準的DOS下TSR可以使用兩種方法實現駐留通過在CONFIG.SYS中作為設備驅動程序加載調用DOS中斷INT21H的31H功能或INT27H病毒不是常規(guī)的TSR程序,病毒通常會使用更加巧妙的方法駐留內存,8.5病毒駐留內存技術,病毒常用的內存隱身之所,8.5.2引導區(qū)病毒的內存駐留,引導區(qū)內存駐留程序使用與文件型病毒類似的方法將病毒代碼放入系統(tǒng)內存中,由于引導病毒通常都比較小,所以一般減少的內存都只有1K或者幾K引導區(qū)內存駐留程序往往不包括重入檢測部分,因為引導區(qū)病毒只會在系統(tǒng)啟動的時候加載一次,8.5病毒駐留內存技術,8.5.3Windows環(huán)境下病毒的內存駐留,內存分配對于駐留型病毒,分配駐留所需內存是必需的在Win32下,每個應用程序都有自己的線性地址空間,必須使用特殊的函數分配內存內存駐留進入系統(tǒng)核心態(tài)的病毒可以利用系統(tǒng)服務來達到駐留內存的目的處于用戶態(tài)的程序要在程序退出后仍駐留部分代碼于內存中,似乎是不可能的,因為無論用戶程序分配何種內存都將作為進程占用資源的一部分,一旦進程結束,所占資源將立即被釋放關鍵問題是分配一塊進程退出后仍可保持的內存,8.5病毒駐留內存技術,8.5.4宏病毒的內存駐留方法,宏病毒是一類特殊的病毒,一旦運行Word/Excel,病毒就會被加載并且一直存在于系統(tǒng)中,所以在某種意義上,宏病毒都是內存駐留病毒。宏病毒通常也會進行重入檢測,發(fā)現一個文檔中已經包含了病毒的特征就不會再對這個文檔進行感染,這樣可以防止反復感染造成文檔不斷增大甚至損壞,8.5病毒駐留內存技術,8.6.1DOS病毒截獲系統(tǒng)服務的方法,在DOS下的所有代碼都可被看作運行在核心態(tài)文件型病毒可以通過在中斷向量表中修改INT21H的入口地址來截獲DOS系統(tǒng)服務(DOS利用INT21H來提供系統(tǒng)調用,其中包括大量的文件操作)大部分引導區(qū)病毒盜取截流BIOS中斷INT13H(提供磁盤操作服務)從而取得對磁盤訪問的控制,8.6計算機病毒截獲系統(tǒng)操作的方法,8.6.2Windows病毒截獲系統(tǒng)服務的方法,Windows下的應用程序,一般工作在用戶態(tài),不可能像在DOS下那樣隨心所欲地調用系統(tǒng)中斷實現特殊功能Windows下的病毒同樣找到了鉤掛系統(tǒng)服務的辦法截留文件I/O操作駐留型的病毒通過截留文件I/O來激活自己,可以通過使用VxD服務IFSMgr_InstallFileSystemAPIHook(如CIH)或截留VxDCall中的DOSServicescallback(如HPS)勾掛API函數,8.6計算機病毒截獲系統(tǒng)操作的方法,8.7.1直接API調用技術,直接API調用是當今Win32病毒常用的手段,它指的是病毒在運行時直接定位API函數在內存中的入口地址然后調用該API函數的一種技術病毒為了避免感染一個可執(zhí)行文件時在文件的導入節(jié)中構造病毒體代碼中用到的API的鏈接信息,它選擇運用自己在運行時直接定位API函數地址的代碼,8.7計算機病毒直接API調用與異常處理技術,8.7.2異常處理,病毒與眾多設計嚴謹的實用系統(tǒng)一樣,也常使用異常處理技術進行隱藏和自我保護,有時還有意制造并捕捉異常,以獲取Ring0結構化異常處理(StructuredExceptionHandling,SEH)是Windows操作系統(tǒng)提供給程序設計者的強有力的處理程序錯誤或異常的武器最終(final)異常處理無論進程中哪個線程發(fā)生了異常,操作系統(tǒng)都將調用在主線程中調用SetUnhandledExceptionFilter建立的異常處理函數,退出時,無需人為拆去自行安裝的處理代碼,系統(tǒng)將自動清除之每線程異常處理異常處理是呈鏈狀的,如果你自己的處理函數捕捉并處理了這個異常,那么當你的程序發(fā)生了異常時,操作系統(tǒng)就不會調用它缺省的處理函數,也就不會出現一個討厭的執(zhí)行了非法操作的警告,8.7計算機病毒直接API調用與異常處理技術,8.7.2異常處理,異常處理的過程系統(tǒng)按照調試器、SEH鏈上從新到舊的各個回調函數的順序逐個調用,直到存在一個回調函數處理異常為止,如果不存在這樣的回調函數,則由系統(tǒng)默認的異常處理程序終止發(fā)生異常的程序必須有存在的一個最基本的觀念SEH只不過是系統(tǒng)在終結應用程序之前給你的一個最后處理錯誤的機會,從程序設計的角度來說就是給你自己設計的一個回調函數執(zhí)行的機會。這也給病毒一個機會:利用異常進入Ring0,如CIH病毒,8.7計算機病毒直接API調用與異常處理技術,8.8.1防調試器技術,句柄檢測用CreateFileA()或_lopen()函數試圖獲得SoftICE等調試器的驅動程序的句柄,如果成功,則說明相應的調試器駐留在內存中,8.8計算機病毒的反調試、反跟蹤、反分析技術,8.8.1防調試器技術,利用調試器后門指令或調試器自帶的接口函數進行檢測如SoftICE的后門指令(BackDoorCommands)通過INT03H來進行DOS時代,用后門指令可以獲得SoftICE版本信息、設置斷點和執(zhí)行命令等,8.8計算機病毒的反調試、反跟蹤、反分析技術,8.8.2反靜態(tài)分析技術——花指令,好的反匯編軟件,應該能夠正確地區(qū)分程序文件中的指令和數據。變形病毒所采用的多態(tài)技術及其他技術,均能干擾反匯編,達到反靜態(tài)分析的目的,花指令實驗1,8.8計算機病毒的反調試、反跟蹤、反分析技術,8.8.2反靜態(tài)分析技術——花指令,反匯編部分結果,8.8計算機病毒的反調試、反跟蹤、反分析技術,8.8.2反靜態(tài)分析技術——花指令,花指令實驗2,8.8計算機病毒的反調試、反跟蹤、反分析技術,8.8.2反靜態(tài)分析技術——花指令,反匯編部分結果,8.8計算機病毒的反調試、反跟蹤、反分析技術,8.8.3其它技術,反跟蹤、反調試的其他技術指令動態(tài)執(zhí)行加密技術反虛擬機技術用時間差反跟蹤用指令預取技術反跟蹤,8.8計算機病毒的反調試、反跟蹤、反分析技術,超級病毒技術,超級病毒技術是一種很先進的病毒技術,其主要目的是對抗計算機病毒的預防技術超級病毒技術就是在計算機病毒進行感染、破壞時,使得病毒預防工具無法獲得運行機會的病毒技術,8.9超級病毒技術,- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 計算機病毒 常用 技術 綜述
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://m.appdesigncorp.com/p-3592190.html