進(jìn)行一次,如圖5 :這次就匹配成功了。
[0091] 具體的算法過程如下:
[0092]
【主權(quán)項(xiàng)】
1. 一種面向Xen虛擬化平臺(tái)的隱藏方法,其特征在于:一種面向Xen虛擬化平臺(tái)的隱 藏方法具體是按照以下步驟進(jìn)行的: 步驟一、通過重寫運(yùn)行有Xen虛擬化平臺(tái)的Linux系統(tǒng)的命令,從命令級(jí)別隱藏了 Xen 虛擬化信息; Xen為一個(gè)開放源代碼虛擬機(jī)監(jiān)視器; 步驟二、通過對(duì)運(yùn)行有Xen虛擬化平臺(tái)的Linux系統(tǒng)日志/var/log/下文件進(jìn)行加密, 從日志級(jí)別隱藏了 Xen虛擬化信息; 步驟三、通過對(duì)運(yùn)行有Xen虛擬化平臺(tái)的Linux系統(tǒng)的內(nèi)核代碼procfs下文件和 sysfs下文件讀取函數(shù)進(jìn)行修改,使得從procfs下文件和sysfs下文件讀取函數(shù)無法獲得 Xen虛擬化特征信息,隱藏了 Xen虛擬化信息; 至此,完成了對(duì)Xen虛擬化平臺(tái)的隱藏。
2. 根據(jù)權(quán)利要求1所述一種面向Xen虛擬化平臺(tái)的隱藏方法,其特征在于:所述步驟 一中通過重寫運(yùn)行有Xen虛擬化平臺(tái)的Linux系統(tǒng)的命令,從命令級(jí)別隱藏了 Xen虛擬化 信息,具體過程如下: 步驟--、在運(yùn)行有Xen虛擬化平臺(tái)的Linux系統(tǒng)中查找并獲取dmesg、lscpu和 dmidecode的Linux命令的源代碼;具體方法為: 1) 、對(duì)于dmesg命令,打開Linux終端,執(zhí)行which命令來獲取Linux系統(tǒng)中路徑的 dmesg命令文件; which命令輸出得到dmesg命令對(duì)應(yīng)的可執(zhí)行二進(jìn)制文件在系統(tǒng)中的路徑,二進(jìn)制文 件為/bin/dmesg ;Which命令的輸出為dpkg命令的輸入; 再執(zhí)行dpkg命令來獲得dmesg命令的源代碼包名稱: dpkg命令輸出得到dmesg命令的源代碼包名稱為util-linux,獲取dmesg的Linux命 令的源代碼; 2) 、對(duì)于lscpu命令,打開Linux終端,執(zhí)行which命令來獲取Linux系統(tǒng)中路徑的 lscpu命令文件; Which命令輸出得到lscpu命令對(duì)應(yīng)的可執(zhí)行二進(jìn)制文件在系統(tǒng)中的路徑,二進(jìn)制文 件為/bin/lscpu ;Which命令的輸出是dpkg命令的輸入; 再執(zhí)行dpkg命令獲得lscpu命令的源代碼包名稱; dpkg命令輸出得到lscpu命令的源代碼包名稱為util-linux,獲取lscpu的Linux命 令的源代碼; 3)、對(duì)于dmidecode命令,打開Linux終端,執(zhí)行which命令來獲取系統(tǒng)中路徑的 dmidecode命令文件; which命令輸出得到dmidecode命令對(duì)應(yīng)的可執(zhí)行二進(jìn)制文件在系統(tǒng)中的路徑,二進(jìn) 制文件為/usr/bin/dmidecode ;Which命令的輸出是dpkg命令的輸入; 再執(zhí)行dpkg命令獲得dmesg命令的源代碼包名稱; dpkg命令輸出得到dmidecode命令的源代碼包名稱為dmidecode,獲取dmidecode的 Linux命令的源代碼; 步驟一二、修改dmesg、lscpu和dmidecode的Linux命令,具體方法為: 在獲取到的dmesg、lscpu和dmidecode的Linux命令的源代碼中的輸出函數(shù)中添加 關(guān)鍵字屏蔽代碼,改變了 dmesg、lscpu和dmidecode的Linux命令輸出行為,得到修改后的 dmesg、lscpu 和 dmidecode 的 Linux 命令; 關(guān)鍵字屏蔽代碼是對(duì)等待輸出的字符流Xen,采用關(guān)鍵字屏蔽算法將其屏蔽使字符流 Xen不輸出,關(guān)鍵字屏蔽算法為Sunday算法; 步驟一三、重新編譯修改后的dmesg、lscpu和dmidecode的Linux命令的源代碼,生成 新的dmesg、lscpu和dmidecode的Linux命令的源代碼可執(zhí)行二進(jìn)制文件,替換掉運(yùn)行有 Xen虛擬化平臺(tái)的Linux系統(tǒng)的原始命令文件,使Xen虛擬化平臺(tái)的運(yùn)行系統(tǒng)處于虛擬化環(huán) 境時(shí)調(diào)用Linux系統(tǒng)的命令時(shí)無法得到任何虛擬化特征,在命令級(jí)別隱藏了 Xen虛擬化信 息。
3. 根據(jù)權(quán)利要求2所述一種面向Xen虛擬化平臺(tái)的隱藏方法,其特征在于:所述步驟 二中通過對(duì)運(yùn)行有Xen虛擬化平臺(tái)的Linux系統(tǒng)日志/var/log/下文件進(jìn)行加密,從日志 級(jí)別隱藏了 Xen虛擬化信息,具體過程如下: 對(duì)運(yùn)行有Xen虛擬化平臺(tái)的Linux系統(tǒng)日志/var/log/下文件進(jìn)行加密程序的編寫, 加密程序編寫的具體方法為: 步驟二一、建立輸入緩沖區(qū),將等待加密的Xen虛擬化平臺(tái)的Linux系統(tǒng)日志/var/ log/下文件內(nèi)容全部讀取到輸入緩沖區(qū)中; 步驟二二、對(duì)輸入緩沖區(qū)中的內(nèi)容,按二進(jìn)制形式與數(shù)值96進(jìn)行"異或"運(yùn)算,將得到 的結(jié)果寫入輸出緩沖區(qū)中; 步驟二三、將輸出緩沖區(qū)的內(nèi)容覆蓋寫入到等待加密的/Xen虛擬化平臺(tái)的Linux系統(tǒng) 日志var/log/下文件中,Xen虛擬化平臺(tái)的Linux系統(tǒng)日志/var/log/下文件得到了信息 加密; Xen虛擬化平臺(tái)的Linux系統(tǒng)日志/var/log/下文件進(jìn)行信息加密后,Xen虛擬化平臺(tái) 的Linux系統(tǒng)日志/var/log/下文件的Xen虛擬化特征信息無法被正常讀取,即在日志級(jí) 別隱藏了 Xen虛擬化信息。
4. 根據(jù)權(quán)利要求3所述一種面向Xen虛擬化平臺(tái)的隱藏方法,其特征在于:所述步驟 三中通過對(duì)運(yùn)行有Xen虛擬化平臺(tái)的Linux系統(tǒng)的內(nèi)核代碼procfs下文件和sysfs下文 件讀取函數(shù)進(jìn)行修改,使得從procfs下文件和sysfs下文件讀取函數(shù)無法獲得Xen虛擬化 特征信息,隱藏了 Xen虛擬化信息,具體過程如下: 步驟三一、下載對(duì)應(yīng)本機(jī)的Linux內(nèi)核代碼,過程如下: 首先用uname命令查看本機(jī)的Linux內(nèi)核版本號(hào): 然后在Linux官方網(wǎng)站中獲取該版本號(hào)的Linux內(nèi)核代碼; Linux內(nèi)核代碼包括Xen虛擬化平臺(tái)的運(yùn)行系統(tǒng); 步驟三二、修改Linux內(nèi)核代碼,方法如下: Linux內(nèi)核代碼包含procfs和sysfs ; Xen虛擬化平臺(tái)的運(yùn)行系統(tǒng)在讀取procfs下的A文件時(shí),調(diào)用A文件的內(nèi)核代碼中 file_operations結(jié)構(gòu)的讀函數(shù),將A文件的內(nèi)核代碼中file_operations結(jié)構(gòu)的讀函數(shù)設(shè) 置為空,當(dāng)讀取A文件內(nèi)容時(shí),Xen虛擬化平臺(tái)的運(yùn)行系統(tǒng)調(diào)用A文件的內(nèi)核代碼中file_ operations結(jié)構(gòu)的讀函數(shù)是空指針,無法執(zhí)行讀取操作,使得A文件的內(nèi)容得到了隱藏,修 改了 Linux內(nèi)核代碼; 所述A文件為procfs下的文件,A文件包含Xen虛擬化特征信息; Xen虛擬化平臺(tái)的運(yùn)行系統(tǒng)在讀取sysfs下的B文件時(shí),調(diào)用B文件的內(nèi)核代碼中讀 函數(shù)show類函數(shù),將B文件的內(nèi)核代碼中讀函數(shù)show類函數(shù)設(shè)置為空操作,當(dāng)讀取B文件 內(nèi)容,Xen虛擬化平臺(tái)的運(yùn)行系統(tǒng)調(diào)用B文件的內(nèi)核代碼中show類函數(shù)不進(jìn)行任何讀取操 作,無法讀取內(nèi)容,使得B文件的內(nèi)容得到了隱藏,修改了 Linux內(nèi)核代碼; 所述B文件為sysfs下的文件,B文件包含Xen虛擬化特征信息;show類文件為"show_ 文件名"函數(shù); 步驟三三、重新編譯修改后的Linux內(nèi)核代碼,使Linux內(nèi)核代碼中的procfs下文件 和sysfs下文件的Xen虛擬化特征信息無法被正常讀取,即無法獲得Xen虛擬化特征信息, 隱藏了 Xen虛擬化信息。
【專利摘要】一種面向Xen虛擬化平臺(tái)的隱藏方法,本發(fā)明涉及Xen虛擬化平臺(tái)的隱藏方法。本發(fā)明為了解決現(xiàn)有技術(shù)中基于Xen的蜜罐收集黑客攻擊行為信息的準(zhǔn)確率低的問題。通過以下三個(gè)步驟進(jìn)行:一、通過重寫運(yùn)行有Xen虛擬化平臺(tái)的Linux系統(tǒng)的命令,從命令級(jí)別隱藏了Xen虛擬化信息;二、通過對(duì)運(yùn)行有Xen虛擬化平臺(tái)的Linux系統(tǒng)日志/var/log/下文件進(jìn)行加密,從日志級(jí)別隱藏了Xen虛擬化信息;三、通過對(duì)運(yùn)行有Xen虛擬化平臺(tái)的Linux系統(tǒng)的內(nèi)核代碼procfs下文件和sysfs下文件讀取函數(shù)進(jìn)行修改,隱藏了Xen虛擬化信息;至此,完成了對(duì)Xen虛擬化平臺(tái)的隱藏。本發(fā)明應(yīng)用于信息安全領(lǐng)域。
【IPC分類】G06F21-55
【公開號(hào)】CN104615935
【申請(qǐng)?zhí)枴緾N201510096205
【發(fā)明人】何慧, 張偉哲, 葉麟, 張宏莉, 李琛軒, 詹東陽, 趙尚杰
【申請(qǐng)人】哈爾濱工業(yè)大學(xué)
【公開日】2015年5月13日
【申請(qǐng)日】2015年3月4日