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

        ?

        部分查毒引擎的局限及驗證

        2022-03-18 07:45:14徐尚志歸光宗

        ◆徐尚志 歸光宗

        部分查毒引擎的局限及驗證

        ◆徐尚志1歸光宗2

        (1.北京郵電大學(xué) 北京 100871;2.山石網(wǎng)科研發(fā)部 北京 100871)

        本文利用自主開發(fā)工具檢測查毒引擎的查毒能力是否存在一定局限性。PE文件結(jié)構(gòu)中有部分區(qū)域為空白區(qū)域,本文利用隨機填充PE文件中空白區(qū)域這一方法,在不影響文件正常運行的情況下,修改惡意文件的全文哈希值以及部分惡意特征碼結(jié)構(gòu),隨后利用查毒引擎進行查毒檢測,驗證是否部分查毒軟件存在局限性,可以被上述方法繞過。

        查毒引擎;PE文件結(jié)構(gòu);繞過手段

        1 概述

        1.1 背景介紹

        隨著網(wǎng)絡(luò)技術(shù)的應(yīng)用和發(fā)展,網(wǎng)絡(luò)安全問題對于用戶的威脅日益顯現(xiàn),尤其是惡意軟件數(shù)量的不斷增漲,給個人用戶的信息安全造成了嚴(yán)重威脅。為了有效地保護隱私,用戶往往會選擇安裝查毒引擎,但是部分查毒引擎存在著設(shè)計缺陷,例如僅使用病毒樣本全文哈希值特征匹配進行查毒、僅使用二進制文件全文匹配進行查毒等。這些技術(shù)檢測能力弱,很容易被攻擊者繞過。因此,如何驗證查毒引擎是否存在上述局限性,成為一個亟須解決的問題。

        據(jù)報告顯示,現(xiàn)今已經(jīng)有上億個惡意軟件,Panda Security在2015年共計檢測到84000萬新款惡意軟件樣本,然而這僅占史上惡意軟件總數(shù)的27.63%。如果查毒引擎不能夠?qū)唵蔚奶畛淅@過(例如本文中使用的PE文件空白填充)進行識別和攔截,那么對于文件中一個僅僅8bits的空白區(qū)域,就可以產(chǎn)生256個全文哈希值不同的變種文件,如果這些變種文件都可以運行,且查毒引擎不會對這些文件進行報毒,就會造成惡意軟件繞過引擎查毒,威脅用戶安全;如果查毒引擎對這些文件進行報毒,但是查殺引擎單純將文件的全文哈希值等特征加入病毒數(shù)據(jù)庫,會使得病毒數(shù)據(jù)庫特征數(shù)據(jù)數(shù)量激增,如果黑客生成大量變種文件對查毒引擎進行攻擊,可能造成引擎數(shù)據(jù)庫的冗余,大幅度降低查毒效率與引擎性能。

        1.2 文章概述

        本文分析了市面上查毒引擎現(xiàn)狀,介紹主流查毒方法和新興查毒方法,介紹PE文件基本結(jié)構(gòu)。隨后,對于“部分查毒引擎存在局限性”這一猜想,借助工具Virustotal網(wǎng)站進行驗證。Virustotal是一個提供可疑文件分析服務(wù)的網(wǎng)站,對于上傳的可疑文件,它借助幾十種查毒引擎對其危害性進行判別,并形成結(jié)果報告,Virustotal幾乎囊括了世界上所有的殺毒軟件。

        本文首先對部分查毒引擎的局限性提出合理猜想,而后查找PE文件中各節(jié)區(qū)之間、各節(jié)區(qū)內(nèi)部、節(jié)區(qū)與PE頭之間存在的對齊填充區(qū)域,并對該區(qū)域進行隨機填充,得到新的PE文件。隨后檢測新生成的PE文件是否可以繞過查毒引擎,驗證猜想是否正確。

        具體工作如下:

        (1)介紹自主開發(fā)的工具以及實現(xiàn)思路。

        (2)通過自主開發(fā)的工具,對PE病毒樣本的空白區(qū)域進行填充,生成指定數(shù)量的新PE文件。

        (3)利用Virustotal網(wǎng)站對填充后的惡意PE文件進行檢測,查看是否能夠繞過查毒引擎。

        (4)總結(jié)部分查毒引擎的局限性,提出合理化建議。

        實驗結(jié)果表明,VirusTotal集成的部分查毒引擎,確實存在一定的局限性,通過對二進制文件填充部分的修改可繞過這些引擎。然而同時也有許多引擎經(jīng)過精心設(shè)計,能夠檢測出修改后的惡意病毒的行為并報毒。

        2 查毒引擎的現(xiàn)狀

        2.1 依賴特征碼的查毒引擎

        1989年,第一款查毒軟件Mcafee的誕生標(biāo)志著依賴特征碼的查毒引擎時代的開始。依賴特征碼的查毒技術(shù)分為單一特征碼查毒技術(shù)、多重特征碼查毒技術(shù)。

        這兩者的區(qū)別在于,單一特征碼查毒只需要檢測到待檢測文件存在一段特征與指定特征碼匹配就報毒,而多重特征碼查毒需要檢測到待檢測文件存在許多段特征都與指定的一組特征碼匹配才報警,減少誤報。

        查毒引擎廠家通過收集病毒樣本,病毒工程師通過逆向等方法找到惡意文件獨一無二的一段二進制惡意代碼,也就是特征碼。將特征碼的偏移量和特征碼本身寫入引擎的病毒庫。電腦在開機的時候,病毒庫中特征碼被讀到內(nèi)存中,例如當(dāng)用戶從網(wǎng)絡(luò)下載了一個文件,引擎會讀取該文件內(nèi)容并且與特征庫中的所有特征碼“關(guān)鍵詞”進行匹配,如果命中了特征碼,就進行報毒。

        這種技術(shù),尤其是多重特征碼查毒技術(shù),在如360的系統(tǒng)修復(fù)查毒引擎中依舊有使用。為了避免誤報,查毒引擎往往使用多重特征碼查毒技術(shù)。這樣的檢測邏輯也為本文“隨機填充一段對齊填充區(qū)域繞過查毒引擎”的方法提供了實現(xiàn)的可能性。

        2.2 啟發(fā)式查毒引擎

        啟發(fā)式分為“行為啟發(fā)”和“靜態(tài)啟發(fā)”兩種,行為啟發(fā)利用監(jiān)測惡意文件的動態(tài)特征,即借助cpu模擬器來監(jiān)測程序惡意行為,決定是否報毒;靜態(tài)啟發(fā)利用靜態(tài)特征進行監(jiān)測,例如如果一段程序包含“MOV AH,5/INT”,也就是調(diào)用格式化盤操作的功能,就值得引起警覺。

        該技術(shù)是一種具備人工智能查毒的一些特點的查毒手段,但仍然要依賴特征碼,比如一些查毒引擎會按“家族”來查殺,例如:騰訊TAV引擎特征庫中包含Virus.Win32.DiskGen家族,在該家族多個變種里,都包含有這個家族特有的一段特征碼:18 8B 8E 30 0A 00 00 03 C8 40 40 8A 11 F6 D2 88 11 3B 05 3F 3F 3F 3F 7C;這段特征碼是該家族病毒的自解密代碼。

        啟發(fā)式查毒引擎例如:小紅傘、NOD32等。這些引擎依然需要利用特征碼查毒,因此在一定情況下,本文的繞過手段也可以繞開一些啟發(fā)式查毒引擎。

        2.3 人工智能查毒引擎

        人工智能查毒引擎通過從大量的病毒樣本中歸納形成決策樹與向量機,無需手動更新,同時完成擺脫了對特征碼依賴,查毒速度很快,例如新一代的360產(chǎn)品QVM引擎就是人工智能查毒引擎。

        人工智能引擎對于新出現(xiàn)的病毒有很好的檢測以及學(xué)習(xí)的能力,配合白名單手段,能夠有效地避免誤殺誤查。

        3 PE文件結(jié)構(gòu)及加載機制

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

        PE(Portable Execute)文件是Windows下可執(zhí)行文件的總稱,常見的有DLL格式文件、EXE格式文件、SYS格式文件等,PE文件的具體結(jié)構(gòu)如圖1所示。

        圖1 PE結(jié)構(gòu)示意圖

        DOS頭是用來兼容MS-DOS操作系統(tǒng)的,其中的e_lfanew成員指明了NT頭在文件中的位置,本文中的工具就是讀取這一成員確定NT頭的位置;DOS存根作用是當(dāng)文件在MS-DOS上運行時顯示文字,沒有DOS存根,文件也能正常運行。

        NT頭中包含PE簽名(通常為“P”、“E”兩個字母)、文件頭、擴展頭。

        PE文件頭定義了PE文件的一些基本信息和屬性,本文中工具讀取其成員NumberOfSections來確定節(jié)區(qū)的數(shù)量;PE可選頭是一個可選結(jié)構(gòu),由于PE文件頭結(jié)構(gòu)不足以定義PE文件屬性,因此可選映像頭中定義了更多的文件屬性,如操作系統(tǒng)版本號等。

        節(jié)表包含每個節(jié)區(qū)在文件中的信息,其中成員分別指向不同的節(jié)區(qū)實體,本文中的工具讀取節(jié)表信息來獲取各節(jié)區(qū)的大小、位置等信息。

        其余部分是各個節(jié)區(qū),PE文件至少會有兩個節(jié)區(qū):代碼塊和數(shù)據(jù)塊。每一個節(jié)區(qū)都有不同的名字,這個名字主要是用來表達節(jié)區(qū)的用途,例如.text節(jié)區(qū)是默認的代碼區(qū)塊,其內(nèi)容為指令代碼;.rsrc節(jié)區(qū)包含文件資源,如圖片、菜單等,是一個只讀節(jié)區(qū)。

        3.2 PE加載機制

        圖2 PE加載機制示意圖

        這里簡單介紹一下與本文中工具相關(guān)的PE加載機制。

        PE文件的結(jié)構(gòu)在磁盤文件中和載入內(nèi)存后基本相同,但在載入內(nèi)存中時又不是完全復(fù)制,因為有些數(shù)據(jù)在載入前會被預(yù)先處理,載入后,數(shù)據(jù)之間的相對位置可能發(fā)生改變。因此,一個節(jié)區(qū)的偏移和大小在裝入內(nèi)存前后可能是完全不同的。

        如圖2所示,在加載入內(nèi)存之后,PE文件各個節(jié)區(qū)之間往往會添加對齊填充區(qū)域,內(nèi)容為NULL。

        4 猜想以及實驗

        4.1 猜想及驗證思路

        猜想一:是否會有查毒引擎為了查毒效率的提升,減少人工分析病毒的成本,僅使用病毒樣本全文哈希值對待檢測文件進行匹配,如果完全匹配才進行報錯。

        猜想二:為了避免誤查誤殺,是否有部分查毒引擎會僅在特征碼與待檢測文件中的某些字段完全匹配時才會進行報錯。

        下面將結(jié)合圖1介紹猜想的驗證思路。

        首先驗證查毒引擎是否僅使用病毒庫中文件的哈?;蛘叨M制全文對文件進行匹配,驗證思路為:尋找一個帶有惡意行為的PE文件,讀取PE頭結(jié)構(gòu)中的內(nèi)容,進而確定PE頭與第一個節(jié)區(qū)之間的空白、各個節(jié)區(qū)之間的空白、最后一個節(jié)區(qū)到結(jié)尾之間的空白的位置和大小。對空白中任意長的區(qū)域進行隨機填充,生成新的PE文件,并測試文件是否能夠正常運行,如果能夠正常運行,使用查毒引擎進行查毒,如果能夠繞過查毒引擎,則猜想成立。

        其次驗證能否通過空白填充繞過部分特征碼匹配模式。在節(jié)區(qū)內(nèi)部,往往也存在著一些NULL填充的部分,如圖3所示。

        圖3 內(nèi)存中節(jié)區(qū)內(nèi)部的空白區(qū)域

        圖4 工具版本一流程圖

        圖5 工具版本二流程圖

        這些部分在PE文件執(zhí)行過程中可能會用作暫存區(qū)域,并不會用做指令被執(zhí)行。如果查毒引擎的特征碼中包含這種不會影響PE文件正常行為的空白區(qū)域,則可以對該區(qū)域進行隨機填充繞過查毒。

        因此計劃使用程序遍歷文件,設(shè)定一個閾值,如果在節(jié)區(qū)內(nèi)部包含大于這個閾值的空白區(qū)域,則進行任意填充,生成新的PE文件,并測試文件是否能夠正常運行。如果能夠正常運行,使用查毒引擎查毒,如果能夠繞過查毒引擎,則猜想成立。

        4.2 工具設(shè)計

        工具整體設(shè)計思路流程圖如圖4和圖5所示。

        5 實驗驗證

        首先利用工具版本一填充選定惡意文件中的空白,填充內(nèi)容為“0x90”,不會影響程序執(zhí)行。生成4個可以正常運行的PE文件。

        隨后利用VirusTotal網(wǎng)站進行檢測,檢測結(jié)果如表1、表2所示(只列出部分查毒引擎)。

        表1 工具版本一結(jié)果(上)

        AlibabaBaiduComodoYandex報毒引擎數(shù)量 原文件√X√√54/70 文件1XXXX47/70 文件2XXX√48/70 文件3XXX√48/70 文件4XXX√48/70

        注:√表示該引擎將該文件識別為有害,X表示該引擎識別文件為無害,54/70表明共使用70個引擎檢測,其中54個報毒,下同。

        表2 工具版本一結(jié)果(下)

        TencentQihoo-360KingsoftMicrosoft報毒引擎數(shù)量 原文件√√√√54/70 文件1√√X√47/70 文件2√√X√48/70 文件3√√X√48/70 文件4√√X√48/70

        通過上面的實驗可以看出,大多數(shù)查毒引擎依然能夠?qū)⑻畛浜蟮奈募z測為惡意,但是也存在一些查毒引擎(Alibaba、Kingsoft等),通過改變一部分空白區(qū)域就能繞過查殺。這樣的局限性可能是由于特征庫不完整,或者是如同猜想中提出的,引擎僅使用病毒庫中文件的全文哈希值或者二進制全文對文件進行匹配,如果沒有完全匹配就不會進行報錯。

        其次利用工具版本二對上述惡意文件源文件進行填充,這次會填充文件中節(jié)區(qū)內(nèi)部的空白區(qū)域。共生成10個可以正常運行文件,將閾值設(shè)定為16,填充內(nèi)容為“0x90”,當(dāng)節(jié)區(qū)里空白大于16時才進行填充。VirusTotal網(wǎng)站檢測結(jié)果如下:

        表3 工具版本二結(jié)果(上)

        AlibabaBaiduComodoYandex報警引擎數(shù)量 原文件√X√√54/70 文件1XXXX41/69 文件2XXXX43/70 文件3XXXX41/69 文件4XXXX42/69 文件5XXXX46/70 文件6XXXX48/70 文件7XXXX46/69 文件8XXXX45/69

        表4 工具版本二結(jié)果(下)

        TencentQihoo-360K7GWZillya報警引擎數(shù)量 原文件√√√X54/70 文件1√√XX41/69 文件2√√XX43/70 文件3√√XX41/69 文件4√√XX42/69 文件5√√√√46/70 文件6√√√√48/70 文件7√√√√46/69 文件8√√√√45/69

        從上述實驗中可以看出,相比較于單純填充節(jié)區(qū)之間的空白,填充節(jié)區(qū)內(nèi)部的空白能夠繞過更多的查毒引擎,且在本例中,填充文件前兩個節(jié)區(qū),也就是.text和.rsrc節(jié)區(qū)能夠繞過更多的引擎。驗證了猜想:部分查毒引擎不是利用樣本全文哈希值簡單匹配或者二進制文件整體簡單匹配,而很可能是利用特征碼與待檢測文件中的某些字段匹配,完全匹配時才會進行報錯。

        6 總結(jié)

        通過上述實驗,可以得出結(jié)論,部分查毒引擎存在一定的局限性,主要體現(xiàn)在可以通過對文件的簡單修改填充繞過查毒。本文中使用的僅僅是最簡單的填充手段,作為實驗用,真正的攻擊繞過手段會比文中所使用的復(fù)雜許多,因此簡單的病毒樣本全文哈希值特征匹配、長期未更新的特征碼匹配會給使用查毒引擎的用戶帶來很大安全隱患。

        解決本文中繞過的方法也并不復(fù)雜,第一種解決方法是增加一個填充繞過過濾器,過濾器完成工作與本文中工具“版本一”相反,文中工具是通過PE頭獲取對齊填充區(qū)域的位置并隨機填充,過濾器要做的是確定對齊填充區(qū)域的位置,使用NULL填充該區(qū)域以防止該區(qū)域中有被篡改的數(shù)據(jù)。

        當(dāng)然這種方法存在局限性,正如前文中描述的PE文件加載機制,首先,PE文件被加載存儲到內(nèi)存中和存儲在文件中各部分的偏移是不同的,在PE文件中,PE頭中記錄的節(jié)區(qū)大小,指從節(jié)區(qū)開始到在文件中下一個節(jié)區(qū)起始位置之間的大小,是包含兩節(jié)區(qū)之間NULL填充區(qū)域的,并不是非NULL區(qū)域的大小,因此這種方法不能復(fù)原在存儲在文件中的情況下節(jié)區(qū)之間的對齊填充部分,能復(fù)原的是PE頭與第一個節(jié)區(qū)之間的NULL填充區(qū)域。

        第二種方法是迭代查毒引擎,采用更先進的技術(shù),例如啟發(fā)式查毒、人工智能查毒等。

        [1]亓勝田. 基于啟發(fā)式殺毒的智能移動終端安全研究[J].計算機光盤軟件與應(yīng)用,2012.

        [2]資訊實習(xí)三. 殺毒技術(shù)哪家強?看25年三代殺毒引擎的演變[R].中國網(wǎng),2014.

        [3]王海峰. 基于智能特征碼的反病毒引擎設(shè)計[J].計算機工程,2010.

        [4]邸宏宇,張靜,于毅等. 一種基于改進模糊哈希的文件比較算法研究 [J]. 信息網(wǎng)絡(luò)安全,2016.

        [5]小金. 殺毒軟件引擎技術(shù)分析安全的動力源泉[J].新電腦,2007.

        [6]史瑀. 脫掉"馬甲"抓病毒瑞星殺毒軟2007VUE引擎詳解[J].電腦愛好者,2007.

        [7]陳渝,韓利,董毅明. 殺毒軟件繼續(xù)使用意愿影響因素及調(diào)節(jié)效應(yīng)實證研究[J].科研管理研究,2013.

        [8]胡昕明. 計算機裝殺毒軟件的殺毒誤區(qū)分析[J].電腦知識與技術(shù),2018.

        国产女主播大秀在线观看 | 99久久综合狠狠综合久久| 久久综合给合久久狠狠狠9| 日本国产精品高清在线| 亚洲av无码专区国产乱码4se| 亚洲av无码专区在线播放中文 | 性导航app精品视频| 国产成人激情视频在线观看 | 熟妇人妻无码中文字幕老熟妇| 日本大片在线看黄a∨免费| 东京热加勒比在线观看| 国产91久久精品成人看网站| 亚洲av无码偷拍在线观看| 久久精品国产第一区二区三区| 免费一区二区三区视频狠狠| 麻豆国产精品伦理视频| 亚洲av永久无码精品一福利 | 一区二区三区在线观看精品视频 | 国产成人综合久久精品推| 国产一区二区三区av免费观看| 国语淫秽一区二区三区四区| 一本久久a久久精品vr综合| 亚洲天堂在线播放| 中文字幕乱码亚洲美女精品一区| 东北女人一级内射黄片| 开心五月激情综合婷婷色| 亚洲午夜无码久久yy6080 | 99久久99久久精品免观看| 国产成人精品一区二区不卡| 18禁黄网站禁片免费观看女女| 中国极品少妇videossexhd| 日韩精品人妻中文字幕有码| 亚洲av毛片在线免费观看| 国产免费av片在线播放| 国产乱人伦偷精品视频免| 久久精品亚洲热综合一本色婷婷| 国内少妇毛片视频| а中文在线天堂| 国内精品极品久久免费看| 欧美xxxxx高潮喷水| 内射精品无码中文字幕|