• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      惡意代碼多態(tài)技術(shù)研究

      2010-08-07 08:20:42常艷
      關(guān)鍵詞:多態(tài)檢測法代碼

      常艷

      遼寧警官高等??茖W(xué)校 遼寧 116023

      0 前言

      惡意代碼是一種可以中斷或破壞計(jì)算機(jī)及網(wǎng)絡(luò)正常工作的程序或代碼。隨著計(jì)算機(jī)技術(shù)的發(fā)展,惡意代碼的實(shí)現(xiàn)技術(shù)也在不斷更新和升級(jí),其技術(shù)主要集中在實(shí)現(xiàn)其隱蔽性,這樣才能避開反惡意代碼軟件的檢測,實(shí)現(xiàn)預(yù)定的破環(huán)目的。多態(tài)型惡意代碼是目前隱蔽性很強(qiáng)的一種惡意代碼,它是通過不斷改變自身代碼來實(shí)現(xiàn)隱蔽性,實(shí)現(xiàn)多態(tài)的方法各不相同,這樣大大增加了惡意代碼檢測的難度。

      1 惡意代碼檢測技術(shù)

      惡意代碼技術(shù)在不斷發(fā)展,惡意代碼的隱蔽性不斷增強(qiáng),研發(fā)快速、有效的檢測平臺(tái)已是當(dāng)務(wù)之急,這對于減少惡意代碼對網(wǎng)絡(luò)的破壞,或?qū)⑵茐脑斐傻膿p失減到最低有著很大的現(xiàn)實(shí)意義,可這并不是一件簡單的事情。由于不同惡意代碼具有不同的隱蔽特征,所以應(yīng)該采用不同的檢測技術(shù)才有效。隨著惡意代碼隱蔽技術(shù)的升級(jí),其檢測技術(shù)也在不斷改變。

      1.1 特征碼檢測技術(shù)

      特征碼是惟一確定某種惡意代碼的一段字符序列,通常稱為惡意代碼的“指紋”,是區(qū)分惡意代碼的標(biāo)志。反惡意代碼軟件通過特征碼鑒別惡意代碼;惡意代碼本身也通過特征碼鑒別文件是否已經(jīng)被感染,否則就會(huì)重復(fù)感染文件并使文件長度無限變大,這樣很容易被發(fā)覺。特征碼檢測技術(shù)實(shí)現(xiàn)起來相對簡單,對大多惡意代碼比較有效,但特征碼提取需要人工完成,費(fèi)時(shí)費(fèi)力,而且對于未知的特征庫中沒有的惡意代碼無能為力。由于多態(tài)型惡意代碼是通過不斷改變代碼實(shí)現(xiàn)隱蔽,所以使用特征碼檢測技術(shù)將失效。

      1.2 校驗(yàn)檢測法

      校驗(yàn)檢測法對系統(tǒng)里的可執(zhí)行文件計(jì)算后得出的比較值,這些值通常保存在數(shù)據(jù)庫里,當(dāng)進(jìn)行校驗(yàn)搜索時(shí),將重新計(jì)算校驗(yàn),并把結(jié)果和數(shù)據(jù)庫里的原始值做比較,當(dāng)校驗(yàn)異常,檢測工具會(huì)發(fā)出警報(bào)。多態(tài)型惡意代碼通常采用變形、加密等手段使每一次感染的代碼形式不一樣,可以通過校驗(yàn)的方法監(jiān)控。但是文件發(fā)生改變并不意味一定感染了惡意代碼,因此可能出現(xiàn)誤報(bào)或漏報(bào)現(xiàn)象,并且該方法不能識(shí)別惡意代碼種類,不能報(bào)出惡意代碼名稱,對一些隱蔽性強(qiáng)的惡意代碼無法檢測。

      1.3 行為檢測法

      利用惡意代碼特有的行為特征來監(jiān)測惡意代碼。通過對惡意代碼多年的觀察、研究,有一些行為是惡意代碼的共同行為,并且具有正常進(jìn)程所不具備的特征。當(dāng)程序運(yùn)行時(shí),監(jiān)視其行為,如果發(fā)現(xiàn)惡意代碼特征性行為,立即報(bào)警。該檢測法對多態(tài)型惡意代碼檢測比較有效,在檢測過程中,無論代碼體怎么改變,只要其行為符合某種惡意代碼行為特征,將報(bào)警。缺點(diǎn)是誤報(bào)率比較高、不能識(shí)別惡意代碼名稱及類型、實(shí)現(xiàn)監(jiān)測有一定難度。

      1.4 虛擬機(jī)檢測法

      虛擬機(jī)檢測主要針對多態(tài)型惡意代碼,通過程序來模擬CPU的執(zhí)行,像真正的CPU一樣取指、譯碼、執(zhí)行,可以模擬指令在真正CPU上執(zhí)行的結(jié)果。通過給出一組機(jī)器碼序列,虛擬機(jī)會(huì)自動(dòng)從中取出第一條指令操作碼部分,判斷操作碼類型和尋址方式以確定指令長度,然后在相應(yīng)函數(shù)中執(zhí)行該指令,并根據(jù)執(zhí)行后結(jié)果確定下一條指令的位置,如此反復(fù)執(zhí)行直到某個(gè)特定情況結(jié)束工作。當(dāng)惡意軟件使用加密/加殼這類變形技術(shù)時(shí),若不解密,普通的特征碼掃描無法檢測。而使用虛擬機(jī)檢測技術(shù)可實(shí)現(xiàn)自動(dòng)解密,虛擬機(jī)從文件入口點(diǎn)處一條一條的取指令執(zhí)行,直至解密段指令執(zhí)行完成,此時(shí)文件解密完畢,可以進(jìn)行特征檢測。虛擬機(jī)檢測技術(shù)的主要優(yōu)點(diǎn)是可以有效檢測通常的加密變形的惡意代碼,其缺點(diǎn)是仍然需要配合特征掃描,因此無法檢測未知的惡意代碼,并且有的變形代碼可以使用一些特殊的指令來繞過虛擬機(jī)檢測。

      2 多態(tài)技術(shù)介紹

      惡意代碼傳播到目標(biāo)后,自身代碼和結(jié)構(gòu)在空間上、時(shí)間上產(chǎn)生不同的變化,惡意代碼的這種技術(shù)被稱為多態(tài)。從上世紀(jì) 90年代第一個(gè)多態(tài)惡意代碼出現(xiàn)從到現(xiàn)在,多態(tài)技術(shù)在不斷的發(fā)展,根據(jù)其代碼的演化分類,可以將多態(tài)型惡意代碼分為四類:

      (1)加密階段

      這是惡意代碼變形的初級(jí)階段,其目的在于隱藏代碼體,它以一個(gè)不變的解密器開始,其后的惡意代碼體利用加密進(jìn)行保護(hù)。必須要指出的一點(diǎn)是,并不是所有的加密惡意代碼都具有變形特性的,只有那些每次使用不同加密密鑰的加密惡意代碼才具有變形特征。缺點(diǎn)是加密器代碼仍然是不變的,可以作為特征碼檢測。

      (2)單變形階段

      這個(gè)階段是在加密階段基礎(chǔ)上發(fā)展而來的,其最大改進(jìn)點(diǎn)在于對解密器進(jìn)行保護(hù),這也正是針對特征碼技術(shù)的一種設(shè)計(jì)方法,它的目的在于使得作為特征的解密器也隱藏起來,讓反惡意代碼軟件無從下手,并且在這個(gè)階段變形機(jī)已經(jīng)出現(xiàn),其缺點(diǎn)是只能生成有限種解密器變體。

      (3)準(zhǔn)變形階段

      這個(gè)階段最大變化在于真正的變形機(jī)的出現(xiàn),因?yàn)樗梢陨勺銐蚨嗟淖凅w,而且不同變體之間也沒有可以利用的特征碼,這就足以使得利用傳統(tǒng)的特征碼技術(shù)對這種惡意代碼進(jìn)行檢測理論上的可能性不存在了,其加密從過去單層加密發(fā)展到了多層加密,同時(shí)采用隨機(jī)解密算法。但是,該類算法在正常程序當(dāng)中使用很少,經(jīng)常被認(rèn)為是可疑代碼,然后結(jié)合虛擬機(jī)技術(shù)對代碼進(jìn)行模擬運(yùn)行,以確定其是否為惡意代碼程序。

      (4)全變形階段

      這個(gè)階段的變形機(jī)能夠?qū)阂獯a體進(jìn)行變形,不在保持惡意代碼的結(jié)構(gòu),變體之間無論結(jié)構(gòu)還是代碼都是完全不同的,克服了前三個(gè)階段惡意代碼程序都是靜態(tài)的缺點(diǎn),因?yàn)樵谇叭齻€(gè)階段的變體中,如果解密器被破譯,解密后得到的病毒體代碼都是一樣的。

      從其分類可以會(huì)看出,惡意代碼技術(shù)在不斷的發(fā)展,并且多態(tài)的發(fā)展將大大的增強(qiáng)了惡意代碼檢測的難度。

      3 多態(tài)技術(shù)分析

      根據(jù)多態(tài)技術(shù)分類可以總體將前三個(gè)階段定義為它變階段,可以將第四個(gè)階段定義為自變階段。它變階段主要依靠變形機(jī)對惡意代碼整體為對象進(jìn)行結(jié)構(gòu)變換;自變階段是對惡意代碼的內(nèi)部指令進(jìn)行變換,但保證執(zhí)行結(jié)果不發(fā)生改變,其主要通過代碼交換、壓縮、擴(kuò)展、替換、花指令等方法實(shí)現(xiàn),并且多種方法可以同時(shí)使用,已達(dá)同一功能的惡意代碼其代碼體各不相同,從而躲避特征碼技術(shù)的檢測。

      3.1 填充垃圾指令

      垃圾指令就是在程序中加入不影響程序執(zhí)行效果的一個(gè)字節(jié)或多個(gè)字節(jié)。其原則是:

      (1)不能改變有用的寄存器和標(biāo)志的狀態(tài);

      (2)不能改變程序中的數(shù)據(jù);

      (3)不能改變內(nèi)存的內(nèi)容。

      總之,不可以干擾程序的正常執(zhí)行。

      如:

      Add eax , 3

      Sub eax , 3

      3.2 代碼交換

      多態(tài)變形很重要的一個(gè)工作就是變換指令的位置,僅這個(gè)特性就可以使特征碼檢測失效,例如:

      VStatr:

      I2 call start ;[1]

      Statr:

      I2 pop ebx ;[2]

      I3 sub ebx , offser start ;[3]

      I3 mov ecx , Vend-EncryptStart ;[4]

      I3 lea edi , [offsrt EncryptStart+ebx] ;[5]

      DeryptLoop:

      I3 xor [edi] , byte prt ooh ;[6]

      DeryptKey =byte prt $-1 ;[7]

      I3 inc edi ;[8]

      I2 loop DeryptLoop ;[9]

      EncryptStart:

      Call GetKBase

      Call GetAPIz

      Call InfectThread

      Ret2Host:

      Push HosrEntry[ebx]

      Ret

      通過指令交換的方法,可知上面[1]-[9]可排列的指令具有如下規(guī)則:

      指令[1]-[3]順序不能改變;

      指令[4]可以在VStart ,DecryptLoop之間的任何地方;

      指令[5]必須在指令[3]之后,指令[6]之前;

      指令[6]-[9]順序不能改變;

      根據(jù)以上原則,可能改變采用指令序列是:

      (1)123456789

      (2)412356789

      (3)142356789

      (4)124356789

      (5)123546789

      3.3 代碼替換

      替換指令就是把指令變換為相同功能的指令,例如:

      以上指令可以實(shí)現(xiàn)相同的功能,在程序?qū)崿F(xiàn)過程中可以隨意的選擇,使程序代碼各不相同。

      3.4 代碼壓縮

      壓縮指令就是把已知的復(fù)雜指令集轉(zhuǎn)換為單條指令,例如:

      (1) Mov [edi] , eax

      (2) Push edx

      3.5 代碼擴(kuò)展

      擴(kuò)展指令其原理和壓縮指令相反,時(shí)間單條指令展開為復(fù)雜的指令集,如:

      通過比較可以看出,源代碼只是簡單的兩條指令,源代碼只是經(jīng)過指令擴(kuò)展和填充了垃圾指令之后,變得復(fù)雜難懂,所以利用簡單的特征碼檢測技術(shù)已經(jīng)很難檢測到。

      4 總結(jié)

      通過對變形技術(shù)的分析會(huì)發(fā)現(xiàn),檢測多態(tài)惡意代碼使用常規(guī)的特征碼檢測方法將失效,只能使用行為檢測和虛擬機(jī)檢測法,但是由于軟硬件資源的限制,快速有效的檢測到多態(tài)惡意代碼將是一個(gè)有待繼續(xù)研究的難題。

      [1] 祝恩,殷建平,蔡志平,趙建民.計(jì)算機(jī)病毒自動(dòng)變形機(jī)理的分析.計(jì)算機(jī)工程與科學(xué).2002.

      [2] 米佳,侯麗波,黃波.公共信息網(wǎng)絡(luò)安全管理教程.大連理工出版社.2008.

      [3] 張勐,楊大全,辛義忠,趙德平.計(jì)算機(jī)病毒變形技術(shù)研究.沈陽工業(yè)大學(xué)學(xué)報(bào).2004.

      [4] 孫淑華,馬恒太,張楠,卿斯?jié)h,王曉翠.后門植入、隱藏與檢測技術(shù)研究.計(jì)算機(jī)應(yīng)用研究.2004.

      猜你喜歡
      多態(tài)檢測法代碼
      分層多態(tài)加權(quán)k/n系統(tǒng)的可用性建模與設(shè)計(jì)優(yōu)化
      參差多態(tài)而功不唐捐
      創(chuàng)世代碼
      創(chuàng)世代碼
      創(chuàng)世代碼
      創(chuàng)世代碼
      T-SPOT.TB檢測法和熒光定量PCR檢測法在診斷結(jié)核病中的應(yīng)用價(jià)值
      基于改進(jìn)檢測法的STATCOM建模與仿真
      人多巴胺D2基因啟動(dòng)子區(qū)—350A/G多態(tài)位點(diǎn)熒光素酶表達(dá)載體的構(gòu)建與鑒定及活性檢測
      基于電流平均值的改進(jìn)無功檢測法
      電測與儀表(2014年6期)2014-04-04 11:59:46
      景谷| 奉节县| 焦作市| 延长县| 乃东县| 怀远县| 永州市| 义乌市| 会昌县| 镇雄县| 崇文区| 安陆市| 汶川县| 嘉峪关市| 萨嘎县| 诏安县| 文水县| 秦皇岛市| 隆德县| 磴口县| 揭东县| 平利县| 西林县| 榆社县| 建瓯市| 合江县| 房山区| 扎鲁特旗| 同江市| 桐柏县| 韶关市| 罗江县| 江源县| 嘉义县| 海林市| 秀山| 长武县| 嵩明县| 乐亭县| 伊宁市| 若尔盖县|