亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        電腦病毒分析詳解一例

        2019-06-22 07:01:16唐文昊李孟軒阮鑒杰陳紅珍
        視聽 2019年5期
        關(guān)鍵詞:染毒字節(jié)區(qū)段

        唐文昊 李孟軒 阮鑒杰 陳紅珍

        (廣西廣播電視技術(shù)中心桂林分中心)

        一、引言

        在拷貝文件的過程中,病毒通過U盤的自動運行,在短時間內(nèi)感染了全盤的程序。影響了單位遠(yuǎn)程管理系統(tǒng)等一系列計算機軟件的正常運行,給安全播出帶來隱患。本著刨根究底的態(tài)度,筆者對染毒的程序樣本“OEM設(shè)備IP配置.exe”進行了一次常規(guī)且詳細(xì)的剖析。

        二、分析準(zhǔn)備

        病毒分析需要在一個干凈且可以撤銷操作的環(huán)境中進行,虛擬機是很好的選擇。在分析前建立還原點,以避免調(diào)試過程中的誤操作使病毒生效,導(dǎo)致實驗環(huán)境被破壞,影響分析過程和結(jié)果。筆者使用的分析工具有:虛擬機Vmware、動態(tài)調(diào)試器ollydbg、PE工具PE Explorer。本文中的十六進制數(shù)均以匯編語言的格式表示,以H結(jié)尾,表示Hex。

        三、染毒程序的分析

        (一)PE結(jié)構(gòu)

        圖1 PE Explorer中顯示的PE頭部的部分信息

        PE(Portable Executable)文件是Windows系統(tǒng)的程序文件,主要有可執(zhí)行文件(exe)、動態(tài)鏈接庫(dll)和驅(qū)動程序(sys)三種。操作系統(tǒng)為了組織程序中的代碼和數(shù)據(jù),定義了PE文件的區(qū)段結(jié)構(gòu)。位于文件開頭的PE頭部可以得到整個程序的結(jié)構(gòu)信息,給系統(tǒng)加載程序提供了依據(jù)。病毒感染程序的過程,是在不破壞PE結(jié)構(gòu)的前提下,把自己附加到程序的新區(qū)段或者原代碼段的空閑區(qū)域(文件中區(qū)段未滿200H個字節(jié)時,剩下由0填充)。這里只需要關(guān)注PE頭部的部分?jǐn)?shù)據(jù),圖1是PE工具中顯示的信息。

        圖1的PE頭部信息對應(yīng)Windows平臺開發(fā)中winnt.h頭文件定義的數(shù)據(jù)結(jié)構(gòu)IMAGE_FILE_HEADER和IMAGE_OPTIONAL_HEADER32的前一部分。重點關(guān)注倒數(shù)第四行的入口點地址61B00H,表示程序被加載后將從這個地址開始執(zhí)行。需要注意的是,為閱讀方便,PE工具中顯示的值是VA(虛擬地址),而文件中實際存儲的值是RVA(相對虛擬地址),VA=RVA+映像基址。

        圖2 PE Explorer中顯示的區(qū)段表

        圖3 染毒程序的入口點代碼(感染代碼的開頭)

        另一個重要的數(shù)據(jù)結(jié)構(gòu)是區(qū)段表,包括了區(qū)段的位置信息。每一行代表一個區(qū)段,對應(yīng)數(shù)據(jù)結(jié)構(gòu)IMAGE_SECTION_HEADER。虛擬大小和虛擬地址指區(qū)段在內(nèi)存中的位置。RAW數(shù)據(jù)大小和RAW數(shù)據(jù)入口指區(qū)段在文件中的位置。由此可以得到區(qū)段從磁盤文件映射到內(nèi)存的對應(yīng)關(guān)系。內(nèi)存以頁面(0x1000字節(jié))對齊,磁盤以扇區(qū)(0x200字節(jié))對齊,表中的數(shù)值也是它們的倍數(shù)。特征值則可以區(qū)別此區(qū)段包含的是代碼或者數(shù)據(jù),以及是否有讀、寫、執(zhí)行等權(quán)限。

        圖2顯示此程序共9個區(qū)段,圖1中的第二行也有標(biāo)識(PE工具翻譯有誤,應(yīng)為區(qū)段數(shù))。常見區(qū)段有代碼段.text和數(shù)據(jù)段.data,以及導(dǎo)入表、導(dǎo)出表所在區(qū)段.idata和.edata。導(dǎo)入表非常重要,包含程序調(diào)用的系統(tǒng)函數(shù)或第三方動態(tài)鏈接庫導(dǎo)出函數(shù)的名字和地址,會直接暴露程序的底層實現(xiàn)。導(dǎo)出表則標(biāo)識了本程序可對外公開的函數(shù)。導(dǎo)出函數(shù)一般被用于共享(提供給多個程序調(diào)用),會被編譯到dll文件,而exe文件很少會有導(dǎo)出函數(shù)。

        圖4 搜尋系統(tǒng)函數(shù)地址的部分代碼

        最后一個區(qū)段.rmnet是重點懷疑對象,這個名字不是鏈接器生成的默認(rèn)區(qū)段名。實際上它就是病毒所在區(qū)段。正常的入口點會落在代碼段.text內(nèi),靠近開頭,一般是401xxxH,而染毒后的入口點卻位于最后這個區(qū)段。此段的特征值E0000020H標(biāo)識了:代碼(第6位)、可執(zhí)行(第30位)、可讀(第31位)、可寫(第32位)。代碼段可寫在正常情況下很少見,這意味著代碼可能被加密了,一般是加殼軟件或病毒才有具有的特征。

        (二)感染代碼——搜索函數(shù)地址

        用調(diào)試器打開染毒的程序“OEM設(shè)備IP配置.exe”,來到入口點代碼。

        代碼窗口的信息有:第一列是內(nèi)存地址,第二列是代碼的十六進制數(shù)值,對應(yīng)第三列的匯編語句。圖3中1處:ebp寄存器本來用于指向上一個棧幀的基址,回溯函數(shù)的調(diào)用關(guān)系,這里卻用作重定位,尋址此區(qū)段的數(shù)據(jù),還做了簡單的變形,先減后加相近的數(shù)值。2、3處:從原程序的導(dǎo)入表中取得兩個重要系統(tǒng)函數(shù)的地址:LoadLibraryA和GetProcAddress,均為kernel32.dll的導(dǎo)出函數(shù),是獲取其他函數(shù)的絕代雙嬌,也是Shellcode的常見操作。Shellcode指一段偽裝成數(shù)據(jù)的代碼,向有漏洞的程序進行遠(yuǎn)程注入,根據(jù)目標(biāo)程序的內(nèi)存、堆??臻g進行精密的調(diào)整,使程序執(zhí)行的流程轉(zhuǎn)移到自己身上。它的特點是無硬編碼的尋址操作,必須對自身數(shù)據(jù)進行重定位。重定位使用call下一條指令將指令地址入棧,再彈出此地址用于相對尋址。為避免作為字符串被截斷、出現(xiàn)’

        亚洲av手机在线网站| 无码毛片高潮一级一免费| 久久99久久99精品免观看女同| 久久精品伊人久久精品| 丰满人妻一区二区三区视频| 曰本大码熟中文字幕| 国产精品公开免费视频| 一区二区特别黄色大片| 按摩师玩弄少妇到高潮av| 潮喷大喷水系列无码久久精品| 八戒网站免费观看视频| 91精品国产闺蜜国产在线| 美国黄色av一区二区| 国产午夜精品无码| 午夜成人理论无码电影在线播放| 国产在线不卡AV观看| 国产丰满乱子伦无码专| 国产自拍av在线观看| 天天爽夜夜爽夜夜爽精品视频| 最新高清无码专区| 国产成人乱色伦区小说| 偷柏自拍亚洲综合在线| 中文字幕一区在线直播| 国产午夜成人av在线播放| 中文字幕+乱码+中文字幕无忧| 色婷婷精品综合久久狠狠| 国产自拍一区二区三区| 中国女人内谢69xxxxxa片| 午夜不卡久久精品无码免费| 无码人妻精品一区二区三区下载| 中文字幕视频一区二区| 亚洲码欧美码一区二区三区| 精品国产人妻一区二区三区 | 精品人妻中文av一区二区三区| 最新日韩人妻中文字幕一区| 国产av在线观看一区二区三区| 国产综合无码一区二区辣椒 | 人妻丰满av∨中文久久不卡| 中文字幕亚洲综合久久| 国内自拍视频一区二区三区| 欧美69久成人做爰视频|