两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

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

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

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


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