專利名稱:中斷向量表被篡改的檢測方法、裝置及網(wǎng)絡(luò)設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實施例涉及通信技術(shù)領(lǐng)域,尤其涉及一種中斷向量表被篡改的檢測方法、 裝置及網(wǎng)絡(luò)設(shè)備。
背景技術(shù):
中斷是指中央處理器(Central Processing Unit,簡稱為CPU)在正常執(zhí)行程序的過程中,由于內(nèi)部/外部事件的觸發(fā),或者由于程序的預(yù)先安排,引起的CPU暫停當(dāng)前正在運(yùn)行的程序,而轉(zhuǎn)去執(zhí)行為該內(nèi)部/外部事件或者程序預(yù)先安排的事件的服務(wù)子程序, 待服務(wù)子程序執(zhí)行完畢后,CPU再返回被暫停的程序處(即斷點(diǎn)處)繼續(xù)執(zhí)行原來的程序, 這一過程可以稱之為中斷。中斷向量是指中斷服務(wù)程序的入口地址,中斷向量表是將操作系統(tǒng)中所有的中斷類型及其對應(yīng)的中斷向量按照一定的規(guī)律存放在一個區(qū)域內(nèi),這個區(qū)域叫做中斷向量表。在實現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題如果由于某些軟件問題或者硬件初始化錯誤,篡改了中斷向量表的內(nèi)容,會導(dǎo)致當(dāng)系統(tǒng)產(chǎn)生中斷并切換到相應(yīng)的中斷向量時,由于中斷向量表的數(shù)據(jù)被篡改而不能夠正確執(zhí)行本次中斷,最終導(dǎo)致整個系統(tǒng)的異常。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種中斷向量表被篡改的檢測方法、裝置及網(wǎng)絡(luò)設(shè)備,用以解決現(xiàn)有技術(shù)中存在的問題。本發(fā)明實施例提供一種中斷向量表被篡改的檢測方法,包括當(dāng)操作系統(tǒng)產(chǎn)生非屏蔽中斷時,判斷所述非屏蔽中斷是否由操作系統(tǒng)的看門狗 (watch dog)產(chǎn)生,所述看門狗的中斷向量被預(yù)先重映射至只讀存儲器中,用于防止所述看門狗超時的定時器的中斷向量位于所述操作系統(tǒng)的中斷向量表中;如果是所述操作系統(tǒng)的看門狗產(chǎn)生的非屏蔽中斷,檢測所述操作系統(tǒng)當(dāng)前的中斷向量表與預(yù)先保存的中斷向量表是否不同;如果不同,判定所述中斷向量表被篡改。本發(fā)明實施例提供一種中斷向量表被篡改的檢測裝置,包括判斷模塊,用于當(dāng)操作系統(tǒng)產(chǎn)生非屏蔽中斷時,判斷所述非屏蔽中斷是否由操作系統(tǒng)的看門狗(watch dog)產(chǎn)生,所述看門狗的中斷向量被預(yù)先重映射至只讀存儲器中,用于防止所述看門狗超時的定時器的中斷向量位于所述操作系統(tǒng)的中斷向量表中;檢測模塊,用于如果所述判斷模塊的判斷結(jié)果為所述非屏蔽中斷為操作系統(tǒng)的看門狗產(chǎn)生,檢測所述操作系統(tǒng)當(dāng)前的中斷向量表與預(yù)先保存的中斷向量表是否不同;如果不同,判定所述中斷向量表被篡改。本發(fā)明實施例還提供了一種網(wǎng)絡(luò)設(shè)備,包括上述中斷向量表被篡改的檢測裝置。本發(fā)明實施例的中斷向量表被篡改的檢測方法、裝置及網(wǎng)絡(luò)設(shè)備,通過將用于防止看門狗超時的定時器的中斷向量存儲在中斷向量表中,將看門狗的中斷向量預(yù)先重映射至只讀存儲器中,使得位于只讀存儲器的看門狗的中斷向量無法被篡改,當(dāng)中斷向量表被篡改后,看門狗的定時器無法正常產(chǎn)生中斷以清除看門狗的計數(shù),從而導(dǎo)致看門狗超時,產(chǎn)生代表硬件錯誤的非屏蔽中斷。因此,當(dāng)檢測到是由看門狗產(chǎn)生的非屏蔽中斷時,判斷操作系統(tǒng)當(dāng)前的中斷向量表與操作系統(tǒng)初始化階段保存的中斷向量表是否相同,若不同便可以確定中斷向量表被篡改。該中斷向量表被篡改的檢測方法、裝置及網(wǎng)絡(luò)設(shè)備能夠有效檢測中斷向量表被篡改而引起的各種異常,保證操作系統(tǒng)的健壯性。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明一個實施例提供的中斷向量表被篡改的檢測方法的流程圖;圖2為本發(fā)明又一個實施例提供的中斷向量表被篡改的檢測方法的流程圖;圖3為本發(fā)明再一個實施例提供的中斷向量表被篡改的檢測方法的流程圖;圖4為本發(fā)明一個實施例提供的看門狗初始化過程的流程圖;圖5為本發(fā)明一個實施例提供的中斷向量表被篡改的檢測裝置的結(jié)構(gòu)示意圖;圖6為本發(fā)明又一個實施例提供的中斷向量表被篡改的檢測裝置的結(jié)構(gòu)示意圖;圖7為本發(fā)明再一個實施例提供的中斷向量表被篡改的檢測裝置的結(jié)構(gòu)示意圖;圖8為本發(fā)明還一個實施例提供的中斷向量表被篡改的檢測裝置的結(jié)構(gòu)示意圖;圖9為本發(fā)明又一個實施例提供的中斷向量表被篡改的檢測裝置的結(jié)構(gòu)示意圖;圖10為本發(fā)明一個實施例提供的網(wǎng)絡(luò)設(shè)備的結(jié)構(gòu)示意圖。
具體實施例方式為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。圖1為本發(fā)明一個實施例提供的中斷向量表被篡改的檢測方法的流程圖,如圖1 所示,包括步驟101、當(dāng)操作系統(tǒng)產(chǎn)生非屏蔽中斷時,中斷向量表被篡改的檢測裝置判斷該非屏蔽中斷是否由操作系統(tǒng)的看門狗(watch dog)產(chǎn)生,其中,該看門狗的中斷向量被預(yù)先重映射至只讀存儲器中,用于防止該看門狗超時的定時器的中斷向量位于操作系統(tǒng)的中斷向
量表中。其中,非屏蔽中斷指的是計算機(jī)內(nèi)部硬件出錯時引起的異常情況。由于看門狗在正常運(yùn)行時不會出現(xiàn)超時這種情況,因此一旦出現(xiàn)超時,即會被認(rèn)為是看門狗出錯,從而引發(fā)非屏蔽中斷。將用于防止看門狗超時的定時器的中斷向量存儲在中斷向量表中,將看門狗的中斷向量預(yù)先重映射至只讀存儲器中,使得中斷向量表被篡改后,看門狗的定時器無法正常產(chǎn)生中斷,從而導(dǎo)致看門狗超時,看門狗的超時會產(chǎn)生代表硬件錯誤的非屏蔽中斷,而恰好看門狗的中斷向量位于只讀存儲器,無法被篡改,使得看門狗產(chǎn)生非屏蔽中斷。本發(fā)明提到的看門狗可以為內(nèi)部看門狗,也可以為外部看門狗,不做具體限定。判斷非屏蔽中斷是否由操作系統(tǒng)的看門狗產(chǎn)生可以包括讀取操作系統(tǒng)CPU內(nèi)部寄存器中關(guān)于該異常情況的記錄,由于每一個異常的產(chǎn)生,CPU內(nèi)部寄存器都會有詳細(xì)的記錄,所以只要讀取CPU的內(nèi)部寄存器,便可知道當(dāng)前的異常是什么,其中,非屏蔽異常的優(yōu)先級是最高的,所以讀取當(dāng)前優(yōu)先級最高的異常便可獲得該非屏蔽中斷是否由操作系統(tǒng)的看門狗產(chǎn)生。將看門狗的中斷向量預(yù)先重映射至只讀存儲器可以包括將看門狗的中斷向量從操作系統(tǒng)的中斷向量表中移出,并移至只讀存儲器,并進(jìn)行該中斷向量的重定位。步驟102、如果是操作系統(tǒng)的看門狗產(chǎn)生的非屏蔽中斷,檢測操作系統(tǒng)當(dāng)前的中斷向量表與預(yù)先保存的中斷向量表是否不同,如果不同,則判定該中斷向量表已被篡改。圖2為本發(fā)明又一個實施例提供的中斷向量表被篡改的檢測方法的流程圖,在上述圖1所示的實施方式的基礎(chǔ)上,當(dāng)中斷向量表被篡改的檢測裝置判定了中斷向量表被篡改之后,也即步驟102之后,可以對被篡改的中斷向量表進(jìn)行修復(fù)。具體的修復(fù)過程可以如步驟103所示步驟103、將操作系統(tǒng)當(dāng)前的中斷向量表替換為預(yù)先保存的中斷向量表。需要說明的是,預(yù)先保存的中斷向量表可以為1份,也可以為多份。保存多份中斷向量表是為了更加有效的保障預(yù)先保存的中斷向量表的正確性。如果預(yù)先保存的多份中斷向量表中存在不完全相同的情況,以多數(shù)相同的中斷向量表為準(zhǔn)確版本。圖3為本發(fā)明再一個實施例提供的中斷向量表被篡改的檢測方法的流程圖,在上述圖2所示的實施方式的基礎(chǔ)上,進(jìn)一步的,在判定該非屏蔽中斷是操作系統(tǒng)的看門狗產(chǎn)生的非屏蔽中斷之后,步驟102中還可以包括保存該非屏蔽中斷前操作系統(tǒng)正在運(yùn)行的程序上下文。相應(yīng)于圖3所示的步驟102,在步驟103之后,該方法還包括步驟104、退出非屏蔽中斷,根據(jù)保存的程序上下文恢復(fù)操作系統(tǒng)的運(yùn)行。在上述一個或多個實施例的基礎(chǔ)上,在步驟101之前,該方法還可以包括看門狗的初始化過程。如圖4所示的本發(fā)明一個實施例提供的看門狗初始化過程的流程圖,如圖 4所示,該看門狗的初始化過程包括步驟100a、設(shè)置看門狗的超時時間為X,并設(shè)置看門狗的定時器的時間間隔為Y, 該定時器到期時產(chǎn)生用于清除看門狗計數(shù)的中斷,其中Y小于X,X、Y均為大于等于0的整數(shù);看門狗的超時時間X大于清除看門狗計數(shù)的定時器的中斷時間間隔Y,這樣可以有效保證在操作系統(tǒng)正常運(yùn)行過程中,看門狗定時器能夠在看門狗超時之前將其計數(shù)清除。步驟100b、將看門狗的中斷向量從操作系統(tǒng)的中斷向量表中移至只讀存儲器中, 并進(jìn)行該中斷向量的重定位。在中斷向量表被篡改的情況下,定時器將無法正常工作,而看門狗的中斷向量位于只讀存儲器,無法被篡改,這樣就會觸發(fā)看門狗超時,產(chǎn)生非屏蔽中斷。其中,步驟IOOa與步驟IOOb之間可以同時進(jìn)行,也可以先后進(jìn)行。圖4以步驟IOOa發(fā)生在步驟IOOb之前為例,但并不用于限制本發(fā)明的保護(hù)范圍。進(jìn)一步的,步驟IOOb之后,該方法還包括中斷向量表的備份過程。該中斷向量表的備份過程可以包括將移除了看門狗中斷向量的中斷向量表作為備份數(shù)據(jù)保存到預(yù)設(shè)的內(nèi)存空間。作為備份數(shù)據(jù)保存到預(yù)設(shè)的內(nèi)存空間的中斷向量表即被認(rèn)為是系統(tǒng)初始化過程中保存的中斷向量表,是未被篡改的中斷向量表。本發(fā)明實施例提供的中斷向量表被篡改的檢測方法,通過將用于防止看門狗超時的定時器的中斷向量存儲在中斷向量表中,將看門狗的中斷向量預(yù)先重映射至只讀存儲器中,使得位于只讀存儲器的看門狗的中斷向量無法被篡改,當(dāng)中斷向量表被篡改后,看門狗的定時器無法正常產(chǎn)生中斷以清除看門狗的計數(shù),從而導(dǎo)致看門狗超時,產(chǎn)生代表硬件錯誤的非屏蔽中斷。因此,當(dāng)檢測到是由看門狗產(chǎn)生的非屏蔽中斷時,判斷操作系統(tǒng)當(dāng)前的中斷向量表與操作系統(tǒng)初始化階段保存的中斷向量表是否相同,若不同便可以確定中斷向量表被篡改。該中斷向量表被篡改的檢測方法及裝置能夠有效檢測中斷向量表被篡改而引起的各種異常,保證操作系統(tǒng)的健壯性。圖5為本發(fā)明一個實施例提供的中斷向量表被篡改的檢測裝置的結(jié)構(gòu)示意圖,如圖5所示,該檢測裝置為執(zhí)行上述方法實施例的特定主體,該裝置包括判斷模塊501和檢測模塊502。其中,判斷模塊501用于當(dāng)操作系統(tǒng)產(chǎn)生非屏蔽中斷時,判斷非屏蔽中斷是否由操作系統(tǒng)的看門狗產(chǎn)生,看門狗的中斷向量被預(yù)先重映射至只讀存儲器中,用于防止看門狗超時的定時器的中斷向量位于操作系統(tǒng)的中斷向量表中;檢測模塊502用于如果判斷模塊501的判斷結(jié)果為非屏蔽中斷為操作系統(tǒng)的看門狗產(chǎn)生,檢測操作系統(tǒng)當(dāng)前的中斷向量表與預(yù)先保存的中斷向量表是否不同;如果不同,判定中斷向量表被篡改。圖6為本發(fā)明又一個實施例提供的中斷向量表被篡改的檢測裝置的結(jié)構(gòu)示意圖, 如圖6所示,在上述實施方式的基礎(chǔ)上,該檢測裝置還可以包括修正模塊503,其中,修正模塊503用于將操作系統(tǒng)當(dāng)前的中斷向量表替換為預(yù)先保存的中斷向量表。需要說明的是,預(yù)先保存的中斷向量表可以為1份,也可以為多份。保存多份中斷向量表是為了更加有效的保障預(yù)先保存的中斷向量表的正確性。如果預(yù)先保存的多份中斷向量表中存在不完全相同的情況,以多數(shù)相同的中斷向量表為準(zhǔn)確版本。圖7為本發(fā)明再一個實施例提供的中斷向量表被篡改的檢測裝置的結(jié)構(gòu)示意圖, 如圖7所示,在圖6所示的實施方式的基礎(chǔ)上,檢測模塊502還用于在判定非屏蔽中斷是操作系統(tǒng)的看門狗產(chǎn)生的非屏蔽中斷之后,保存非屏蔽中斷前操作系統(tǒng)正在運(yùn)行的程序上下文;相應(yīng)的,該檢測裝置還可以包括恢復(fù)模塊504。該恢復(fù)模塊504用于在修正模塊 503將操作系統(tǒng)當(dāng)前的中斷向量表替換為預(yù)先保存的中斷向量表之后,退出非屏蔽中斷,并根據(jù)保存的程序上下文恢復(fù)操作系統(tǒng)的運(yùn)行。圖8為本發(fā)明還一個實施例提供的中斷向量表被篡改的檢測裝置的結(jié)構(gòu)示意圖, 如圖8所示,在上述任一種實施例的基礎(chǔ)上,該裝置還可以包括看門狗初始化模塊505。 其中,該看門狗初始化模塊505用于設(shè)置看門狗的超時時間為X,并設(shè)置看門狗的定時器的時間間隔為Y,該定時器到期時產(chǎn)生用于清除看門狗計數(shù)的中斷,其中Y小于X,X、Y均為大于等于0的整數(shù);將看門狗的中斷向量從操作系統(tǒng)的中斷向量表移至只讀存儲器,并進(jìn)行該看門狗的中斷向量的重定位。其中,看門狗的超時時間X大于清除看門狗計數(shù)的定時器的中斷時間間隔Y,這樣可以有效保證在操作系統(tǒng)正常運(yùn)行過程中,看門狗定時器能夠在看門狗超時之前將其計數(shù)清除。在中斷向量表被篡改的情況下,定時器將無法正常工作,而看門狗的中斷向量位于只讀存儲器,無法被篡改,這樣就會觸發(fā)看門狗超時,產(chǎn)生非屏蔽中斷。圖9為本發(fā)明又一個實施例提供的中斷向量表被篡改的檢測裝置的結(jié)構(gòu)示意圖, 如圖9所示,在圖8所示的實施例的基礎(chǔ)上,該裝置還可以包括備份模塊506。該備份模塊506用于將移除了看門狗的中斷向量的中斷向量表作為備份數(shù)據(jù)保存到預(yù)設(shè)的內(nèi)存空間,作為預(yù)先保存的中斷向量表。作為備份數(shù)據(jù)保存到預(yù)設(shè)的內(nèi)存空間的中斷向量表即被認(rèn)為是系統(tǒng)初始化過程中保存的中斷向量表,是未被篡改的中斷向量表。本發(fā)明實施例提供的中斷向量表被篡改的檢測裝置,既可以是獨(dú)立存在的硬件設(shè)備,該硬件設(shè)備中包含上述各模塊,也可以是運(yùn)行在操作系統(tǒng)中的軟件功能模塊,存在于計算機(jī)、手機(jī)、網(wǎng)絡(luò)交換機(jī)、路由器等網(wǎng)絡(luò)設(shè)備之中。通過將用于防止看門狗超時的定時器的中斷向量存儲在中斷向量表中,將看門狗的中斷向量預(yù)先重映射至只讀存儲器中,使得位于只讀存儲器的看門狗的中斷向量無法被篡改,當(dāng)中斷向量表被篡改后,看門狗的定時器無法正常產(chǎn)生中斷以清除看門狗的計數(shù),從而導(dǎo)致看門狗超時,產(chǎn)生代表硬件錯誤的非屏蔽中斷。因此,當(dāng)檢測到是由看門狗產(chǎn)生的非屏蔽中斷時,判斷操作系統(tǒng)當(dāng)前的中斷向量表與操作系統(tǒng)初始化階段保存的中斷向量表是否相同,若不同便可以確定中斷向量表被篡改。該中斷向量表被篡改的檢測方法及裝置能夠有效檢測中斷向量表被篡改而引起的各種異常,保證操作系統(tǒng)的健壯性。圖10為本發(fā)明一個實施例提供的網(wǎng)絡(luò)設(shè)備的結(jié)構(gòu)示意圖,如圖10所示,該網(wǎng)絡(luò)設(shè)備中包括中斷向量表被篡改的檢測裝置1001,該中斷向量表被篡改的檢測裝置1001可以參考上述中斷向量表被篡改的檢測裝置的具體實施方式
,此處不做贅述。該中斷向量表被篡改的檢測裝置可以作為網(wǎng)絡(luò)設(shè)備的硬件組成存在于網(wǎng)絡(luò)設(shè)備中,也可以作為運(yùn)行在網(wǎng)絡(luò)設(shè)備的操作系統(tǒng)中的軟件功能模塊存在于網(wǎng)絡(luò)設(shè)備中,本實施例中所提到的網(wǎng)絡(luò)設(shè)備指代一種通過操作系統(tǒng)控制設(shè)備運(yùn)行的實體設(shè)備,如計算機(jī)、手機(jī)、 網(wǎng)絡(luò)交換機(jī)、路由器等。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。最后應(yīng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種中斷向量表被篡改的檢測方法,其特征在于,包括當(dāng)操作系統(tǒng)產(chǎn)生非屏蔽中斷時,判斷所述非屏蔽中斷是否由操作系統(tǒng)的看門狗(watch dog)產(chǎn)生,所述看門狗的中斷向量被預(yù)先重映射至只讀存儲器中,用于防止所述看門狗超時的定時器的中斷向量位于所述操作系統(tǒng)的中斷向量表中;如果是所述操作系統(tǒng)的看門狗產(chǎn)生的非屏蔽中斷,檢測所述操作系統(tǒng)當(dāng)前的中斷向量表與預(yù)先保存的中斷向量表是否不同;如果不同,判定所述中斷向量表被篡改。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判定所述中斷向量表被篡改之后,所述方法還包括將所述操作系統(tǒng)當(dāng)前的中斷向量表替換為所述預(yù)先保存的中斷向量表。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,判定所述非屏蔽中斷是所述操作系統(tǒng)的看門狗產(chǎn)生的非屏蔽中斷之后,所述方法還包括保存所述非屏蔽中斷前所述操作系統(tǒng)正在運(yùn)行的程序上下文;相應(yīng)的,所述將所述操作系統(tǒng)當(dāng)前的中斷向量表替換為所述預(yù)先保存的中斷向量表之后,所述方法還包括退出非屏蔽中斷,并根據(jù)保存的程序上下文恢復(fù)所述操作系統(tǒng)的運(yùn)行。
4.根據(jù)權(quán)利要求1至3中任一項所述的方法,其特征在于,所述操作系統(tǒng)產(chǎn)生非屏蔽中斷之前,所述方法還包括設(shè)置看門狗的超時時間為X ;設(shè)置所述看門狗的定時器的時間間隔為Y,所述定時器到期時產(chǎn)生用于清除所述看門狗計數(shù)的中斷,其中Y小于X ;將所述看門狗的中斷向量從所述操作系統(tǒng)的中斷向量表移至只讀存儲器,并進(jìn)行所述中斷向量的重定位;X、Y均為大于等于0的整數(shù)。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述將所述看門狗的中斷向量從所述操作系統(tǒng)的中斷向量表移至只讀存儲器,并進(jìn)行所述中斷向量的重定位之后,所述方法還包括將移除了所述看門狗的中斷向量的中斷向量表作為備份數(shù)據(jù)保存到預(yù)設(shè)的內(nèi)存空間, 作為所述預(yù)先保存的中斷向量表。
6.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述看門狗包括內(nèi)部看門狗,和/ 或,外部看門狗。
7.—種中斷向量表被篡改的檢測裝置,其特征在于,包括判斷模塊,用于當(dāng)操作系統(tǒng)產(chǎn)生非屏蔽中斷時,判斷所述非屏蔽中斷是否由操作系統(tǒng)的看門狗(watch dog)產(chǎn)生,所述看門狗的中斷向量被預(yù)先重映射至只讀存儲器中,用于防止所述看門狗超時的定時器的中斷向量位于所述操作系統(tǒng)的中斷向量表中;檢測模塊,用于如果所述判斷模塊的判斷結(jié)果為所述非屏蔽中斷為操作系統(tǒng)的看門狗產(chǎn)生,檢測所述操作系統(tǒng)當(dāng)前的中斷向量表與預(yù)先保存的中斷向量表是否不同;如果不同, 判定所述中斷向量表被篡改。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括修正模塊,用于將所述操作系統(tǒng)當(dāng)前的中斷向量表替換為所述預(yù)先保存的中斷向量表。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述檢測模塊還用于在判定所述非屏蔽中斷是操作系統(tǒng)的看門狗產(chǎn)生的非屏蔽中斷之后,保存所述非屏蔽中斷前所述操作系統(tǒng)正在運(yùn)行的程序上下文;相應(yīng)的,裝置還包括恢復(fù)模塊,用于在所述修正模塊將所述操作系統(tǒng)當(dāng)前的中斷向量表替換為所述預(yù)先保存的中斷向量表之后,退出非屏蔽中斷,并根據(jù)保存的程序上下文恢復(fù)所述操作系統(tǒng)的運(yùn)行。
10.根據(jù)權(quán)利要求7至9中任一項所述的裝置,其特征在于,所述裝置還包括看門狗初始化模塊,用于設(shè)置看門狗的超時時間為X ;設(shè)置所述看門狗的定時器的時間間隔為Y,所述定時器到期時產(chǎn)生用于清除所述看門狗計數(shù)的中斷,其中Y小于X ;將所述看門狗的中斷向量從所述操作系統(tǒng)的中斷向量表移至只讀存儲器,并進(jìn)行所述中斷向量的重定位。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述裝置還包括備份模塊,用于將移除了所述看門狗的中斷向量的中斷向量表作為備份數(shù)據(jù)保存到預(yù)設(shè)的內(nèi)存空間,作為所述檢測模塊使用的預(yù)先保存的中斷向量表。
12.—種網(wǎng)絡(luò)設(shè)備,其特征在于,包括如權(quán)利要求7至11中任一項所述的中斷向量表被篡改的檢測裝置。
全文摘要
本發(fā)明提供一種中斷向量表被篡改的檢測方法、裝置及網(wǎng)絡(luò)設(shè)備。方法當(dāng)操作系統(tǒng)產(chǎn)生非屏蔽中斷時,判斷所述非屏蔽中斷是否由操作系統(tǒng)的看門狗產(chǎn)生,所述看門狗的中斷向量被預(yù)先重映射至只讀存儲器中,用于防止所述看門狗超時的定時器的中斷向量位于所述操作系統(tǒng)的中斷向量表中;如果是所述操作系統(tǒng)的看門狗產(chǎn)生的非屏蔽中斷,檢測所述操作系統(tǒng)當(dāng)前的中斷向量表與預(yù)先保存的中斷向量表是否不同;如果不同,判定所述中斷向量表被篡改。裝置判斷模塊和檢測模塊。網(wǎng)絡(luò)設(shè)備包括上述裝置。本發(fā)明提供的方案有效解決了現(xiàn)有技術(shù)中無法檢測中斷向量表被篡改的問題。
文檔編號G06F11/00GK102436403SQ201110236759
公開日2012年5月2日 申請日期2011年8月17日 優(yōu)先權(quán)日2011年8月17日
發(fā)明者梁恩波 申請人:福建星網(wǎng)銳捷網(wǎng)絡(luò)有限公司