1.一種防止windows操作系統(tǒng)下系統(tǒng)服務(wù)描述表被篡改的系統(tǒng),其特征是包括如下模塊:
CPU虛擬化驅(qū)動(dòng)模塊,用于分配硬件虛擬化數(shù)據(jù)結(jié)構(gòu)所需的內(nèi)存,設(shè)置CPU寄存器的標(biāo)志位、填充虛擬機(jī)控制塊指明攔截內(nèi)存操作、從通信驅(qū)動(dòng)模塊獲取系統(tǒng)服務(wù)描述表的內(nèi)存地址空間范圍、讓當(dāng)前操作系統(tǒng)作為虛擬機(jī)運(yùn)行在虛擬CPU上;攔截寫入系統(tǒng)服務(wù)描述表地址范圍的內(nèi)存指令,讓該內(nèi)存寫入失??;
通信驅(qū)動(dòng)模塊,用于獲取當(dāng)前操作系統(tǒng)的系統(tǒng)服務(wù)描述表的起始內(nèi)存地址和內(nèi)存地址范圍,然后保存該地址,啟動(dòng)CPU虛擬化驅(qū)動(dòng)模塊和主服務(wù)進(jìn)程模塊的請(qǐng)求消息監(jiān)聽;
主服務(wù)進(jìn)程模塊,用于安裝CPU虛擬化驅(qū)動(dòng)模塊和通信驅(qū)動(dòng)模塊,卸載兩個(gè)模塊和自身,與通信驅(qū)動(dòng)模塊進(jìn)行通信獲取篡改系統(tǒng)服務(wù)描述表的攔截日志。
2.根據(jù)權(quán)利要求1所述的防止windows操作系統(tǒng)下系統(tǒng)服務(wù)描述表被篡改的系統(tǒng),其特征是:所述的硬件虛擬化數(shù)據(jù)結(jié)構(gòu)包括最高特權(quán)進(jìn)入?yún)^(qū)和虛擬機(jī)控制塊。
3.根據(jù)權(quán)利要求1或2所述的防止windows操作系統(tǒng)下系統(tǒng)服務(wù)描述表被篡改的系統(tǒng),其特征是:所述的通信驅(qū)動(dòng)模塊啟動(dòng)CPU虛擬化驅(qū)動(dòng)模塊和主服務(wù)進(jìn)程模塊的請(qǐng)求消息監(jiān)聽后,一面等待CPU虛擬化模塊發(fā)來的請(qǐng)求消息,包括獲取系統(tǒng)服務(wù)描述表地址消息和已攔截日志消息,一面等待主服務(wù)進(jìn)程模塊發(fā)來的獲取攔截日志消息,如果是CPU虛擬化模塊發(fā)來的已攔截日志消息,它將消息緩存在日志鏈表中。
4.一種防止windows操作系統(tǒng)下系統(tǒng)服務(wù)描述表被篡改的方法,其特征是在于包括如下步驟:
1)主服務(wù)進(jìn)程模塊初始化時(shí)加載通信驅(qū)動(dòng)模塊和CPU虛擬化驅(qū)動(dòng)模塊;
2)通信驅(qū)動(dòng)模塊運(yùn)行后,獲取當(dāng)前操作系統(tǒng)的系統(tǒng)服務(wù)描述表的起始內(nèi)存地址和內(nèi)存地址范圍,然后保存該地址;啟動(dòng)CPU虛擬化驅(qū)動(dòng)模塊和主服務(wù)進(jìn)程模塊的請(qǐng)求消息監(jiān)聽;
3)CPU虛擬化驅(qū)動(dòng)模塊運(yùn)行后,依次執(zhí)行分配硬件虛擬化數(shù)據(jù)結(jié)構(gòu)所需的內(nèi)存,設(shè)置CPU寄存器的標(biāo)志位、填充虛擬機(jī)控制塊指明攔截內(nèi)存操作、從通信驅(qū)動(dòng)模塊獲取系統(tǒng)服務(wù)描述表的內(nèi)存地址空間范圍、讓當(dāng)前操作系統(tǒng)作為虛擬機(jī)運(yùn)行在虛擬CPU上;
4) CPU虛擬化驅(qū)動(dòng)模塊在攔截到每條指令后,如果是內(nèi)存寫入指令且寫入的是SSDT的地址范圍,則讓該內(nèi)存寫入失敗
5) 通信驅(qū)動(dòng)模塊獲得CPU虛擬化模塊發(fā)來的已攔截日志消息,并將消息緩存在日志鏈表中;
6)通信驅(qū)動(dòng)模塊接收主服務(wù)進(jìn)程模塊發(fā)來的獲取攔截日志消息,將消息從日志鏈表中取出,并返回給主服務(wù)進(jìn)程模塊。
5.根據(jù)權(quán)利要求4所述的防止windows操作系統(tǒng)下系統(tǒng)服務(wù)描述表被篡改的方法,其特征是:所述的CPU虛擬化驅(qū)動(dòng)模塊采用內(nèi)核驅(qū)動(dòng)的方式實(shí)現(xiàn),由主服務(wù)進(jìn)程安裝,隨操作系統(tǒng)運(yùn)行自動(dòng)運(yùn)行;CPU以ROOT模式運(yùn)行CPU虛擬化驅(qū)動(dòng)模塊的代碼,具有最高的權(quán)限。
6.根據(jù)權(quán)利要求5所述的防止windows操作系統(tǒng)下系統(tǒng)服務(wù)描述表被篡改的方法,其特征是:通信驅(qū)動(dòng)模塊采用內(nèi)核驅(qū)動(dòng)的方式實(shí)現(xiàn),由主服務(wù)進(jìn)程安裝,隨操作系統(tǒng)運(yùn)行自動(dòng)運(yùn)行,通信驅(qū)動(dòng)模塊的權(quán)限低于CPU虛擬化驅(qū)動(dòng)模塊,和其它操作系統(tǒng)內(nèi)核代碼相同。