本發(fā)明涉及的是一種云主機操作系統(tǒng)加固方法。
背景技術(shù):
在現(xiàn)有技術(shù)中,公知的技術(shù)是系統(tǒng)管理模式(System Management Mode, SMM)是Intel在386SL之后引入x86體系結(jié)構(gòu)的執(zhí)行模式,它是CPU四種運行模式中的一種,其它三種是實模式、保護模式、v86模式。SMM只能通過系統(tǒng)管理中斷(System Management Interrupt, SMI) 進(jìn)入,并只能通過執(zhí)行RSM指令退出。SMM模式對操作系統(tǒng)透明,換句話說,操作系統(tǒng)根本不知道系統(tǒng)何時進(jìn)入SMM模式,也無法感知SMM模式曾經(jīng)執(zhí)行過,
隨著互聯(lián)網(wǎng)帶寬的不斷升級,云計算在日常生活中的應(yīng)用已經(jīng)相當(dāng)普及。計算機安全問題,例如病毒、木馬等導(dǎo)致數(shù)據(jù)泄露和數(shù)據(jù)篡改等問題,也變得更為嚴(yán)重。在上述背景下,解決面向操作系統(tǒng)安全問題、保障使用云客戶機系統(tǒng)安全已成為計算機安全的一個重要關(guān)鍵技術(shù)點。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的就是針對現(xiàn)有技術(shù)所存在的不足而提供一種技術(shù)方案,該方案的方法在系統(tǒng)管理模式SMM模式下,對操作系統(tǒng)重要模塊進(jìn)行校驗,校驗方法是基于HASH方法進(jìn)行實現(xiàn),對應(yīng)的Hash數(shù)值存放于系統(tǒng)管理內(nèi)存(System Management RAM,SMRAM)空間中,由于客戶域系統(tǒng)軟件一般是不能訪問該空間數(shù)據(jù)的,因此掃描模塊和Hash文件庫對上層操作系統(tǒng)透明,具備更高安全性。
本方案是通過如下技術(shù)措施來實現(xiàn)的:1. 一種云主機操作系統(tǒng)加固方法,其特征在于包括如下步驟:
1)在操作系統(tǒng)的模塊中插入楔子代碼,楔子代碼會觸發(fā)陷入系統(tǒng)管理模式SMM動作;
2)觸發(fā)后,CPU切換在系統(tǒng)管理模式SMM下,每次進(jìn)入SMM后執(zhí)行程序入口地址都不會一樣,檢測模塊對操作系統(tǒng)完整性進(jìn)行校驗,檢測惡意軟件對操作系統(tǒng)的篡改。
所述的校驗采用HASH算法進(jìn)行實現(xiàn)。
HASH算法對應(yīng)的HASH數(shù)值存放在系統(tǒng)管理內(nèi)存SMRAM的空間內(nèi)。
通過TPM芯片對HASH數(shù)值型加密。
在系統(tǒng)管理模式SMM中對HASH數(shù)值建立白名單,使HASH算法正常執(zhí)行。
所述的白名單包括特殊軟件和操作系統(tǒng)的數(shù)據(jù)結(jié)構(gòu),所述的特殊軟件包括殺毒軟件,數(shù)據(jù)結(jié)構(gòu)包括GDT表、驅(qū)動程序。
楔子代碼插入的位置選擇的是sysenter和syscall指令指向的內(nèi)核代碼的入口位置。
本方案的有益效果可根據(jù)對上述方案的敘述得知,由于在該方案中在操作系統(tǒng)的關(guān)鍵模塊插入楔子代碼,該代碼會觸發(fā)陷入SMM動作,觸發(fā)成功后,CPU將切換在SMM模式下,此時檢測模塊會對操作系統(tǒng)完整性進(jìn)行校驗,以檢測惡意軟件對操作系統(tǒng)的篡改。楔子代碼插入位置,這里選擇的是sysenter和syscall指令指向的內(nèi)核代碼的入口位置。在SMM模式下一切被都屏蔽,包括所有的中斷。SMM模式下的執(zhí)行的程序被稱作SMM處理程序,所有的SMM處理程序只能在系統(tǒng)管理內(nèi)存(System Management RAM,SMRAM)的空間內(nèi)運行。操作系統(tǒng)不可以訪問該空間,惡意軟件和病毒一般是不能訪問該空間,因此掃描模塊具備較強的隔離型,而SMM處理程序能夠訪問整個內(nèi)存空間;每次進(jìn)入SMM后執(zhí)行程序入口地址都不會一樣,使得跟蹤SMM執(zhí)行變得更為困難。
Hash數(shù)值經(jīng)TPM芯片進(jìn)行了加密,即使第三方能獲取到這些數(shù)值,解密修改這些數(shù)據(jù)也將具備更高的復(fù)雜度,基于TPM芯片進(jìn)行加密和解密操作,減少了CPU執(zhí)行計算任務(wù)負(fù)荷,節(jié)省了系統(tǒng)資源,縮減了每次執(zhí)行檢驗的時間間隔
本方案是基于白名單方式校驗Hash數(shù)值,加入到白名單主要包括了操作系統(tǒng)主要的數(shù)據(jù)結(jié)構(gòu)和一些特殊應(yīng)用軟件。操作系統(tǒng)重要的數(shù)據(jù)結(jié)構(gòu)包括了GDT表、驅(qū)動程序等;特殊應(yīng)用軟件主要包括了殺毒軟件等特殊程序。本方案同時適合于校驗運行在物理機中操作系統(tǒng)完整性,也可以校驗運行在虛擬域中操作系統(tǒng)的完整性。本方法不僅能夠校驗運行在虛擬域中操作系統(tǒng)完整性,同時能夠校驗hypervisor層重要數(shù)據(jù)結(jié)構(gòu)的完整性,為云計算環(huán)境提供更完整的數(shù)據(jù)校驗功能。
由此可見,本發(fā)明與現(xiàn)有技術(shù)相比,具有突出的實質(zhì)性特點和顯著的進(jìn)步,其實施的有益效果也是顯而易見的。
具體實施方式
為能清楚說明本方案的技術(shù)特點,下面通過一個具體實施方式,對本方案進(jìn)行闡述。
本方案的云主機操作系統(tǒng)加固方法,包括如下步驟:
1)在操作系統(tǒng)的模塊中插入楔子代碼,楔子代碼會觸發(fā)陷入系統(tǒng)管理模式SMM動作;
2)觸發(fā)后,CPU切換在系統(tǒng)管理模式SMM下,每次進(jìn)入SMM后執(zhí)行程序入口地址都不會一樣,檢測模塊對操作系統(tǒng)完整性進(jìn)行校驗,檢測惡意軟件對操作系統(tǒng)的篡改。
所述的校驗采用HASH算法進(jìn)行實現(xiàn),HASH算法對應(yīng)的HASH數(shù)值存放在系統(tǒng)管理內(nèi)存SMRAM的空間內(nèi),通過TPM芯片對HASH數(shù)值型加密,在系統(tǒng)管理模式SMM中對HASH數(shù)值建立白名單,使HASH算法正常執(zhí)行,所述的白名單包括特殊軟件和操作系統(tǒng)的數(shù)據(jù)結(jié)構(gòu),所述的特殊軟件包括殺毒軟件,數(shù)據(jù)結(jié)構(gòu)包括GDT表、驅(qū)動程序。
楔子代碼插入的位置選擇的是sysenter和syscall指令指向的內(nèi)核代碼的入口位置。
本發(fā)明并不僅限于上述具體實施方式,本領(lǐng)域普通技術(shù)人員在本發(fā)明的實質(zhì)范圍內(nèi)做出的變化、改型、添加或替換,也應(yīng)屬于本發(fā)明的保護范圍。