軟體文件被修改時(shí)的來(lái)源追溯方法、監(jiān)測(cè)方法、還原方法及系統(tǒng)的制作方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種軟體文件被修改時(shí)的來(lái)源追溯方法、監(jiān)測(cè)方法、還原方法及系統(tǒng),來(lái)源追溯方法包括S101、在操作系統(tǒng)內(nèi)核即將對(duì)硬盤(pán)寫(xiě)入時(shí),攔截操作系統(tǒng)內(nèi)核對(duì)硬盤(pán)的寫(xiě)入函數(shù);S102、根據(jù)操作系統(tǒng)調(diào)用寫(xiě)入函數(shù)時(shí)傳遞的參數(shù)來(lái)獲取進(jìn)程的進(jìn)程ID號(hào);S103、通過(guò)進(jìn)程ID獲取到對(duì)應(yīng)的進(jìn)程對(duì)象;S104、通過(guò)進(jìn)程堆棧讀取寫(xiě)入函數(shù)的返回地址進(jìn)行遞歸分析所述進(jìn)程對(duì)象的原始請(qǐng)求函數(shù)調(diào)用;S105、通過(guò)原始調(diào)用函數(shù)得到操作者IP、操作者提交的報(bào)文數(shù)據(jù),從而得到修改的軟體文件的修改來(lái)源;S106、客戶端計(jì)算機(jī)將操作者IP、操作者提交的報(bào)文數(shù)據(jù)打包形成數(shù)據(jù)包,并將數(shù)據(jù)包上傳至服務(wù)器端;S107、服務(wù)器端接收到數(shù)據(jù)包之后發(fā)出警示信息至客戶端計(jì)算機(jī)側(cè)的對(duì)應(yīng)管理人員。
【專(zhuān)利說(shuō)明】
軟體文件被修改時(shí)的來(lái)源追溯方法、監(jiān)測(cè)方法、還原方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及計(jì)算機(jī)軟體安全監(jiān)控領(lǐng)域,特別涉及一種軟體文件被修改時(shí)的來(lái)源追溯方法、監(jiān)測(cè)方法、還原方法及系統(tǒng)。
【背景技術(shù)】
[0002]個(gè)人電腦、服務(wù)器等計(jì)算機(jī)被入侵后,計(jì)算機(jī)內(nèi)的軟體文件會(huì)被修改,導(dǎo)致計(jì)算機(jī)內(nèi)存在木馬文件、原文件被篡改等等問(wèn)題,為了減少被黑客、病毒入侵文件被修改的幾率,或者為了盡快發(fā)現(xiàn)病毒,保護(hù)計(jì)算機(jī),許多用戶在計(jì)算機(jī)上裝有殺毒軟件、防護(hù)墻軟件等以對(duì)計(jì)算機(jī)內(nèi)的軟體文件進(jìn)行保護(hù)。目前的入侵防御軟件都是基于防火墻形式的前端防護(hù)軟件,采用正則和策略進(jìn)行保護(hù),因?yàn)樽陨碓O(shè)計(jì)缺陷和自身安全缺陷導(dǎo)致入侵者很容易繞過(guò)防御,或者軟件本身處理不到高并發(fā)和大流量導(dǎo)致啟用默認(rèn)策略放行所有請(qǐng)求導(dǎo)致防御功能失效,這樣容易被黑客繞過(guò)策略,或者繞過(guò)防火墻對(duì)目標(biāo)進(jìn)行下一步滲透測(cè)試而防火墻上無(wú)任何不安全的通知,被黑客入侵系統(tǒng)后留下一系列不可追溯的記錄和更改,這些不可追溯的記錄和更改讓管理人員無(wú)法快速的找到入侵根源,讓管理員人員無(wú)法快速進(jìn)行排查。因此,迫切需要一種能夠在得知計(jì)算機(jī)內(nèi)軟體文件被修改后能夠即時(shí)發(fā)現(xiàn)被修改文件路徑和導(dǎo)致文件被修改的請(qǐng)求來(lái)源的解決方案,便于當(dāng)計(jì)算機(jī)遇到非正?;蚍鞘跈?quán)的修改時(shí),管理人員能夠根據(jù)原始來(lái)源、調(diào)用過(guò)程到修改的途徑以及原始入侵口。
【發(fā)明內(nèi)容】
[0003]針對(duì)上述現(xiàn)有技術(shù)的不足,本發(fā)明所要解決的技術(shù)問(wèn)題是:提供一種操作系統(tǒng)執(zhí)行寫(xiě)入動(dòng)作時(shí)能夠根據(jù)寫(xiě)入的動(dòng)作追溯到該寫(xiě)入動(dòng)作的原始根源的計(jì)算機(jī)內(nèi)軟體文件被修改時(shí)的來(lái)源追溯方法;還提供一種監(jiān)測(cè)計(jì)算機(jī)內(nèi)的軟體文件是否被修改、追溯被修改的軟體文件的原始根源的客戶端計(jì)算機(jī)內(nèi)軟體文件的監(jiān)測(cè)方法;還提供一種能夠?qū)蛻舳擞?jì)算機(jī)內(nèi)軟體文件備份還原的方法;還提供一種客戶端計(jì)算機(jī)內(nèi)軟體文件的監(jiān)控還原系統(tǒng)。
[0004]為解決上述技術(shù)問(wèn)題,本發(fā)明采用的一個(gè)技術(shù)方案是:提供一種計(jì)算機(jī)內(nèi)軟體文件被修改時(shí)的來(lái)源追溯方法,包括以下步驟:
5101、在操作系統(tǒng)內(nèi)核即將對(duì)硬盤(pán)寫(xiě)入時(shí),攔截操作系統(tǒng)內(nèi)核對(duì)硬盤(pán)的寫(xiě)入函數(shù);
5102、根據(jù)操作系統(tǒng)調(diào)用寫(xiě)入函數(shù)時(shí)傳遞的參數(shù)來(lái)獲取進(jìn)程的進(jìn)程ID號(hào);
5103、通過(guò)進(jìn)程ID獲取到對(duì)應(yīng)的進(jìn)程對(duì)象;
5104、通過(guò)進(jìn)程堆棧讀取寫(xiě)入函數(shù)的返回地址進(jìn)行遞歸分析所述進(jìn)程對(duì)象的原始請(qǐng)求函數(shù)調(diào)用;
5105、通過(guò)原始調(diào)用函數(shù)得到操作者IP、操作者提交的報(bào)文數(shù)據(jù),從而得到修改的軟體文件的修改來(lái)源。
[0005]其中,在S102步驟中,還根據(jù)操作系統(tǒng)調(diào)用寫(xiě)入函數(shù)時(shí)傳遞的參數(shù)來(lái)獲取被寫(xiě)入硬盤(pán)的目錄位置。[000?] 進(jìn)一步的,上述SlOl至S105步驟均由客戶端計(jì)算機(jī)側(cè)進(jìn)行處理;
還包括以下步驟:
S106、客戶端計(jì)算機(jī)將操作者ΙΡ、操作者提交的報(bào)文數(shù)據(jù)打包形成數(shù)據(jù)包,并將數(shù)據(jù)包上傳至服務(wù)器端。
[0007]S107、服務(wù)器端接收到數(shù)據(jù)包之后發(fā)出警示信息至客戶端計(jì)算機(jī)側(cè)的對(duì)應(yīng)管理人員以警示對(duì)應(yīng)的客戶端計(jì)算機(jī)內(nèi)的文件被修改,警示信息包括操作者IP、操作者提交的報(bào)文數(shù)據(jù)。
[0008]其中,所述S106步驟包括以下子步驟:
51061、客戶端計(jì)算機(jī)對(duì)打包后的數(shù)據(jù)包進(jìn)行數(shù)據(jù)加密;
51062、客戶端計(jì)算機(jī)判斷是否加密成功;若加密成功,則進(jìn)入S1063步驟,若未加密成功,則轉(zhuǎn)入S1061步驟;
51063、客戶端計(jì)算機(jī)將加密后的數(shù)據(jù)包進(jìn)行數(shù)據(jù)傳輸,以上傳至服務(wù)器端。
[0009]為解決上述技術(shù)問(wèn)題,本發(fā)明采用的另一個(gè)技術(shù)方案是:提供一種客戶端計(jì)算機(jī)內(nèi)軟體文件的監(jiān)測(cè)方法,包括以下步驟:
5201、對(duì)客戶端計(jì)算機(jī)內(nèi)的軟體文件進(jìn)行備份并上傳至服務(wù)器端,以使服務(wù)器端以此作為判斷客戶端計(jì)算機(jī)內(nèi)的軟體文件是否被修改的基線,其中,軟體文件的備份包括文件位置目錄的備份、文件屬性的備份、文件內(nèi)容的備份;
5202、在客戶端計(jì)算機(jī)操作系統(tǒng)內(nèi)核即將對(duì)硬盤(pán)寫(xiě)入時(shí),攔截操作系統(tǒng)內(nèi)核對(duì)硬盤(pán)的寫(xiě)入函數(shù);
5203、客戶端計(jì)算機(jī)根據(jù)操作系統(tǒng)調(diào)用寫(xiě)入函數(shù)時(shí)傳遞的參數(shù)來(lái)獲取進(jìn)程的進(jìn)程ID號(hào)、被寫(xiě)入硬盤(pán)的位置目錄、被寫(xiě)入的文件屬性、被寫(xiě)入的文件內(nèi)容;
5204、客戶端計(jì)算機(jī)通過(guò)進(jìn)程ID獲取到對(duì)應(yīng)的進(jìn)程對(duì)象;
5205、客戶端計(jì)算機(jī)通過(guò)進(jìn)程堆棧讀取寫(xiě)入函數(shù)的返回地址進(jìn)行遞歸分析所述進(jìn)程對(duì)象的原始請(qǐng)求函數(shù)調(diào)用;
5206、客戶端計(jì)算機(jī)通過(guò)原始調(diào)用函數(shù)得到操作者IP、操作者提交的報(bào)文數(shù)據(jù),并將操作者IP、報(bào)文數(shù)據(jù)、被寫(xiě)入硬盤(pán)的位置目錄、該目錄下被寫(xiě)入的文件屬性以及被寫(xiě)入的文件內(nèi)容打包形成數(shù)據(jù)包上傳至服務(wù)器端;
5207、服務(wù)器端接收到數(shù)據(jù)包之后對(duì)數(shù)據(jù)包進(jìn)行分析,根據(jù)數(shù)據(jù)包內(nèi)的操作者IP得到入侵對(duì)象的原始來(lái)源,根據(jù)報(bào)文數(shù)據(jù)分析得到操作者的寫(xiě)入手段;將數(shù)據(jù)包中的被寫(xiě)入硬盤(pán)的位置目錄、該目錄下被寫(xiě)入文件屬性以及被寫(xiě)入文件內(nèi)容與備份的對(duì)應(yīng)文件進(jìn)行比對(duì),以得到在原備份的基礎(chǔ)上被修改的明細(xì),從而實(shí)現(xiàn)對(duì)客戶端計(jì)算機(jī)內(nèi)的軟體文件進(jìn)行監(jiān)測(cè)的目的。
[0010]進(jìn)一步的,還包括:
5208、服務(wù)器端與基線對(duì)比得到修改的明細(xì)后,將此打包形成數(shù)據(jù)包并發(fā)送至對(duì)應(yīng)的客戶端計(jì)算機(jī)的管理人員。
[0011]進(jìn)一步的,還包括:
5209、客戶端計(jì)算機(jī)接收當(dāng)管理人員確認(rèn)被修改明細(xì)對(duì)應(yīng)的軟體文件修改為非授權(quán)人員的修改時(shí)而發(fā)出的備份還原請(qǐng)求,客戶端計(jì)算機(jī)將還原請(qǐng)求發(fā)送至服務(wù)器端;
5210、服務(wù)器端接收到還原請(qǐng)求之后,對(duì)請(qǐng)求的客戶端計(jì)算機(jī)進(jìn)行軟體文件還原。
[0012]為解決上述技術(shù)問(wèn)題,本發(fā)明采用的又一個(gè)技術(shù)方案是:提供一種客戶端計(jì)算機(jī)內(nèi)軟體文件的監(jiān)測(cè)方法,包括以下步驟:
5301、客戶端計(jì)算機(jī)對(duì)其內(nèi)的軟體文件進(jìn)行備份并上傳至服務(wù)器端,以使服務(wù)器端以此作為判斷客戶端計(jì)算機(jī)內(nèi)的軟體文件是否被修改的基線,其中,軟體文件的備份包括文件位置目錄的備份、文件屬性的備份、文件內(nèi)容的備份;
5302、客戶端計(jì)算機(jī)在操作系統(tǒng)內(nèi)核即將對(duì)硬盤(pán)寫(xiě)入時(shí),攔截操作系統(tǒng)內(nèi)核對(duì)硬盤(pán)的寫(xiě)入函數(shù);
5303、客戶端計(jì)算機(jī)根據(jù)操作系統(tǒng)調(diào)用寫(xiě)入函數(shù)時(shí)傳遞的參數(shù)來(lái)獲取進(jìn)程的進(jìn)程ID號(hào)、被寫(xiě)入硬盤(pán)的位置目錄、被寫(xiě)入的文件屬性、被寫(xiě)入的文件內(nèi)容;
5304、客戶端計(jì)算機(jī)通過(guò)進(jìn)程ID獲取到對(duì)應(yīng)的進(jìn)程對(duì)象;
5305、客戶端計(jì)算機(jī)通過(guò)進(jìn)程堆棧讀取寫(xiě)入函數(shù)的返回地址進(jìn)行遞歸分析所述進(jìn)程對(duì)象的原始請(qǐng)求函數(shù)調(diào)用;
5306、客戶端計(jì)算機(jī)通過(guò)原始調(diào)用函數(shù)得到操作者IP、操作者提交的報(bào)文數(shù)據(jù),并將操作者IP、操作者提交的報(bào)文數(shù)據(jù)、被寫(xiě)入硬盤(pán)的位置目錄、該目錄下被寫(xiě)入的文件屬性以及被寫(xiě)入的文件內(nèi)容打包形成數(shù)據(jù)包上傳至服務(wù)器端;
5307、客戶端計(jì)算機(jī)接收客戶端計(jì)算機(jī)管理人員發(fā)出的備份還原請(qǐng)求,并將接收到的備份還原請(qǐng)求發(fā)送至服務(wù)器端;
5308、客戶端計(jì)算機(jī)根據(jù)服務(wù)器端的操作對(duì)客戶端內(nèi)的軟體文件進(jìn)行還原操作。
[0013]為解決上述技術(shù)問(wèn)題,本發(fā)明采用的又一個(gè)技術(shù)方案是:提供一種對(duì)客戶端計(jì)算機(jī)內(nèi)軟體文件備份還原的方法:
5401、服務(wù)器端接收客戶端計(jì)算機(jī)對(duì)其內(nèi)的軟體文件進(jìn)行備份的備份文件,以此作為判斷客戶端計(jì)算機(jī)內(nèi)的軟體文件是否被修改的基線,其中,軟體文件對(duì)應(yīng)的備份文件包括:文件位置目錄的備份、文件屬性的備份、文件內(nèi)容的備份;
5402、服務(wù)器端接收客戶端計(jì)算機(jī)對(duì)每一被修改的軟體文件對(duì)應(yīng)的數(shù)據(jù)包,其中,數(shù)據(jù)包內(nèi)有操作者IP、操作者提交的報(bào)文數(shù)據(jù)、被寫(xiě)入硬盤(pán)的位置目錄、該目錄下被寫(xiě)入的文件屬性以及被寫(xiě)入的文件內(nèi)容;
5403、服務(wù)器端對(duì)接收到的數(shù)據(jù)包進(jìn)行分析,根據(jù)數(shù)據(jù)包內(nèi)的操作者IP得到入侵對(duì)象的原始來(lái)源,根據(jù)報(bào)文數(shù)據(jù)分析得到操作者的寫(xiě)入手段;將數(shù)據(jù)包中的被寫(xiě)入硬盤(pán)的位置目錄、該目錄下被寫(xiě)入文件屬性以及被寫(xiě)入文件內(nèi)容與備份的對(duì)應(yīng)文件進(jìn)行比對(duì),以得到在原備份的基礎(chǔ)上被修改的明細(xì),從而實(shí)現(xiàn)對(duì)客戶端計(jì)算機(jī)內(nèi)的軟體文件進(jìn)行監(jiān)測(cè)的目的;
5404、服務(wù)器端與基線對(duì)比得到修改的明細(xì)后,將此打包形成數(shù)據(jù)包并發(fā)送至對(duì)應(yīng)的客戶端計(jì)算機(jī)的管理人員;
5405、服務(wù)器端接收客戶端計(jì)算機(jī)發(fā)送的備份還原請(qǐng)求,對(duì)請(qǐng)求的客戶端計(jì)算機(jī)進(jìn)行軟體文件還原。
[0014]為解決上述技術(shù)問(wèn)題,本發(fā)明采用的又一個(gè)技術(shù)方案是:提供一種客戶端計(jì)算機(jī)內(nèi)軟體文件的監(jiān)控還原系統(tǒng),包括客戶端計(jì)算機(jī)以及服務(wù)器端;
所述客戶端計(jì)算機(jī)包括:
備份上傳模塊,用于對(duì)客戶端計(jì)算機(jī)內(nèi)的軟體文件進(jìn)行備份并上傳至服務(wù)器端,以使服務(wù)器端以此作為判斷客戶端計(jì)算機(jī)內(nèi)的軟體文件是否被修改的基線,其中,軟體文件的備份包括文件位置目錄的備份、文件屬性的備份、文件內(nèi)容的備份;
攔截模塊,用于在客戶端計(jì)算機(jī)操作系統(tǒng)內(nèi)核即將對(duì)硬盤(pán)寫(xiě)入時(shí),攔截操作系統(tǒng)內(nèi)核對(duì)硬盤(pán)的寫(xiě)入函數(shù);
寫(xiě)入信息獲取模塊,用于根據(jù)操作系統(tǒng)調(diào)用寫(xiě)入函數(shù)時(shí)傳遞的參數(shù)來(lái)獲取進(jìn)程的進(jìn)程ID號(hào)、被寫(xiě)入硬盤(pán)的位置目錄、被寫(xiě)入的文件屬性、被寫(xiě)入的文件內(nèi)容;
進(jìn)程對(duì)象獲取模塊,用于通過(guò)進(jìn)程ID獲取到對(duì)應(yīng)的進(jìn)程對(duì)象;
第一分析模塊,用于通過(guò)進(jìn)程堆棧讀取寫(xiě)入函數(shù)的返回地址進(jìn)行遞歸分析所述進(jìn)程對(duì)象的原始請(qǐng)求函數(shù)調(diào)用;
操作者信息獲取模塊,用于通過(guò)原始調(diào)用函數(shù)得到操作者IP、操作者提交的報(bào)文數(shù)據(jù);數(shù)據(jù)包形成上傳模塊,用于將操作者IP、操作者提交的報(bào)文數(shù)據(jù)、被寫(xiě)入硬盤(pán)的位置目錄、該目錄下被寫(xiě)入的文件屬性以及被寫(xiě)入的文件內(nèi)容打包形成數(shù)據(jù)包上傳至服務(wù)器端;所述服務(wù)器端包括:
第二分析模塊,用于接收到數(shù)據(jù)包之后對(duì)該數(shù)據(jù)包,對(duì)數(shù)據(jù)包進(jìn)行分析,根據(jù)數(shù)據(jù)包內(nèi)的操作者IP得到入侵對(duì)象的原始來(lái)源,根據(jù)報(bào)文數(shù)據(jù)分析得到操作者的寫(xiě)入手段;將數(shù)據(jù)包中的被寫(xiě)入硬盤(pán)的位置目錄、該目錄下被寫(xiě)入文件屬性以及被寫(xiě)入文件內(nèi)容與備份的對(duì)應(yīng)文件進(jìn)行比對(duì),以得到在原備份的基礎(chǔ)上被修改的明細(xì),從而實(shí)現(xiàn)對(duì)客戶端計(jì)算機(jī)內(nèi)的軟體文件進(jìn)行監(jiān)測(cè)的目的;
數(shù)據(jù)包形成發(fā)送模塊,用于在服務(wù)器端與基線對(duì)比得到修改的明細(xì)后,將此打包形成數(shù)據(jù)包并發(fā)送至對(duì)應(yīng)的客戶端計(jì)算機(jī)的管理人員;
所述客戶端計(jì)算機(jī)還包括接收模塊,用于接收當(dāng)管理人員確認(rèn)被修改明細(xì)對(duì)應(yīng)的軟體文件修改為非授權(quán)人員的修改時(shí)而發(fā)出的備份還原請(qǐng)求;
還原請(qǐng)求發(fā)送模塊,用于將接收到的還原請(qǐng)求發(fā)送至服務(wù)器端;
服務(wù)器端還包括還原操作模塊,用于根據(jù)還原請(qǐng)求對(duì)對(duì)應(yīng)的客戶端計(jì)算機(jī)內(nèi)的軟體文件進(jìn)行還原操作。
[0015]上述方法及系統(tǒng),監(jiān)測(cè)每一個(gè)寫(xiě)入動(dòng)作,只要有寫(xiě)入動(dòng)作便進(jìn)行攔截,待獲取到想要的信息之后,寫(xiě)入會(huì)繼續(xù),但是這個(gè)時(shí)候我們能夠從獲取到的信息通過(guò)逆向遞歸方法對(duì)寫(xiě)入動(dòng)作對(duì)應(yīng)的原始請(qǐng)求函數(shù),通過(guò)原始調(diào)用函數(shù)得到操作者IP及報(bào)文數(shù)據(jù),如此只要計(jì)算機(jī)內(nèi)有文件被修改、或者增加新的軟體文件,我們都可得到記錄,形成可追溯的記錄文件。這些記錄文件可以發(fā)送至計(jì)算機(jī)的管理人員中,當(dāng)計(jì)算機(jī)的寫(xiě)入操作是被允許的授權(quán)人員寫(xiě)入時(shí),管理人員知曉該操作是經(jīng)過(guò)授權(quán)過(guò)的。當(dāng)未經(jīng)管理人員授權(quán)時(shí)進(jìn)行修改,管理人員可通過(guò)這些記錄文件找到修改來(lái)源以及被修改的文件的位置,便于管理人員即時(shí)通過(guò)來(lái)源找到入侵口以及便于管理人員采取修復(fù)措施。通過(guò)攔截寫(xiě)入函數(shù)后,獲取得到文件位置可得到被修改的文件的具體位置,管理人員得知該具體位置后,可選擇性的對(duì)該位置處的對(duì)應(yīng)文件進(jìn)行修復(fù)。
[0016]當(dāng)服務(wù)器端形成記錄文件后,可通過(guò)任何一種傳輸方式發(fā)送給客戶端計(jì)算機(jī)的管理人員,例如郵件、QQ等等,如果客戶端計(jì)算機(jī)的寫(xiě)入修改動(dòng)作是管理人員自己或者授權(quán)的人進(jìn)行的,管理人員通過(guò)該郵件或警示信息后,可不必理會(huì);如果修改動(dòng)作不是管理人員或授權(quán)的人進(jìn)行的,管理人員收到該警示信息后通過(guò)記錄文件追溯修改源頭,可即時(shí)排查問(wèn)題,對(duì)計(jì)算機(jī)進(jìn)行修復(fù)。
[0017]客戶端和服務(wù)器端相配合實(shí)現(xiàn)客戶端計(jì)算機(jī)內(nèi)的文件是否被修改的監(jiān)測(cè),若被修改后,由服務(wù)器端備份的軟體文件為基線,將修改后的軟體文件的屬性、內(nèi)容、位置與備份的對(duì)應(yīng)軟體文件進(jìn)行對(duì)比,以得出修改的明細(xì),并形成記錄文件發(fā)送至管理人員,由于本發(fā)明的客戶端計(jì)算機(jī)主要為企業(yè)用服務(wù)器,因此修改服務(wù)器的次數(shù)、頻率均比較低,而且修改一般均為管理人員修改,因此管理人員在接收到記錄文件時(shí),很容易判斷此修改是否為本人或者授權(quán)人員的修改,若確定本修改為非授權(quán)人員的修改并且修改有可能影響服務(wù)器的處理,那么則表示該修改為異常修改,有可能為黑客入侵、病毒入侵后的修改,管理人員則通過(guò)記錄文件找到源頭、找到文件位置,通過(guò)備份該位置的文件還原,以避免系統(tǒng)繼續(xù)被感染,通過(guò)源頭找到修改文件是從服務(wù)器哪個(gè)入口進(jìn)入的,能夠即時(shí)得知服務(wù)器的漏洞,能夠盡快的對(duì)漏洞進(jìn)行修復(fù)。
[0018]上述方法及系統(tǒng)可以與前端防護(hù)墻配合使用,達(dá)到對(duì)客戶端計(jì)算機(jī)的雙層保護(hù),即:防護(hù)墻對(duì)前端入侵進(jìn)行防護(hù),防護(hù)墻未防護(hù)到的,通過(guò)本系統(tǒng)及方法進(jìn)行即時(shí)檢測(cè),以便管理人員即時(shí)發(fā)現(xiàn)異常修改,即時(shí)得知被修改的文件、位置以及來(lái)源,即時(shí)作好備份或修復(fù)工作。
【附圖說(shuō)明】
[0019]
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0020]圖1是本發(fā)明計(jì)算機(jī)內(nèi)軟體文件被修改時(shí)的來(lái)源追溯方法一實(shí)施例的流程圖。
[0021]圖2是本發(fā)明客戶端計(jì)算機(jī)內(nèi)軟體文件的監(jiān)測(cè)方法一實(shí)施例的流程圖。
[0022]圖3是本發(fā)明客戶端計(jì)算機(jī)內(nèi)軟體文件的監(jiān)測(cè)方法另一實(shí)施例的流程圖。
[0023]圖4是本發(fā)明對(duì)客戶端計(jì)算機(jī)內(nèi)軟體文件備份還原的方法一實(shí)施例的流程圖。
【具體實(shí)施方式】
[0024]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0025]請(qǐng)參見(jiàn)圖1,本發(fā)明的計(jì)算機(jī)內(nèi)軟體文件被修改時(shí)的來(lái)源追溯方法,包括以下步驟:
5101、在操作系統(tǒng)內(nèi)核即將對(duì)硬盤(pán)寫(xiě)入時(shí),攔截操作系統(tǒng)內(nèi)核對(duì)硬盤(pán)的寫(xiě)入函數(shù);
5102、根據(jù)操作系統(tǒng)調(diào)用寫(xiě)入函數(shù)時(shí)傳遞的參數(shù)來(lái)獲取進(jìn)程的進(jìn)程ID號(hào);
本步驟中,還可根據(jù)寫(xiě)入函數(shù)時(shí)傳遞的參數(shù)來(lái)獲取被寫(xiě)入硬盤(pán)的位置目錄(例如文件路徑、文件層次結(jié)構(gòu))。可理解的,還可通過(guò)寫(xiě)入函數(shù)時(shí)傳遞的參數(shù)來(lái)得到被寫(xiě)入的文件屬性、被寫(xiě)入的文件內(nèi)容等等。文件屬性例如可是以下屬性的其中一種或任意組合:歸檔文件、隱藏文件、創(chuàng)建時(shí)間、文件流、文件大小、文件類(lèi)型格式、文件MD5 (文件的hash值,文件的唯一標(biāo)識(shí))、文件所有者、文件組別、文件最后修改時(shí)間、系統(tǒng)文件、用戶和組等等。本實(shí)施例中可選擇:文件類(lèi)型、文件大于、文件MD5、文件所有者、最后修改時(shí)間作為文件的屬性。在其他的實(shí)施例中,文件屬性還可有其它的選擇,并且文件屬性的各類(lèi)并不限于以上列舉,在一些實(shí)施例中,可根據(jù)實(shí)際需要再列出相關(guān)的文件屬性各類(lèi),此處不再一一列舉。
[0026]S103、通過(guò)進(jìn)程ID獲取到對(duì)應(yīng)的進(jìn)程對(duì)象;
5104、通過(guò)進(jìn)程堆棧讀取寫(xiě)入函數(shù)的返回地址進(jìn)行遞歸分析所述進(jìn)程對(duì)象的原始請(qǐng)求函數(shù)調(diào)用;
5105、通過(guò)原始調(diào)用函數(shù)得到操作者IP、操作者提交的報(bào)文數(shù)據(jù),從而得到修改的軟體文件的修改來(lái)源;
5106、將操作者IP、操作者提交的報(bào)文數(shù)據(jù)打包形成數(shù)據(jù)包,并將數(shù)據(jù)包上傳至服務(wù)器端;
本步驟中,包括以下子步驟:
51061、客戶端計(jì)算機(jī)對(duì)打包后的數(shù)據(jù)包進(jìn)行數(shù)據(jù)加密;
51062、客戶端計(jì)算機(jī)判斷是否加密成功;若加密成功,則進(jìn)入S1063步驟,若未加密成功,則轉(zhuǎn)入S1061步驟;
51063、客戶端計(jì)算機(jī)將加密后的數(shù)據(jù)包進(jìn)行數(shù)據(jù)傳輸,以上傳至服務(wù)器端。
[0027]上述SlOl至S106步驟均由客戶端計(jì)算機(jī)側(cè)操作,客戶端計(jì)算機(jī)可以是個(gè)人電腦、服務(wù)器等。而本發(fā)明的追溯方法,主要是針對(duì)服務(wù)器而設(shè)定的,因此本實(shí)施例的客戶端計(jì)算機(jī)為服務(wù)器,例如企業(yè)用服務(wù)器、各種網(wǎng)頁(yè)服務(wù)器、云服務(wù)器等等。而本實(shí)施例中的服務(wù)器端則為本方法對(duì)應(yīng)的APP的總服務(wù)器,用來(lái)備份、分析、處理各個(gè)客戶端服務(wù)器的軟體文件。
[0028]S107、服務(wù)器端接收到數(shù)據(jù)包之后發(fā)出警示信息至客戶端計(jì)算機(jī)側(cè)的對(duì)應(yīng)管理人員以警示對(duì)應(yīng)的客戶端計(jì)算機(jī)內(nèi)的文件被修改,警示信息包括操作者IP、操作者提交的報(bào)文數(shù)據(jù)。
[0029]本發(fā)明實(shí)施方式,采用逆向法獲取操作系統(tǒng)寫(xiě)入中斷的向量表hook住nt寫(xiě)入內(nèi)核函數(shù),獲取寫(xiě)入的進(jìn)程ID號(hào),通過(guò)進(jìn)程ID獲取進(jìn)程實(shí)例句柄,例如Java進(jìn)程進(jìn)行的寫(xiě)入操作,則追溯到Java的Fi Ie類(lèi)wri ter方法,利用匯編語(yǔ)句獲取該函數(shù)在堆桟中的返回值,通過(guò)本發(fā)明的追溯引擎達(dá)到無(wú)消耗的進(jìn)行追溯直到追溯至能獲取HTTP報(bào)文信息的函數(shù)為止。
[0030]本發(fā)明實(shí)施方式,監(jiān)測(cè)每一個(gè)寫(xiě)入動(dòng)作,只要有寫(xiě)入動(dòng)作便進(jìn)行攔截,待獲取到想要的信息之后,寫(xiě)入會(huì)繼續(xù),但是這個(gè)時(shí)候我們能夠從獲取到的信息通過(guò)逆向遞歸方法對(duì)寫(xiě)入動(dòng)作對(duì)應(yīng)的原始請(qǐng)求函數(shù),通過(guò)原始調(diào)用函數(shù)得到操作者IP及報(bào)文數(shù)據(jù),如此只要計(jì)算機(jī)內(nèi)有文件被修改、或者增加新的軟體文件,我們都可得到記錄,形成可追溯的記錄文件。這些記錄文件可以發(fā)送至計(jì)算機(jī)的管理人員中,當(dāng)計(jì)算機(jī)的寫(xiě)入操作是被允許的授權(quán)人員寫(xiě)入時(shí),管理人員知曉該操作是經(jīng)過(guò)授權(quán)過(guò)的。當(dāng)未經(jīng)管理人員授權(quán)時(shí)進(jìn)行修改,管理人員可通過(guò)這些記錄文件找到修改來(lái)源以及被修改的文件的位置,便于管理人員即時(shí)通過(guò)來(lái)源找到入侵口以及便于管理人員采取修復(fù)措施。通過(guò)攔截寫(xiě)入函數(shù)后,獲取得到文件位置可得到被修改的文件的具體位置,管理人員得知該具體位置后,可選擇性的對(duì)該位置處的對(duì)應(yīng)文件進(jìn)行修復(fù)。
[0031]當(dāng)服務(wù)器端形成記錄文件后,可通過(guò)任何一種傳輸方式發(fā)送給客戶端計(jì)算機(jī)的管理人員,例如郵件、QQ等等,如果客戶端計(jì)算機(jī)的寫(xiě)入修改動(dòng)作是管理人員自己或者授權(quán)的人進(jìn)行的,管理人員通過(guò)該郵件或警示信息后,可不必理會(huì);如果修改動(dòng)作不是管理人員或授權(quán)的人進(jìn)行的,管理人員收到該警示信息后通過(guò)記錄文件追溯修改源頭,可即時(shí)排查問(wèn)題,對(duì)計(jì)算機(jī)進(jìn)行修復(fù)。
[0032]請(qǐng)參見(jiàn)圖2,本實(shí)施例的客戶端計(jì)算機(jī)內(nèi)軟體文件的監(jiān)測(cè)方法,包括以下步驟:
5201、對(duì)客戶端計(jì)算機(jī)內(nèi)的軟體文件進(jìn)行備份并上傳至服務(wù)器端,以使服務(wù)器端以此作為判斷客戶端計(jì)算機(jī)內(nèi)的軟體文件是否被修改的基線,其中,軟體文件的備份包括對(duì)文件文件位置目錄的備份、對(duì)文件屬性的備份、對(duì)文件內(nèi)容的備份;文件的屬性可選用上述實(shí)施例的文件屬性,此處不再贅述
5202、在客戶端計(jì)算機(jī)操作系統(tǒng)內(nèi)核即將對(duì)硬盤(pán)寫(xiě)入時(shí),攔截操作系統(tǒng)內(nèi)核對(duì)硬盤(pán)的寫(xiě)入函數(shù);
5203、客戶端計(jì)算機(jī)根據(jù)操作系統(tǒng)調(diào)用寫(xiě)入函數(shù)時(shí)傳遞的參數(shù)來(lái)獲取進(jìn)程的進(jìn)程ID號(hào)、被寫(xiě)入硬盤(pán)的位置目錄、被寫(xiě)入的文件屬性、被寫(xiě)入的文件內(nèi)容;
5204、客戶端計(jì)算機(jī)通過(guò)進(jìn)程ID獲取到對(duì)應(yīng)的進(jìn)程對(duì)象;
5205、客戶端計(jì)算機(jī)通過(guò)進(jìn)程堆棧讀取寫(xiě)入函數(shù)的返回地址進(jìn)行遞歸分析所述進(jìn)程對(duì)象的原始請(qǐng)求函數(shù)調(diào)用;
5206、客戶端計(jì)算機(jī)通過(guò)原始調(diào)用函數(shù)得到操作者IP、操作者提交的報(bào)文數(shù)據(jù),并將操作者IP、操作者提交的報(bào)文數(shù)據(jù)、被寫(xiě)入硬盤(pán)的位置目錄、該目錄下被寫(xiě)入的文件屬性以及被寫(xiě)入的文件內(nèi)容打包形成數(shù)據(jù)包上傳至服務(wù)器端;
5207、服務(wù)器端接收到數(shù)據(jù)包之后對(duì)數(shù)據(jù)包進(jìn)行分析,根據(jù)數(shù)據(jù)包內(nèi)的操作者IP得到入侵對(duì)象的原始來(lái)源,根據(jù)報(bào)文數(shù)據(jù)分析得到操作者的寫(xiě)入手段;將數(shù)據(jù)包中的被寫(xiě)入硬盤(pán)的位置目錄、該目錄下被寫(xiě)入文件屬性以及被寫(xiě)入文件內(nèi)容與備份的對(duì)應(yīng)文件進(jìn)行比對(duì),以得到在原備份的基礎(chǔ)上被修改的明細(xì),從而實(shí)現(xiàn)對(duì)客戶端計(jì)算機(jī)內(nèi)的軟體文件進(jìn)行監(jiān)測(cè)的目的;
本實(shí)施例中,還可選擇的包括:
5208、服務(wù)器端與基線對(duì)比得到修改的明細(xì)后,將此打包形成數(shù)據(jù)包(記錄文件)并發(fā)送至對(duì)應(yīng)的客戶端計(jì)算機(jī)的管理人員;
本實(shí)施例中,還可選擇的包括:
5209、客戶端計(jì)算機(jī)接收當(dāng)管理人員確認(rèn)被修改明細(xì)對(duì)應(yīng)的軟體文件修改為非授權(quán)人員的修改時(shí)而發(fā)出的備份還原請(qǐng)求,客戶端計(jì)算機(jī)將還原請(qǐng)求發(fā)送至服務(wù)器端;
5210、服務(wù)器端接收到還原請(qǐng)求之后,對(duì)請(qǐng)求的客戶端計(jì)算機(jī)進(jìn)行軟體文件還原。
[0033]本發(fā)明實(shí)施方式,客戶端和服務(wù)器端相配合實(shí)現(xiàn)客戶端計(jì)算機(jī)內(nèi)的文件是否被修改的監(jiān)測(cè),若被修改后,由服務(wù)器端備份的軟體文件為基線,將修改后的軟體文件的屬性、內(nèi)容、位置與備份的對(duì)應(yīng)軟體文件進(jìn)行對(duì)比,以得出修改的明細(xì),并形成記錄文件發(fā)送至管理人員,由于本實(shí)施例中的客戶端計(jì)算機(jī)主要為企業(yè)用服務(wù)器,因此修改服務(wù)器的次數(shù)、頻率均比較低,而且修改一般均為管理人員修改,因此管理人員在接收到記錄文件時(shí),很容易判斷此修改是否為本人或者授權(quán)人員的修改,若確定本修改為非授權(quán)人員的修改并且修改有可能影響服務(wù)器的處理,那么則表示該修改為異常修改,有可能為黑客入侵、病毒入侵后的修改,管理人員則通過(guò)記錄文件找到源頭、找到文件位置,通過(guò)備份該位置的文件還原,以避免系統(tǒng)繼續(xù)被感染,通過(guò)源頭找到修改文件是從服務(wù)器哪個(gè)入口進(jìn)入的,能夠即時(shí)得知服務(wù)器的漏洞,能夠盡快的對(duì)漏洞進(jìn)行修復(fù)。
[0034]請(qǐng)參見(jiàn)圖3,圖3是本發(fā)明另一實(shí)施例的客戶端計(jì)算機(jī)內(nèi)軟體文件的監(jiān)測(cè)方法,本方法主要為客戶端側(cè)處理的流程,具體如下:
5301、客戶端計(jì)算機(jī)對(duì)其內(nèi)的軟體文件進(jìn)行備份并上傳至服務(wù)器端,以使服務(wù)器端以此作為判斷客戶端計(jì)算機(jī)內(nèi)的軟體文件是否被修改的基線,其中,軟體文件的備份包括文件位置目錄的備份、文件屬性的備份、文件內(nèi)容的備份;
5302、客戶端計(jì)算機(jī)在操作系統(tǒng)內(nèi)核即將對(duì)硬盤(pán)寫(xiě)入時(shí),攔截操作系統(tǒng)內(nèi)核對(duì)硬盤(pán)的寫(xiě)入函數(shù);
5303、客戶端計(jì)算機(jī)根據(jù)操作系統(tǒng)調(diào)用寫(xiě)入函數(shù)時(shí)傳遞的參數(shù)來(lái)獲取進(jìn)程的進(jìn)程ID號(hào)、被寫(xiě)入硬盤(pán)的位置目錄、被寫(xiě)入的文件屬性、被寫(xiě)入的文件內(nèi)容;
5304、客戶端計(jì)算機(jī)通過(guò)進(jìn)程ID獲取到對(duì)應(yīng)的進(jìn)程對(duì)象;
5305、客戶端計(jì)算機(jī)通過(guò)進(jìn)程堆棧讀取寫(xiě)入函數(shù)的返回地址進(jìn)行遞歸分析所述進(jìn)程對(duì)象的原始請(qǐng)求函數(shù)調(diào)用;
5306、客戶端計(jì)算機(jī)通過(guò)原始調(diào)用函數(shù)得到操作者IP、操作者提交的報(bào)文數(shù)據(jù),并將操作者IP、操作者提交的報(bào)文數(shù)據(jù)、被寫(xiě)入硬盤(pán)的位置目錄、該目錄下被寫(xiě)入的文件屬性以及被寫(xiě)入的文件內(nèi)容,并打包形成數(shù)據(jù)包上傳至服務(wù)器端;
5307、客戶端計(jì)算機(jī)接收客戶端計(jì)算機(jī)管理人員發(fā)出的備份還原請(qǐng)求,并將接收到的備份還原請(qǐng)求發(fā)送至服務(wù)器端;
5308、客戶端計(jì)算機(jī)根據(jù)服務(wù)器端的操作對(duì)客戶端內(nèi)的軟體文件進(jìn)行還原操作。
[0035]請(qǐng)參見(jiàn)圖4,圖4是本發(fā)明對(duì)客戶端計(jì)算機(jī)內(nèi)軟體文件備份還原的方法,本方法主要為服務(wù)器端的處理流程,主要用于根據(jù)客戶端上傳的數(shù)據(jù)包、管理人員的請(qǐng)求進(jìn)行備份還原,具體包括以下步驟:
5401、服務(wù)器端接收客戶端計(jì)算機(jī)對(duì)其內(nèi)的軟體文件進(jìn)行備份的備份文件,以此作為判斷客戶端計(jì)算機(jī)內(nèi)的軟體文件是否被修改的基線,其中,軟體文件對(duì)應(yīng)的備份文件包括:文件位置目錄的備份、文件屬性的備份、文件內(nèi)容的備份;
5402、服務(wù)器端接收客戶端計(jì)算機(jī)對(duì)每一被修改的軟體文件對(duì)應(yīng)的數(shù)據(jù)包,其中,數(shù)據(jù)包內(nèi)有操作者IP、操作者提交的報(bào)文數(shù)據(jù)、被寫(xiě)入硬盤(pán)的位置目錄、該目錄下被寫(xiě)入的文件屬性以及被寫(xiě)入的文件內(nèi)容;
5403、服務(wù)器端對(duì)接收到的數(shù)據(jù)包進(jìn)行分析,根據(jù)數(shù)據(jù)包內(nèi)的操作者IP得到入侵對(duì)象的原始來(lái)源,根據(jù)報(bào)文數(shù)據(jù)分析得到操作者的寫(xiě)入手段;將數(shù)據(jù)包中的被寫(xiě)入硬盤(pán)的位置目錄、該目錄下被寫(xiě)入文件屬性以及被寫(xiě)入文件內(nèi)容與備份的對(duì)應(yīng)文件進(jìn)行比對(duì),以得到在原備份的基礎(chǔ)上被修改的明細(xì),從而實(shí)現(xiàn)對(duì)客戶端計(jì)算機(jī)內(nèi)的軟體文件進(jìn)行監(jiān)測(cè)的目的;
5404、服務(wù)器端與基線對(duì)比得到修改的明細(xì)后,將此打包形成數(shù)據(jù)包并發(fā)送至對(duì)應(yīng)的客戶端計(jì)算機(jī)的管理人員;
5405、服務(wù)器端接收客戶端計(jì)算機(jī)發(fā)送的備份還原請(qǐng)求,對(duì)請(qǐng)求的客戶端計(jì)算機(jī)進(jìn)行軟體文件還原。
[0036]可理解的,上述方法步驟并非嚴(yán)格按照順序進(jìn)行執(zhí)行,例如:向服務(wù)器端請(qǐng)求還原的提前時(shí)客戶端計(jì)算機(jī)被修改而導(dǎo)致的客戶端計(jì)算機(jī)出現(xiàn)問(wèn)題,例如被非授權(quán)的人員進(jìn)行修改,例如被黑客入侵而導(dǎo)致的文件被修改等等,只要管理人員確定修改會(huì)導(dǎo)致服務(wù)器出現(xiàn)崩潰、被入侵、服務(wù)器處理速度變慢等等問(wèn)題時(shí),均可產(chǎn)生上述還原請(qǐng)求,它是根據(jù)管理人員的請(qǐng)求指令而產(chǎn)生的,時(shí)間上沒(méi)有任何限定。
[0037]本發(fā)明還公開(kāi)了一種客戶端計(jì)算機(jī)內(nèi)軟體文件的監(jiān)控還原系統(tǒng),包括客戶端計(jì)算機(jī)以及服務(wù)器端;
所述客戶端計(jì)算機(jī)包括:
備份上傳模塊,用于對(duì)客戶端計(jì)算機(jī)內(nèi)的軟體文件進(jìn)行備份并上傳至服務(wù)器端,以使服務(wù)器端以此作為判斷客戶端計(jì)算機(jī)內(nèi)的軟體文件是否被修改的基線,其中,軟體文件的備份包括文件位置目錄的備份、文件屬性的備份、文件內(nèi)容的備份;
攔截模塊,用于在客戶端計(jì)算機(jī)操作系統(tǒng)內(nèi)核即將對(duì)硬盤(pán)寫(xiě)入時(shí),攔截操作系統(tǒng)內(nèi)核對(duì)硬盤(pán)的寫(xiě)入函數(shù);
寫(xiě)入信息獲取模塊,用于根據(jù)操作系統(tǒng)調(diào)用寫(xiě)入函數(shù)時(shí)傳遞的參數(shù)來(lái)獲取進(jìn)程的進(jìn)程ID號(hào)、被寫(xiě)入硬盤(pán)的位置目錄、被寫(xiě)入的文件屬性、被寫(xiě)入的文件內(nèi)容;
進(jìn)程對(duì)象獲取模塊,用于通過(guò)進(jìn)程ID獲取到對(duì)應(yīng)的進(jìn)程對(duì)象;
第一分析模塊,用于通過(guò)進(jìn)程堆棧讀取寫(xiě)入函數(shù)的返回地址進(jìn)行遞歸分析所述進(jìn)程對(duì)象的原始請(qǐng)求函數(shù)調(diào)用;
操作者信息獲取模塊,用于通過(guò)原始調(diào)用函數(shù)得到操作者IP、操作者提交的報(bào)文數(shù)據(jù);數(shù)據(jù)包形成上傳模塊,用于將操作者IP、操作者提交的報(bào)文數(shù)據(jù)、被寫(xiě)入硬盤(pán)的位置目錄、該目錄下被寫(xiě)入的文件屬性以及被寫(xiě)入的文件內(nèi)容,并打包形成數(shù)據(jù)包上傳至服務(wù)器端;
所述服務(wù)器端包括:
第二分析模塊,用于接收到數(shù)據(jù)包之后對(duì)該數(shù)據(jù)包,對(duì)數(shù)據(jù)包進(jìn)行分析,根據(jù)數(shù)據(jù)包內(nèi)的操作者IP得到入侵對(duì)象的原始來(lái)源,根據(jù)報(bào)文數(shù)據(jù)分析得到操作者的寫(xiě)入手段;將數(shù)據(jù)包中的被寫(xiě)入硬盤(pán)的位置目錄、該目錄下被寫(xiě)入文件屬性以及被寫(xiě)入文件內(nèi)容與備份的對(duì)應(yīng)文件進(jìn)行比對(duì),以得到在原備份的基礎(chǔ)上被修改的明細(xì),從而實(shí)現(xiàn)對(duì)客戶端計(jì)算機(jī)內(nèi)的軟體文件進(jìn)行監(jiān)測(cè)的目的;
數(shù)據(jù)包形成發(fā)送模塊,用于在服務(wù)器端與基線對(duì)比得到修改的明細(xì)后,將此打包形成數(shù)據(jù)包并發(fā)送至對(duì)應(yīng)的客戶端計(jì)算機(jī)的管理人員;
所述客戶端計(jì)算機(jī)還包括接收模塊,用于接收當(dāng)管理人員確認(rèn)被修改明細(xì)對(duì)應(yīng)的軟體文件修改為非授權(quán)人員的修改時(shí)而發(fā)出的備份還原請(qǐng)求;
還原請(qǐng)求發(fā)送模塊,用于將接收到的還原請(qǐng)求發(fā)送至服務(wù)器端;
服務(wù)器端還包括還原操作模塊,用于根據(jù)還原請(qǐng)求對(duì)對(duì)應(yīng)的客戶端計(jì)算機(jī)內(nèi)的軟體文件進(jìn)行還原操作。
[0038]本發(fā)明實(shí)施方式,客戶端和服務(wù)器端相配合實(shí)現(xiàn)客戶端計(jì)算機(jī)內(nèi)的文件是否被修改的監(jiān)測(cè),若被修改后,由服務(wù)器端備份的軟體文件為基線,將修改后的軟體文件的屬性、內(nèi)容、位置與備份的對(duì)應(yīng)軟體文件進(jìn)行對(duì)比,以得出修改的明細(xì),并形成記錄文件發(fā)送至管理人員,由于本實(shí)施例中的客戶端計(jì)算機(jī)主要為企業(yè)用服務(wù)器,因此修改服務(wù)器的次數(shù)、頻率均比較低,而且修改一般均為管理人員修改,因此管理人員在接收到記錄文件時(shí),很容易判斷此修改是否為本人或者授權(quán)人員的修改,若確定本修改為非授權(quán)人員的修改并且修改有可能影響服務(wù)器的處理,那么則表示該修改為異常修改,有可能為黑客入侵、病毒入侵后的修改,管理人員則通過(guò)記錄文件找到源頭、找到文件位置,通過(guò)備份該位置的文件還原,以避免系統(tǒng)繼續(xù)被感染,通過(guò)源頭找到修改文件是從服務(wù)器哪個(gè)入口進(jìn)入的,能夠即時(shí)得知服務(wù)器的漏洞,能夠盡快的對(duì)漏洞進(jìn)行修復(fù)。
[0039]本實(shí)施例的系統(tǒng)可以與前端防護(hù)墻配合使用,達(dá)到對(duì)客戶端計(jì)算機(jī)的雙層保護(hù),即:防護(hù)墻對(duì)前端入侵進(jìn)行防護(hù),防護(hù)墻未防護(hù)到的,通過(guò)本系統(tǒng)及方法進(jìn)行即時(shí)檢測(cè),以便管理人員即時(shí)發(fā)現(xiàn)異常修改,即時(shí)得知被修改的文件、位置以及來(lái)源,即時(shí)作好備份或修復(fù)工作。
[0040]以上僅為本發(fā)明的實(shí)施方式,并非因此限制本發(fā)明的專(zhuān)利范圍,凡是利用本發(fā)明說(shuō)明書(shū)及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專(zhuān)利保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1.一種計(jì)算機(jī)內(nèi)軟體文件被修改時(shí)的來(lái)源追溯方法,包括以下步驟: 5101、在操作系統(tǒng)內(nèi)核即將對(duì)硬盤(pán)寫(xiě)入時(shí),攔截操作系統(tǒng)內(nèi)核對(duì)硬盤(pán)的寫(xiě)入函數(shù); 5102、根據(jù)操作系統(tǒng)調(diào)用寫(xiě)入函數(shù)時(shí)傳遞的參數(shù)來(lái)獲取進(jìn)程的進(jìn)程ID號(hào); 5103、通過(guò)進(jìn)程ID獲取到對(duì)應(yīng)的進(jìn)程對(duì)象; 5104、通過(guò)進(jìn)程堆棧讀取寫(xiě)入函數(shù)的返回地址進(jìn)行遞歸分析所述進(jìn)程對(duì)象的原始請(qǐng)求函數(shù)調(diào)用; 5105、通過(guò)原始調(diào)用函數(shù)得到操作者IP、操作者提交的報(bào)文數(shù)據(jù),從而得到修改的軟體文件的修改來(lái)源。2.如權(quán)利要求1所述的計(jì)算機(jī)內(nèi)軟體文件被修改時(shí)的來(lái)源追溯方法,其特征在于,在S102步驟中,還根據(jù)操作系統(tǒng)調(diào)用寫(xiě)入函數(shù)時(shí)傳遞的參數(shù)來(lái)獲取被寫(xiě)入硬盤(pán)的目錄位置。3.如權(quán)利要求2所述的計(jì)算機(jī)內(nèi)軟體文件被修改時(shí)的來(lái)源追溯方法,其特征在于: 上述SlOl至S105步驟均由客戶端計(jì)算機(jī)側(cè)進(jìn)行處理; 還包括以下步驟: 5106、客戶端計(jì)算機(jī)將操作者IP、操作者提交的報(bào)文數(shù)據(jù)打包形成數(shù)據(jù)包,并將數(shù)據(jù)包上傳至服務(wù)器端。 5107、服務(wù)器端接收到數(shù)據(jù)包之后發(fā)出警示信息至客戶端計(jì)算機(jī)側(cè)的對(duì)應(yīng)管理人員以警示對(duì)應(yīng)的客戶端計(jì)算機(jī)內(nèi)的文件被修改,警示信息包括操作者IP、操作者提交的報(bào)文數(shù)據(jù)。4.如權(quán)利要求3所述的計(jì)算機(jī)內(nèi)軟體文件被修改時(shí)的來(lái)源追溯方法,其特征在于,所述S106步驟包括以下子步驟: 51061、客戶端計(jì)算機(jī)對(duì)打包后的數(shù)據(jù)包進(jìn)行數(shù)據(jù)加密; 51062、客戶端計(jì)算機(jī)判斷是否加密成功;若加密成功,則進(jìn)入S1063步驟,若未加密成功,則轉(zhuǎn)入S1061步驟; 51063、客戶端計(jì)算機(jī)將加密后的數(shù)據(jù)包進(jìn)行數(shù)據(jù)傳輸,以上傳至服務(wù)器端。5.—種客戶端計(jì)算機(jī)內(nèi)軟體文件的監(jiān)測(cè)方法,包括以下步驟: 5201、對(duì)客戶端計(jì)算機(jī)內(nèi)的軟體文件進(jìn)行備份并上傳至服務(wù)器端,以使服務(wù)器端以此作為判斷客戶端計(jì)算機(jī)內(nèi)的軟體文件是否被修改的基線,其中,軟體文件的備份包括文件位置目錄的備份、文件屬性的備份、文件內(nèi)容的備份; 5202、在客戶端計(jì)算機(jī)操作系統(tǒng)內(nèi)核即將對(duì)硬盤(pán)寫(xiě)入時(shí),攔截操作系統(tǒng)內(nèi)核對(duì)硬盤(pán)的寫(xiě)入函數(shù); 5203、客戶端計(jì)算機(jī)根據(jù)操作系統(tǒng)調(diào)用寫(xiě)入函數(shù)時(shí)傳遞的參數(shù)來(lái)獲取進(jìn)程的進(jìn)程ID號(hào)、被寫(xiě)入硬盤(pán)的位置目錄、被寫(xiě)入的文件屬性、被寫(xiě)入的文件內(nèi)容; 5204、客戶端計(jì)算機(jī)通過(guò)進(jìn)程ID獲取到對(duì)應(yīng)的進(jìn)程對(duì)象; 5205、客戶端計(jì)算機(jī)通過(guò)進(jìn)程堆棧讀取寫(xiě)入函數(shù)的返回地址進(jìn)行遞歸分析所述進(jìn)程對(duì)象的原始請(qǐng)求函數(shù)調(diào)用; 5206、客戶端計(jì)算機(jī)通過(guò)原始調(diào)用函數(shù)得到操作者IP、操作者提交的報(bào)文數(shù)據(jù),并將操作者IP、報(bào)文數(shù)據(jù)、被寫(xiě)入硬盤(pán)的位置目錄、該目錄下被寫(xiě)入的文件屬性以及被寫(xiě)入的文件內(nèi)容打包形成數(shù)據(jù)包上傳至服務(wù)器端; 5207、服務(wù)器端接收到數(shù)據(jù)包之后對(duì)數(shù)據(jù)包進(jìn)行分析,根據(jù)數(shù)據(jù)包內(nèi)的操作者IP得到入侵對(duì)象的原始來(lái)源,根據(jù)報(bào)文數(shù)據(jù)分析得到操作者的寫(xiě)入手段;將數(shù)據(jù)包中的被寫(xiě)入硬盤(pán)的位置目錄、該目錄下被寫(xiě)入文件屬性以及被寫(xiě)入文件內(nèi)容與備份的對(duì)應(yīng)文件進(jìn)行比對(duì),以得到在原備份的基礎(chǔ)上被修改的明細(xì),從而實(shí)現(xiàn)對(duì)客戶端計(jì)算機(jī)內(nèi)的軟體文件進(jìn)行監(jiān)測(cè)的目的。6.如權(quán)利要求5所述的客戶端計(jì)算機(jī)內(nèi)軟體文件的監(jiān)測(cè)方法,其特征在于,還包括: 5208、服務(wù)器端與基線對(duì)比得到修改的明細(xì)后,將此打包形成數(shù)據(jù)包并發(fā)送至對(duì)應(yīng)的客戶端計(jì)算機(jī)的管理人員。7.如權(quán)利要求6所述的客戶端計(jì)算機(jī)內(nèi)軟體文件的監(jiān)測(cè)方法,其特征在于,還包括: 5209、客戶端計(jì)算機(jī)接收當(dāng)管理人員確認(rèn)被修改明細(xì)對(duì)應(yīng)的軟體文件修改為非授權(quán)人員的修改時(shí)而發(fā)出的備份還原請(qǐng)求,客戶端計(jì)算機(jī)將還原請(qǐng)求發(fā)送至服務(wù)器端; 5210、服務(wù)器端接收到還原請(qǐng)求之后,對(duì)請(qǐng)求的客戶端計(jì)算機(jī)進(jìn)行軟體文件還原。8.—種客戶端計(jì)算機(jī)內(nèi)軟體文件的監(jiān)測(cè)方法,包括以下步驟: 5301、客戶端計(jì)算機(jī)對(duì)其內(nèi)的軟體文件進(jìn)行備份并上傳至服務(wù)器端,以使服務(wù)器端以此作為判斷客戶端計(jì)算機(jī)內(nèi)的軟體文件是否被修改的基線,其中,軟體文件的備份包括文件位置目錄的備份、文件屬性的備份、文件內(nèi)容的備份; 5302、客戶端計(jì)算機(jī)在操作系統(tǒng)內(nèi)核即將對(duì)硬盤(pán)寫(xiě)入時(shí),攔截操作系統(tǒng)內(nèi)核對(duì)硬盤(pán)的寫(xiě)入函數(shù); 5303、客戶端計(jì)算機(jī)根據(jù)操作系統(tǒng)調(diào)用寫(xiě)入函數(shù)時(shí)傳遞的參數(shù)來(lái)獲取進(jìn)程的進(jìn)程ID號(hào)、被寫(xiě)入硬盤(pán)的位置目錄、被寫(xiě)入的文件屬性、被寫(xiě)入的文件內(nèi)容; 5304、客戶端計(jì)算機(jī)通過(guò)進(jìn)程ID獲取到對(duì)應(yīng)的進(jìn)程對(duì)象; 5305、客戶端計(jì)算機(jī)通過(guò)進(jìn)程堆棧讀取寫(xiě)入函數(shù)的返回地址進(jìn)行遞歸分析所述進(jìn)程對(duì)象的原始請(qǐng)求函數(shù)調(diào)用; 5306、客戶端計(jì)算機(jī)通過(guò)原始調(diào)用函數(shù)得到操作者IP、操作者提交的報(bào)文數(shù)據(jù),并將操作者IP、操作者提交的報(bào)文數(shù)據(jù)、被寫(xiě)入硬盤(pán)的位置目錄、該目錄下被寫(xiě)入的文件屬性以及被寫(xiě)入的文件內(nèi)容打包形成數(shù)據(jù)包上傳至服務(wù)器端; 5307、客戶端計(jì)算機(jī)接收客戶端計(jì)算機(jī)管理人員發(fā)出的備份還原請(qǐng)求,并將接收到的備份還原請(qǐng)求發(fā)送至服務(wù)器端; 5308、客戶端計(jì)算機(jī)根據(jù)服務(wù)器端的操作對(duì)客戶端內(nèi)的軟體文件進(jìn)行還原操作。9.一種對(duì)客戶端計(jì)算機(jī)內(nèi)軟體文件備份還原的方法: 5401、服務(wù)器端接收客戶端計(jì)算機(jī)對(duì)其內(nèi)的軟體文件進(jìn)行備份的備份文件,以此作為判斷客戶端計(jì)算機(jī)內(nèi)的軟體文件是否被修改的基線,其中,軟體文件對(duì)應(yīng)的備份文件包括:文件位置目錄的備份、文件屬性的備份、文件內(nèi)容的備份; 5402、服務(wù)器端接收客戶端計(jì)算機(jī)對(duì)每一被修改的軟體文件對(duì)應(yīng)的數(shù)據(jù)包,其中,數(shù)據(jù)包內(nèi)有操作者IP、操作者提交的報(bào)文數(shù)據(jù)、被寫(xiě)入硬盤(pán)的位置目錄、該目錄下被寫(xiě)入的文件屬性以及被寫(xiě)入的文件內(nèi)容; 5403、服務(wù)器端對(duì)接收到的數(shù)據(jù)包進(jìn)行分析,根據(jù)數(shù)據(jù)包內(nèi)的操作者IP得到入侵對(duì)象的原始來(lái)源,根據(jù)報(bào)文數(shù)據(jù)分析得到操作者的寫(xiě)入手段;將數(shù)據(jù)包中的被寫(xiě)入硬盤(pán)的位置目錄、該目錄下被寫(xiě)入文件屬性以及被寫(xiě)入文件內(nèi)容與備份的對(duì)應(yīng)文件進(jìn)行比對(duì),以得到在原備份的基礎(chǔ)上被修改的明細(xì),從而實(shí)現(xiàn)對(duì)客戶端計(jì)算機(jī)內(nèi)的軟體文件進(jìn)行監(jiān)測(cè)的目的; 5404、服務(wù)器端與基線對(duì)比得到修改的明細(xì)后,將此打包形成數(shù)據(jù)包并發(fā)送至對(duì)應(yīng)的客戶端計(jì)算機(jī)的管理人員; 5405、服務(wù)器端接收客戶端計(jì)算機(jī)發(fā)送的備份還原請(qǐng)求,對(duì)請(qǐng)求的客戶端計(jì)算機(jī)進(jìn)行軟體文件還原。10.—種客戶端計(jì)算機(jī)內(nèi)軟體文件的監(jiān)控還原系統(tǒng),其特征在于:包括客戶端計(jì)算機(jī)以及服務(wù)器端; 所述客戶端計(jì)算機(jī)包括: 備份上傳模塊,用于對(duì)客戶端計(jì)算機(jī)內(nèi)的軟體文件進(jìn)行備份并上傳至服務(wù)器端,以使服務(wù)器端以此作為判斷客戶端計(jì)算機(jī)內(nèi)的軟體文件是否被修改的基線,其中,軟體文件的備份包括文件位置目錄的備份、文件屬性的備份、文件內(nèi)容的備份; 攔截模塊,用于在客戶端計(jì)算機(jī)操作系統(tǒng)內(nèi)核即將對(duì)硬盤(pán)寫(xiě)入時(shí),攔截操作系統(tǒng)內(nèi)核對(duì)硬盤(pán)的寫(xiě)入函數(shù); 寫(xiě)入信息獲取模塊,用于根據(jù)操作系統(tǒng)調(diào)用寫(xiě)入函數(shù)時(shí)傳遞的參數(shù)來(lái)獲取進(jìn)程的進(jìn)程ID號(hào)、被寫(xiě)入硬盤(pán)的位置目錄、被寫(xiě)入的文件屬性、被寫(xiě)入的文件內(nèi)容; 進(jìn)程對(duì)象獲取模塊,用于通過(guò)進(jìn)程ID獲取到對(duì)應(yīng)的進(jìn)程對(duì)象; 第一分析模塊,用于通過(guò)進(jìn)程堆棧讀取寫(xiě)入函數(shù)的返回地址進(jìn)行遞歸分析所述進(jìn)程對(duì)象的原始請(qǐng)求函數(shù)調(diào)用; 操作者信息獲取模塊,用于通過(guò)原始調(diào)用函數(shù)得到操作者IP、操作者提交的報(bào)文數(shù)據(jù);數(shù)據(jù)包形成上傳模塊,用于將操作者IP、操作者提交的報(bào)文數(shù)據(jù)、被寫(xiě)入硬盤(pán)的位置目錄、該目錄下被寫(xiě)入的文件屬性以及被寫(xiě)入的文件內(nèi)容打包形成數(shù)據(jù)包上傳至服務(wù)器端;所述服務(wù)器端包括: 第二分析模塊,用于接收到數(shù)據(jù)包之后對(duì)該數(shù)據(jù)包,對(duì)數(shù)據(jù)包進(jìn)行分析,根據(jù)數(shù)據(jù)包內(nèi)的操作者IP得到入侵對(duì)象的原始來(lái)源,根據(jù)報(bào)文數(shù)據(jù)分析得到操作者的寫(xiě)入手段;將數(shù)據(jù)包中的被寫(xiě)入硬盤(pán)的位置目錄、該目錄下被寫(xiě)入文件屬性以及被寫(xiě)入文件內(nèi)容與備份的對(duì)應(yīng)文件進(jìn)行比對(duì),以得到在原備份的基礎(chǔ)上被修改的明細(xì),從而實(shí)現(xiàn)對(duì)客戶端計(jì)算機(jī)內(nèi)的軟體文件進(jìn)行監(jiān)測(cè)的目的; 數(shù)據(jù)包形成發(fā)送模塊,用于在服務(wù)器端與基線對(duì)比得到修改的明細(xì)后,將此打包形成數(shù)據(jù)包并發(fā)送至對(duì)應(yīng)的客戶端計(jì)算機(jī)的管理人員; 所述客戶端計(jì)算機(jī)還包括接收模塊,用于接收當(dāng)管理人員確認(rèn)被修改明細(xì)對(duì)應(yīng)的軟體文件修改為非授權(quán)人員的修改時(shí)而發(fā)出的備份還原請(qǐng)求; 還原請(qǐng)求發(fā)送模塊,用于將接收到的還原請(qǐng)求發(fā)送至服務(wù)器端; 服務(wù)器端還包括還原操作模塊,用于根據(jù)還原請(qǐng)求對(duì)對(duì)應(yīng)的客戶端計(jì)算機(jī)內(nèi)的軟體文件進(jìn)行還原操作。
【文檔編號(hào)】G06F21/62GK105930740SQ201610234679
【公開(kāi)日】2016年9月7日
【申請(qǐng)日】2016年4月15日
【發(fā)明人】舒小龍
【申請(qǐng)人】重慶鑫合信科技有限公司