亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

虛擬機系統(tǒng)的反檢測系統(tǒng)的制作方法

文檔序號:6384836閱讀:187來源:國知局
專利名稱:虛擬機系統(tǒng)的反檢測系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機安全技術(shù)領(lǐng)域,具體涉及虛擬機系統(tǒng)的反檢測系統(tǒng)。
背景技術(shù)
隨著計算機技術(shù)的發(fā)展和計算機應(yīng)用的普及,計算機應(yīng)用逐漸滲透到人們生產(chǎn)生活的各個領(lǐng)域,在很大程度上提高了生產(chǎn)效率,以及為人們生活的方方面面帶來了非常多的便利。然而伴隨著計算機設(shè)備被廣泛地使用,計算機惡意程序也出現(xiàn)了前所未有的快速發(fā)展趨勢,每天都會有數(shù)量眾多的計算機惡意程序被編寫出來,并通過網(wǎng)絡(luò),移動存儲等方式進行傳播,由于大部分計算機惡意程序都具有一定的傳染性和破壞性,受到計算機惡意程序感染的計算機設(shè)備輕則正常的運行受到不同程度影響,重則甚至?xí)?dǎo)致計算機系統(tǒng)崩潰,或者機密數(shù)據(jù)資料泄漏,導(dǎo)致重大的經(jīng)濟損失。計算機惡意程序給用戶帶來的巨大損失的同時,用戶防治惡意程序的意識也在不斷提高,為了達到防治計算機惡意程序的目的,首先的一個前提是需要對計算機惡意程序有相對深入的了解,包括對各種計算機惡意程序進行分析以獲知其特征,例如通過對惡意程序的文件信息,惡意程序運行時產(chǎn)生的文件或數(shù)據(jù),以及惡意程序?qū)τ嬎銠C系統(tǒng)進行的操作行為等等進行分析來獲取惡意程序的特征,而且為了獲得更準確的分析結(jié)果,對每一例惡意程序進行分析時往往需要搭建全新的計算機軟硬件環(huán)境。但在很多時候這種分析惡意程序的實驗是具有未知程度的破壞性的,如果搭建的真實計算機軟硬件環(huán)境來進行這種實驗性的分析,勢必會浪費很大的人力物力,而且在計算機惡意程序數(shù)量巨大且高速增長的今天,這種分析方式甚至是難以實現(xiàn)的,此時,虛擬的運行環(huán)境成為了進行惡意程序?qū)嶒炐苑治龈玫倪x擇。虛擬的運行環(huán)境是指利用真實計算機軟硬件設(shè)備模擬的具有完整硬件系統(tǒng)功能的、運行在一個完全隔離環(huán)境中的完整計算機系統(tǒng),由于虛擬的運行環(huán)境具有可重用性高,還原迅速等特點,使得虛擬的運行環(huán)境成為進行上述實驗性分析惡意程序工作的很好的選擇。但是隨著病毒編寫者對虛擬的運行環(huán)境的重視和研究,出現(xiàn)了針對虛擬運行環(huán)境進行檢測進而在虛擬的運行環(huán)境中隱藏自身特征的新型惡意程序,從而避免被計算機安全軟件發(fā)現(xiàn)。但是,從計算機安全軟件的角度而言,這無疑是對安全檢測工作帶來了障礙。

發(fā)明內(nèi)容
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的虛擬機系統(tǒng)的反檢測系統(tǒng)。依據(jù)本發(fā)明,提供了一種虛擬機系統(tǒng)的反檢測系統(tǒng),包括虛擬機系統(tǒng)的反檢測裝置、虛擬機系統(tǒng)以及真實系統(tǒng),其中在所述真實系統(tǒng)運行環(huán)境中啟動所述虛擬機系統(tǒng)后,啟動所述虛擬機系統(tǒng)的反檢測裝置,以便通過所述虛擬機系統(tǒng)的反檢測裝置對當(dāng)前虛擬機系統(tǒng)中不同于真實系統(tǒng)運行環(huán)境的區(qū)別特征信息進行修改;
所述虛擬機系統(tǒng)的反檢測裝置包括特征信息獲取單元,用于獲取當(dāng)前虛擬機系統(tǒng)中與真實系統(tǒng)運行環(huán)境具有不同取值的特征信息;特征信息修改單元,用于將當(dāng)前虛擬機系統(tǒng)中所述特征信息的取值修改為與真實系統(tǒng)運行環(huán)境中相同的取值;特征信息返回單元,用于當(dāng)接收到查詢當(dāng)前虛擬機系統(tǒng)中的特征信息的請求時,返回修改后的取值,使得在虛擬機系統(tǒng)中的查詢結(jié)果與在真實系統(tǒng)運行環(huán)境中的查詢結(jié)果相同。可選的,所述特征信息包括以下特征信息中的一種或任意幾種的組合虛擬系統(tǒng)與真實系統(tǒng)之間的通訊指令返回值;虛擬系統(tǒng)中的注冊表配置信息;虛擬系統(tǒng)中的代表性文件;虛擬系統(tǒng)中的進程信息;特定程序在虛擬系統(tǒng)與真實系統(tǒng)中的運行時間差值;虛擬系統(tǒng)中的網(wǎng)絡(luò)設(shè)備控制MAC地址信息;虛擬系統(tǒng)中的網(wǎng)卡信息;虛擬系統(tǒng)中的系統(tǒng)設(shè)備信息??蛇x的,所述特征信息修改單元包括第一修改子單元,用于在真實系統(tǒng)運行環(huán)境中對所述虛擬系統(tǒng)與真實系統(tǒng)之間的通訊指令返回值的取值進行修改;第二修改子單元,用于在虛擬機系統(tǒng)中對所述虛擬系統(tǒng)中的注冊表配置信息、代表性文件、進程信息、運行時間差值、網(wǎng)卡信息、系統(tǒng)設(shè)備信息中的一種或任意多種的取值進行修改??蛇x的,所述虛擬系統(tǒng)與真實系統(tǒng)之間的通訊指令返回值包括后門IN指令的返回值;所述特征信息修改單元具體用于將所述虛擬機系統(tǒng)中IN指令的返回值的取值修改為特定類型的異常信息??蛇x的,所述虛擬系統(tǒng)與真實系統(tǒng)之間的通訊指令返回值包括終端描述符表IDT基址;所述特征信息修改單元具體用于將所述虛擬機系統(tǒng)中IDT基址的第一字字節(jié)的取值修改為小于OxDO??蛇x的,所述虛擬系統(tǒng)與真實系統(tǒng)之間的通訊指令返回值包括本地描述符表LDT基址和全局描述符表⑶T基址;所述特征信息修改單元具體用于將所述虛擬機系統(tǒng)中LDT基址修改為0x0000 ;將所述虛擬機系統(tǒng)中⑶T基址的第一字字節(jié)修改為非OxFF??蛇x的,所述虛擬系統(tǒng)與真實系統(tǒng)之間的通訊指令返回值包括STR指令的返回值;所述特征信息修改單元具體用于
將所述虛擬機系統(tǒng)中STR指令的返回值的前兩個字節(jié)修改為非0x0040??蛇x的,如果所述當(dāng)前虛擬機系統(tǒng)中不同于真實系統(tǒng)運行環(huán)境的區(qū)別特征信息為虛擬系統(tǒng)中的注冊表配置信息,則所述特征信息修改單元具體用于將所述虛擬機系統(tǒng)的注冊表配置信息中包含的與虛擬機相關(guān)的關(guān)鍵詞替換為預(yù)置的與虛擬機無關(guān)的字符串;其中,所述注冊表配置信息包括注冊表項和/或鍵值??蛇x的,如果所述當(dāng)前虛擬機系統(tǒng)中不同于真實系統(tǒng)運行環(huán)境的區(qū)別特征信息為虛擬系統(tǒng)中的虛擬系統(tǒng)中的代表性文件、進程信息、網(wǎng)卡信息或系統(tǒng)設(shè)備信息,則所述特征信息修改單元具體用于將所述代表性文件路徑、進程信息、網(wǎng)卡信息或系統(tǒng)設(shè)備信息的取值中包含的與虛擬機相關(guān)的關(guān)鍵詞刪除或修改為與虛擬機無關(guān)的字符串??蛇x的,如果所述當(dāng)前虛擬機系統(tǒng)中不同于真實系統(tǒng)運行環(huán)境的區(qū)別特征信息為虛擬系統(tǒng)中的MAC地址,則所述特征信息修改單元具體用于將所述虛擬機系統(tǒng)中的MAC地址的前綴修改為非00-05-69,并且非00_0C_29,并且非 00-50-56。可選的,如果所述當(dāng)前虛擬機系統(tǒng)中不同于真實系統(tǒng)運行環(huán)境的區(qū)別特征信息為特定程序在虛擬系統(tǒng)與真實系統(tǒng)中的運行時間差值,則所述特征信息修改單元具體用于將在虛擬機系統(tǒng)中運行某檢測程序時返回的時間值的取值修改為預(yù)置的固定值,所述固定值根據(jù)檢測程序在真實系統(tǒng)中運行時所耗費的時間來確定。根據(jù)本發(fā)明的虛擬機系統(tǒng)的反檢測系統(tǒng),可以將虛擬機系統(tǒng)中存在的與真實系統(tǒng)中取值不同的特征信息進行修改,從而使得虛擬機檢測工具在通過查詢這些特征信息來進行檢測時,得到的查詢結(jié)果與真實系統(tǒng)中的查詢結(jié)果相同,也即使得虛擬機檢測工具的檢測失效,由此達到虛擬機反檢測的目的。這樣在虛擬機中運行的惡意程序就不會故意隱藏自身的特征,進而可以根據(jù)惡意程序中存在的惡意特征,實現(xiàn)對惡意程序的發(fā)現(xiàn)。上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式



通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中圖1示出了根據(jù)本發(fā)明一個實施例的方法的流程圖;圖2示出了根據(jù)本發(fā)明一個實施例的裝置的示意圖;以及,圖3示出了根據(jù)本發(fā)明一個實施例的系統(tǒng)的示意圖。
具體實施例方式下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。參見圖1,本發(fā)明實施例提供了一種虛擬機系統(tǒng)的反檢測方法,該方法可以包括以下步驟SlOl :獲取當(dāng)前虛擬機系統(tǒng)中與真實系統(tǒng)運行環(huán)境具有不同取值的特征信息;其中,所謂的真實系統(tǒng)運行環(huán)境,也可以稱為真主機運行環(huán)境,是相對于虛擬機系統(tǒng)而言的,是由真實的計算機軟硬件設(shè)備構(gòu)成的一個運行環(huán)境,而虛擬機系統(tǒng)可以看作是運行在真實系統(tǒng)運行環(huán)境中的一個應(yīng)用程序,該應(yīng)用程序通過模擬真實系統(tǒng)運行環(huán)境中的軟硬件設(shè)備,來構(gòu)造一個運行在真實系統(tǒng)中的另一個封閉式的系統(tǒng),在理想的情況下,在虛擬機系統(tǒng)中運行一些程序時,與這些程序在真實系統(tǒng)中運行時不會體現(xiàn)出任何差別。但是,虛擬機系統(tǒng)中的軟硬件設(shè)備畢竟是模擬出來的,例如,虛擬機系統(tǒng)的網(wǎng)卡等設(shè)備,實際上并不存在這樣的一塊網(wǎng)卡,只是通過程序的方式來模擬出網(wǎng)卡的功能,等等。既然是模擬,那么一般就必然存在模擬不全的情況,使得虛擬機系統(tǒng)中存在一些與真實系統(tǒng)中具有不同取值的特征信息,一些虛擬機檢測工具就是通過檢測這些特征信息的取值情況,來判斷當(dāng)前運行環(huán)境是真實系統(tǒng)還是虛擬機系統(tǒng)。因此,在本發(fā)明實施例中,就可以首先獲取到當(dāng)前虛擬機系統(tǒng)中存在的這種特征信息,然后將這些信息的取值修改為與真實系統(tǒng)中的取值一致,這樣,當(dāng)虛擬機檢測工具需要檢測這些特征信息的取值時,就可以將修改后的取值返回,使得返回值與在真實系統(tǒng)中的返回值相同,從而使得虛擬機檢測工具失效。需要說明的是,雖然對于不同的計算機設(shè)備而言,具有各自的真實系統(tǒng)運行環(huán)境,對于運行在各自真實系統(tǒng)中的虛擬機系統(tǒng)而言,也是分別模擬各自所在的真實系統(tǒng)環(huán)境,但是,虛擬機系統(tǒng)在模擬真實系統(tǒng)環(huán)境時可能存在的模擬不全的情況卻比較具有通用性,也即,一般情況下,如果某虛擬機系統(tǒng)中對某特征信息模擬的不全,在其他虛擬機系統(tǒng)中,就可能也存在對該特征信息也模擬的不全的情況,并且對于同一特征信息而言,其在不同的真實系統(tǒng)環(huán)境中的取值一般是相同或者具有相同的特點。因此,在具體實現(xiàn)時,可以根據(jù)預(yù)先對一些虛擬機系統(tǒng)中可能存在的模擬不全的特征信息進行收集,也即,可以通過人工分析等方式,對多個虛擬機系統(tǒng)進行分析,獲取虛擬機系統(tǒng)中有哪些特征信息一般是模擬不全的,以此生成特征信息列表,或者以文件或者數(shù)據(jù)庫等形式保存這種特征信息。同時,可以保存這種特征信息在真實系統(tǒng)環(huán)境中的取值情況。這樣,針對當(dāng)前待處理的虛擬機系統(tǒng)而言,就可以對預(yù)先保存的這些特征信息進行輪詢,分別取出當(dāng)前虛擬機系統(tǒng)中這些特征信息的取值,對于各個特征信息的取值而言,判斷其是否與預(yù)先保存的真實系統(tǒng)環(huán)境對應(yīng)的取值相同,如果相同,則證明當(dāng)前虛擬機系統(tǒng)對該特征信息已經(jīng)模擬全了,如果不相同,則證明當(dāng)前虛擬機系統(tǒng)對該特征信息模擬的不全,相應(yīng)的,該特征信息就屬于當(dāng)前虛擬機系統(tǒng)中與真實系統(tǒng)運行環(huán)境具有不同取值的特征信息。也就是說,對于當(dāng)前虛擬機系統(tǒng)而言,其中存在的與真實系統(tǒng)運行環(huán)境具有不同取值的特征信息,一般是預(yù)先保存的特征信息集合的一個子集。當(dāng)然,在實際應(yīng)用中,也可以不是預(yù)先對可能存在的取值不同于真實系統(tǒng)的特征信息進行收集,例如,可以直接分別獲取到各種信息在當(dāng)前虛擬機環(huán)境以及當(dāng)前運行環(huán)境中的取值,然后比對其是否相同,如果不同,則可以將其作為所述的當(dāng)前虛擬機系統(tǒng)中與真實系統(tǒng)運行環(huán)境具有不同取值的特征信息提取出來,同時記錄下這種特征信息在真實系統(tǒng)中的取值。S102 :將當(dāng)前虛擬機系統(tǒng)中所述特征信息的取值修改為與真實系統(tǒng)運行環(huán)境中相同的取值;由于預(yù)先保存了在真實系統(tǒng)運行環(huán)境下,各個特征信息的取值情況,或者可以實時獲取到當(dāng)前的真實系統(tǒng)環(huán)境中各個特征信息的取值情況,因此,在發(fā)現(xiàn)了與真實系統(tǒng)運行環(huán)境中取值不同的特征信息之后,就可以將其在虛擬機系統(tǒng)中的取值修改為與真實系統(tǒng)中的取值相同。需要說明的是,本發(fā)明實施例中,對于某特征信息而言,其在真實系統(tǒng)中的取值可能是某個固定的數(shù)值或字符串等,或者也可能是一個取值范圍,等等,因此對虛擬機系統(tǒng)中一些特征信息的取值進行修改時,所謂的修改為與真實系統(tǒng)中的取值相同,可以包括將某特征信息的取值修改為與某個數(shù)值或者字符串等相等,也可以包括將某特征信息的取值修改為屬于某取值范圍,等等,后文的具體實例中對此會有詳細的描述。S103:當(dāng)接收到查詢當(dāng)前虛擬機系統(tǒng)中的特征信息的請求時,返回修改后的取值,使得在虛擬機系統(tǒng)中的查詢結(jié)果與在真實系統(tǒng)運行環(huán)境中的查詢結(jié)果相同。由于已經(jīng)對虛擬機環(huán)境中的特征信息的取值進行了修改,因此,在接收到查詢特征信息的取值的請求時,就可以將修改后的取值返回給檢測方,由于修改后的取值與在真實系統(tǒng)中的取值相同,因此,就可以使得檢測方獲取到的在虛擬機系統(tǒng)中的查詢結(jié)果與在真實系統(tǒng)運行環(huán)境中的查詢結(jié)果相同,進而,檢測方就無法通過此次查詢獲知當(dāng)前是一個虛擬機系統(tǒng)運行環(huán)境,從而實現(xiàn)虛擬機系統(tǒng)的反檢測。換言之,所謂的當(dāng)前虛擬機系統(tǒng)中與真實系統(tǒng)運行環(huán)境具有不同取值的特征信息,可以是虛擬機系統(tǒng)檢測工具在檢測虛擬機系統(tǒng)時常用的一些特征信息,例如,包括以下特征信息中的一種或任意幾種的組合虛擬系統(tǒng)與真實系統(tǒng)之間的通訊指令返回值、虛擬系統(tǒng)中的注冊表配置信息、虛擬系統(tǒng)中的代表性文件、虛擬系統(tǒng)中的進程信息、特定程序在虛擬系統(tǒng)與真實系統(tǒng)中的運行時間差值、虛擬系統(tǒng)中的網(wǎng)絡(luò)設(shè)備控制MAC地址信息、虛擬系統(tǒng)中的網(wǎng)卡信息、虛擬系統(tǒng)中的系統(tǒng)設(shè)備信息,等。其中,對于虛擬系統(tǒng)與真實系統(tǒng)之間的通訊指令返回值的取值而言,可以包括后門IN指令的返回值、終端描述符表IDT基址、本地描述符表LDT基址和全局描述符表⑶T基址、STR指令的返回值,在對這些信息的取值進行修改時,可以在真實機系統(tǒng)運行環(huán)境中執(zhí)行修改的操作;而對于上述其他各種特征信息的取值,則可以在虛擬機系統(tǒng)內(nèi)部進行修改。下面結(jié)合虛擬機檢測工具在檢測虛擬機系統(tǒng)時常用的一些特征信息及其檢測手段,對如何進行特征信息的取值的修改進行詳細的介紹。虛擬機檢測手段一通過執(zhí)行特權(quán)指令來檢測虛擬機Vmware (是一種虛擬機軟件)為真實系統(tǒng)與虛擬機之間提供了相互溝通的通訊機制,它使用“IN”指令來讀取特定端口的數(shù)據(jù)以進行兩機通訊,但由于IN指令屬于特權(quán)指令,在處于保護模式下的真機上執(zhí)行此指令時,除非權(quán)限允許,否則將會觸發(fā)類型為"EXCEPT 10N_PRI V_I NSTRUCTI ON "的異常,但在虛擬機系統(tǒng)中并不會發(fā)生異常,在指定功能號OA(獲取VMware版本)的情況下,它會在EBX中返回其版本號“VMXH”;而當(dāng)功能號為0x14時,可用于獲取VMware內(nèi)存大小。因此,在進行虛擬機檢測時,就可以獲取虛擬機系統(tǒng)中的IN指令的返回值,如果大于O時則可以證明當(dāng)前處于虛擬機系統(tǒng)中。
為此,為了進行虛擬機反檢測,就可以將虛擬機系統(tǒng)中IN指令的返回值修改為某種特定類型的異常信息,使其與在真實系統(tǒng)中的取值相同,這樣,當(dāng)虛擬機系統(tǒng)接收到IN指令時,就可以返回該特定類型的異常信息,從而避免被檢測出是虛擬機系統(tǒng),這樣在虛擬機中運行的惡意程序就不會故意隱藏自身的特征,進而可以根據(jù)惡意程序中存在的惡意特征,實現(xiàn)對惡意程序的發(fā)現(xiàn)。虛擬機檢測手段二利用IDT (Interrupt Descriptor Table,中斷描述符表)基址檢測虛擬機利用IDT基址檢測虛擬機的方法是一種通用方式,對VMware和Virtual PC均適用。IDT是用于查找處理中斷時所用的軟件函數(shù),它是一個由256項組成的數(shù)據(jù),其中每一中斷對應(yīng)一項函數(shù)。為了讀取IDT基址,需要通過SIDT指令來讀取IDTR(中斷描述符表寄存器,用于IDT在內(nèi)存中的基址)。由于只存在一個IDTR,但又存在兩個操作系統(tǒng),即虛擬機系統(tǒng)和真實系統(tǒng)。為了防止發(fā)生沖突,VMM (虛擬機監(jiān)控器)必須更改虛擬機中的IDT地址,利用真實系統(tǒng)與虛擬機環(huán)境中執(zhí)行SIDT指令的差異即可用于檢測虛擬機是否存在。例如,VMware虛擬機系統(tǒng)上的IDT地址通常位于OxFFXXXXXX,而Virtual PC通常位于0xE8XXXXXX,而在真實系統(tǒng)上一般都位于0x80xxxxxx。因此,通過判斷執(zhí)行SIDT指令后返回的第一字節(jié)是否大于OxDO(其中的Ox是十六進制提示符,代表后面的數(shù)字是十六機制的,因此,實際上是用第一個字節(jié)的數(shù)值與DO進行比較),若是則說明它處于虛擬機,否則處于真實系統(tǒng)中。因此,為了進行虛擬機反檢測,就可以將虛擬機系統(tǒng)中IDT基址的第一字字節(jié)的取值修改為小于OxDO,使其與在真實系統(tǒng)中的取值范圍相同,這樣,當(dāng)虛擬機系統(tǒng)接收到SIDT指令時,其返回值的第一字字節(jié)的取值就會小于OxDO,從而避免被檢測出是虛擬機系統(tǒng)。虛擬機檢測手段三利用LDT (Local Descriptor Table,本地描述符表)和⑶T(Global Descriptor Table,全局描述符表)的檢測方法;在保護模式下,所有的內(nèi)存訪問都要通過⑶T或者LDT才能進行。這些表包含有段描述符的調(diào)用入口。各個段描述符都包含有各段的基址,訪問權(quán)限,類型和使用信息,而且每個段描述符都擁有一個與之相匹配的段選擇子,各個段選擇子都為軟件程序提供一個GDT或LDT索引(與之相關(guān)聯(lián)的段描述符偏移量),一個全局/本地標志(決定段選擇子是指向⑶T還是LDT),以及訪問權(quán)限信息。若想訪問段中的某一字節(jié),必須同時提供一個段選擇子和一個偏移量。段選擇子為段提供可訪問的段描述符地址(在GDT或者LDT中)。通過段描述符,處理器從中獲取段在線性地址空間里的基址,而偏移量用于確定字節(jié)地址相對基址的位置。假定處理器在當(dāng)前權(quán)限級別(CPL)可訪問這個段,那么通過這種機制就可以訪問在⑶T或LDT中的各種有效代碼、數(shù)據(jù)或者堆棧段,這里的CPL是指當(dāng)前可執(zhí)行代碼段的保護級別。GDT的線性基址被保存在⑶T寄存器(⑶TR)中,而LDT的線性基址被保存在LDT寄存器(LDTR)中。由于虛擬機系統(tǒng)與真實系統(tǒng)中的⑶T和LDT并不能相同,這與使用IDT的檢測方法一樣,因此虛擬機必須為它們提供一個“復(fù)制體”。關(guān)于⑶T和LDT的基址可通過S⑶T和SLDT指令獲取。一般而言,當(dāng)LDT基址位于0x0000 (只有兩字節(jié))時為真實系統(tǒng),否則為虛擬機,而當(dāng)GDT基址位于OxFFXXXXXX時說明處于虛擬機中,否則為真實主機。
因此,為了進行虛擬機反檢測,就可以將虛擬機系統(tǒng)中LDT基址的取值修改為等于0x0000,將虛擬機系統(tǒng)中GDT基址的第一字字節(jié)修改為非OxFF,使其與在真實系統(tǒng)中的取值范圍相同,這樣,當(dāng)虛擬機系統(tǒng)接收到SGDT和SLDT指令時,其返回值就會與在真實系統(tǒng)中的取值相同,從而避免被檢測出是虛擬機系統(tǒng),這樣在虛擬機中運行的惡意程序就不會故意隱藏自身的特征,進而可以根據(jù)惡意程序中存在的惡意特征,實現(xiàn)對惡意程序的發(fā)現(xiàn)。虛擬機檢測手段四基于STR (Store Task Register,存儲任務(wù)寄存器)的檢測方法在保護模式下運行的所有程序在切換任務(wù)時,對于當(dāng)前任務(wù)中指向TSS (TaskState Segment,任務(wù)狀態(tài)段)的段選擇器將會被存儲在任務(wù)寄存器中,TSS中包含有當(dāng)前任務(wù)的可執(zhí)行環(huán)境狀態(tài),包括通用寄存器狀態(tài)、段寄存器狀態(tài)、標志寄存器狀態(tài)、EIP寄存器狀態(tài)等等,當(dāng)此項任務(wù)再次被執(zhí)行時,處理器就會其原先保存的任務(wù)狀態(tài)。每項任務(wù)均有其自己的TSS,可以通過STR指令來獲取指向當(dāng)前任務(wù)中TSS的段選擇器。這里STR指令是用于將TR (Task Register,任務(wù)寄存器)中的段選擇器存儲到目標操作數(shù),目標操作數(shù)可以是通用寄存器或內(nèi)存位置,使用此指令存儲的段選擇器指向當(dāng)前正在運行的任務(wù)的TSS。在虛擬機和真實系統(tǒng)之中,通過STR讀取的地址是不同的,當(dāng)?shù)刂返扔?x0040xxxx時,說明處于虛擬機中,否則為真實系統(tǒng)。因此,為了進行虛擬機反檢測,就可以將虛擬機系統(tǒng)中STR指令的返回值的前兩個字節(jié)修改為非0x0040,這樣,當(dāng)虛擬機系統(tǒng)接收到STR指令時,其返回值就會與在真實系統(tǒng)中的取值相同,從而避免被檢測出是虛擬機系統(tǒng)。虛擬機檢測手段五基于注冊表檢測虛擬機在Windows虛擬機中常常安裝有VMware Tools以及其它的虛擬硬件(如網(wǎng)絡(luò)適配器、虛擬打印機、USB集線器等等),它們都會創(chuàng)建任何程序都可以讀取的Windows注冊表項,因此可以通過檢測注冊表中的一些關(guān)鍵字符來判斷程序是否處于虛擬機之中。關(guān)于這些注冊表的位置可以通過在注冊表中搜索關(guān)鍵詞“vmware”來獲取,例如下面是在VMware下的WinXP中查找到的一些注冊表項,如表I所示表I
權(quán)利要求
1.一種虛擬機系統(tǒng)的反檢測系統(tǒng),包括虛擬機系統(tǒng)的反檢測裝置、虛擬機系統(tǒng)以及真實系統(tǒng),其中: 在所述真實系統(tǒng)運行環(huán)境中啟動所述虛擬機系統(tǒng)后,啟動所述虛擬機系統(tǒng)的反檢測裝置,以便通過所述虛擬機系統(tǒng)的反檢測裝置對當(dāng)前虛擬機系統(tǒng)中不同于真實系統(tǒng)運行環(huán)境的區(qū)別特征信息進行修改; 所述虛擬機系統(tǒng)的反檢測裝置包括: 特征信息獲取單元,用于獲取當(dāng)前虛擬機系統(tǒng)中與真實系統(tǒng)運行環(huán)境具有不同取值的特征信息; 特征信息修改單元,用于將當(dāng)前虛擬機系統(tǒng)中所述特征信息的取值修改為與真實系統(tǒng)運行環(huán)境中相同的取值; 特征信息返回單元,用于當(dāng)接收到查詢當(dāng)前虛擬機系統(tǒng)中的特征信息的請求時,返回修改后的取值,使得在虛擬機系統(tǒng)中的查詢結(jié)果與在真實系統(tǒng)運行環(huán)境中的查詢結(jié)果相同。
2.如權(quán)利要求1所述的裝置,所述特征信息包括以下特征信息中的一種或任意幾種的組合: 虛擬系統(tǒng)與真實系統(tǒng)之間的通訊指令返回值; 虛擬系統(tǒng)中的注冊表配置信息; 虛擬系統(tǒng)中的代表性文件; 虛擬系統(tǒng)中的進程信息; 特定程序在虛擬系統(tǒng)與真實系統(tǒng)中的運行時間差值; 虛擬系統(tǒng)中的網(wǎng)絡(luò)設(shè)備控制MAC地址信息; 虛擬系統(tǒng)中的網(wǎng)卡信息; 虛擬系統(tǒng)中的系統(tǒng)設(shè)備信息。
3.如權(quán)利要求2所述的裝置,所述特征信息修改單元包括: 第一修改子單元,用于在真實系統(tǒng)運行環(huán)境中對所述虛擬系統(tǒng)與真實系統(tǒng)之間的通訊指令返回值的取值進行修改; 第二修改子單元,用于在虛擬機系統(tǒng)中對所述虛擬系統(tǒng)中的注冊表配置信息、代表性文件、進程信息、運行時間差值、網(wǎng)卡信息、系統(tǒng)設(shè)備信息中的一種或任意多種的取值進行修改。
4.如權(quán)利要求2或3所述的裝置,所述虛擬系統(tǒng)與真實系統(tǒng)之間的通訊指令返回值包括:后門IN指令的返回值; 所述特征信息修改單元具體用于: 將所述虛擬機系統(tǒng)中IN指令的返回值的取值修改為特定類型的異常信息。
5.如權(quán)利要求2或3所述的裝置,所述虛擬系統(tǒng)與真實系統(tǒng)之間的通訊指令返回值包括:終端描述符表IDT基址; 所述特征信息修改單元具體用于: 將所述虛擬機系統(tǒng) 中IDT基址的第一字字節(jié)的取值修改為小于OxDO。
6.如權(quán)利要求2或3所述的裝置,所述虛擬系統(tǒng)與真實系統(tǒng)之間的通訊指令返回值包括:本地描述符表LDT基址和全局描述符表⑶T基址;所述特征信息修改單元具體用于: 將所述虛擬機系統(tǒng)中LDT基址修改為OxOOOO ; 將所述虛擬機系統(tǒng)中GDT基址的第一字字節(jié)修改為非OxFF。
7.如權(quán)利要求2或3所述的裝置,所述虛擬系統(tǒng)與真實系統(tǒng)之間的通訊指令返回值包括:STR指令的返回值; 所述特征信息修改單元具體用于: 將所述虛擬機系統(tǒng)中STR指令的返回值的前兩個字節(jié)修改為非0x0040。
8.如權(quán)利要求2或3所述的裝置,如果所述當(dāng)前虛擬機系統(tǒng)中不同于真實系統(tǒng)運行環(huán)境的區(qū)別特征信息為虛擬系統(tǒng)中的注冊表配置信息,則所述特征信息修改單元具體用于: 將所述虛擬機系統(tǒng)的注冊表配置信息中包含的與虛擬機相關(guān)的關(guān)鍵詞替換為預(yù)置的與虛擬機無關(guān)的字符串;其中,所述注冊表配置信息包括注冊表項和/或鍵值。
9.如權(quán)利要求2或3所述的裝置,如果所述當(dāng)前虛擬機系統(tǒng)中不同于真實系統(tǒng)運行環(huán)境的區(qū)別特征信息為虛擬系統(tǒng)中的虛擬系統(tǒng)中的代表性文件、進程信息、網(wǎng)卡信息或系統(tǒng)設(shè)備信息,則所述特征信息修改單元具體用于: 將所述代表性文件路徑、進程信息、網(wǎng)卡信息或系統(tǒng)設(shè)備信息的取值中包含的與虛擬機相關(guān)的關(guān)鍵詞刪除或修改為與虛擬機無關(guān)的字符串。
10.如權(quán)利要求2或3所述的裝置,如果所述當(dāng)前虛擬機系統(tǒng)中不同于真實系統(tǒng)運行環(huán)境的區(qū)別特征信息為虛擬系統(tǒng)中的MAC地址,則所述特征信息修改單元具體用于: 將所述虛擬機系統(tǒng)中的MAC地址的前綴修改為非00-05-69,并且非00-0C-29,并且非00-50-56 ο
11.如權(quán)利要求2或3所述的裝置,如果所述當(dāng)前虛擬機系統(tǒng)中不同于真實系統(tǒng)運行環(huán)境的區(qū)別特征信息為特定程序在虛擬系統(tǒng)與真實系統(tǒng)中的運行時間差值,則所述特征信息修改單元具體用于: 將在虛擬機系統(tǒng)中運行某檢測程序時返回的時間值的取值修改為預(yù)置的固定值,所述固定值根據(jù)檢測程序在真實系統(tǒng)中運行時所耗費的時間來確定。
全文摘要
本發(fā)明公開了虛擬機系統(tǒng)的反檢測系統(tǒng),其中,所述系統(tǒng)包括虛擬機系統(tǒng)的反檢測裝置、虛擬機系統(tǒng)以及真實系統(tǒng),其中在所述真實系統(tǒng)運行環(huán)境中啟動所述虛擬機系統(tǒng)后,啟動所述虛擬機系統(tǒng)的反檢測裝置,以便通過所述虛擬機系統(tǒng)的反檢測裝置對當(dāng)前虛擬機系統(tǒng)中不同于真實系統(tǒng)運行環(huán)境的區(qū)別特征信息進行修改;所述虛擬機系統(tǒng)的反檢測裝置包括特征信息獲取單元;特征信息修改單元;特征信息返回單元。通過本發(fā)明,可以達到虛擬機反檢測的目的,使得虛擬機能夠更有效的支持惡意程序分析工作。
文檔編號G06F21/56GK103077351SQ20121055889
公開日2013年5月1日 申請日期2012年12月20日 優(yōu)先權(quán)日2012年12月20日
發(fā)明者張東誼, 謝軍樣 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1