亚洲免费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)’

        国产成人精品一区二区不卡| 国产精品露脸视频观看| 亚洲亚洲网站三级片在线| 99久久国产露脸精品竹菊传媒| 精品av天堂毛片久久久| 亚洲一区二区三区偷拍女厕| 中文人妻无码一区二区三区| 成黄色片视频日本秘书丝袜| 美腿丝袜一区二区三区| av东京热一区二区三区| 亚洲av一区二区网址| 亚洲精品久久视频网站| 美利坚日韩av手机在线| 白嫩人妻少妇偷人精品| 男人天堂网2017| 18国产精品白浆在线观看免费 | 乱中年女人伦av三区| 精品少妇人妻久久免费| 人妖与人妖免费黄色片| 中文字幕人妻av四季| 久久综合激情的五月天| 欧美性生交大片免费看app麻豆 | 国产中文字幕乱码在线| 亚洲女同恋中文一区二区| 极品粉嫩小仙女高潮喷水操av| 国产精品国产三级第一集 | 国产精品乱子伦一区二区三区| 久久精品国产亚洲av沈先生| av在线观看一区二区三区| 国产成人亚洲综合色婷婷| 99精产国品一二三产品香蕉| 人妻人人澡人人添人人爽人人玩 | 亚洲av永久无码国产精品久久| 国产精品每日更新在线观看 | 韩国一区二区三区黄色录像| 国产情侣真实露脸在线| 色婷婷综合久久久久中文| 国产做无码视频在线观看浪潮| 色婷婷激情在线一区二区三区| 一本之道日本熟妇人妻| 一二区成人影院电影网|