欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于惡意軟件檢測的對應(yīng)用的通用拆包的制作方法

文檔序號:9291694閱讀:593來源:國知局
用于惡意軟件檢測的對應(yīng)用的通用拆包的制作方法
【技術(shù)領(lǐng)域】
[0001] 本公開一般涉及用于拆包可執(zhí)行二進制文件以使較少地依賴多個簽名(例如,針 對每一個打包方法的一個簽名)來標識潛在的惡意軟件被保持在病毒簽名DAT文件中的系 統(tǒng)和方法。更具體而言,但不作為限制,本公開涉及:在對經(jīng)打包的可執(zhí)行文件進行拆包時 使用硬件輔助的虛擬化來確定其原始的入口點,并且在執(zhí)行該原始的入口點之前,一旦可 執(zhí)行文件到達其完全擴展的形式就執(zhí)行對其的正式掃描。
【背景技術(shù)】
[0002] 當代的應(yīng)用代碼的遞送通常涉及其通過打包(pack)過程進行的壓縮。通過使用 打包過程,二進制文件尺寸可以減小,并且多個文件可以被合并成一個文件。現(xiàn)代的打包過 程創(chuàng)建"自解壓(self-extracting)可執(zhí)行文件",可執(zhí)行其來對經(jīng)打包的代碼的內(nèi)容進行 拆包(unpack)。也就是說,經(jīng)打包的代碼本身伴隨著可執(zhí)行代碼段,當執(zhí)行該可執(zhí)行代碼段 時,其導(dǎo)致使經(jīng)打包的代碼膨脹或解壓縮。相應(yīng)地,運行自解壓可執(zhí)行文件會導(dǎo)致經(jīng)打包的 代碼可執(zhí)行文件被擴展在磁盤上、存儲器中,或兩者中。
[0003] 當對文件打包以創(chuàng)建自解壓可執(zhí)行文件時,可以采用許多不同類型的壓縮算法以 及打包技術(shù)。這些技術(shù)中的某些是已知的并有文檔記載的,而其他技術(shù)不是這樣。對相同 文件采用不同的技術(shù)來創(chuàng)建自解壓可執(zhí)行文件將產(chǎn)生不同的文件一一由于不同的打包器 (packer)以及不同的壓縮算法所產(chǎn)生的不同結(jié)果,打包代碼(packing code)和經(jīng)打包的 代碼(packed code)兩者都可能不同。此外,如果使用未知的或文檔未記載的技術(shù)來將文 件打包為自解壓可執(zhí)行文件,則可能甚至難以確定打包代碼和經(jīng)打包的代碼之間的區(qū)別。
[0004] 自解壓可執(zhí)行文件的這些特性常常被惡意軟件開發(fā)者利用以對反病毒程序或惡 意軟件檢測程序隱藏惡意軟件。檢測惡意軟件的一種常見的方法是簽名掃描。利用簽名 掃描,對文件進行掃描以發(fā)現(xiàn)已知或被懷疑與惡意軟件相關(guān)聯(lián)的位模式或簽名。當文件中 的位模式匹配已知惡意軟件的簽名時,則可將該文件標識為惡意軟件或標識為包含惡意軟 件。然而,惡意可執(zhí)行文件的簽名可以被輕松地更改以力圖誤導(dǎo)可執(zhí)行文件。當惡意軟件 被打包時,可能避開檢測,因為經(jīng)拆包的惡意軟件的已知簽名將不會匹配經(jīng)打包的惡意軟 件文件的任何位模式。
[0005] 為了嘗試克服隱藏惡意軟件的這些企圖,反病毒程序和惡意軟件檢測程序可以采 用多項技術(shù)。一項技術(shù)是在存儲器中提取經(jīng)打包的代碼而不執(zhí)行它,然后,嘗試對經(jīng)解壓縮 的二進制文件掃描惡意軟件簽名??梢酝ㄟ^仿真經(jīng)打包代碼的執(zhí)行來提取該經(jīng)打包的代 碼,或者如果打包算法是已知的,則由反病毒程序來執(zhí)行提取。如果打包技術(shù)不是公知的或 未經(jīng)文檔記載,則在反病毒程序的控制下來提取經(jīng)打包的代碼可能無法是可能的。此外,許 多打包算法在檢測到正在由調(diào)試器或通過執(zhí)行仿真來執(zhí)行拆包之后,使用反仿真和反調(diào)試 技術(shù)來簡單地終止拆包過程。對代碼流的諸部分標記時間戳是可用于判斷代碼正在被仿真 的標準方法。類似地,標識代碼正在被調(diào)試可以通過查詢操作系統(tǒng)來容易地確定。
[0006] 即使自解壓可執(zhí)行文件被允許執(zhí)行或被仿真,反病毒程序也可能在確定執(zhí)行的拆 包部分何時完成以及原始壓縮的可執(zhí)行文件何時開始執(zhí)行時存在困難。在自解壓可執(zhí)行文 件中,拆包代碼和經(jīng)打包的可執(zhí)行文件是相同的二進制文件的部分,并且在存儲器中確定 這兩者之間的區(qū)別可能是困難的。
[0007] 克服隱藏惡意軟件的企圖的另一技術(shù)是一旦標識了經(jīng)打包的惡意軟件的新簽名, 就將包含惡意軟件的已知的自解壓可執(zhí)行文件的簽名添加到反病毒簽名數(shù)據(jù)庫中。此技術(shù) 的弱點在于,可以通過稍微更改打包器代碼或打包技術(shù)從而產(chǎn)生不同的自解壓可執(zhí)行文件 并由此產(chǎn)生不同的簽名來輕易地避開該技術(shù)。將導(dǎo)致打包技術(shù)中的這些變化的簽名添加到 反病毒簽名數(shù)據(jù)庫中會導(dǎo)致增加簽名數(shù)據(jù)庫的尺寸。這導(dǎo)致簽名的數(shù)量以及維持簽名文件 的難度會相應(yīng)地增大的問題。此外,由于可按不同的順序,使用不同的打包算法來重復(fù)任意 次數(shù)的打包過程,從而創(chuàng)建將標識并維持的更大數(shù)量的簽名,因此可能進一步挫敗這些努 力。
【附圖說明】
[0008] 圖1是示出現(xiàn)有技術(shù)中已知的可執(zhí)行文件101和經(jīng)壓縮的自解壓可執(zhí)行文件 102 (可能具有更小的尺寸)的簡化結(jié)構(gòu)的框圖100。
[0009] 圖2是示出能夠被配置成促進一個或多個所公開的實施例的網(wǎng)絡(luò)架構(gòu)300的框 圖。
[0010] 圖3是示出具有可根據(jù)一個或多個所公開的實施例而配置的處理單元的計算機 的框圖。
[0011] 圖4是示出具有虛擬機監(jiān)視器、訪客操作系統(tǒng)和應(yīng)用的計算機系統(tǒng)的軟件棧的框 圖。
[0012] 圖5是示出根據(jù)一個或多個所公開的實施例的用于通用對可執(zhí)行文件拆包直到 不要求進一步的拆包的技術(shù)的流程圖。
[0013] 圖6A是示出根據(jù)一個或多個所公開的實施例的用于在可執(zhí)行文件的通用拆包以 及執(zhí)行階段期間設(shè)置存儲器頁面許可并解決存儲器頁面許可違規(guī)以控制對存儲器的頁面 的存儲器訪問的技術(shù)的流程圖。
[0014] 圖6B示出狀態(tài)圖650,其示出了可執(zhí)行文件從其二進制加載時刻到其執(zhí)行的終止 的受控執(zhí)行的狀態(tài)轉(zhuǎn)換。
[0015] 圖7是示出根據(jù)一個或多個所公開的實施例的在可執(zhí)行文件的通用拆包和執(zhí)行 階段期間所看到的頁面存儲器許可的各階段的框圖。
【具體實施方式】
[0016] 如上文所解釋的那樣,不同的打包器的可用性以及可對可執(zhí)行文件打包多次的事 實導(dǎo)致通過將經(jīng)打包的惡意可執(zhí)行文件與簽名進行比較來標識它是困難的。經(jīng)打包的惡意 可執(zhí)行文件的每一個經(jīng)標識的變體都可能需要在反病毒程序的病毒簽名數(shù)據(jù)庫中的其自 身的簽名。這導(dǎo)致病毒簽名數(shù)據(jù)庫增長并增加了維護成本和精力一一簽名文件更新必須被 傳遞到使用反病毒程序的最終用戶計算機并由其下載。此外,這些相同的因素也使確定何 時應(yīng)用簽名檢測算法復(fù)雜化。
[0017] 同樣如上文所解釋的那樣,嘗試對經(jīng)打包的文件拆包以暴露原始的可執(zhí)行文件也 呈現(xiàn)了諸多挑戰(zhàn)。由于拆包代碼與經(jīng)打包的可執(zhí)行文件組合,因此,標識拆包代碼完成執(zhí)行 且原始的二進制文件開始執(zhí)行的時刻可能是困難的。為了避免對原始的可執(zhí)行文件的執(zhí) 行,反病毒程序可嘗試對經(jīng)打包的可執(zhí)行文件拆包,而不是讓拆包器代碼執(zhí)行。為了做到這 一點,反病毒程序必須配備有用于對可執(zhí)行文件打包的拆包算法。然而,當使用了未知的或 未經(jīng)文檔記載的打包技術(shù)時,反病毒程序可能不能對該軟件拆包。在這些類型的實例中,必 須通過包括拆包器算法來更新反病毒軟件。由于拆包器算法可能時復(fù)雜的,因此,反病毒軟 件開發(fā)者可能需要花費相當長的時間(數(shù)月或數(shù)年)來包括用于新發(fā)現(xiàn)的打包算法的解決 方案。此外,甚至通過對打包器算法的輕微的更改就會規(guī)避這些努力或使這些努力更費力。
[0018] 如下文中進一步解釋的那樣,公開了通過使用用于以受控方式來通用對經(jīng)單次或 多次打包的應(yīng)用拆包以檢測惡意軟件的系統(tǒng)和方法來解決這些及其他問題的技術(shù)。對經(jīng)打 包的應(yīng)用通用地拆包允許獨立于對拆包算法的知曉并獨立于對拆包存根(Stub)的實現(xiàn)的 知曉就可對應(yīng)用拆包??梢允褂门c硬件輔助的虛擬化相關(guān)聯(lián)的功能來幫助以受控方式通用 地對經(jīng)打包的應(yīng)用拆包。這些技術(shù)可以減少或消除為單個類型的惡意軟件維持多個簽名的 需求。
[0019] 參考圖1,框圖100示出兩個文件(根據(jù)現(xiàn)有技術(shù)的可執(zhí)行文件以及該文件的經(jīng)打 包版本)之內(nèi)的內(nèi)部區(qū)段。通用可執(zhí)行文件101表示擴展(即,運行時)形式的可執(zhí)行二 進制文件。還示出了經(jīng)打包的可執(zhí)行文件102,其是通用可執(zhí)行文件101通過打包過程被 修改的結(jié)果。通過由開發(fā)者對源代碼、對象文件以及庫執(zhí)行編譯以及鏈接過程已創(chuàng)建了可 執(zhí)行文件101??蓤?zhí)行文件101可被組織成三個不同的區(qū)段。二進制頭部105保存有關(guān)該 可執(zhí)行二進制文件的其余部分(包括代碼段110和數(shù)據(jù)段115)的組織的信息。二進制頭 部105還包括對于文件中所包括的所有區(qū)段的存儲器許可,當將可執(zhí)行文件101加載到存 儲器中時,由操作系統(tǒng)加載器實施這些存儲器許可。當被加載到存儲器中時,每一個區(qū)段都 開始于由操作系統(tǒng)定義的存儲器頁面的邊界處。來自文件的區(qū)段并不必須僅包含一個存儲 器頁面一一相反,每一個區(qū)段都可以橫跨整數(shù)數(shù)量的頁面。
[0020] 程序執(zhí)行從可執(zhí)行二進制文件101中的代碼段中的一個區(qū)段的某位置開始(即, 運行時),該位置通常被稱為程序的"入口點"。取決于編譯器/匯編器將"主"函數(shù)放在二 進制文件中的什么位置,該入口點可在代碼段中的任何地方。入口點不需要在任何特定的 代碼段的開始處開始,這還意味著入口點不一定開始于任何特定的存儲器頁面的開始處。
[0021] 打包器可以經(jīng)由在本文中被稱為打包過程的過程來對可執(zhí)行文件101打包并壓 縮以創(chuàng)建經(jīng)打包的可執(zhí)行文件102。典型的打包器可以執(zhí)行復(fù)雜且唯一的操作,但是,如在 此所描述的那樣,當從高層級來看時,幾乎所有的打包器都執(zhí)行相對簡單操作集。在創(chuàng)建經(jīng) 打包的可執(zhí)行文件102時,打包器過程在這些區(qū)段上使用壓縮算法來壓縮可執(zhí)行文件101 的代碼段110和數(shù)據(jù)端115。這通常是主要為了減小可執(zhí)行文件的文件尺寸而執(zhí)行的,但 是,正如惡意軟件的情況那樣,它可以主要為了改變惡意軟件的簽名而執(zhí)行。一旦壓縮了這 些區(qū)段,可將它們置于經(jīng)打包的可執(zhí)行文件102中的新區(qū)段(經(jīng)打包的代碼和數(shù)據(jù)135)。 或者,打包器還可以將代碼和數(shù)據(jù)打包到其中包含了拆包代碼的相同區(qū)段中。如此,打包器 代碼段130和經(jīng)打包的代碼和數(shù)據(jù)135可以在分開的區(qū)段中或在一個區(qū)段中。
[0022] 打包過程通常還創(chuàng)建具有當被執(zhí)行時在存儲器中將獲取的預(yù)定尺寸的虛擬代碼 段125。該尺寸通常被計算為大于或等于將在原始的可執(zhí)行文件101中發(fā)現(xiàn)的經(jīng)解壓縮的 經(jīng)打包代碼和數(shù)據(jù)135的尺寸。由于虛擬代碼段125是計劃用于存儲器中經(jīng)解壓縮的數(shù)據(jù) 的區(qū)段,因此,它不一定占據(jù)經(jīng)打包的可執(zhí)行文件102本身中的任何空間。相反,可將包含 經(jīng)打包的可執(zhí)行文件102的文件中的其尺寸反映為在對打包器代碼的解壓縮過程的執(zhí)行 之前在存儲器中所需的存儲器頁面的數(shù)量。由打包器轉(zhuǎn)換代碼在經(jīng)更改的二進制頭部120 中指定虛擬代碼段125的細節(jié)。當將由操作系統(tǒng)將二進制可執(zhí)行文件加載到存儲器中時, 通常還在二進制頭部(例如,105或120)中指定特定區(qū)段將在存儲器中獲取的存儲器頁面 的數(shù)量。因此,即使盤上可執(zhí)行文件上的區(qū)段尺寸為零,該區(qū)段也可在由操作系統(tǒng)加載時在 存儲器中獲取一些空間。如此,打包過程通過壓縮代碼和數(shù)據(jù)已減小了整個二進制文件的 尺寸(即,盤尺寸和下載尺寸),但是準備了足夠的存儲器以便當在執(zhí)行時拆包到存儲器時 保存經(jīng)解壓縮的代碼和數(shù)據(jù)。
當前第1頁1 2 3 4 5 6 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
醴陵市| 四子王旗| 隆德县| 南雄市| 星座| 泸西县| 广德县| 黑龙江省| 衡东县| 涪陵区| 五峰| 娄烦县| 驻马店市| 合作市| 康乐县| 四会市| 历史| 申扎县| 石泉县| 长泰县| 阿坝| 花垣县| 深水埗区| 淳安县| 平江县| 大洼县| 洛隆县| 双柏县| 松阳县| 浮梁县| 且末县| 湘乡市| 奇台县| 江北区| 沾益县| 连南| 汉川市| 来宾市| 虎林市| 福建省| 广州市|