專利名稱::一種防止文件被篡改的系統(tǒng)和方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及信息安全
技術(shù)領(lǐng)域:
,具體涉及一種監(jiān)測(cè)單元及方法、以及防止文件被篡改的系統(tǒng)及方法。
背景技術(shù):
:隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,越來越多的應(yīng)用基于網(wǎng)絡(luò)來提供,網(wǎng)絡(luò)應(yīng)用的安全性日益重要。越來越多的黑客看中了網(wǎng)絡(luò)應(yīng)用的市場(chǎng)價(jià)值而力圖侵入網(wǎng)絡(luò)應(yīng)用服務(wù)器來獲取各種信息,從而從中獲利。網(wǎng)絡(luò)應(yīng)用服務(wù)器中的文件安全性也日益重要,很多黑客會(huì)篡改服務(wù)器中的文件,·在文件中寫入非法信息、植入木馬等等,從而使得利用服務(wù)器應(yīng)用的用戶受到損失。如何保護(hù)網(wǎng)絡(luò)應(yīng)用服務(wù)器中的文件安全是信息安全領(lǐng)域重要的挑戰(zhàn)?,F(xiàn)有的對(duì)網(wǎng)絡(luò)應(yīng)用服務(wù)器中的文件系統(tǒng)的訪問控制主要是通過設(shè)置文件權(quán)限來實(shí)現(xiàn),例如僅僅具有某個(gè)權(quán)限的用戶才可以修改文件。但是,如果黑客獲取了最高(root)權(quán)限,則通過該方法限制文件訪問就會(huì)失效。另外,還有一種防止文件被篡改的方式,其通過定期來監(jiān)控目標(biāo)文件或者目錄,如果發(fā)現(xiàn)目標(biāo)文件或者目錄被黑客修改或者刪除,就利用事前備份好的文件和目錄來恢復(fù)所修改的內(nèi)容,這樣即使文件和目錄被修改了,也可以及時(shí)恢復(fù)。但是這種方式存在如下缺點(diǎn)總是需要為要保護(hù)的內(nèi)容做備份,在發(fā)生篡改行為時(shí)總是需要做以恢復(fù)為目的的內(nèi)容同步,并且如果監(jiān)控不及時(shí),會(huì)存在被篡改內(nèi)容暫時(shí)未被恢復(fù)的情況。這時(shí),如果用戶訪問了被篡改內(nèi)容的文件或目錄,就會(huì)得到一些惡意的內(nèi)容,從而導(dǎo)致用戶受到損失。另外,如果采用不間斷地輪詢服務(wù)器上的文件,如果被保護(hù)的文件數(shù)量巨大,勢(shì)必會(huì)影響硬件設(shè)備的性能,造成網(wǎng)絡(luò)應(yīng)用服務(wù)器的訪問速度降低。
發(fā)明內(nèi)容鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的監(jiān)測(cè)單元及方法、以及防止文件被篡改的系統(tǒng)及方法。依據(jù)本發(fā)明的一個(gè)方面,提供了一種監(jiān)測(cè)單元,其加載于操作系統(tǒng)的內(nèi)核空間中,包括截獲模塊,適于在與系統(tǒng)調(diào)用相對(duì)應(yīng)的核心操作被執(zhí)行之前截獲所述系統(tǒng)調(diào)用;判斷模塊,適于判斷所述系統(tǒng)調(diào)用是否合法;告警模塊,其在所述判斷模塊判斷該系統(tǒng)調(diào)用非法時(shí),拒絕該系統(tǒng)調(diào)用并生成告警信息;恢復(fù)模塊,其在所述判斷模塊判斷該系統(tǒng)調(diào)用合法時(shí),允許該系統(tǒng)調(diào)用,恢復(fù)該系統(tǒng)調(diào)用的執(zhí)行。其中,所述核心操作為各種與文件相關(guān)的操作,以及所述系統(tǒng)調(diào)用為各種與文件操作相關(guān)的系統(tǒng)調(diào)用??蛇x地,所述判斷模塊包括配置信息,所述配置信息包括一個(gè)或者多個(gè)配置項(xiàng),每個(gè)配置項(xiàng)包括所述系統(tǒng)調(diào)用涉及的文件的文件信息和/或發(fā)起該系統(tǒng)調(diào)用的應(yīng)用的應(yīng)用信息。其中所述判斷模塊根據(jù)所述配置信息來判斷該系統(tǒng)調(diào)用是否合法??蛇x地,所述文件信息包括文件的路徑信息和/或名稱,所述應(yīng)用信息包括所述應(yīng)用在操作系統(tǒng)中的唯一標(biāo)識(shí)號(hào)。根據(jù)本發(fā)明的另一方面,提供了一種防止文件被篡改的系統(tǒng),其安置在計(jì)算設(shè)備中,該計(jì)算設(shè)備具有操作系統(tǒng),該操作系統(tǒng)包括提供核心操作的內(nèi)核空間和提供各種應(yīng)用的用戶空間,該防止文件被篡改的系統(tǒng)包括位于內(nèi)核空間中的如前所述的監(jiān)測(cè)單元;位于用戶空間中的監(jiān)測(cè)客戶端和多個(gè)應(yīng)用,其中所述監(jiān)測(cè)客戶端適于與所述監(jiān)測(cè)單元進(jìn)行通信;以及位于用戶空間和內(nèi)核空間之間的系統(tǒng)調(diào)用接口,位于用戶空間中的所述多個(gè)應(yīng)用分別通過該系統(tǒng)調(diào)用接口與所述監(jiān)測(cè)單元連接。其中,位于用戶空間中的多個(gè)應(yīng)用分別通過系統(tǒng)調(diào)用接口向內(nèi)核空間的核操作發(fā)起系統(tǒng)調(diào)用請(qǐng)求,所述監(jiān)測(cè)單元監(jiān)測(cè)所述系統(tǒng)調(diào)用請(qǐng)求。可選地,本發(fā)明的防止文件被篡改的系統(tǒng)還包括虛擬模塊,其設(shè)置于內(nèi)核空間中,加載于監(jiān)測(cè)單元之后,在表示模塊加載的單向鏈表中其指針指向監(jiān)測(cè)單元的下一個(gè)模塊,而不指向所述監(jiān)測(cè)單元,從而使監(jiān)測(cè)單元在單向鏈表中不可見。根據(jù)本發(fā)明的又一方面,提供了監(jiān)測(cè)操作系統(tǒng)的監(jiān)測(cè)方法,其中所述操作系統(tǒng)包括提供核心操作的內(nèi)核空間和提供各種應(yīng)用的用戶空間,所述用戶空間中的應(yīng)用通過發(fā)·起系統(tǒng)調(diào)用來調(diào)用內(nèi)核空間中提供的相應(yīng)核心操作,所述核心操作為各種與文件相關(guān)的操作,以及所述系統(tǒng)調(diào)用為各種與文件操作相關(guān)的系統(tǒng)調(diào)用。所述監(jiān)測(cè)方法包括在與系統(tǒng)調(diào)用相對(duì)應(yīng)的核心操作被執(zhí)行之前截獲所述系統(tǒng)調(diào)用;判斷所述系統(tǒng)調(diào)用是否合法,當(dāng)其合法時(shí)允許該系統(tǒng)調(diào)用,否則拒絕該系統(tǒng)調(diào)用。根據(jù)本發(fā)明的再一方面,提供一種防止文件被篡改的方法,其在計(jì)算設(shè)備中執(zhí)行,該計(jì)算設(shè)備具有操作系統(tǒng),該操作系統(tǒng)包括提供核心操作的內(nèi)核空間和提供各種應(yīng)用的用戶空間,該方法包括接收用戶空間中的應(yīng)用通過系統(tǒng)調(diào)用而對(duì)內(nèi)核空間中提供的相應(yīng)核心操作的調(diào)用;以及前面所述的監(jiān)測(cè)方法中的步驟??蛇x地,在本發(fā)明的防止文件被篡改的方法中,在前面所述的監(jiān)測(cè)方法中的步驟之后還包括步驟執(zhí)行一虛擬操作,以使得在表示各操作加載的單向鏈表中該虛擬操作的指針指向前面所述監(jiān)測(cè)方法執(zhí)行的監(jiān)測(cè)操作的下一個(gè)操作,而不指向所述監(jiān)測(cè)操作,從而使所述監(jiān)測(cè)操作在單向鏈表中不可見。根據(jù)本發(fā)明的監(jiān)測(cè)單元、防止文件被篡改的系統(tǒng)和相應(yīng)的方法可以即使在黑客獲取了最高權(quán)限的情況下,也能防止其對(duì)文件和目錄進(jìn)行篡改,由此無需實(shí)時(shí)地輪詢服務(wù)器上的文件,從而能夠保證系統(tǒng)的性能不受影響。上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中圖I示出了包含根據(jù)本發(fā)明一個(gè)實(shí)施例的監(jiān)測(cè)單元的防止文件被篡改的系統(tǒng)的示意框圖;圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的監(jiān)測(cè)單元、監(jiān)測(cè)客戶端以及內(nèi)核之間的交互關(guān)系;圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的監(jiān)測(cè)單元加載過程的示意圖;圖4示出根據(jù)本發(fā)明一個(gè)實(shí)施例的防止文件被篡改的系統(tǒng)的一個(gè)例子的示意圖;以及圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的監(jiān)測(cè)方法的流程圖。圖6示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的防止文件被篡改的方法的流程圖。具體實(shí)施例方式下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員?,F(xiàn)代的計(jì)算機(jī)都通過配置操作系統(tǒng)來管理計(jì)算機(jī)系統(tǒng)的硬件、軟件及數(shù)據(jù)資源、控制程序運(yùn)行、改善人機(jī)界面、為其它應(yīng)用提供支持等,使計(jì)算機(jī)系統(tǒng)所有資源最大限度地發(fā)揮作用,為用戶提供方便、有效、友善的服務(wù)界面。操作系統(tǒng)位于計(jì)算機(jī)系統(tǒng)的底層硬件與用戶之間,是兩者溝通的橋梁。用戶可以通過操作系統(tǒng)的用戶界面輸入命令。操作系統(tǒng)則對(duì)命令進(jìn)行解釋,驅(qū)動(dòng)硬件設(shè)備,實(shí)現(xiàn)用戶要求。操作系統(tǒng)的最內(nèi)核最基礎(chǔ)的構(gòu)件是內(nèi)核。內(nèi)核提供一系列具備預(yù)定功能的多內(nèi)核函數(shù),通過一組稱為系統(tǒng)調(diào)用的(systemcall)的接口呈現(xiàn)給用戶。采用系統(tǒng)調(diào)用的根本原因是為了對(duì)計(jì)算機(jī)系統(tǒng)賴以運(yùn)行的資料進(jìn)行保護(hù)。操作系統(tǒng)運(yùn)行的內(nèi)存空間劃分為操作系統(tǒng)內(nèi)核運(yùn)行的空間即內(nèi)核空間,以及各種應(yīng)用運(yùn)行的空間即用戶空間,它們分別運(yùn)行在內(nèi)核態(tài)和用戶態(tài)兩種運(yùn)行級(jí)別中,邏輯上相互隔離。操作系統(tǒng)為了保護(hù)自己不被普通程序破壞,對(duì)內(nèi)核空間進(jìn)行了一些定義,比如訪問權(quán)限、換入換出、優(yōu)先級(jí)等等。也就是說,內(nèi)核空間只允許內(nèi)核訪問,各種應(yīng)用在通常情況下不允許訪問內(nèi)核空間,即不允許訪問內(nèi)核數(shù)據(jù),也無法使用內(nèi)核函數(shù),它們只能在用戶空間操作用戶數(shù)據(jù),調(diào)用內(nèi)核函數(shù)。如果用戶空間的應(yīng)用要訪問內(nèi)核空間,獲得系統(tǒng)服務(wù)(即調(diào)用系統(tǒng)程序),必須經(jīng)過系統(tǒng)調(diào)用,系統(tǒng)調(diào)用規(guī)定了每一應(yīng)用進(jìn)入內(nèi)核的具體位置,換句話說,用戶訪問內(nèi)核的路徑是事先規(guī)定好的,只能從規(guī)定位置進(jìn)入內(nèi)核,而不準(zhǔn)許肆意跳入內(nèi)核,這樣可以保證內(nèi)核安全。因此,從邏輯上來說,系統(tǒng)調(diào)用可被看成是內(nèi)核與用戶空間的應(yīng)用交互的接口,系統(tǒng)調(diào)用將執(zhí)行應(yīng)用的請(qǐng)求傳達(dá)給內(nèi)核空間的內(nèi)核,調(diào)用相應(yīng)的內(nèi)核函數(shù)完成所需的處理,待內(nèi)核把請(qǐng)求處理完畢后,再將處理結(jié)果送回給應(yīng)用。例如,用戶可以通過文件系統(tǒng)相關(guān)的系統(tǒng)調(diào)用請(qǐng)求系統(tǒng)打開文件、關(guān)閉文件或讀寫文件,可以通過時(shí)鐘相關(guān)的系統(tǒng)調(diào)用獲得系統(tǒng)時(shí)間或者設(shè)置定時(shí)器等。然而,在操作系統(tǒng)運(yùn)行期間,黑客可能會(huì)獲得應(yīng)用訪問內(nèi)核空間的訪問權(quán)限,從而或者獲得各種信息而從中獲利,或者在文件中寫入非法信息、植入木馬等而使用戶在訪問內(nèi)核空間時(shí)得到一些惡意的內(nèi)容,導(dǎo)致用戶蒙受損失。為此,本發(fā)明提供一種監(jiān)測(cè)操作系統(tǒng)的監(jiān)測(cè)單元。如圖I所示,根據(jù)本發(fā)明的一個(gè)實(shí)施例的監(jiān)測(cè)單元130加載于操作系統(tǒng)的內(nèi)核空間102中,包括截獲模塊1310、判斷模塊1320、告警模塊1330、以及恢復(fù)模塊1340。為了說明方便,圖I中還示出了操作系統(tǒng)的用戶空間101和內(nèi)核空間102,位于用戶空間101中的監(jiān)測(cè)客戶端110和各種應(yīng)用115,以及位于用戶空間101和內(nèi)核空間102之間的系統(tǒng)調(diào)用接口120。用戶在與各種應(yīng)用115進(jìn)行交互時(shí),應(yīng)用115通過系統(tǒng)調(diào)用接口120向內(nèi)核空間發(fā)送系統(tǒng)調(diào)用。但是,在內(nèi)核空間中與該系統(tǒng)調(diào)用對(duì)應(yīng)的核心操作被執(zhí)行之前,監(jiān)測(cè)單元130的截獲模塊1310截獲該系統(tǒng)調(diào)用,然后,將所截獲的系統(tǒng)調(diào)用傳送至判斷模塊1320,由判斷模塊1320判斷該系統(tǒng)調(diào)用是否合法。當(dāng)判斷該系統(tǒng)調(diào)用非法時(shí),拒絕該系統(tǒng)調(diào)用,強(qiáng)制結(jié)束用戶對(duì)內(nèi)核空間的訪問,以避免對(duì)內(nèi)核資料的破壞,并讓告警模塊1330生成告警信息,將該告警信息傳送至監(jiān)測(cè)客戶端110;當(dāng)判斷模塊1320判斷該系統(tǒng)調(diào)用合法時(shí),則允許該系統(tǒng)調(diào)用,告知恢復(fù)模塊1340恢復(fù)該系統(tǒng)調(diào)用的執(zhí)行,由內(nèi)核完成與該系統(tǒng)調(diào)用對(duì)應(yīng)的核心操作,并向監(jiān)測(cè)客戶端110反饋信息從而完成該系統(tǒng)調(diào)用。這里,核心操作可以為各種與文件相關(guān)的操作,系統(tǒng)調(diào)用可以為各種與文件操作相關(guān)的系統(tǒng)調(diào)用。在圖I所述的實(shí)施例中,截獲模塊1310和判斷模塊1320具體地可以通過鉤子(HOOK)或鉤子函數(shù)來實(shí)現(xiàn)。鉤子是一個(gè)處理消息的程序段,通過系統(tǒng)調(diào)用,把它掛入系統(tǒng)。每當(dāng)特定的消息發(fā)出,在沒有到達(dá)目的窗口前,鉤子就先捕獲該消息,亦即鉤子先得到控制權(quán)。這時(shí)鉤子即可以加工處理(例如改變)該消息,也可以不作處理而繼續(xù)傳遞該消息,還可以強(qiáng)制結(jié)束消息的傳遞。利用上述的鉤子機(jī)制,截獲模塊1310截獲應(yīng)用115向內(nèi)核空間102的內(nèi)核發(fā)出的系統(tǒng)調(diào)用,判斷模塊1320根據(jù)該系統(tǒng)調(diào)用所涉及的文件信息和/或發(fā)起該系統(tǒng)調(diào)用的應(yīng)用的應(yīng)用信息來判斷該系統(tǒng)調(diào)用是否合法。其中,系統(tǒng)調(diào)用所涉及的文件信息包括文件的路徑信息和/或名稱,應(yīng)用信息包括應(yīng)用在操作系統(tǒng)中的唯一標(biāo)識(shí)號(hào)。判斷模塊1320包含配置信息,該配置信息包括一個(gè)或者多個(gè)配置項(xiàng),每個(gè)配置項(xiàng)包括文件的文件信息和應(yīng)用的唯一標(biāo)識(shí)號(hào)。當(dāng)系統(tǒng)調(diào)用所涉及的文件信息和/或發(fā)起該系統(tǒng)調(diào)用的應(yīng)用的應(yīng)用信息存在于所述配置信息的某一配置項(xiàng)中時(shí),則判斷模塊1320判斷該系統(tǒng)調(diào)用合法,如果不存在于所述配置信息的任一配置項(xiàng)中時(shí),則判斷模塊1320判斷該系統(tǒng)調(diào)用非法??蛇x地,判斷模塊1320的配置信息中的配置項(xiàng)還可以包括操作權(quán)限。當(dāng)系統(tǒng)調(diào)用涉及的文件的文件信息以及發(fā)起該系統(tǒng)調(diào)用的應(yīng)用的唯一標(biāo)識(shí)號(hào)存在于所述配置信息的配置項(xiàng)中,但是該系統(tǒng)調(diào)用所需要的文件操作權(quán)限和所述配置項(xiàng)中的操作權(quán)限不匹配時(shí),判斷模塊1320也判斷該系統(tǒng)調(diào)用為非法。只有當(dāng)系統(tǒng)調(diào)用涉及的文件的文件信息以及發(fā)起該系統(tǒng)調(diào)用的應(yīng)用的唯一標(biāo)識(shí)號(hào)存在于所述配置信息的配置項(xiàng)中,且該系統(tǒng)調(diào)用所需要的文件操作權(quán)限和所述配置項(xiàng)中的操作權(quán)限匹配時(shí),判斷模塊1320才判斷該系統(tǒng)調(diào)用為合法。下面以Linux操作系統(tǒng)為例,對(duì)本發(fā)明的采用鉤子機(jī)制的監(jiān)測(cè)單元130進(jìn)行具體描述。在Linux的操作系統(tǒng)中,客戶端程序訪問應(yīng)用程序接口API時(shí)調(diào)用的過程為INT0x80—系統(tǒng)調(diào)用(systemcall)—系統(tǒng)調(diào)用服務(wù)例程一內(nèi)核程序這里的API其實(shí)就是系統(tǒng)提供的庫(kù)函數(shù)。具體地,在Linux操作系統(tǒng)中,操作系統(tǒng)的內(nèi)核被劃分為用戶空間和內(nèi)核空間。用戶空間的應(yīng)用通過系統(tǒng)調(diào)用訪問內(nèi)核空間。在用戶空間中設(shè)置有對(duì)文件或目錄執(zhí)行各種操作的命令,例如,touch,mkdir,rm,unlink,rmdir,mv,vim,vi,gedit,notepad,chmod,chown,cp等等。系統(tǒng)調(diào)用主要通過軟中斷指令I(lǐng)NT0x80來實(shí)現(xiàn)操作系統(tǒng)的一些用戶態(tài)與內(nèi)核態(tài)的切換,這條指令被封裝在庫(kù)函數(shù)中。INT0x80指令的執(zhí)行會(huì)讓操作系統(tǒng)跳轉(zhuǎn)到一個(gè)預(yù)設(shè)的內(nèi)核空間地址,即,使操作系統(tǒng)從用戶態(tài)進(jìn)入內(nèi)核態(tài)。這里的內(nèi)核空間地址指向系統(tǒng)調(diào)用處理程序,即系統(tǒng)調(diào)用函數(shù)。在內(nèi)核空間中,首先系統(tǒng)調(diào)用函數(shù)根據(jù)系統(tǒng)調(diào)用號(hào)找到中斷向量表對(duì)應(yīng)0x80的入口,獲取對(duì)應(yīng)的系統(tǒng)調(diào)用表sys_Call_table的地址,保存寄存器中當(dāng)前CRO中的值,然后清空寄存器CRO中的16bit,記錄原有的正確的系統(tǒng)調(diào)用接口,記為orig_sys_xxx。接下來用事先定義的與原來的系統(tǒng)調(diào)用接口具有相同類型的函數(shù)接口(記為new_sys_xxx)替換原有的入口。監(jiān)測(cè)單元130利用鉤子機(jī)制監(jiān)控的對(duì)象主要包括應(yīng)用想要訪問的文件的路徑和應(yīng)用的PID。這里PID是服務(wù)器中每個(gè)應(yīng)用的唯一標(biāo)識(shí)號(hào)。通過限定應(yīng)用訪問的文件的路徑和應(yīng)用的PID,可以限定僅僅某個(gè)應(yīng)用才可以對(duì)某個(gè)路徑下的文件進(jìn)行修改。當(dāng)監(jiān)測(cè)單元130進(jìn)行監(jiān)測(cè)時(shí),其中的判斷單元1320會(huì)基于從監(jiān)測(cè)客戶端110讀取的路徑白名單(即允許訪問的路徑和/或文件列表)和進(jìn)程白名單(即允許進(jìn)行操作的應(yīng)用PID列表)的配置文件中的信息,在new_sys_xxx中做路徑和PID檢查,如果new_sys_xxx中的進(jìn)程PID不存在進(jìn)程白名單中或文件不存在于路徑白名單的目錄中,則判斷該系統(tǒng)調(diào)用為非法操作,拒絕用戶的這次系統(tǒng)調(diào)用,直接向監(jiān)測(cè)客戶端110返回禁用和/或告警信息;如果neW_SyS_XXX中的進(jìn)程PID存在進(jìn)程白名單序列中或文件存在于路徑白名單的目錄中,則判斷該系統(tǒng)調(diào)用為合法操作,放行用戶此次的系統(tǒng)調(diào)用,直接進(jìn)入orig_syX_XXX,執(zhí)行正常的系統(tǒng)調(diào)用對(duì)應(yīng)的核心操作,然后再恢復(fù)寄存器CRO為之前保存的值。監(jiān)測(cè)單元130所監(jiān)測(cè)的系統(tǒng)調(diào)用可以包括SyS_rmdir(刪除空目錄從一個(gè)目錄中刪除一個(gè)或多個(gè)子目錄項(xiàng),一個(gè)目錄被刪除之前必須是空的)、sys_unlink、sys_open(設(shè)置文件的打開模式)、sys_write、sys_mkdir(創(chuàng)建一個(gè)新目錄的系統(tǒng)調(diào)用)、sys_unlinkat、sys_rename>sys_openat>sys_fchmodat>sys_fchownat、sys_link>sys_symlink>sys_chown、sys_chmod(變更文件或目錄的權(quán)限)。這些系統(tǒng)調(diào)用都涉及到操作系統(tǒng)的一些重要進(jìn)程。因此,當(dāng)用戶空間的應(yīng)用115對(duì)如上任何一文件進(jìn)行系統(tǒng)調(diào)用時(shí),監(jiān)測(cè)單元130都要進(jìn)行攔截,檢測(cè)該系統(tǒng)調(diào)用是否合法,以防黑客等惡意篡改上述系統(tǒng)調(diào)用所涉及的內(nèi)核中的程序,破壞操作系統(tǒng)。可選地,監(jiān)測(cè)單元130還包括通信模塊1350,該通信模塊1350與用戶空間101中的監(jiān)測(cè)客戶端Iio進(jìn)行通信,監(jiān)測(cè)單元130經(jīng)通信模塊1350讀取監(jiān)測(cè)客戶端110中的配置文件并將其傳送給判斷模塊1320,以及經(jīng)通信模塊1350將告警模塊1330生成的告警信息傳送至監(jiān)測(cè)客戶端110。例如,通信模塊1350可以利用netlink來實(shí)現(xiàn)監(jiān)測(cè)客戶端110與內(nèi)核空間102之間的交互。當(dāng)監(jiān)測(cè)單元130加載成功、且監(jiān)測(cè)客戶端110啟動(dòng)時(shí),監(jiān)測(cè)單元130與監(jiān)測(cè)客戶端110之間會(huì)建立netlink通信連接,該通信連接承載的通信內(nèi)容包括監(jiān)測(cè)單元130在初始加載和收到來自監(jiān)測(cè)客戶端110的讀取其中的更新配置文件的指令時(shí),會(huì)從監(jiān)測(cè)客戶端110讀取包含進(jìn)程白名單配置文件和路徑白名單配置文件的配置文件,這里的進(jìn)程白名單配置文件包含合法的進(jìn)程(即應(yīng)用)列表,例如可以是應(yīng)用的PID列表,這些應(yīng)用會(huì)通過監(jiān)測(cè)單元的監(jiān)測(cè),而不被當(dāng)成垃圾被拒收;路徑白名單配置文件包含合法的路徑和/或文件列表,這些路徑也會(huì)通過監(jiān)測(cè)單元的監(jiān)測(cè),而不會(huì)被當(dāng)成垃圾被拒絕訪問,這樣可以大大提高安全性和快捷性。另外,該通信模塊1350與用戶空間101中的監(jiān)測(cè)客戶端110之間的通信連接承載的通信內(nèi)容還可以包括告警單元1330發(fā)出的告警信息也通過netlink發(fā)送給監(jiān)測(cè)客戶端110。還有,通過該通信連接,監(jiān)測(cè)客戶端110對(duì)監(jiān)測(cè)單元130可以做定時(shí)心跳檢測(cè),以檢測(cè)監(jiān)測(cè)單元130是否處于正常工作狀態(tài)。另外,本發(fā)明還提供一種防止文件被篡改的系統(tǒng)100,如圖I所示,該系統(tǒng)100安置在計(jì)算設(shè)備中,所述計(jì)算設(shè)備例如可以為計(jì)算機(jī)等。計(jì)算設(shè)備具有操作系統(tǒng),該操作系統(tǒng)包括提供核心操作的內(nèi)核空間101和提供各種應(yīng)用的用戶空間102,核心操作在內(nèi)核空間的內(nèi)核中執(zhí)行。本發(fā)明的防止文件被篡改的系統(tǒng)100包括如上所述的位于內(nèi)核空間102中的監(jiān)測(cè)單元130、位于用戶空間101中的監(jiān)測(cè)客戶端110和各種應(yīng)用115、以及位于用戶空間101和內(nèi)核空間102之間的系統(tǒng)調(diào)用接口120。用戶空間101中的各種應(yīng)用115分別通過系統(tǒng)調(diào)用接口120與監(jiān)測(cè)單元130連接,內(nèi)核空間102中的監(jiān)測(cè)單元130和用戶空間101中的監(jiān)測(cè)客戶端110二者之間進(jìn)行通信,例如通過netlink通信方式來實(shí)現(xiàn)二者的通信連接。下面通過圖2來舉例說明用戶空間的應(yīng)用115和監(jiān)測(cè)客戶端110、內(nèi)核空間102的監(jiān)測(cè)單元130以及內(nèi)核170之間的交互關(guān)系及各部件所執(zhí)行的功能。如圖2所示,在監(jiān)測(cè)客戶端110存儲(chǔ)有包含進(jìn)程白名單與路徑白名單的配置文件,該配置文件會(huì)進(jìn)行更新。進(jìn)程白名單包含有關(guān)允許進(jìn)行操作的應(yīng)用的應(yīng)用列表。路徑白名單包含允許訪問的路徑和/或文件列表。在Cl,監(jiān)測(cè)單元130成功加載在內(nèi)核空間,在這種情形下,監(jiān)測(cè)客戶端110執(zhí)行Al的功能,即,監(jiān)測(cè)客戶端110啟動(dòng),并向監(jiān)測(cè)單元130發(fā)送建立TCP連接的握手消息,請(qǐng)求與監(jiān)測(cè)單元130建立netlink連接。監(jiān)測(cè)單元130接收到監(jiān)測(cè)客戶端110發(fā)送的建立netlink連接的請(qǐng)求后,在C2,向監(jiān)測(cè)客戶端110發(fā)送建立netlink連接的反饋信息,由此,在A2,二者之間完成netlink通信連接。在監(jiān)測(cè)客戶端110和監(jiān)測(cè)單元130建立起netlink通信連接后,在A3,當(dāng)監(jiān)測(cè)客戶端110中的配置文件更新時(shí),監(jiān)測(cè)客戶端110會(huì)通過該netlink通信連接向監(jiān)測(cè)單元130發(fā)布重新讀取配置文件的指令。相應(yīng)地,在C3,當(dāng)監(jiān)測(cè)單元130收到監(jiān)測(cè)客戶端110發(fā)送的重新讀取配置文件的指令時(shí),會(huì)通過該netlink通信連接從監(jiān)測(cè)客戶端110讀取更新的配置文件。另外,圖2中還示出了當(dāng)用戶空間的應(yīng)用115向內(nèi)核空間發(fā)起系統(tǒng)調(diào)用的請(qǐng)求(如BI所示)時(shí),監(jiān)測(cè)單元130執(zhí)行C4、C5、C6的功能,即在C4,攔截該系統(tǒng)調(diào)用,檢測(cè)判斷其是否合法,具體判斷方式參照前面關(guān)于判斷模塊1320的有關(guān)描述。在C6,當(dāng)監(jiān)測(cè)單元130判斷該系統(tǒng)調(diào)用非法時(shí),會(huì)通過該netlink通信連接向監(jiān)測(cè)客戶端110發(fā)送告警信息。而監(jiān)測(cè)客戶端110相應(yīng)地執(zhí)行A4的功能,將告警信息做分類收集,保存在數(shù)據(jù)庫(kù)中以例如在監(jiān)測(cè)客戶端110網(wǎng)頁上顯示。另一方面,在C5,當(dāng)監(jiān)測(cè)單元130判斷該系統(tǒng)調(diào)用合法時(shí),則放行該系統(tǒng)調(diào)用,從而內(nèi)核170執(zhí)行Dl的功能,即執(zhí)行與該系統(tǒng)調(diào)用對(duì)應(yīng)的核心操作。另外,圖2中還示了監(jiān)測(cè)客戶端110每隔一定時(shí)間向監(jiān)測(cè)單元130發(fā)送心跳檢測(cè)包(如A5所示),通過該netlink通信連接去連接監(jiān)測(cè)單元130,而監(jiān)測(cè)單元130則會(huì)向監(jiān)測(cè)客戶端110發(fā)送相應(yīng)的反饋信息(如C7所示),以證明自己的存在。由此可以監(jiān)測(cè)單元130是否存在,是否處于正常工作狀態(tài),以便在監(jiān)測(cè)單元130出現(xiàn)異常、或被黑客等卸載或破壞的情況下,監(jiān)測(cè)客戶端110側(cè)能及時(shí)獲知情況??蛇x地,本發(fā)明的上述防止文件被篡改的系統(tǒng)100還可以包括虛擬(dummy)模塊150,該虛擬模塊150設(shè)置于內(nèi)核空間102中,與監(jiān)測(cè)單元130連接,適于使監(jiān)測(cè)單元130隱藏而在他人查詢當(dāng)前的操作系統(tǒng)時(shí)無法看到操作系統(tǒng)中加載了監(jiān)測(cè)單元130,從而可以防止黑客在查詢到當(dāng)前的操作系統(tǒng)中加載了監(jiān)測(cè)單元130后而將其卸載掉,因此能夠進(jìn)一步提高當(dāng)前操作系統(tǒng)的安全性。例如,在類似于Iinux之類的操作系統(tǒng)中,可以通過Ismod等相似的命令,查詢當(dāng)前操作系統(tǒng)中所加載的模塊。根據(jù)Iinux系統(tǒng)的原理,可以發(fā)現(xiàn)加載于內(nèi)核空間102中的模塊總是在一個(gè)單向鏈表的表頭加入,這容易被黑客等查到新加載于內(nèi)核空間102中的任何模塊。為了防止黑客看到內(nèi)核空間102中加載的監(jiān)測(cè)單元130,在內(nèi)核空間102中加載了監(jiān)測(cè)單元130之后,在內(nèi)核空間102中再加載一虛擬模塊150,該虛擬模塊150的作用是在單向鏈表中隱去它的下一指針欲指向的監(jiān)測(cè)單元130。具體地,如圖3所示,其示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的監(jiān)測(cè)單元的加載過程的示意圖。在本發(fā)明中,模塊的加載可以通過一個(gè)單向鏈表來反映,在單向鏈表中,每個(gè)模塊通過指針而指向下一個(gè)模塊。圖3中第一行的單向鏈表示出了tl時(shí)刻當(dāng)前系統(tǒng)實(shí)時(shí)加載的模塊為模塊A、模塊B、以及在加載模塊B之前加載的其它模塊。第二行的單向鏈表示出了在隨后的t2時(shí)刻當(dāng)前系統(tǒng)實(shí)時(shí)加載了新的模塊一監(jiān)測(cè)單元130。第三行的單向鏈表示出了在隨后的t3時(shí)刻當(dāng)前系統(tǒng)實(shí)時(shí)加載了新的模塊一虛擬模塊150。第四行的單向鏈表示出了第三行的單向鏈表中虛擬模塊150的指針?biāo)赶虻南乱荒K為模塊A而不是指向緊鄰其的監(jiān)測(cè)單元130,通過這樣的方式,可以使得黑客等利用Ismod指令查詢內(nèi)核時(shí)無法看到當(dāng)前系統(tǒng)所加載的監(jiān)測(cè)單元130,從而使監(jiān)測(cè)單元130不會(huì)被輕易卸載。下面再通過圖4所示的一個(gè)例子進(jìn)一步說明本發(fā)明。如圖4所示,對(duì)于一個(gè)安全的內(nèi)容管理服務(wù)器CMS400,內(nèi)容發(fā)布源端410發(fā)布的內(nèi)容是通過間接的方式(例如通過轉(zhuǎn)發(fā)服務(wù)器420)同步到服務(wù)器430,服務(wù)器430例如可以為網(wǎng)絡(luò)服務(wù)器Webserver或者文件傳輸服務(wù)器ftp-server。圖4中示出了兩種情形,一種情形是,在服務(wù)器430上的應(yīng)用A為專門接收轉(zhuǎn)發(fā)服務(wù)器420轉(zhuǎn)發(fā)的內(nèi)容發(fā)布源端410的同步內(nèi)容的應(yīng)用,應(yīng)用A(標(biāo)識(shí)號(hào),例如進(jìn)程號(hào)為PID-A)通過系統(tǒng)調(diào)用向操作系統(tǒng)的內(nèi)核空間的內(nèi)核發(fā)出請(qǐng)求,想要將從內(nèi)容發(fā)布源端410收到的信息寫入到目錄DIR-A中,這時(shí),位于內(nèi)核空間中的監(jiān)測(cè)單元130截取該請(qǐng)求,且根據(jù)從監(jiān)測(cè)客戶端讀取的進(jìn)程白名單配置文件,當(dāng)其檢測(cè)到進(jìn)程白名單的配置文件中包含“允許PID-A寫入目錄DIR-A”這一進(jìn)程時(shí),確定該應(yīng)用A的進(jìn)程請(qǐng)求是合法的,則內(nèi)核空間中的監(jiān)測(cè)單元130對(duì)前述的PID-A寫入目錄DIR-A這一進(jìn)程的寫操作放行,在內(nèi)核中執(zhí)行將收到的信息寫入到目錄DIR-A中的寫操作。而當(dāng)應(yīng)用A的客戶端程序PID-A要求對(duì)目錄DIR-A進(jìn)行讀操作時(shí),內(nèi)核空間的監(jiān)測(cè)單元130截取該請(qǐng)求,且根據(jù)從監(jiān)測(cè)客戶端讀取的進(jìn)程白名單配置文件確定該請(qǐng)求是非法的,則拒絕客戶端程序PID-A對(duì)目錄DIR-A進(jìn)行讀操作的請(qǐng)求,在內(nèi)核中不執(zhí)行該讀操作。圖4中還示出了另一種情形。當(dāng)另一個(gè)應(yīng)用B試圖讀取目錄DIR-A中的內(nèi)容時(shí),應(yīng)用B(標(biāo)識(shí)號(hào),例如進(jìn)程號(hào)為PID-B)通過系統(tǒng)調(diào)用向操作系統(tǒng)的內(nèi)核空間的內(nèi)核發(fā)出請(qǐng)求,想要從目錄DIR-A中讀取信息,這時(shí),位于內(nèi)核空間中的監(jiān)測(cè)單元130截取該請(qǐng)求,且根據(jù)從監(jiān)測(cè)客戶端讀取的進(jìn)程白名單配置文件,當(dāng)其檢測(cè)到進(jìn)程白名單配置文件中包含“允許PID-B對(duì)目錄DIR-A做讀操作”時(shí),確定該應(yīng)用B的進(jìn)程請(qǐng)求合法,則對(duì)該讀操作的進(jìn)程放行,內(nèi)核170執(zhí)行該讀操作;而當(dāng)應(yīng)用B對(duì)目錄DIR-A執(zhí)行寫操作時(shí),監(jiān)測(cè)單元130根據(jù)從監(jiān)測(cè)客戶端讀取的進(jìn)程白名單配置文件確定該進(jìn)程非法,則拒絕該進(jìn)程,即內(nèi)核不執(zhí)行對(duì)DIR-A的寫操作。由上述例子可以看到,即使黑客在提供文件服務(wù)的機(jī)器上做篡改文件、刪除文件的操作,由于內(nèi)核空間中的監(jiān)測(cè)單元130會(huì)檢測(cè)出黑客對(duì)該提供文件服務(wù)的機(jī)器的操作為非法操作,因此會(huì)拒絕該進(jìn)程,從而可以防御黑客的行為,使其操作無法成功。而正常的文件發(fā)布是通過內(nèi)容發(fā)布源端并利用專門的應(yīng)用A來間接完成。下面結(jié)合圖5詳細(xì)說明根據(jù)本發(fā)明的一個(gè)實(shí)施例的監(jiān)測(cè)操作系統(tǒng)的方法。圖5示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的監(jiān)測(cè)操作系統(tǒng)的監(jiān)測(cè)方法的流程圖。其中操作系統(tǒng)包括提供核心操作的內(nèi)核空間和提供各種應(yīng)用的用戶空間。用戶空間中的應(yīng)用通過發(fā)起系統(tǒng)調(diào)用來調(diào)用內(nèi)核空間中提供的相應(yīng)核心操作。這里的核心操作為各種與文件相關(guān)的操作,以及系統(tǒng)調(diào)用為各種與文件操作相關(guān)的系統(tǒng)調(diào)用。如圖5所示,本發(fā)明的監(jiān)測(cè)方法始于步驟S505,在步驟S510,在用戶空間的應(yīng)用向內(nèi)核空間中提供的相應(yīng)的核心操作發(fā)起系統(tǒng)調(diào)用之后、但在該對(duì)應(yīng)的核心操作被執(zhí)行之前,截獲該系統(tǒng)調(diào)用。然后在步驟S520中,判斷該系統(tǒng)調(diào)用是否合法,當(dāng)判斷其合法時(shí)允許該系統(tǒng)調(diào)用,否則拒絕該系統(tǒng)調(diào)用。這樣,在該系統(tǒng)調(diào)用對(duì)應(yīng)的核心操作被執(zhí)行之前,對(duì)其進(jìn)行檢測(cè),可以防止黑客等利用該系統(tǒng)調(diào)用而侵入內(nèi)核空間,修改或刪除內(nèi)核空間中的文件或者在其中植入木馬等。在步驟S520中,具體地,根據(jù)系統(tǒng)調(diào)用涉及的文件信息和/或發(fā)起該系統(tǒng)調(diào)用的應(yīng)用的應(yīng)用信息來判斷該系統(tǒng)調(diào)用是否合法。其中,系統(tǒng)調(diào)用涉及的文件信息包括文件的路徑信息和/或名稱,發(fā)起該系統(tǒng)調(diào)用的應(yīng)用的應(yīng)用信息包括該應(yīng)用在操作系統(tǒng)中的唯一標(biāo)識(shí)號(hào)。例如,當(dāng)客戶端的用戶A想要讀取目錄DIR-A下的文件abcl23,這時(shí)根據(jù)文件abcl23能否被讀取來判斷用戶A的讀操作是否合法,如果文件abcl23不能被讀取,那么判斷用戶A的讀操作為非法,拒絕其系統(tǒng)調(diào)用;如果文件abcl23能被讀取,那么判斷用戶的讀操作為合法,則放行用戶A對(duì)文件abcl23的讀取行為,內(nèi)核空間執(zhí)行該讀操作。進(jìn)一步地,在內(nèi)核空間中存儲(chǔ)有配置信息,配置信息包括一個(gè)或多個(gè)配置項(xiàng),每個(gè)配置項(xiàng)包括文件的文件信息和應(yīng)用的唯一標(biāo)識(shí)號(hào)。該配置信息是內(nèi)核空間根據(jù)從監(jiān)測(cè)客戶端接收到的配置文件更新指令而從監(jiān)測(cè)客戶端讀取并存儲(chǔ)的。在這種情形下,當(dāng)系統(tǒng)調(diào)用涉及的文件的文件信息以及發(fā)起該系統(tǒng)調(diào)用的應(yīng)用的唯一標(biāo)識(shí)號(hào)不存在于配置信息的任一個(gè)配置項(xiàng)中時(shí),判斷該系統(tǒng)調(diào)用為非法,否則判斷該系統(tǒng)調(diào)用為合法。另外,上述內(nèi)核空間中存儲(chǔ)的配置信息所包含的配置項(xiàng)還可以包括操作權(quán)限。在這種情形下,當(dāng)系統(tǒng)調(diào)用涉及的文件的文件信息以及發(fā)起該系統(tǒng)調(diào)用的應(yīng)用的唯一標(biāo)識(shí)號(hào)存在于配置信息的配置項(xiàng)中,但是該系統(tǒng)調(diào)用所需要的文件操作權(quán)限和所述配置項(xiàng)中的操作權(quán)限不匹配時(shí),判斷該系統(tǒng)調(diào)用為非法。只有當(dāng)系統(tǒng)調(diào)用涉及的文件的文件信息以及發(fā)起該系統(tǒng)調(diào)用的應(yīng)用的唯一標(biāo)識(shí)號(hào)存在于配置文件的配置項(xiàng)中,而且該系統(tǒng)調(diào)用所需要的文件操作權(quán)限和所述配置項(xiàng)中的操作權(quán)限匹配時(shí),判斷該系統(tǒng)調(diào)用為合法。當(dāng)在步驟S520中判斷系統(tǒng)調(diào)用合法時(shí),則放行該系統(tǒng)調(diào)用,進(jìn)入步驟S540,在內(nèi)核空間執(zhí)行該系統(tǒng)調(diào)用對(duì)應(yīng)的核心操作。而當(dāng)在步驟S520中判斷系統(tǒng)調(diào)用非法時(shí),則進(jìn)入步驟S530,拒絕該系統(tǒng)調(diào)用,生成告警信息并反饋給監(jiān)測(cè)客戶端,這樣可以避免黑客等利用系統(tǒng)調(diào)用而破壞操作系統(tǒng)的內(nèi)核空間中的內(nèi)容。在執(zhí)行完步驟S530或S540之后,可以直接進(jìn)入結(jié)束步驟S555,可選地,在執(zhí)行完步驟S530或S540之后,也可以執(zhí)行步驟S550,接收監(jiān)測(cè)客戶端每隔一段時(shí)間發(fā)送的心跳檢測(cè),并向監(jiān)測(cè)客戶端發(fā)送相應(yīng)的反饋信息,以告知客戶端該內(nèi)核空間的監(jiān)測(cè)處于正常的工作狀態(tài),然后進(jìn)入結(jié)束步驟S555。另外,想要說明的是,步驟S550不一定位于步驟S530或S540之后,其可以根據(jù)需要在任何時(shí)候被執(zhí)行。在本發(fā)明提供的監(jiān)測(cè)操作系統(tǒng)的監(jiān)測(cè)方法中,內(nèi)核空間從監(jiān)測(cè)客戶端讀取文件、以及向監(jiān)測(cè)客戶端發(fā)送告警信息、心跳檢測(cè)、監(jiān)測(cè)客戶端向內(nèi)核空間發(fā)送讀取配置文件的指令等都需要用戶空間與內(nèi)核空間之間建立通信連接,這可以通過例如netlink等方式來實(shí)現(xiàn)。另外,本發(fā)明還提供一種防文件被篡改的方法,如圖6所示,其包括圖5所示的監(jiān)測(cè)方法的步驟,具體地,本發(fā)明的防文件被篡改的方法如于步驟S605,隨后,在步驟S610中,接收用戶空間中的應(yīng)用通過系統(tǒng)調(diào)用而對(duì)內(nèi)核空間中提供的相應(yīng)核心操作的調(diào)用。之后,執(zhí)行圖5所示的監(jiān)測(cè)方法的步驟即執(zhí)行步驟S510,在與系統(tǒng)調(diào)用相對(duì)應(yīng)的核心操作被執(zhí)行之前截獲所述系統(tǒng)調(diào)用;隨后,執(zhí)行步驟S520,判斷所述系統(tǒng)調(diào)用是否合法,當(dāng)判斷該系統(tǒng)調(diào)用合法時(shí),允許該系統(tǒng)調(diào)用,則執(zhí)行步驟S540,在內(nèi)核空間執(zhí)行該系統(tǒng)調(diào)用對(duì)應(yīng)的核心操作;當(dāng)判斷該系統(tǒng)調(diào)用非法時(shí),則執(zhí)行步驟S530,拒絕該系統(tǒng)調(diào)用,生成告警信息。在執(zhí)行完步驟S530或S540之后,可以直接進(jìn)入結(jié)束步驟S655??蛇x地,在執(zhí)行完步驟S530或S540之后,也可以執(zhí)行步驟S550,接收監(jiān)測(cè)客戶端每隔一段時(shí)間發(fā)送的心跳檢測(cè),并向監(jiān)測(cè)客戶端發(fā)送相應(yīng)的反饋信息,以告知客戶端該內(nèi)核空間的監(jiān)測(cè)處于正常的工作狀態(tài),然后進(jìn)入結(jié)束步驟S655。另外,想要說明的是,步驟S550不一定位于步驟S530或S540之后,其可以根據(jù)需要在任何時(shí)候被執(zhí)行??蛇x地,本發(fā)明的防文件被篡改的方法在步驟S530或S540之后還可以包括步驟S620,在該步驟S620中,執(zhí)行一虛擬操作,其使得在表示各操作加載的單向鏈表中、該虛擬操作的指針指向前述監(jiān)測(cè)操作(從步驟S510至S530或步驟S540,當(dāng)存在步驟S550時(shí),則也包括步驟S550)的下一個(gè)操作,而不指向所述監(jiān)測(cè)操作,從而使所述監(jiān)測(cè)操作在單向鏈表中不可見。關(guān)于單向鏈表的結(jié)構(gòu)參見前面圖3所示,其中的模塊對(duì)應(yīng)這里所述的操作。在步驟S620之后進(jìn)入結(jié)束步驟S655。本發(fā)明通過鉤子(HOOK)機(jī)制與文件和目錄相關(guān)的系統(tǒng)調(diào)用來完成一些檢查或者防護(hù)機(jī)制,防止用戶的目錄或者文件不被篡改。通過在鉤子(HOOK)函數(shù)中讀取用戶空間的相應(yīng)配置文件,檢查應(yīng)用標(biāo)識(shí)號(hào)PID和操作路徑信息,可以組合成多種不同的策略,使得僅僅來自特定應(yīng)用標(biāo)識(shí)號(hào)PID的應(yīng)用才可以對(duì)特定目錄下的文件和目錄進(jìn)行修改。這樣,對(duì)于非正常的并且命中禁止規(guī)則的行為,直接可以在鉤子函數(shù)中,通過不同的錯(cuò)誤整數(shù)值返回給用戶,在這種情況下,即使用戶擁有最高(root)權(quán)限,在做相應(yīng)操作的時(shí)候也會(huì)受限。而對(duì)于正常的系統(tǒng)調(diào)用,又可以通過正常的入口,做正常的放行。因此,利用本發(fā)明不會(huì)影響正常的用戶操作,但絕對(duì)禁止非法的用戶操作。另外,本發(fā)明還可以引入虛擬模塊,以便隱去掛載于模塊單向鏈表上的監(jiān)測(cè)單元,防止監(jiān)測(cè)單元被黑客等非法卸載。在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對(duì)任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說明書的理解。類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中。可以把實(shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。權(quán)利要求1.一種防止文件被篡改的系統(tǒng),其安置在計(jì)算設(shè)備中,該計(jì)算設(shè)備具有操作系統(tǒng),該操作系統(tǒng)包括提供核心操作的內(nèi)核空間和提供各種應(yīng)用的用戶空間,該防止文件被篡改的系統(tǒng)包括位于內(nèi)核空間中的監(jiān)測(cè)單元;位于用戶空間中的監(jiān)測(cè)客戶端和多個(gè)應(yīng)用,其中所述監(jiān)測(cè)客戶端適于與所述監(jiān)測(cè)單元進(jìn)行通信;以及位于用戶空間和內(nèi)核空間之間的系統(tǒng)調(diào)用接口,位于用戶空間中的所述多個(gè)應(yīng)用分別通過該系統(tǒng)調(diào)用接口與所述監(jiān)測(cè)單元連接;其中,位于用戶空間中的多個(gè)應(yīng)用分別通過系統(tǒng)調(diào)用接口向內(nèi)核空間的核操作發(fā)起系統(tǒng)調(diào)用請(qǐng)求,所述監(jiān)測(cè)單元監(jiān)測(cè)所述系統(tǒng)調(diào)用請(qǐng)求,以及該監(jiān)測(cè)單元包括截獲模塊,適于在與系統(tǒng)調(diào)用相對(duì)應(yīng)的核心操作被執(zhí)行之前截獲所述系統(tǒng)調(diào)用;判斷模塊,適于判斷所述系統(tǒng)調(diào)用是否合法;告警模塊,在所述判斷模塊判斷該系統(tǒng)調(diào)用非法時(shí),拒絕該系統(tǒng)調(diào)用并生成告警信息;以及恢復(fù)模塊,在所述判斷模塊判斷該系統(tǒng)調(diào)用合法時(shí),允許該系統(tǒng)調(diào)用,恢復(fù)該系統(tǒng)調(diào)用的執(zhí)行,其中,所述核心操作為各種與文件相關(guān)的操作,以及所述系統(tǒng)調(diào)用為各種與文件操作相關(guān)的系統(tǒng)調(diào)用。2.根據(jù)權(quán)利要求I所述的系統(tǒng),其中,所述判斷模塊包括配置信息,所述配置信息包括一個(gè)或者多個(gè)配置項(xiàng),每個(gè)配置項(xiàng)包括所述系統(tǒng)調(diào)用涉及的文件的文件信息和/或發(fā)起該系統(tǒng)調(diào)用的應(yīng)用的應(yīng)用信息,其中所述判斷模塊根據(jù)所述配置信息來判斷該系統(tǒng)調(diào)用是否合法。3.根據(jù)權(quán)利要求2所述的系統(tǒng),其中所述文件信息包括文件的路徑信息和/或名稱,所述應(yīng)用信息包括所述應(yīng)用在操作系統(tǒng)中的唯一標(biāo)識(shí)號(hào)。4.根據(jù)權(quán)利要求2或3所述的系統(tǒng),其中在所述配置信息中的每個(gè)配置項(xiàng)包括文件的文件信息和應(yīng)用的唯一標(biāo)識(shí)號(hào)的情形下,當(dāng)所述系統(tǒng)調(diào)用涉及的文件的文件信息以及發(fā)起該系統(tǒng)調(diào)用的應(yīng)用的唯一標(biāo)識(shí)號(hào)不存在于所述配置信息的任一個(gè)配置項(xiàng)中時(shí),所述判斷模塊判斷該系統(tǒng)調(diào)用為非法。5.根據(jù)權(quán)利要求4所述的系統(tǒng),其中每個(gè)配置項(xiàng)還包括操作權(quán)限;當(dāng)所述系統(tǒng)調(diào)用涉及的文件的文件信息以及發(fā)起該系統(tǒng)調(diào)用的應(yīng)用的唯一標(biāo)識(shí)號(hào)存在于所述配置信息的配置項(xiàng)中,但是該系統(tǒng)調(diào)用所需要的文件操作權(quán)限和所述配置項(xiàng)中的操作權(quán)限不匹配時(shí),所述判斷模塊判斷該系統(tǒng)調(diào)用為非法。6.根據(jù)權(quán)利要求4或5所述的系統(tǒng),其中監(jiān)測(cè)單元還包括通信模塊,其與所述用戶空間的監(jiān)測(cè)客戶端進(jìn)行通信,讀取所述監(jiān)測(cè)客戶端中的配置信息并將其傳送給判斷模塊,以及將告警模塊生成的告警信息傳送至所述監(jiān)測(cè)客戶端。7.根據(jù)權(quán)利要求1-6中任一個(gè)所述的系統(tǒng),其中,所述監(jiān)測(cè)客戶端通過對(duì)所述監(jiān)測(cè)單元做定時(shí)心跳檢測(cè)而檢測(cè)所述監(jiān)測(cè)單元是否正常工作。8.根據(jù)權(quán)利要求1-7中任一個(gè)所述的系統(tǒng),其中,所述監(jiān)測(cè)客戶端處的配置信息存儲(chǔ)在配置文件中;所述配置文件包括有關(guān)允許進(jìn)行操作的進(jìn)程列表的配置文件和有關(guān)允許訪問的路徑和/或文件列表的配置文件。9.根據(jù)權(quán)利要求1-8中任一項(xiàng)所述的系統(tǒng),還包括虛擬模塊,其設(shè)置于內(nèi)核空間中,加載于監(jiān)測(cè)單元之后,在表示模塊加載的單向鏈表中其指針指向監(jiān)測(cè)單元的下一個(gè)模塊,而不指向所述監(jiān)測(cè)單元,從而使監(jiān)測(cè)單元在單向鏈表中不可見。10.一種防止文件被篡改的方法,其在計(jì)算設(shè)備中執(zhí)行,該計(jì)算設(shè)備具有操作系統(tǒng),該操作系統(tǒng)包括提供核心操作的內(nèi)核空間和提供各種應(yīng)用的用戶空間,該方法包括接收用戶空間中的應(yīng)用通過系統(tǒng)調(diào)用而對(duì)內(nèi)核空間中提供的相應(yīng)核心操作的調(diào)用在與系統(tǒng)調(diào)用相對(duì)應(yīng)的核心操作被執(zhí)行之前截獲所述系統(tǒng)調(diào)用;以及判斷所述系統(tǒng)調(diào)用是否合法,當(dāng)其合法時(shí)允許該系統(tǒng)調(diào)用,否則拒絕該系統(tǒng)調(diào)用。11.根據(jù)權(quán)利要求10所述的方法,其中,所述判斷所述系統(tǒng)調(diào)用是否合法的步驟包括根據(jù)所述系統(tǒng)調(diào)用涉及的文件信息和/或發(fā)起該系統(tǒng)調(diào)用的應(yīng)用的應(yīng)用信息來判斷該系統(tǒng)調(diào)用是否合法。12.根據(jù)權(quán)利要求11所述的方法,其中,所述文件信息包括文件的路徑信息和/或名稱,所述應(yīng)用信息包括所述應(yīng)用在操作系統(tǒng)中的唯一標(biāo)識(shí)號(hào),所述方法還包括在所述內(nèi)核空間存儲(chǔ)配置信息,所述配置信息包括一個(gè)或者多個(gè)配置項(xiàng),每個(gè)配置項(xiàng)包括文件的文件信息和應(yīng)用的唯一標(biāo)識(shí)號(hào);其中,所述判斷所述系統(tǒng)調(diào)用是否合法的步驟為當(dāng)系統(tǒng)調(diào)用涉及的文件的文件信息以及發(fā)起該系統(tǒng)調(diào)用的應(yīng)用的唯一標(biāo)識(shí)號(hào)不存在于所述配置信息的任一個(gè)配置項(xiàng)中時(shí),判斷該系統(tǒng)調(diào)用為非法,否則判斷該系統(tǒng)調(diào)用為合法。13.根據(jù)權(quán)利要求12所述的方法,其中,每個(gè)配置項(xiàng)還包括操作權(quán)限;所述判斷所述系統(tǒng)調(diào)用非法的步驟為當(dāng)系統(tǒng)調(diào)用涉及的文件的文件信息以及發(fā)起該系統(tǒng)調(diào)用的應(yīng)用的唯一標(biāo)識(shí)號(hào)存在于所述配置信息的配置項(xiàng)中,但是該系統(tǒng)調(diào)用所需要的文件操作權(quán)限和所述配置項(xiàng)中的操作權(quán)限不匹配時(shí),判斷該系統(tǒng)調(diào)用為非法。14.根據(jù)權(quán)利要求10-13中任一個(gè)所述的方法,其中,在判斷該系統(tǒng)調(diào)用非法時(shí)拒絕該系統(tǒng)調(diào)用的步驟之后還包括生成告警信息。15.根據(jù)權(quán)利要求10-14中任一個(gè)所述的方法,還包括接收監(jiān)測(cè)客戶端每隔一段時(shí)間發(fā)送的心跳檢測(cè),并向監(jiān)測(cè)客戶端發(fā)送相應(yīng)的反饋信肩、O16.根據(jù)權(quán)利要求10-15中任一個(gè)所述的方法,還包括步驟執(zhí)行一虛擬操作,以使得在表示各操作加載的單向鏈表中該虛擬操作的指針指向前面所述監(jiān)測(cè)方法執(zhí)行的監(jiān)測(cè)操作的下一個(gè)操作,而不指向所述監(jiān)測(cè)操作,從而使所述監(jiān)測(cè)操作在單向鏈表中不可見。全文摘要本發(fā)明公開了一種防止文件被篡改的系統(tǒng),其安置在計(jì)算設(shè)備中,該計(jì)算設(shè)備具有操作系統(tǒng),該操作系統(tǒng)包括提供核心操作的內(nèi)核空間和提供各種應(yīng)用的用戶空間,該防止文件被篡改的系統(tǒng)包括:位于內(nèi)核空間中的監(jiān)測(cè)單元;位于用戶空間中的監(jiān)測(cè)客戶端和多個(gè)應(yīng)用,其中所述監(jiān)測(cè)客戶端適于與所述監(jiān)測(cè)單元進(jìn)行通信;以及位于用戶空間和內(nèi)核空間之間的系統(tǒng)調(diào)用接口,位于用戶空間中的所述多個(gè)應(yīng)用分別通過該系統(tǒng)調(diào)用接口與所述監(jiān)測(cè)單元連接;其中,位于用戶空間中的多個(gè)應(yīng)用分別通過系統(tǒng)調(diào)用接口向內(nèi)核空間的核操作發(fā)起系統(tǒng)調(diào)用請(qǐng)求,所述監(jiān)測(cè)單元監(jiān)測(cè)所述系統(tǒng)調(diào)用請(qǐng)求。另外,本發(fā)明還公開一種防止文件被篡改的方法。利用本發(fā)明,即使在黑客獲取了最高權(quán)限的情況下,也能防止其對(duì)文件和目錄進(jìn)行篡改。文檔編號(hào)G06F21/50GK102902909SQ20121038236公開日2013年1月30日申請(qǐng)日期2012年10月10日優(yōu)先權(quán)日2012年10月10日發(fā)明者馮顧,李涵,劉浩申請(qǐng)人:北京奇虎科技有限公司,奇智軟件(北京)有限公司