本發(fā)明涉及互聯(lián)網(wǎng)領(lǐng)域,具體而言,涉及一種檢測入侵腳本文件的方法、裝置及系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,網(wǎng)絡(luò)安全成為當今最主要的問題。威脅網(wǎng)絡(luò)安全的網(wǎng)絡(luò)攻擊手段較多,常見的有Webshell攻擊,其中,Webshell為黑客進行網(wǎng)絡(luò)入侵的腳本攻擊工具。利用網(wǎng)絡(luò)站點的漏洞向被攻擊站點植入php、asp或者jsp等程序后門文件,然后通過正常的網(wǎng)絡(luò)訪問方式訪問這些后門文件,從而控制網(wǎng)絡(luò)服務(wù)器,執(zhí)行惡意攻擊操作,比如查看數(shù)據(jù)庫,執(zhí)行任意程序命令等。Webshell攻擊危害巨大,因此,阻止植入Webshell和快速查殺Webshell對于網(wǎng)絡(luò)安全防護具有非常重要的意義。
為了提高網(wǎng)絡(luò)安全,相關(guān)技術(shù)采用定時全盤掃描查殺機制,即定時掃描全盤文件,對每個文件依次進行內(nèi)容特征比對,從而發(fā)現(xiàn)并移除Webshell文件。但是,采用定時全盤掃描查殺這種被動防護方式來檢測網(wǎng)路服務(wù)器植入的入侵腳本文件(比如Webshell文件),將會導(dǎo)致檢測結(jié)果不準確,具體表現(xiàn)在:
1、時效性差。黑客可以利用兩次掃描之間的時間進行惡意攻擊,在Webshell文件被掃描到之前控制網(wǎng)絡(luò)站點和網(wǎng)絡(luò)服務(wù)器,執(zhí)行惡意操作。
2、漏殺新型Webshell文件。由于新型Webshell文件內(nèi)容特征未知,采用內(nèi)容特征比對的方式將不能發(fā)現(xiàn)Webshell文件,造成漏殺Webshell文件。
3、無主動防護能力。采用完全被動防護,進隊已經(jīng)存在于磁盤中的文件進行掃描,無法在Webshell文件的寫入過程主動分析和防御。而且,缺乏主動觸發(fā)機制,不能及時發(fā)現(xiàn)可疑文件并啟動掃描程序。
4、靈活性差。缺乏業(yè)務(wù)定制能力,無法根據(jù)業(yè)務(wù)合法性直接識別Webshell文件。
針對有技術(shù)采用被動防護方式來檢測網(wǎng)絡(luò)服務(wù)器植入的入侵腳本文件,導(dǎo)致檢測結(jié)果不準的問題,目前尚未提出有效的解決方案。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種檢測入侵腳本文件的方法、裝置及系統(tǒng),以至少解決有技術(shù)采用被動防護方式來檢測網(wǎng)絡(luò)服務(wù)器植入的入侵腳本文件,導(dǎo)致檢測結(jié)果不準的技術(shù)問題。
根據(jù)本發(fā)明實施例的一個方面,提供了一種檢測入侵腳本文件的方法,包括:攔截待檢測文件,其中,待檢測文件包括如下任意一種或多種類型的文件:待寫入網(wǎng)絡(luò)終端的文件和從網(wǎng)絡(luò)終端中待讀取的文件;檢測待檢測文件的讀寫參數(shù)是否滿足阻斷條件;在待檢測文件的讀寫參數(shù)滿足阻斷條件的情況下,阻斷讀寫待檢測文件。
根據(jù)本發(fā)明實施例的另一方面,還提供了一種檢測入侵腳本文件的裝置,包括:第一攔截模塊,用于攔截待檢測文件,其中,待檢測文件包括如下任意一種或多種類型的文件:待寫入網(wǎng)絡(luò)終端的文件和從網(wǎng)絡(luò)終端中待讀取的文件;檢測模塊,用于檢測待檢測文件的讀寫參數(shù)是否滿足阻斷條件;阻斷模塊,用于在待檢測文件的讀寫參數(shù)滿足阻斷條件的情況下,阻斷讀寫待檢測文件。
根據(jù)本發(fā)明實施例的另一方面,還提供了一種檢測入侵腳本文件的系統(tǒng),包括:后臺服務(wù)器,用于存儲用于檢測入侵腳本文件的防護程序;以及網(wǎng)絡(luò)終端,用于啟動防護程序,執(zhí)行以下步驟:攔截待檢測文件,其中,待檢測文件包括如下任意一種或多種類型的文件:待寫入網(wǎng)絡(luò)終端的文件和從網(wǎng)絡(luò)終端中待讀取的文件;檢測待檢測文件的讀寫參數(shù)是否滿足阻斷條件;在待檢測文件的讀寫參數(shù)滿足阻斷條件的情況下,阻斷讀寫待檢測文件。
在本發(fā)明實施例中,采用攔截待檢測文件,其中,待檢測文件包括如下任意一種或多種類型的文件:待寫入網(wǎng)絡(luò)終端的文件和從網(wǎng)絡(luò)終端中待讀取的文件;檢測待檢測文件的讀寫參數(shù)是否滿足阻斷條件;在待檢測文件的讀寫參數(shù)滿足阻斷條件的情況下,阻斷讀寫待檢測文件,通過在文件讀寫過程中主動檢測文件的讀寫參數(shù)是否滿足阻斷條件,在滿足阻斷條件的情況下及時阻斷讀寫該文件,以達到了及時準確地檢測入侵腳本文件的目的,從而實現(xiàn)了提高入侵腳本文件的檢測準確性,提高網(wǎng)絡(luò)安全的技術(shù)效果,進而解決了有技術(shù)采用被動防護方式來檢測網(wǎng)絡(luò)服務(wù)器植入的入侵腳本文件,導(dǎo)致檢測結(jié)果不準的技術(shù)問題。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:
圖1是本發(fā)明實施例的一種檢測入侵腳本文件的方法的計算機終端的硬件結(jié)構(gòu)框圖;
圖2是根據(jù)本發(fā)明實施例的檢測入侵腳本文件的方法的流程圖;
圖3是根據(jù)本發(fā)明實施例的一種可選地檢測入侵腳本文件的方法的流程圖;
圖4是根據(jù)本發(fā)明實施例的另一種可選地檢測入侵腳本文件的方法的流程圖;
圖5是根據(jù)本發(fā)明實施例的另一種可選地檢測入侵腳本文件的方法的流程圖;
圖6是根據(jù)本發(fā)明實施例的入侵腳本文件的檢測和處理的邏輯示意圖;
圖7是根據(jù)本發(fā)明實施例的檢測入侵腳本文件的裝置的示意圖;
圖8是根據(jù)本發(fā)明實施例的一種可選地檢測入侵腳本文件的裝置的示意圖;
圖9是根據(jù)本發(fā)明實施例的另一種可選地檢測入侵腳本文件的裝置的示意圖;
圖10是根據(jù)本發(fā)明實施例的另一種可選地檢測入侵腳本文件的裝置的示意圖;
圖11是根據(jù)本發(fā)明實施例的另一種可選地檢測入侵腳本文件的裝置的示意圖;
圖12是根據(jù)本發(fā)明實施例的另一種可選地檢測入侵腳本文件的裝置的示意圖;
圖13是根據(jù)本發(fā)明實施例的另一種可選地檢測入侵腳本文件的裝置的示意圖;
圖14是根據(jù)本發(fā)明實施例的檢測入侵腳本文件的系統(tǒng)的示意圖;以及
圖15是根據(jù)本發(fā)明實施例的一種計算機終端的結(jié)構(gòu)框圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當屬于本發(fā)明保護的范圍。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤4送?,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方 法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
在對本發(fā)明實施例進行描述的過程中出現(xiàn)的部分名詞或術(shù)語適用于如下解釋:
云主機:為電商云Linux操作系統(tǒng)服務(wù)器。
防護程序:為后臺服務(wù)器存儲的、用于檢測入侵腳本文件的程序。
讀寫函數(shù):包括讀函數(shù)和寫函數(shù)。
網(wǎng)絡(luò)服務(wù)器:可以向發(fā)出請求的瀏覽器提供文檔的程序。
內(nèi)容特征:文件內(nèi)容經(jīng)過某種算法構(gòu)造出的特征模塊,多種Webshell文件的內(nèi)容特征可以構(gòu)建特征庫,文件建模后與特征庫比對可實現(xiàn)Webshell文件識別。
實施例1
根據(jù)本發(fā)明實施例,還提供了一種檢測入侵腳本文件的方法的方法實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
本申請實施例一所提供的方法實施例可以在移動終端、計算機終端或者類似的運算裝置中執(zhí)行。以運行在計算機終端上為例,圖1是本發(fā)明實施例的一種檢測入侵腳本文件的方法的計算機終端的硬件結(jié)構(gòu)框圖。如圖1所示,計算機終端10可以包括一個或多個(圖中僅示出一個)處理器102(處理器102可以包括但不限于微處理器MCU或可編程邏輯器件FPGA等的處理裝置)、用于存儲數(shù)據(jù)的存儲器104、以及用于通信功能的傳輸裝置106。本領(lǐng)域普通技術(shù)人員可以理解,圖1所示的結(jié)構(gòu)僅為示意,其并不對上述電子裝置的結(jié)構(gòu)造成限定。例如,計算機終端10還可包括比圖1中所示更多或者更少的組件,或者具有與圖1所示不同的配置。
存儲器104可用于存儲應(yīng)用軟件的軟件程序以及模塊,如本發(fā)明實施例中的檢測入侵腳本文件的方法對應(yīng)的程序指令/模塊,處理器102通過運行存儲在存儲器104內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實現(xiàn)上述的檢測入侵腳本文件的方法。存儲器104可包括高速隨機存儲器,還可包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。在一些實例中,存儲器104可進一步包括相對于處理器102遠程設(shè)置的存儲器,這些遠程存儲器可以通過網(wǎng)絡(luò)連接至計算機終端10。上述網(wǎng)絡(luò)的實例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動通信網(wǎng)及其組合。
傳輸裝置106用于經(jīng)由一個網(wǎng)絡(luò)接收或者發(fā)送數(shù)據(jù)。上述的網(wǎng)絡(luò)具體實例可包括計算機終端10的通信供應(yīng)商提供的無線網(wǎng)絡(luò)。在一個實例中,傳輸裝置106包括一個網(wǎng)絡(luò)適配器(Network Interface Controller,NIC),其可通過基站與其他網(wǎng)絡(luò)設(shè)備相連從而可與互聯(lián)網(wǎng)進行通訊。在一個實例中,傳輸裝置106可以為射頻(Radio Frequency,RF)模塊,其用于通過無線方式與互聯(lián)網(wǎng)進行通訊。
在上述運行環(huán)境下,本申請?zhí)峁┝巳鐖D2所示的檢測入侵腳本文件的方法。圖2是根據(jù)本發(fā)明實施例的檢測入侵腳本文件的方法的流程圖,如圖2所示,該方法包括以下步驟:
步驟S22,攔截待檢測文件,其中,待檢測文件包括如下任意一種或多種類型的文件:待寫入網(wǎng)絡(luò)終端的文件和從網(wǎng)絡(luò)終端中待讀取的文件。
本發(fā)明實施例中的網(wǎng)絡(luò)終端可以是云主機,也可以是其它PC實體機,其中,本發(fā)明實施例中的云主機可以是電商云Linux操作系統(tǒng)服務(wù)器。網(wǎng)絡(luò)終端中可以運行至少一個服務(wù),每個服務(wù)對應(yīng)有至少一個進程和/或子進程。網(wǎng)絡(luò)終端中存在的至少一個服務(wù)包括防護程序?qū)?yīng)的常駐服務(wù),該防護程序為后臺服務(wù)器中存儲的、用于檢測入侵腳本文件的程序。
一種可選方案中,后臺服務(wù)器可以通過后臺通道將該防護程序下發(fā)至用戶的網(wǎng)絡(luò)終端,并作為常駐服務(wù)啟動。利用該防護程序可以檢索到網(wǎng)絡(luò)終端中網(wǎng)絡(luò)服務(wù)的所有進程和/或子進程。網(wǎng)絡(luò)終端可以通過對網(wǎng)絡(luò)服務(wù)的進程和/或子進程的進程空間進行分析,精確定位進程空間中讀寫函數(shù)的位置,通過控制進行加載庫文件,強制修改進程空間數(shù)據(jù)可以將該讀寫函數(shù)重定向,進而可以攔截到該讀寫函數(shù),利用該攔截到的讀寫函數(shù)可以實現(xiàn)對待檢測文件的讀寫。其中,讀寫函數(shù)包括讀函數(shù)和寫函數(shù)。
具體地,在允許讀寫攔截到的待檢測文件的情況下,利用讀寫函數(shù)可以實現(xiàn)對待檢測文件的讀寫。當攔截到的待檢測文件為待寫入網(wǎng)絡(luò)終端的文件時,如果當前攔截到的待寫入網(wǎng)絡(luò)終端的文件通過攔截條件驗證之后,可以利用寫函數(shù)實現(xiàn)將待寫入網(wǎng)絡(luò)終端的文件寫入網(wǎng)絡(luò)終端。當攔截到的待檢測文件為從網(wǎng)絡(luò)終端中待讀取的文件時,如果當前攔截到的待讀取的文件通過攔截條件驗證之后,可以利用讀函數(shù)實現(xiàn)從網(wǎng)絡(luò)終端中讀取待讀取的文件。
在步驟S22提供的技術(shù)方案中,攔截待檢測文件實質(zhì)為暫時阻斷待檢測文件的讀寫操作,并獲取待檢測文件的過程??蛇x地,獲取待檢測文件可以通過以下任意一種方式:
第一種方式,獲取待檢測文件的源地址,根據(jù)源地址查找到待檢測文件,進而獲 取待檢測文件;
第二種方式,在源地址和目標地址之間設(shè)置中間地址,控制待檢測文件的數(shù)據(jù)包從源地址轉(zhuǎn)發(fā)至中間地址,利用中間地址獲取待檢測文件。
可選地,在攔截到待檢測文件的同時,本發(fā)明實施例還可以獲取待檢測文件的讀寫參數(shù)。例如,當攔截到的待檢測文件為待寫入網(wǎng)絡(luò)終端的文件時,讀寫參數(shù)可以包括如下寫入?yún)?shù):待寫入的文件位置、待寫入的文件名等。當攔截到的待檢測文件為從網(wǎng)絡(luò)終端中待讀取的文件時,讀寫參數(shù)可以包括如下讀取參數(shù):待訪問的文件位置、待訪問文件名等。
待檢測文件的屬性可以為非入侵腳本文件,也可以為入侵腳本文件。本發(fā)明實施例對每個待寫入網(wǎng)絡(luò)終端的文件和每個從網(wǎng)絡(luò)終端中待讀取的文件均進行攔截操作,目的是為了對每個待檢測文件均進行入侵檢測,以提高入侵檢測準確性,保證網(wǎng)絡(luò)安全性。
步驟S24,檢測待檢測文件的讀寫參數(shù)是否滿足阻斷條件。
在步驟S24提供的技術(shù)方案中,對步驟S22攔截到的待檢測文件進行入侵檢測,對待檢測文件進行入侵檢測的具體過程包括:檢測待檢測文件的讀寫參數(shù)是否滿足阻斷條件。本發(fā)明實施例在攔截待檢測文件的同時,還獲取了待檢測文件的讀寫參數(shù),待檢測文件及其讀寫參數(shù)可以存儲在預(yù)設(shè)數(shù)據(jù)庫中,以便于入侵檢測時快速查找到。
本發(fā)明實施例中,可以根據(jù)待檢測文件的讀寫參數(shù)調(diào)用對應(yīng)的阻斷條件。例如:
當待檢測文件為待寫入網(wǎng)絡(luò)終端的文件時,其讀寫參數(shù)可以包括如下寫入?yún)?shù):待寫入的文件位置、待寫入的文件名等。相應(yīng)地,阻斷條件可以是設(shè)定了非法文件目錄以及非法文件名等條件。在待寫入網(wǎng)絡(luò)終端的文件的待寫入的文件位置為非法文件目錄,和/或待寫入的文件名為非法文件名的情況下,該待寫入網(wǎng)絡(luò)終端的文件為入侵腳本文件。
當待檢測文件為從網(wǎng)絡(luò)終端中待讀取的文件時,其讀寫參數(shù)可以包括如下讀取參數(shù):待訪問的文件位置、待訪問文件名等。相應(yīng)地,阻斷條件可以是設(shè)定了非法文件目錄以及非法文件名等條件。在從網(wǎng)絡(luò)終端中待讀取的文件的待訪問的文件位置為非法文件目錄,和/或待訪問文件名為非法文件名的情況下,該從網(wǎng)絡(luò)終端中待讀取的文件為入侵腳本文件。
需要說明的是,在本發(fā)明實施例的檢測入侵腳本文件的方法中,只要待檢測文件的讀寫參數(shù)中的任意一個子參數(shù)滿足阻斷條件,則說明該待檢測文件為入侵腳本文件, 需要立即阻斷讀取待檢測文件。本發(fā)明實施例通過檢測待檢測文件的讀寫參數(shù)是否滿足阻斷條件,可以在待檢測文件讀寫過程中主動防御入侵腳本文件,提高了實時阻斷能力,進而提高了網(wǎng)絡(luò)安全。
步驟S26,在待檢測文件的讀寫參數(shù)滿足阻斷條件的情況下,阻斷讀寫待檢測文件。
在步驟S24檢測待檢測文件的讀寫參數(shù)是否滿足阻斷條件之后,如果檢測到待檢測文件的讀寫參數(shù)滿足阻斷條件時,則執(zhí)行步驟S26。在步驟S26提供的技術(shù)方案中,如果待檢測文件的讀寫參數(shù)滿足阻斷條件,網(wǎng)絡(luò)終端將立即阻斷讀寫該待檢測文件,本發(fā)明實施例在待檢測文件讀寫過程中對待檢測文件進行入侵檢測,在未形成真實文件之前對其進行阻斷,提高了檢測入侵腳本文件的時效性和主動防護性。
作為一種可選地方案,如圖3所示,在步驟S24檢測待檢測文件的讀寫參數(shù)是否滿足阻斷條件之后,如果檢測到待檢測文件的讀寫參數(shù)不滿足阻斷條件時,該實施例的檢測入侵腳本文件的方法還可以執(zhí)行以下步驟S28。
步驟S28,當檢測到待檢測文件的讀寫參數(shù)不滿足阻斷條件時,允許讀寫待檢測文件。
在步驟S28提供的技術(shù)方案中,如果待檢測文件的讀寫參數(shù)不滿足阻斷條件,網(wǎng)絡(luò)終端將允許讀寫該待檢測文件。本發(fā)明實施例在待檢測文件讀寫過程中對待檢測文件進行入侵檢測,提高了檢測入侵腳本文件的時效性和主動防護性,只有在待檢測文件的讀寫參數(shù)不滿足阻斷條件時,網(wǎng)絡(luò)終端才允許讀寫該待檢測文件,進而提高了網(wǎng)絡(luò)終端的安全性。
需要說明的是,只要待檢測文件的讀寫參數(shù)中的任意一個參數(shù)或者子參數(shù)滿足阻斷條件,就能說明該待檢測文件為入侵腳本文件,網(wǎng)絡(luò)終端將會立即阻斷讀寫該待檢測文件。但是,只有待檢測文件的讀寫參數(shù)中的所有參數(shù)或者子參數(shù)都不滿足阻斷條件時,才說明待檢測文件為非入侵腳本文件,網(wǎng)絡(luò)終端才能允許讀寫待檢測文件。
例如,當待檢測文件為待寫入網(wǎng)絡(luò)終端的文件時,其讀寫參數(shù)可以包括:待寫入的文件位置和待寫入的文件名。在待寫入網(wǎng)絡(luò)終端的文件的待寫入的文件位置為非法文件目錄,和/或待寫入的文件名為非法文件名的情況下,可以確定該待寫入網(wǎng)絡(luò)終端的文件為入侵腳本文件;在待寫入網(wǎng)絡(luò)終端的文件的待寫入的文件位置不是非法文件目錄,且待寫入的文件名不是非法文件名的情況下,可以確定該待寫入網(wǎng)絡(luò)終端的文件不是可疑文件。但是,該待寫入網(wǎng)絡(luò)終端的文件到底是不是入侵腳本文件,還需要進一步對其文件內(nèi)容進行分析才能確定。
通過上述步驟,本發(fā)明實施例在待檢測文件讀寫過程中對待檢測文件的讀寫參數(shù)進行檢測,檢測讀寫參數(shù)是否滿足阻斷條件,在待檢測文件的讀寫參數(shù)滿足阻斷條件的情況下,網(wǎng)絡(luò)終端阻斷讀寫待檢測文件;在待檢測文件的讀寫參數(shù)不滿足阻斷條件的情況下,網(wǎng)絡(luò)終端允許讀寫待檢測文件。通過本發(fā)明實施例,解決了有技術(shù)采用被動防護方式來檢測網(wǎng)絡(luò)服務(wù)器植入的入侵腳本文件,導(dǎo)致檢測結(jié)果不準的技術(shù)問題,進而實現(xiàn)了提高入侵腳本文件的檢測準確度,提高網(wǎng)絡(luò)安全性的技術(shù)效果。
作為一種可選地實施例,圖3是根據(jù)本發(fā)明實施例的一種可選地檢測入侵腳本文件的方法的流程圖,如圖3所示,在步驟S22攔截待檢測文件之前,該實施例的檢測入侵腳本文件的方法還可以包括以下步驟:
步驟S202,監(jiān)控網(wǎng)絡(luò)終端中的網(wǎng)絡(luò)服務(wù)進程的進程空間,獲取進程空間中記錄的文件讀寫函數(shù)的位置。
該實施例中的網(wǎng)絡(luò)終端可以通過啟動防護程序,利用該防護程序?qū)W(wǎng)絡(luò)終端中的網(wǎng)絡(luò)服務(wù)進程的進程空間進行監(jiān)控。網(wǎng)絡(luò)終端啟動防護程序可以通過以下任意一種方式:檢測到存在對網(wǎng)絡(luò)頁面的操作時觸發(fā)啟動防護程序,或者檢測到存在文件讀寫請求時觸發(fā)啟動防護程序等。
作為一種可選地方案,防護程序可以為后臺服務(wù)器存儲的、用于檢測入侵腳本文件的程序。后臺服務(wù)器可以通過后臺通道將該防護程序下發(fā)至用戶的網(wǎng)絡(luò)終端作為常駐服務(wù)啟動。所謂常駐服務(wù)即為網(wǎng)絡(luò)終端每次初始化均啟動的服務(wù)。
作為另一種可選地方案,防護程序可以為網(wǎng)絡(luò)終端自身的應(yīng)用程序,存儲在網(wǎng)絡(luò)終端的存儲器中。當檢測到存在啟動防護程序的觸發(fā)信號時,比如網(wǎng)絡(luò)頁面上的操作觸發(fā)的信號,或者文件讀寫請求信號等,網(wǎng)絡(luò)終端立即啟動防護程序,利用該防護程序檢測入侵腳本文件。
防護程序可以檢索網(wǎng)絡(luò)中的所有進程,并獲取所有進程中每個進程的進程信息,包括進程名,進程數(shù),進程啟動參數(shù)以及進程綁定口號等。防護程序根據(jù)獲取到的進行信息可以查找到網(wǎng)絡(luò)終端中網(wǎng)絡(luò)服務(wù)的所有進程和/或子進程,并將其作為網(wǎng)絡(luò)服務(wù)進程。在獲取到網(wǎng)絡(luò)服務(wù)進程之后,利用該防護程序還可以監(jiān)控并分析網(wǎng)絡(luò)終端中網(wǎng)絡(luò)服務(wù)進程的進程空間,進而精確分析出進程空間中記錄的文件讀寫函數(shù)的位置。
步驟S204,將文件讀寫函數(shù)的位置進行重定向,以攔截讀寫函數(shù)。其中,當網(wǎng)絡(luò)終端中的網(wǎng)絡(luò)服務(wù)進程監(jiān)測到允許讀寫待檢測文件時,調(diào)用攔截到的讀寫函數(shù)來讀寫待檢測文件。
本申請上述步驟S204中,防護程序通過控制進程加載庫文件,通過強制修改進程 內(nèi)存空間數(shù)據(jù),更改網(wǎng)絡(luò)終端訪問的進程文件,從而實現(xiàn)讀寫函數(shù)的重定向,以達到攔截讀寫函數(shù)的目的。例如,Linux平臺下網(wǎng)絡(luò)服務(wù)器可執(zhí)行文件為elf格式,讀寫文件時使用glibc.so庫,利用ptrace技術(shù)可以使其加載特定庫文件,強制修改全局偏移表和過程鏈接表內(nèi)存數(shù)據(jù)可以達到網(wǎng)絡(luò)服務(wù)器進程讀寫函數(shù)重定向。需要說明的是,Windows平臺下可以使用遠程調(diào)用方式達到同樣的目的,此處不再贅述。
通過上述步驟S202至步驟S204,可以攔截到讀寫函數(shù),當網(wǎng)絡(luò)終端中的網(wǎng)絡(luò)服務(wù)進程監(jiān)測到允許讀寫待檢測文件時,該實施例可以調(diào)用攔截到的讀寫函數(shù)來讀寫待檢測文件。例如,待檢測文件(比如Webshell文件)寫入網(wǎng)絡(luò)終端(比如網(wǎng)絡(luò)服務(wù)器)的過程實質(zhì)為網(wǎng)絡(luò)服務(wù)器調(diào)用寫函數(shù)將Webshell文件的字節(jié)流寫入本地磁盤的過程,Webshell文件的運行過程實質(zhì)為從網(wǎng)絡(luò)服務(wù)器中讀取并執(zhí)行Webshell文件的過程。網(wǎng)絡(luò)服務(wù)器具有一定的文件讀寫規(guī)則,用戶可以根據(jù)自己的業(yè)務(wù)邏輯限制網(wǎng)絡(luò)服務(wù)器對特定位置、特定文件名文件的讀寫操作,當網(wǎng)絡(luò)服務(wù)器讀寫文件超出了規(guī)則限制即為非法訪問。
可選地,該實施例中網(wǎng)絡(luò)終端的阻斷規(guī)則可以支持實時更新,靈活可定制,能夠根據(jù)業(yè)務(wù)合法性直接識別和阻斷入侵腳本文件,具有良好的擴展性。
作為一種可選地實施例,當待檢測文件為待寫入網(wǎng)絡(luò)終端的文件時,待檢測文件的讀寫參數(shù)可以包括如下寫入?yún)?shù):待寫入的文件位置和待寫入文件名;其中,步驟S26中待檢測文件的讀寫參數(shù)滿足阻斷條件可以包括以下幾種條件,以及各種條件的各種可能的組合:
條件一,待寫入的文件位置為非法文件目錄;
條件二,待寫入文件名包括非法文件名;
條件三,待寫入的文件位置為非法文件目錄,且待寫入文件名包括非法文件名。
具體地,在滿足上述三種條件中的任意一種條件的情況下,則可以確定待寫入網(wǎng)絡(luò)終端的文件為入侵腳本文件,并阻斷待檢測文件寫入網(wǎng)絡(luò)終端。也就是說,在待寫入的文件位置為非法文件目錄的情況下,或在待寫入文件名包括非法文件名的情況下,或在待寫入的文件位置為非法文件目錄,且待寫入文件名包括非法文件名的情況下,則可以確定待寫入網(wǎng)絡(luò)終端的文件為入侵腳本文件,并阻斷待檢測文件寫入網(wǎng)絡(luò)終端。
該實施例規(guī)定了待檢測文件為待寫入網(wǎng)絡(luò)終端的文件時,阻斷待檢測文件寫入網(wǎng)絡(luò)終端的條件,只要待檢測文件的寫入?yún)?shù)滿足上述三種條件中的任意一種條件,即可確定待檢測文件為入侵腳本文件。該實施例通過檢測待寫入網(wǎng)絡(luò)終端的文件的寫入?yún)?shù)是否滿足阻斷條件,來判斷是否阻斷待檢測文件寫入網(wǎng)絡(luò)終端,當待檢測文件為 入侵腳本文件時,在待檢測文件寫入網(wǎng)絡(luò)終端之前就能將其進行阻斷,使其無法形成真實文件,具有主動防護性,且在寫入過程中進行實時阻斷,能夠加快發(fā)現(xiàn)可疑文件和可疑操作。
作為一種可選地實施例,當待檢測文件為從網(wǎng)絡(luò)終端中待讀取的文件時,讀寫參數(shù)可以包括如下讀取參數(shù):待訪問的文件位置和待訪問文件名;其中,步驟S26中待檢測文件的讀寫參數(shù)滿足阻斷條件可以包括以下幾種條件,以及各種條件的各種可能的組合:
條件一,待訪問的文件位置為非法文件目錄;
條件二,待訪問文件名包括非法文件名;
條件三,待訪問的文件置為非法文件目錄,且待訪問文件名包括非法擴展名。
在待訪問的文件位置為非法文件目錄的情況下,阻斷讀取待檢測文件;或在待訪問文件名包括非法文件名的情況下,阻斷讀取待檢測文件;或在待訪問的文件置為非法文件目錄,且待訪問文件名包括非法擴展名的情況下,阻斷讀取待檢測文件。
具體地,在滿足上述三種條件中的任意一種條件的情況下,則可以確定從網(wǎng)絡(luò)終端中待讀取的文件為入侵腳本文件,并阻斷讀取待檢測文件。也就是說,在待訪問的文件位置為非法文件目錄的情況下,或在待訪問文件名包括非法文件名的情況下,或在待訪問的文件置為非法文件目錄,且待訪問文件名包括非法擴展名的情況下,則可以確定從網(wǎng)絡(luò)終端中待讀取的文件為入侵腳本文件,并阻斷讀取待檢測文件。
該實施例規(guī)定了待檢測文件為從網(wǎng)絡(luò)終端中待讀取的文件時,阻斷讀取待檢測文件的條件,只要待檢測文件的讀取參數(shù)滿足上述三種條件中的任意一種條件,即可確定待檢測文件為入侵腳本文件。該實施例通過檢測從網(wǎng)絡(luò)終端中待讀取的文件的讀取參數(shù)是否滿足阻斷條件,來判斷是否阻斷讀取待檢測文件,當待檢測文件為入侵腳本文件時,在從網(wǎng)絡(luò)終端中讀取待檢測文件之前就能將其進行阻斷,有效地加快了檢測入侵腳本文件的過程,同時能夠提高入侵腳本文件檢測的準確性,進而達到提高網(wǎng)絡(luò)安全的目的。
需要說明的是,上述實施例中的待檢測文件的讀寫參數(shù)僅為本發(fā)明的優(yōu)選實施例,并不限定本發(fā)明實施例中的待檢測文件的讀寫參數(shù)僅包括上述參數(shù)。
作為一種可選地實施例,當待檢測文件為從網(wǎng)絡(luò)終端中待讀取的文件時,如果檢測到待檢測文件的讀取參數(shù)滿足阻斷條件,網(wǎng)絡(luò)終端將會阻斷讀取待檢測文件。在阻斷讀取待檢測文件之后,該實施例的檢測入侵腳本文件的方法還可以包括:掃描保存 待讀取的文件的文件目錄,查找文件目錄下包含的入侵腳本文件。
例如,待檢測文件位于網(wǎng)絡(luò)服務(wù)器的第一文件目錄下,當網(wǎng)絡(luò)服務(wù)器中的網(wǎng)絡(luò)服務(wù)進程監(jiān)控到需要讀取第一文件目錄下的文件時,在檢測到第一文件目錄為非法文件目錄的情況下,網(wǎng)絡(luò)終端立即阻斷讀取第一文件目錄下的文件,并對第一文件目錄下的所有文件進行掃描,以進一步地查找到入侵腳本文件,比如Webshell文件,以達到阻斷讀取Webshell文件的目的。
該實施例在確定從網(wǎng)絡(luò)終端中待讀取的文件為入侵腳本文件的情況下,采取掃描并保存待讀取的文件的文件目錄的方式,以查找到該文件目錄下包含的入侵腳本文件。該實施例通過采取在疑似文件目錄中掃描文件,進一步精確查找入侵腳本文件的方式,能夠精確定位入侵腳本文件所在的位置,并對其進行阻斷讀取操作,提高了入侵腳本文件檢測的準確度,進而保障了網(wǎng)絡(luò)安全。
作為一種可選地實施例,圖4是根據(jù)本發(fā)明實施例的另一種可選地檢測入侵腳本文件的方法的流程圖,如圖4所示,在步驟S28網(wǎng)絡(luò)終端允許讀寫待檢測文件之后,該實施例的檢測入侵腳本文件的方法還可以包括以下步驟:
步驟S30,調(diào)用攔截到的寫函數(shù)將待檢測文件的字節(jié)流寫入本地磁盤。
在網(wǎng)絡(luò)終端允許讀寫待檢測文件的情況下,利用步驟S206攔截到的讀寫函數(shù)可以對待檢測文件進行讀寫操作,其中,讀寫函數(shù)包括讀函數(shù)和寫函數(shù)。待檢測文件寫入網(wǎng)絡(luò)終端的過程實質(zhì)為網(wǎng)絡(luò)終端調(diào)用寫函數(shù)將待檢測文件的字節(jié)流寫入本地磁盤的過程。待檢測文件的運行過程實質(zhì)為從網(wǎng)絡(luò)終端中讀取并執(zhí)行待檢測文件的過程。
步驟S32,在待檢測文件的字節(jié)流寫入本地磁盤的同時,將待檢測文件的字節(jié)流與預(yù)設(shè)的任意一個或多個關(guān)鍵特征字符進行字符匹配。
本發(fā)明實施例在文件讀取過程中,通過檢測待檢測文件的讀寫參數(shù)是否滿足阻斷條件,實現(xiàn)了粗略地檢測入侵腳本文件。考慮到入侵腳本文件在實際應(yīng)用中可能隱藏較深,該實施例對讀寫參數(shù)不滿足阻斷條件的待檢測文件繼續(xù)進行了進一步地檢測。在步驟S32提供的技術(shù)方案中,在將待檢測文件的字節(jié)流寫入本地磁盤的同時,檢測待檢測文件的字節(jié)流與預(yù)設(shè)的任意一個或多個關(guān)鍵特征字符是否匹配。
可選地,該實施例對待檢測文件的字節(jié)流中的字符逐個進行檢測,以達到避免漏查、漏殺的問題。預(yù)設(shè)的任意一個或多個關(guān)鍵特征字符是實時更新的,確保了檢測入侵腳本文件的準確性,進而提高了網(wǎng)絡(luò)安全。
步驟S34,在待檢測文件的字節(jié)流與預(yù)設(shè)的任意一個或多個關(guān)鍵特征字符匹配成 功的情況下,在待檢測文件寫入完成之后即時啟動對待檢測文件進行入侵文件掃描,或確定待檢測文件為入侵腳本文件。
在步驟S34提供的技術(shù)方案中,在檢測到待檢測文件的字節(jié)流與預(yù)設(shè)的任意一個或多個關(guān)鍵特征字符匹配成功的情況下,說明待檢測文件為疑似入侵腳本文件,故該實施例將會啟動對該待檢測文件進行入侵文件掃描,以達到進一步檢測入侵腳本文件的目的。
該實施例通過逐個檢測待檢測文件的字節(jié)流中的字符是否與預(yù)設(shè)的入侵腳本文件的關(guān)鍵特征的字符匹配,達到了進一步精確地檢測入侵腳本文件的目的,進而解決了入侵腳本文件檢測結(jié)果不準確的技術(shù)問題,實現(xiàn)了提高入侵腳本文件的檢測準確性,提高網(wǎng)絡(luò)安全的技術(shù)效果。
作為一種可選地實施例,圖5是根據(jù)本發(fā)明實施例的另一種可選地檢測入侵腳本文件的方法的流程圖,如圖5所示,步驟S34對待檢測文件進行入侵文件掃描的過程可以包括以下步驟:
步驟S342,將待檢測文件的文件內(nèi)容與入侵文件特征數(shù)據(jù)中的特征數(shù)據(jù)進行匹配。
步驟S344,在待檢測文件的文件內(nèi)容與入侵文件特征數(shù)據(jù)中的任意一個或多個特征數(shù)據(jù)匹配成功的情況下,確定待檢測文件為入侵腳本文件。
在對待檢測文件的字節(jié)流與預(yù)設(shè)的關(guān)鍵特征字符進行字符匹配之后,如果字符匹配成功,該實施例將會對待檢測文件進行進一步地檢測過程,即檢測待檢測文件的文件內(nèi)容與入侵文件特征數(shù)據(jù)中的特征數(shù)據(jù)是否匹配。在待檢測文件的文件內(nèi)容與入侵文件特征數(shù)據(jù)中的任意一個或多個特征數(shù)據(jù)匹配成功的情況下,則可以確定該待檢測文件為入侵腳本文件。
該實施例通過進一步地檢測待檢測文件的文件內(nèi)容,能夠更加精確地對入侵腳本文件進行檢測。可選地,入侵文件特征數(shù)據(jù)也是實時更新的,以確保入侵腳本文件的檢測準確度。
需要說明的是,本發(fā)明實施例對待檢測文件進行入侵檢測的過程包括以下三個階段:
第一階段,待檢測文件寫入網(wǎng)絡(luò)終端之前,本發(fā)明實施例通過檢測待檢測文件的讀寫參數(shù)是否滿足阻斷條件確定其是否為入侵腳本文件。其中,當待檢測文件的讀寫參數(shù)滿足阻斷條件時,確定待檢測文件為入侵腳本文件。
第二階段,在待檢測文件的讀寫參數(shù)不滿足阻斷條件的情況下,網(wǎng)絡(luò)終端允許讀 寫待檢測文件。本發(fā)明實施例在待檢測文件寫入網(wǎng)絡(luò)終端的同時,檢測待檢測文件的字節(jié)流與預(yù)設(shè)的任意一個或多個關(guān)鍵特征字符是否匹配。其中,當待檢測文件的文件內(nèi)容與入侵文件特征數(shù)據(jù)中的任意一個或多個特征數(shù)據(jù)匹配成功時,確定待檢測文件為入侵腳本文件。
第三階段,在待檢測文件的字節(jié)流與預(yù)設(shè)的任意一個或多個關(guān)鍵特征字符匹配成功的情況下,本發(fā)明實施例在待檢測文件寫入完成之后即時啟動對待檢測文件進行入侵文件掃描,進一步地檢測待檢測文件的文件內(nèi)容與入侵文件特征數(shù)據(jù)中的特征數(shù)據(jù)是否匹配。其中,當待檢測文件的文件內(nèi)容與入侵文件特征數(shù)據(jù)中的任意一個或多個特征數(shù)據(jù)匹配成功時,確定待檢測文件為入侵腳本文件。
本發(fā)明實施例設(shè)計了逐層的入侵檢測規(guī)則,對待檢測文件進行了全面的檢測,極大地提高了入侵腳本文件檢測結(jié)果的準確性,進而達到了提高網(wǎng)絡(luò)安全的技術(shù)效果。
作為一種可選地實施例,該實施例中網(wǎng)絡(luò)終端的進程至少包括如下任意一個或多個信息:進程名、進程數(shù)、進程啟動參數(shù)以及進程綁定端口號。其中,根據(jù)網(wǎng)絡(luò)終端的所有進程的進程名、進程數(shù)、進程啟動參數(shù)以及進程綁定端口號,可以查找到網(wǎng)絡(luò)服務(wù)的所有進程和/或子進程,該網(wǎng)絡(luò)服務(wù)的所有進程和/或子進程將會作為網(wǎng)絡(luò)服務(wù)進程。網(wǎng)絡(luò)終端利用防護程序可以分析網(wǎng)絡(luò)服務(wù)進程的進程空間,可以攔截到讀寫函數(shù),利用該攔截到的讀寫函數(shù)可以實現(xiàn)對待檢測文件的讀寫操作。
以網(wǎng)絡(luò)服務(wù)器檢測Webshell文件為例:
網(wǎng)絡(luò)服務(wù)器可以通過實時分析文件的讀寫參數(shù),比如通過對文件位置、文件擴展名等進行分析能夠?qū)崟r發(fā)現(xiàn)Webshell文件,并阻斷Webshell文件寫入網(wǎng)絡(luò)服務(wù)器。網(wǎng)絡(luò)服務(wù)器還可以通過詳細分析寫入本地磁盤的字節(jié)流,能夠快速發(fā)現(xiàn)疑似Webshell文件。網(wǎng)絡(luò)服務(wù)器還可以監(jiān)控自身的訪問位置,實現(xiàn)快速判斷是否已經(jīng)有Webshell文件入侵。
圖6是根據(jù)本發(fā)明實施例的入侵腳本文件的檢測和處理的邏輯示意圖,如圖6所示,網(wǎng)絡(luò)終端針對不同的文件讀寫動作對待檢測文件采取不同的處理策略。
針對待寫入網(wǎng)絡(luò)終端的文件,網(wǎng)絡(luò)終端將檢測待寫入的文件位置是否為非法文件目錄,在檢測到待寫入的文件位置為非法文件目錄的情況下,確定該文件為入侵腳本文件,并阻斷該文件寫入網(wǎng)絡(luò)終端,該情況如圖6所示的第一分支,針對寫非法目錄文件采取實時阻斷處理。
針對待寫入網(wǎng)絡(luò)終端的文件,網(wǎng)絡(luò)終端將檢測待寫入文件名是否為非法文件名,在檢測到待寫入文件名為非法文件名的情況下,確定該文件為入侵腳本文件,并阻斷 該文件寫入網(wǎng)絡(luò)終端,該情況如圖6所示的第二分支,針對寫非法擴展名文件采取實時阻斷處理。
針對待寫入網(wǎng)絡(luò)終端的文件,如果文件的讀寫參數(shù)不滿足阻斷條件,在將該文件的字節(jié)流寫入網(wǎng)絡(luò)終端的同時,將其字節(jié)流與預(yù)設(shè)的任意一個或多個關(guān)鍵特征字符進行字符匹配。如果含有類似Webshell文件的特征信息,在將其寫入網(wǎng)絡(luò)終端后立即開啟文件內(nèi)容掃描,精確檢測其是否為Webshell文件。該情況如圖6所示的第三分支,針對內(nèi)容信息可疑文件采取觸發(fā)文件內(nèi)容掃描處理。
針對從網(wǎng)絡(luò)終端中待讀取的文件,如果待訪問的文件位置為非法文件目錄,和/或待訪問文件名為非法文件名,網(wǎng)絡(luò)終端將阻斷其讀取過程。此時確定該非法文件目錄下存在疑似Webshell文件,則需要對該非法文件目錄下的所有文件進行掃描,精確查找Webshell文件。該情況如圖6所示的第四分支,針對訪問非法目錄文件采取實時阻斷,并對非法目錄下的所有文件進行掃描處理。
本發(fā)明實施例的檢測入侵腳本文件的方法,使用C/C++語言開發(fā)可執(zhí)行文件,應(yīng)用于X86-64Linux服務(wù)器能夠達到最佳實施效果。本發(fā)明實施例能夠達到以下技術(shù)效果:
1、時效性強,具有實時阻斷能力,并能快速發(fā)現(xiàn)可疑文件和可疑操作。
2、能夠識別利用傳統(tǒng)的內(nèi)容特征對比無法的識別新型webshell文件。網(wǎng)絡(luò)服務(wù)器有特定訪問規(guī)則,本發(fā)明實施例通過對網(wǎng)絡(luò)服務(wù)器的文件讀寫合法性進行分析判斷,能夠阻斷內(nèi)容特征已知的webshell文件和內(nèi)容特征未知的新型webshell文件。
3、具有主動防護性。本發(fā)明實施例在入侵腳本文件寫入本地磁盤之前就能阻斷其寫入過程,使其無法形成真實文件。本發(fā)明實施例還可以對文件可疑字節(jié)流進行分析,在文件寫入本地磁盤后立即啟動文件掃描程序,提高了入侵腳本文件檢測結(jié)果的準確性。本發(fā)明實施例在網(wǎng)絡(luò)進程有可以訪問行為時采取主動啟動文件掃描的方式能夠主動防御入侵腳本文件。
4、具有良好的擴展性。本發(fā)明實施例中的阻斷規(guī)則支持實時更新,靈活可定制,能夠根據(jù)業(yè)務(wù)合法性直接識別和阻斷webshell文件。
5、技術(shù)手段獨特,網(wǎng)絡(luò)服務(wù)器利用攔截到的讀寫函數(shù),可獲取入侵腳本文件的詳細參數(shù),包括字節(jié)流信息,能夠多維度地進行webshell文件的探測和處理。
需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限 制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機,計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
實施例2
根據(jù)本發(fā)明實施例,還提供了一種用于實施上述檢測入侵腳本文件的方法的檢測入侵腳本文件的裝置,圖7是根據(jù)本發(fā)明實施例的檢測入侵腳本文件的裝置的示意圖,如圖7所示,該裝置包括:第一攔截模塊72,檢測模塊74,阻斷模塊76。
第一攔截模塊72,用于攔截待檢測文件,其中,待檢測文件包括如下任意一種或多種類型的文件:待寫入網(wǎng)絡(luò)終端的文件和從網(wǎng)絡(luò)終端中待讀取的文件;檢測模塊74,用于檢測待檢測文件的讀寫參數(shù)是否滿足阻斷條件;阻斷模塊76,用于在待檢測文件的讀寫參數(shù)滿足阻斷條件的情況下,阻斷讀寫待檢測文件。
作為一種可選地方案,如圖8所示,該裝置還可以包括:讀寫模塊78,用于在待檢測文件的讀寫參數(shù)不滿足阻斷條件的情況下,網(wǎng)絡(luò)終端允許讀寫待檢測文件。
該實施例中的第一攔截模塊72可以用于執(zhí)行本發(fā)明實施例中的步驟S22,檢測模塊74可以用于執(zhí)行本發(fā)明實施例中的步驟S24,阻斷模塊76可以用于執(zhí)行本發(fā)明實施例中的步驟S26,讀寫模塊78可以用于執(zhí)行本發(fā)明實施例中的步驟S28。
第一攔截模塊72中的網(wǎng)絡(luò)終端可以是云主機,也可以是其它PC實體機,其中,本發(fā)明實施例中的云主機可以是電商云Linux操作系統(tǒng)服務(wù)器。網(wǎng)絡(luò)終端中可以運行至少一個服務(wù),每個服務(wù)對應(yīng)有至少一個進程和/或子進程。網(wǎng)絡(luò)終端中存在的至少一個服務(wù)包括防護程序?qū)?yīng)的常駐服務(wù),該防護程序為后臺服務(wù)器中存儲的、用于檢測入侵腳本文件的程序。
一種可選方案中,后臺服務(wù)器可以通過后臺通道將該防護程序下發(fā)至用戶的網(wǎng)絡(luò)終端,并作為常駐服務(wù)啟動。利用該防護程序可以檢索到網(wǎng)絡(luò)終端中網(wǎng)絡(luò)服務(wù)的所有進程和/或子進程。網(wǎng)絡(luò)終端可以通過對網(wǎng)絡(luò)服務(wù)的進程和/或子進程的進程空間進行 分析,精確定位進程空間中讀寫函數(shù)的位置,通過控制進行加載庫文件,強制修改進程空間數(shù)據(jù)可以將該讀寫函數(shù)重定向,進而可以攔截到該讀寫函數(shù),利用該攔截到的讀寫函數(shù)可以實現(xiàn)對待檢測文件的讀寫。其中,讀寫函數(shù)包括讀函數(shù)和寫函數(shù)。
具體地,在允許讀寫攔截到的待檢測文件的情況下,利用讀寫函數(shù)可以實現(xiàn)對待檢測文件的讀寫。當攔截到的待檢測文件為待寫入網(wǎng)絡(luò)終端的文件時,如果當前攔截到的待寫入網(wǎng)絡(luò)終端的文件通過攔截條件驗證之后,可以利用寫函數(shù)實現(xiàn)將待寫入網(wǎng)絡(luò)終端的文件寫入網(wǎng)絡(luò)終端。當攔截到的待檢測文件為從網(wǎng)絡(luò)終端中待讀取的文件時,如果當前攔截到的待讀取的文件通過攔截條件驗證之后,可以利用讀函數(shù)實現(xiàn)從網(wǎng)絡(luò)終端中讀取待讀取的文件。
在第一攔截模塊72提供的技術(shù)方案中,攔截待檢測文件實質(zhì)為暫時阻斷待檢測文件的讀寫操作,并獲取待檢測文件的過程??蛇x地,第一攔截模塊72獲取待檢測文件可以通過以下任意一種方式:
第一種方式,獲取待檢測文件的源地址,根據(jù)源地址查找到待檢測文件,進而獲取待檢測文件;
第二種方式,在源地址和目標地址之間設(shè)置中間地址,控制待檢測文件的數(shù)據(jù)包從源地址轉(zhuǎn)發(fā)至中間地址,利用中間地址獲取待檢測文件。
可選地,第一攔截模塊72在攔截到待檢測文件的同時,還可以獲取待檢測文件的讀寫參數(shù)。例如,當攔截到的待檢測文件為待寫入網(wǎng)絡(luò)終端的文件時,讀寫參數(shù)可以包括如下寫入?yún)?shù):待寫入的文件位置、待寫入的文件名等。當攔截到的待檢測文件為從網(wǎng)絡(luò)終端中待讀取的文件時,讀寫參數(shù)可以包括如下讀取參數(shù):待訪問的文件位置、待訪問文件名等。
待檢測文件的屬性可以為非入侵腳本文件,也可以為入侵腳本文件。第一攔截模塊72對每個待寫入網(wǎng)絡(luò)終端的文件和每個從網(wǎng)絡(luò)終端中待讀取的文件均進行攔截操作,目的是為了對每個待檢測文件均進行入侵檢測,以提高入侵檢測準確性,保證網(wǎng)絡(luò)安全性。
在檢測模塊74提供的技術(shù)方案中,對第一攔截模塊72攔截到的待檢測文件進行入侵檢測,檢測模塊74對待檢測文件進行入侵檢測的具體過程包括:檢測待檢測文件的讀寫參數(shù)是否滿足阻斷條件。第一攔截模塊72在攔截待檢測文件的同時,還獲取了待檢測文件的讀寫參數(shù),待檢測文件及其讀寫參數(shù)可以存儲在預(yù)設(shè)數(shù)據(jù)庫中,以便于入侵檢測時快速查找到。
檢測模塊74可以根據(jù)待檢測文件的讀寫參數(shù)調(diào)用相應(yīng)的阻斷條件。例如:
當待檢測文件為待寫入網(wǎng)絡(luò)終端的文件時,其讀寫參數(shù)可以包括如下寫入?yún)?shù):待寫入的文件位置、待寫入的文件名等。相應(yīng)地,阻斷條件可以是設(shè)定了非法文件目錄以及非法文件名等條件。在待寫入網(wǎng)絡(luò)終端的文件的待寫入的文件位置為非法文件目錄,和/或待寫入的文件名為非法文件名的情況下,該待寫入網(wǎng)絡(luò)終端的文件為入侵腳本文件。
當待檢測文件為從網(wǎng)絡(luò)終端中待讀取的文件時,其讀寫參數(shù)可以包括如下讀取參數(shù):待訪問的文件位置、待訪問文件名等。相應(yīng)地,阻斷條件可以是設(shè)定了非法文件目錄以及非法文件名等條件。在從網(wǎng)絡(luò)終端中待讀取的文件的待訪問的文件位置為非法文件目錄,和/或待訪問文件名為非法文件名的情況下,該從網(wǎng)絡(luò)終端中待讀取的文件為入侵腳本文件。
需要說明的是,只要待檢測文件的讀寫參數(shù)中的任意一個子參數(shù)滿足阻斷條件,則說明該待檢測文件為入侵腳本文件,需要立即阻斷讀取待檢測文件。
檢測模塊74通過檢測待檢測文件的讀寫參數(shù)是否滿足阻斷條件,可以在待檢測文件讀寫過程中主動防御入侵腳本文件,提高了實時阻斷能力,進而提高了網(wǎng)絡(luò)安全。
在阻斷模塊76和讀寫模塊78提供的技術(shù)方案中,如果待檢測文件的讀寫參數(shù)滿足阻斷條件,網(wǎng)絡(luò)終端將立即阻斷讀寫該待檢測文件。如果待檢測文件的讀寫參數(shù)不滿足阻斷條件,網(wǎng)絡(luò)終端將允許讀寫該待檢測文件。本發(fā)明實施例在待檢測文件讀寫過程中對待檢測文件進行入侵檢測,在未形成真實文件之前對其進行阻斷,提高了檢測入侵腳本文件的時效性和主動防護性。
需要說明的是,只要待檢測文件的讀寫參數(shù)中的任意一個參數(shù)或者子參數(shù)滿足阻斷條件,就能說明該待檢測文件為入侵腳本文件,網(wǎng)絡(luò)終端將會立即阻斷讀寫該待檢測文件。但是,只有待檢測文件的讀寫參數(shù)中的所有參數(shù)或者子參數(shù)都不滿足阻斷條件時,才說明待檢測文件為非入侵腳本文件,網(wǎng)絡(luò)終端才能允許讀寫待檢測文件。
例如,當待檢測文件為待寫入網(wǎng)絡(luò)終端的文件時,其讀寫參數(shù)可以包括:待寫入的文件位置和待寫入的文件名。在待寫入網(wǎng)絡(luò)終端的文件的待寫入的文件位置為非法文件目錄,和/或待寫入的文件名為非法文件名的情況下,該待寫入網(wǎng)絡(luò)終端的文件為入侵腳本文件;在待寫入網(wǎng)絡(luò)終端的文件的待寫入的文件位置不是非法文件目錄,且待寫入的文件名不是非法文件名的情況下,該待寫入網(wǎng)絡(luò)終端的文件才不是可疑文件。但是,該待寫入網(wǎng)絡(luò)終端的文件到底是不是入侵腳本文件,還需要進一步對其文件內(nèi)容進行分析才能確定。
該實施例的檢測入侵腳本文件的裝置,在待檢測文件讀寫過程中對待檢測文件的 讀寫參數(shù)進行檢測,檢測讀寫參數(shù)是否滿足阻斷條件,在待檢測文件的讀寫參數(shù)滿足阻斷條件的情況下,網(wǎng)絡(luò)終端阻斷讀寫待檢測文件;在待檢測文件的讀寫參數(shù)不滿足阻斷條件的情況下,網(wǎng)絡(luò)終端允許讀寫待檢測文件。通過實施例,解決了有技術(shù)采用被動防護方式來檢測網(wǎng)絡(luò)服務(wù)器植入的入侵腳本文件,導(dǎo)致檢測結(jié)果不準的技術(shù)問題,進而實現(xiàn)了提高入侵腳本文件的檢測準確度,提高網(wǎng)絡(luò)安全性的技術(shù)效果。
作為一種可選地實施例,圖8是根據(jù)本發(fā)明實施例的一種可選地檢測入侵腳本文件的裝置的示意圖,如圖8所示,該裝置還可以包括:
監(jiān)控模塊702,用于監(jiān)控網(wǎng)絡(luò)終端中的網(wǎng)絡(luò)服務(wù)進程的進程空間,獲取進程空間中記錄的文件讀寫函數(shù)的位置;第二攔截模塊704,用于將文件讀寫函數(shù)的位置進行重定向,以攔截讀寫函數(shù);其中,當網(wǎng)絡(luò)終端中的網(wǎng)絡(luò)服務(wù)進程監(jiān)測到允許讀寫待檢測文件時,調(diào)用攔截到的讀寫函數(shù)來讀寫待檢測文件。
監(jiān)控模塊702中的網(wǎng)絡(luò)終端可以通過啟動防護程序,利用該防護程序?qū)W(wǎng)絡(luò)終端中的網(wǎng)絡(luò)服務(wù)進程的進程空間進行監(jiān)控。
作為一種可選地方案,防護程序可以為后臺服務(wù)器存儲的、用于檢測入侵腳本文件的程序。后臺服務(wù)器可以通過后臺通道將該防護程序下發(fā)至用戶的網(wǎng)絡(luò)終端作為常駐服務(wù)啟動。所謂常駐服務(wù)即為網(wǎng)絡(luò)終端每次初始化均啟動的服務(wù)。
作為另一種可選地方案,防護程序可以為網(wǎng)絡(luò)終端自身的應(yīng)用程序,存儲在網(wǎng)絡(luò)終端的存儲器中。當檢測到存在啟動防護程序的觸發(fā)信號時,比如網(wǎng)絡(luò)頁面上的操作觸發(fā)的信號,或者文件讀寫請求信號等,網(wǎng)絡(luò)終端立即啟動防護程序,利用該防護程序檢測入侵腳本文件。
利用防護程序可以檢索網(wǎng)絡(luò)中的所有進程,并獲取所有進程中每個進程的進程信息,包括進程名,進程數(shù),進程啟動參數(shù)以及進程綁定口號等。防護程序根據(jù)獲取到的進行信息可以查找到網(wǎng)絡(luò)終端中網(wǎng)絡(luò)服務(wù)的所有進程和/或子進程,并將其作為網(wǎng)絡(luò)服務(wù)進程。在獲取到網(wǎng)絡(luò)服務(wù)進程之后,利用該防護程序還可以監(jiān)控并分析網(wǎng)絡(luò)終端中網(wǎng)絡(luò)服務(wù)進程的進程空間,進而精確分析出進程空間中記錄的文件讀寫函數(shù)的位置。
防護程序通過控制進程加載庫文件,通過強制修改進程內(nèi)存空間數(shù)據(jù),更改網(wǎng)絡(luò)終端訪問的進程文件,從而實現(xiàn)讀寫函數(shù)的重定向,以達到攔截讀寫函數(shù)的目的。例如,Linux平臺下網(wǎng)絡(luò)服務(wù)器可執(zhí)行文件為elf格式,讀寫文件時使用glibc.so庫,利用ptrace技術(shù)可以使其加載特定庫文件,強制修改全局偏移表和過程鏈接表內(nèi)存數(shù)據(jù)可以達到網(wǎng)絡(luò)服務(wù)器進程讀寫函數(shù)重定向。需要說明的是,Windows平臺下可以使用遠程調(diào)用方式達到同樣的目的,此處不再贅述。
通過上述模塊702至704,可以攔截到讀寫函數(shù),當網(wǎng)絡(luò)終端中的網(wǎng)絡(luò)服務(wù)進程監(jiān)測到允許讀寫待檢測文件時,該實施例可以調(diào)用攔截到的讀寫函數(shù)來讀寫待檢測文件。例如,待檢測文件(比如Webshell文件)寫入網(wǎng)絡(luò)終端(比如網(wǎng)絡(luò)服務(wù)器)的過程實質(zhì)為網(wǎng)絡(luò)服務(wù)器調(diào)用寫函數(shù)將Webshell文件的字節(jié)流寫入本地磁盤的過程,Webshell文件的運行過程實質(zhì)為從網(wǎng)絡(luò)服務(wù)器中讀取并執(zhí)行Webshell文件的過程。網(wǎng)絡(luò)服務(wù)器具有一定的文件讀寫規(guī)則,用戶可以根據(jù)自己的業(yè)務(wù)邏輯限制網(wǎng)絡(luò)服務(wù)器對特定位置、特定文件名文件的讀寫操作,當網(wǎng)絡(luò)服務(wù)器讀寫文件超出了規(guī)則限制即為非法訪問。
可選地,該實施例中網(wǎng)絡(luò)終端的阻斷規(guī)則可以支持實時更新,靈活可定制,能夠根據(jù)業(yè)務(wù)合法性直接識別和阻斷入侵腳本文件,具有良好的擴展性。
作為一種可選地實施例,圖9是根據(jù)本發(fā)明實施例的一種可選地檢測入侵腳本文件的裝置的示意圖,如圖9所示,阻斷模塊76可以包括:
第一子阻斷模塊761,用于在待寫入的文件位置為非法文件目錄的情況下,確定待寫入網(wǎng)絡(luò)終端的文件為入侵腳本文件,并阻斷待檢測文件寫入;或第二子阻斷模塊763,用于在待寫入文件名包括非法文件名的情況下,確定待寫入網(wǎng)絡(luò)終端的文件為入侵腳本文件,并阻斷待檢測文件寫入;或第三子阻斷模塊765,用于在待寫入的文件位置為非法文件目錄,且待寫入文件名包括非法文件名的情況下,確定待寫入網(wǎng)絡(luò)終端的文件為入侵腳本文件,并阻斷待檢測文件寫入。
當待檢測文件為待寫入網(wǎng)絡(luò)終端的文件時,待檢測文件的讀寫參數(shù)可以包括如下寫入?yún)?shù):待寫入的文件位置和待寫入文件名;其中,待檢測文件的讀寫參數(shù)滿足阻斷條件可以包括以下幾種條件,以及各種條件的各種可能的組合:
條件一,待寫入的文件位置為非法文件目錄;
條件二,待寫入文件名包括非法文件名;
條件三,待寫入的文件位置為非法文件目錄,且待寫入文件名包括非法文件名。
具體地,在滿足上述三種條件中的任意一種條件的情況下,則可以確定待寫入網(wǎng)絡(luò)終端的文件為入侵腳本文件,并阻斷待檢測文件寫入網(wǎng)絡(luò)終端。也就是說,在待寫入的文件位置為非法文件目錄的情況下,或在待寫入文件名包括非法文件名的情況下,或在待寫入的文件位置為非法文件目錄,且待寫入文件名包括非法文件名的情況下,則可以確定待寫入網(wǎng)絡(luò)終端的文件為入侵腳本文件,并阻斷待檢測文件寫入網(wǎng)絡(luò)終端。
該實施例規(guī)定了待檢測文件為待寫入網(wǎng)絡(luò)終端的文件時,阻斷待檢測文件寫入網(wǎng) 絡(luò)終端的條件,只要待檢測文件的寫入?yún)?shù)滿足上述三種條件中的任意一種條件,即可確定待檢測文件為入侵腳本文件。該實施例通過檢測待寫入網(wǎng)絡(luò)終端的文件的寫入?yún)?shù)是否滿足阻斷條件,來判斷是否阻斷待檢測文件寫入網(wǎng)絡(luò)終端,當待檢測文件為入侵腳本文件時,在待檢測文件寫入網(wǎng)絡(luò)終端之前就能將其進行阻斷,使其無法形成真實文件,具有主動防護性,且在寫入過程中進行實時阻斷,能夠加快發(fā)現(xiàn)可疑文件和可疑操作。
作為一種可選地實施例,圖10是根據(jù)本發(fā)明實施例的一種可選地檢測入侵腳本文件的裝置的示意圖,如圖10所示,阻斷模塊76可以包括:
第四子阻斷模塊762,用于在待訪問的文件位置為非法文件目錄的情況下,阻斷讀取待檢測文件;或第五子阻斷模塊764,用于在待訪問文件名包括非法文件名的情況下,阻斷讀取待檢測文件;或第六子阻斷模塊766,用于在待訪問的文件置為非法文件目錄,且待訪問文件名包括非法擴展名的情況下,阻斷讀取待檢測文件。
當待檢測文件為從網(wǎng)絡(luò)終端中待讀取的文件時,讀寫參數(shù)可以包括如下讀取參數(shù):待訪問的文件位置和待訪問文件名;其中,待檢測文件的讀寫參數(shù)滿足阻斷條件可以包括以下幾種條件,以及各種條件的各種可能的組合:
條件一,待訪問的文件位置為非法文件目錄;
條件二,待訪問文件名包括非法文件名;
條件三,待訪問的文件置為非法文件目錄,且待訪問文件名包括非法擴展名。
在待訪問的文件位置為非法文件目錄的情況下,阻斷讀取待檢測文件;或在待訪問文件名包括非法文件名的情況下,阻斷讀取待檢測文件;或在待訪問的文件置為非法文件目錄,且待訪問文件名包括非法擴展名的情況下,阻斷讀取待檢測文件。
具體地,在滿足上述三種條件中的任意一種條件的情況下,則可以確定從網(wǎng)絡(luò)終端中待讀取的文件為入侵腳本文件,并阻斷讀取待檢測文件。也就是說,在待訪問的文件位置為非法文件目錄的情況下,或在待訪問文件名包括非法文件名的情況下,或在待訪問的文件置為非法文件目錄,且待訪問文件名包括非法擴展名的情況下,則可以確定從網(wǎng)絡(luò)終端中待讀取的文件為入侵腳本文件,并阻斷讀取待檢測文件。
該實施例規(guī)定了待檢測文件為從網(wǎng)絡(luò)終端中待讀取的文件時,阻斷讀取待檢測文件的條件,只要待檢測文件的讀取參數(shù)滿足上述三種條件中的任意一種條件,即可確定待檢測文件為入侵腳本文件。該實施例通過檢測從網(wǎng)絡(luò)終端中待讀取的文件的讀取參數(shù)是否滿足阻斷條件,來判斷是否阻斷讀取待檢測文件,當待檢測文件為入侵腳本 文件時,在從網(wǎng)絡(luò)終端中讀取待檢測文件之前就能將其進行阻斷,有效地加快了檢測入侵腳本文件的過程,同時能夠提高入侵腳本文件檢測的準確性,進而達到提高網(wǎng)絡(luò)安全的目的。
需要說明的是,上述實施例中的待檢測文件的讀寫參數(shù)僅為本發(fā)明的優(yōu)選實施例,并不限定本發(fā)明實施例中的待檢測文件的讀寫參數(shù)僅包括上述參數(shù)。
作為一種可選地實施例,圖11是根據(jù)本發(fā)明實施例的一種可選地檢測入侵腳本文件的裝置的示意圖,如圖11所示,該裝置還可以包括:查找模塊801,用于掃描保存待讀取的文件的文件目錄,查找文件目錄下包含的入侵腳本文件。
當待檢測文件為從網(wǎng)絡(luò)終端中待讀取的文件時,如果檢測到待檢測文件的讀取參數(shù)滿足阻斷條件,網(wǎng)絡(luò)終端將會阻斷讀取待檢測文件。在阻斷讀取待檢測文件之后,該實施例利用查找模塊801掃描保存待讀取的文件的文件目錄,查找文件目錄下包含的入侵腳本文件。
例如,待檢測文件位于網(wǎng)絡(luò)服務(wù)器的第一文件目錄下,當網(wǎng)絡(luò)服務(wù)器中的網(wǎng)絡(luò)服務(wù)進程監(jiān)控到需要讀取第一文件目錄下的文件時,在檢測到第一文件目錄為非法文件目錄的情況下,網(wǎng)絡(luò)終端立即阻斷讀取第一文件目錄下的文件,并對第一文件目錄下的所有文件進行掃描,以進一步地查找到入侵腳本文件,比如Webshell文件,以達到阻斷讀取Webshell文件的目的。
該實施例在確定從網(wǎng)絡(luò)終端中待讀取的文件為入侵腳本文件的情況下,采取掃描并保存待讀取的文件的文件目錄的方式,以查找到該文件目錄下包含的入侵腳本文件。該實施例通過采取在疑似文件目錄中掃描文件,進一步精確查找入侵腳本文件的方式,能夠精確定位入侵腳本文件所在的位置,并對其進行阻斷讀取操作,提高了入侵腳本文件檢測的準確度,進而保障了網(wǎng)絡(luò)安全。
作為一種可選地實施例,圖12是根據(jù)本發(fā)明實施例的一種可選地檢測入侵腳本文件的裝置的示意圖,如圖12所示,該裝置還可以包括:
調(diào)用模塊802,用于調(diào)用攔截到的寫函數(shù)將待檢測文件的字節(jié)流寫入本地磁盤;第一匹配模塊804,用于在待檢測文件的字節(jié)流寫入本地磁盤的同時,將待檢測文件的字節(jié)流與預(yù)設(shè)的任意一個或多個關(guān)鍵特征字符進行字符匹配;掃描模塊806,用于在待檢測文件的字節(jié)流與預(yù)設(shè)的任意一個或多個關(guān)鍵特征字符匹配成功的情況下,在待檢測文件寫入完成之后即時啟動對待檢測文件進行入侵文件掃描,或確定待檢測文件為入侵腳本文件。
在網(wǎng)絡(luò)終端允許讀寫待檢測文件的情況下,利用攔截到的讀寫函數(shù)可以對待檢測 文件進行讀寫操作,其中,讀寫函數(shù)包括讀函數(shù)和寫函數(shù)。待檢測文件寫入網(wǎng)絡(luò)終端的過程實質(zhì)為網(wǎng)絡(luò)終端調(diào)用寫函數(shù)將待檢測文件的字節(jié)流寫入本地磁盤的過程。待檢測文件的運行過程實質(zhì)為從網(wǎng)絡(luò)終端中讀取并執(zhí)行待檢測文件的過程。
該實施例在文件讀取過程中,通過檢測待檢測文件的讀寫參數(shù)是否滿足阻斷條件,實現(xiàn)了粗略地檢測入侵腳本文件??紤]到入侵腳本文件在實際應(yīng)用中可能隱藏較深,該實施例對讀寫參數(shù)不滿足阻斷條件的待檢測文件繼續(xù)進行了進一步地檢測。在第一匹配模塊804提供的技術(shù)方案中,在將待檢測文件的字節(jié)流寫入本地磁盤的同時,檢測待檢測文件的字節(jié)流與預(yù)設(shè)的任意一個或多個關(guān)鍵特征字符是否匹配。
可選地,該實施例對待檢測文件的字節(jié)流中的字符逐個進行檢測,以達到避免漏查、漏殺的問題。預(yù)設(shè)的任意一個或多個關(guān)鍵特征字符是實時更新的,確保了檢測入侵腳本文件的準確性,進而提高了網(wǎng)絡(luò)安全。
在掃描模塊806提供的技術(shù)方案中,在檢測到待檢測文件的字節(jié)流與預(yù)設(shè)的任意一個或多個關(guān)鍵特征字符匹配成功的情況下,說明待檢測文件為疑似入侵腳本文件,故該掃描模塊806將會啟動對該待檢測文件進行入侵文件掃描,以達到進一步檢測入侵腳本文件的目的。
該實施例通過逐個檢測待檢測文件的字節(jié)流中的字符是否與預(yù)設(shè)的入侵腳本文件的關(guān)鍵特征的字符匹配,達到了進一步精確地檢測入侵腳本文件的目的,進而解決了入侵腳本文件檢測結(jié)果不準確的技術(shù)問題,實現(xiàn)了提高入侵腳本文件的檢測準確性,提高網(wǎng)絡(luò)安全的技術(shù)效果。
作為一種可選地實施例,圖13是根據(jù)本發(fā)明實施例的一種可選地檢測入侵腳本文件的裝置的示意圖,如圖13所示,掃描模塊806還可以包括:
第二匹配模塊8062,用于將待檢測文件的文件內(nèi)容與入侵文件特征數(shù)據(jù)中的特征數(shù)據(jù)進行匹配;確定模塊8064,用于在待檢測文件的文件內(nèi)容與入侵文件特征數(shù)據(jù)中的任意一個或多個特征數(shù)據(jù)匹配成功的情況下,確定待檢測文件為入侵腳本文件。
在對待檢測文件的字節(jié)流與預(yù)設(shè)的關(guān)鍵特征字符進行字符匹配之后,如果字符匹配成功,該實施例將會對待檢測文件進行進一步地檢測過程,即檢測待檢測文件的文件內(nèi)容與入侵文件特征數(shù)據(jù)中的特征數(shù)據(jù)是否匹配。在待檢測文件的文件內(nèi)容與入侵文件特征數(shù)據(jù)中的任意一個或多個特征數(shù)據(jù)匹配成功的情況下,則可以確定該待檢測文件為入侵腳本文件。
該實施例通過進一步地檢測待檢測文件的文件內(nèi)容,能夠更加精確地對入侵腳本文件進行檢測??蛇x地,入侵文件特征數(shù)據(jù)也是實時更新的,以確保入侵腳本文件的 檢測準確度。
需要說明的是,該實施例對待檢測文件進行入侵檢測的過程包括以下三個階段:
第一階段,待檢測文件寫入網(wǎng)絡(luò)終端之前,本發(fā)明實施例通過檢測待檢測文件的讀寫參數(shù)是否滿足阻斷條件確定其是否為入侵腳本文件。其中,當待檢測文件的讀寫參數(shù)滿足阻斷條件時,確定待檢測文件為入侵腳本文件。
第二階段,在待檢測文件的讀寫參數(shù)不滿足阻斷條件的情況下,網(wǎng)絡(luò)終端允許讀寫待檢測文件。本發(fā)明實施例在待檢測文件寫入網(wǎng)絡(luò)終端的同時,檢測待檢測文件的字節(jié)流與預(yù)設(shè)的任意一個或多個關(guān)鍵特征字符是否匹配。其中,當待檢測文件的文件內(nèi)容與入侵文件特征數(shù)據(jù)中的任意一個或多個特征數(shù)據(jù)匹配成功時,確定待檢測文件為入侵腳本文件。
第三階段,在待檢測文件的字節(jié)流與預(yù)設(shè)的任意一個或多個關(guān)鍵特征字符匹配成功的情況下,本發(fā)明實施例在待檢測文件寫入完成之后即時啟動對待檢測文件進行入侵文件掃描,進一步地檢測待檢測文件的文件內(nèi)容與入侵文件特征數(shù)據(jù)中的特征數(shù)據(jù)是否匹配。其中,當待檢測文件的文件內(nèi)容與入侵文件特征數(shù)據(jù)中的任意一個或多個特征數(shù)據(jù)匹配成功時,確定待檢測文件為入侵腳本文件。
本發(fā)明實施例設(shè)計了逐層的入侵檢測規(guī)則,對待檢測文件進行了全面的檢測,極大地提高了入侵腳本文件檢測結(jié)果的準確性,進而達到了提高網(wǎng)絡(luò)安全的技術(shù)效果。
作為一種可選地實施例,該實施例中網(wǎng)絡(luò)終端的進程至少包括如下任意一個或多個信息:進程名、進程數(shù)、進程啟動參數(shù)以及進程綁定端口號。其中,根據(jù)網(wǎng)絡(luò)終端的所有進程的進程名、進程數(shù)、進程啟動參數(shù)以及進程綁定端口號,可以查找到網(wǎng)絡(luò)服務(wù)的所有進程和/或子進程,該網(wǎng)絡(luò)服務(wù)的所有進程和/或子進程將會作為網(wǎng)絡(luò)服務(wù)進程。網(wǎng)絡(luò)終端利用防護程序可以分析網(wǎng)絡(luò)服務(wù)進程的進程空間,可以攔截到讀寫函數(shù),利用該攔截到的讀寫函數(shù)可以實現(xiàn)對待檢測文件的讀寫操作。
實施例3
根據(jù)本發(fā)明實施例,還提供了一種用于實施上述檢測入侵腳本文件的方法的檢測入侵腳本文件的系統(tǒng),圖14是根據(jù)本發(fā)明實施例的檢測入侵腳本文件的系統(tǒng)的示意圖,如圖14所示,該系統(tǒng)包括:后臺服務(wù)器1402和網(wǎng)絡(luò)終端1404。
后臺服務(wù)器1402用于存儲用于檢測入侵腳本文件的防護程序,并將該防護程序下發(fā)至網(wǎng)絡(luò)終端1404。網(wǎng)絡(luò)終端1404將該防護程序作為常駐服務(wù)啟動,利用該防護程序?qū)θ肭帜_本文件進行檢測。具體地,網(wǎng)絡(luò)終端1404利用該防護程序可以執(zhí)行以下步 驟:
步驟S1002,攔截待檢測文件,其中,待檢測文件包括如下任意一種或多種類型的文件:待寫入網(wǎng)絡(luò)終端的文件和從網(wǎng)絡(luò)終端中待讀取的文件。
本發(fā)明實施例中的網(wǎng)絡(luò)終端可以是云主機,也可以是其它PC實體機,其中,本發(fā)明實施例中的云主機可以是電商云Linux操作系統(tǒng)服務(wù)器。網(wǎng)絡(luò)終端中可以運行至少一個服務(wù),每個服務(wù)對應(yīng)有至少一個進程和/或子進程。網(wǎng)絡(luò)終端中存在的至少一個服務(wù)包括防護程序?qū)?yīng)的常駐服務(wù),該防護程序為后臺服務(wù)器中存儲的、用于檢測入侵腳本文件的程序。
一種可選方案中,后臺服務(wù)器可以通過后臺通道將該防護程序下發(fā)至用戶的網(wǎng)絡(luò)終端,作為常駐服務(wù)啟動。利用該防護程序可以檢索到網(wǎng)絡(luò)終端中網(wǎng)絡(luò)服務(wù)的所有進程和/或子進程。網(wǎng)絡(luò)終端可以通過對網(wǎng)絡(luò)服務(wù)的進程和/或子進程的進程空間進行分析,,精確定位進程空間中讀寫函數(shù)的位置,通過控制進行加載庫文件,強制修改進程空間數(shù)據(jù)可以將該讀寫函數(shù)重定向,進而可以攔截到該讀寫函數(shù),利用該攔截到的讀寫函數(shù)可以實現(xiàn)對待檢測文件的讀寫。其中,讀寫函數(shù)包括讀函數(shù)和寫函數(shù)。
具體地,在允許讀寫攔截到的待檢測文件的情況下,利用讀寫函數(shù)可以實現(xiàn)對待檢測文件的讀寫。當攔截到的待檢測文件為待寫入網(wǎng)絡(luò)終端的文件時,如果當前攔截到的待寫入網(wǎng)絡(luò)終端的文件通過攔截條件驗證之后,可以利用寫函數(shù)實現(xiàn)將待寫入網(wǎng)絡(luò)終端的文件寫入網(wǎng)絡(luò)終端。當攔截到的待檢測文件為從網(wǎng)絡(luò)終端中待讀取的文件時,如果當前攔截到的待讀取的文件通過攔截條件驗證之后,可以利用讀函數(shù)實現(xiàn)從網(wǎng)絡(luò)終端中讀取待讀取的文件。
在步驟S1002提供的技術(shù)方案中,攔截待檢測文件實質(zhì)為暫時阻斷待檢測文件的讀寫操作,并獲取待檢測文件的過程??蛇x地,獲取待檢測文件可以通過以下任意一種方式:
第一種方式,獲取待檢測文件的源地址,根據(jù)源地址查找到待檢測文件,進而獲取待檢測文件;
第二種方式,在源地址和目標地址之間設(shè)置中間地址,控制待檢測文件的數(shù)據(jù)包從源地址轉(zhuǎn)發(fā)至中間地址,利用中間地址獲取待檢測文件。
可選地,在攔截到待檢測文件的同時,本發(fā)明實施例還可以獲取待檢測文件的讀寫參數(shù)。例如,當攔截到的待檢測文件為待寫入網(wǎng)絡(luò)終端的文件時,讀寫參數(shù)可以包括如下寫入?yún)?shù):待寫入的文件位置、待寫入的文件名等。當攔截到的待檢測文件為從網(wǎng)絡(luò)終端中待讀取的文件時,讀寫參數(shù)可以包括如下讀取參數(shù):待訪問的文件位置、 待訪問文件名等。
待檢測文件的屬性可以為非入侵腳本文件,也可以為入侵腳本文件。本發(fā)明實施例對每個待寫入網(wǎng)絡(luò)終端的文件和每個從網(wǎng)絡(luò)終端中待讀取的文件均進行攔截操作,目的是為了對每個待檢測文件均進行入侵檢測,以提高入侵檢測準確性,保證網(wǎng)絡(luò)安全性。
步驟S1004,檢測待檢測文件的讀寫參數(shù)是否滿足阻斷條件。
在步驟S1004提供的技術(shù)方案中,對步驟S1002攔截到的待檢測文件進行入侵檢測,對待檢測文件進行入侵檢測的具體過程包括:檢測待檢測文件的讀寫參數(shù)是否滿足阻斷條件。本發(fā)明實施例在攔截待檢測文件的同時,還獲取了待檢測文件的讀寫參數(shù),待檢測文件及其讀寫參數(shù)可以存儲在預(yù)設(shè)數(shù)據(jù)庫中,以便于入侵檢測時快速查找到。
本發(fā)明實施例中,可以根據(jù)待檢測文件的讀寫參數(shù)調(diào)用對應(yīng)的阻斷條件。例如:
當待檢測文件為待寫入網(wǎng)絡(luò)終端的文件時,其讀寫參數(shù)可以包括如下寫入?yún)?shù):待寫入的文件位置、待寫入的文件名等。相應(yīng)地,阻斷條件可以是設(shè)定了非法文件目錄以及非法文件名等條件。在待寫入網(wǎng)絡(luò)終端的文件的待寫入的文件位置為非法文件目錄,和/或待寫入的文件名為非法文件名的情況下,該待寫入網(wǎng)絡(luò)終端的文件為入侵腳本文件。
當待檢測文件為從網(wǎng)絡(luò)終端中待讀取的文件時,其讀寫參數(shù)可以包括如下讀取參數(shù):待訪問的文件位置、待訪問文件名等。相應(yīng)地,阻斷條件可以是設(shè)定了非法文件目錄以及非法文件名等條件。在從網(wǎng)絡(luò)終端中待讀取的文件的待訪問的文件位置為非法文件目錄,和/或待訪問文件名為非法文件名的情況下,該從網(wǎng)絡(luò)終端中待讀取的文件為入侵腳本文件。
需要說明的是,在本發(fā)明實施例的檢測入侵腳本文件的方法中,只要待檢測文件的讀寫參數(shù)中的任意一個子參數(shù)滿足阻斷條件,則說明該待檢測文件為入侵腳本文件,需要立即阻斷讀取待檢測文件。本發(fā)明實施例通過檢測待檢測文件的讀寫參數(shù)是否滿足阻斷條件,可以在待檢測文件讀寫過程中主動防御入侵腳本文件,提高了實時阻斷能力,進而提高了網(wǎng)絡(luò)安全。
步驟S1006,在待檢測文件的讀寫參數(shù)滿足阻斷條件的情況下,阻斷讀寫待檢測文件。
在步驟S1004檢測待檢測文件的讀寫參數(shù)是否滿足阻斷條件之后,如果檢測到待 檢測文件的讀寫參數(shù)滿足阻斷條件時,則執(zhí)行步驟S1006。在步驟S1006提供的技術(shù)方案中,如果待檢測文件的讀寫參數(shù)滿足阻斷條件,網(wǎng)絡(luò)終端將立即阻斷讀寫該待檢測文件,本發(fā)明實施例在待檢測文件讀寫過程中對待檢測文件進行入侵檢測,在未形成真實文件之前對其進行阻斷,提高了檢測入侵腳本文件的時效性和主動防護性。
作為一種可選地方案,在步驟S1004檢測待檢測文件的讀寫參數(shù)是否滿足阻斷條件之后,如果檢測到待檢測文件的讀寫參數(shù)不滿足阻斷條件時,該實施例的檢測入侵腳本文件的方法還可以執(zhí)行以下步驟S1008。
步驟S1008,在待檢測文件的讀寫參數(shù)不滿足阻斷條件的情況下,網(wǎng)絡(luò)終端允許讀寫待檢測文件。
在步驟S1008提供的技術(shù)方案中,如果待檢測文件的讀寫參數(shù)不滿足阻斷條件,網(wǎng)絡(luò)終端將允許讀寫該待檢測文件。本發(fā)明實施例在待檢測文件讀寫過程中對待檢測文件進行入侵檢測,提高了檢測入侵腳本文件的時效性和主動防護性,只有在待檢測文件的讀寫參數(shù)不滿足阻斷條件時,網(wǎng)絡(luò)終端才允許讀寫該待檢測文件,進而提高了網(wǎng)絡(luò)終端的安全性。
需要說明的是,只要待檢測文件的讀寫參數(shù)中的任意一個參數(shù)或者子參數(shù)滿足阻斷條件,就能說明該待檢測文件為入侵腳本文件,網(wǎng)絡(luò)終端將會立即阻斷讀寫該待檢測文件。但是,只有待檢測文件的讀寫參數(shù)中的所有參數(shù)或者子參數(shù)都不滿足阻斷條件時,才說明待檢測文件為非入侵腳本文件,網(wǎng)絡(luò)終端才能允許讀寫待檢測文件。
例如,當待檢測文件為待寫入網(wǎng)絡(luò)終端的文件時,其讀寫參數(shù)可以包括:待寫入的文件位置和待寫入的文件名。在待寫入網(wǎng)絡(luò)終端的文件的待寫入的文件位置為非法文件目錄,和/或待寫入的文件名為非法文件名的情況下,可以確定該待寫入網(wǎng)絡(luò)終端的文件為入侵腳本文件;在待寫入網(wǎng)絡(luò)終端的文件的待寫入的文件位置不是非法文件目錄,且待寫入的文件名不是非法文件名的情況下,可以確定該待寫入網(wǎng)絡(luò)終端的文件才不是可疑文件。但是,該待寫入網(wǎng)絡(luò)終端的文件到底是不是入侵腳本文件,還需要進一步對其文件內(nèi)容進行分析才能確定。
通過該實施例的檢測入侵腳本文件的系統(tǒng),在待檢測文件讀寫過程中對待檢測文件的讀寫參數(shù)進行檢測,檢測讀寫參數(shù)是否滿足阻斷條件,在待檢測文件的讀寫參數(shù)滿足阻斷條件的情況下,網(wǎng)絡(luò)終端阻斷讀寫待檢測文件;在待檢測文件的讀寫參數(shù)不滿足阻斷條件的情況下,網(wǎng)絡(luò)終端允許讀寫待檢測文件。通過本發(fā)明實施例,解決了有技術(shù)采用被動防護方式來檢測網(wǎng)絡(luò)服務(wù)器植入的入侵腳本文件,導(dǎo)致檢測結(jié)果不準的技術(shù)問題,進而實現(xiàn)了提高入侵腳本文件的檢測準確度,提高網(wǎng)絡(luò)安全性的技術(shù)效 果。
實施例4
本發(fā)明的實施例可以提供一種計算機終端,該計算機終端可以是計算機終端群中的任意一個計算機終端設(shè)備??蛇x地,在本實施例中,上述計算機終端也可以替換為移動終端等終端設(shè)備。
可選地,在本實施例中,上述計算機終端可以位于計算機網(wǎng)絡(luò)的多個網(wǎng)絡(luò)設(shè)備中的至少一個網(wǎng)絡(luò)設(shè)備。
在本實施例中,上述計算機終端可以執(zhí)行檢測入侵腳本文件的方法中以下步驟的程序代碼:攔截待檢測文件,其中,待檢測文件包括如下任意一種或多種類型的文件:待寫入網(wǎng)絡(luò)終端的文件和從網(wǎng)絡(luò)終端中待讀取的文件;檢測待檢測文件的讀寫參數(shù)是否滿足阻斷條件;在待檢測文件的讀寫參數(shù)滿足阻斷條件的情況下,阻斷讀寫待檢測文件。
可選地,圖15是根據(jù)本發(fā)明實施例的一種計算機終端的結(jié)構(gòu)框圖。如圖15所示,該計算機終端A可以包括:一個或多個(圖中僅示出一個)處理器1501、存儲器1503、以及傳輸裝置1505。
其中,存儲器1503可用于存儲軟件程序以及模塊,如本發(fā)明實施例中的檢測入侵腳本文件的方法和裝置對應(yīng)的程序指令/模塊,處理器1501通過運行存儲在存儲器1503內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實現(xiàn)上述的檢測入侵腳本文件的方法。存儲器1503可包括高速隨機存儲器,還可以包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。在一些實例中,存儲器1503可進一步包括相對于處理器1501遠程設(shè)置的存儲器,這些遠程存儲器可以通過網(wǎng)絡(luò)連接至終端A。上述網(wǎng)絡(luò)的實例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動通信網(wǎng)及其組合。
上述的傳輸裝置1505用于經(jīng)由一個網(wǎng)絡(luò)接收或者發(fā)送數(shù)據(jù)。上述的網(wǎng)絡(luò)具體實例可包括有線網(wǎng)絡(luò)及無線網(wǎng)絡(luò)。在一個實例中,傳輸裝置1505包括一個網(wǎng)絡(luò)適配器(Network Interface Controller,NIC),其可通過網(wǎng)線與其他網(wǎng)絡(luò)設(shè)備與路由器相連從而可與互聯(lián)網(wǎng)或局域網(wǎng)進行通訊。在一個實例中,傳輸裝置1505為射頻(Radio Frequency,RF)模塊,其用于通過無線方式與互聯(lián)網(wǎng)進行通訊。
其中,具體地,存儲器1503用于存儲預(yù)設(shè)動作條件和預(yù)設(shè)權(quán)限用戶的信息、以及應(yīng)用程序。
處理器1501可以通過傳輸裝置調(diào)用存儲器1503存儲的信息及應(yīng)用程序,以執(zhí)行下述步驟:攔截待檢測文件,其中,待檢測文件包括如下任意一種或多種類型的文件:待寫入網(wǎng)絡(luò)終端的文件和從網(wǎng)絡(luò)終端中待讀取的文件;檢測待檢測文件的讀寫參數(shù)是否滿足阻斷條件;在待檢測文件的讀寫參數(shù)滿足阻斷條件的情況下,阻斷讀寫待檢測文件;在待檢測文件的讀寫參數(shù)不滿足阻斷條件的情況下,網(wǎng)絡(luò)終端允許讀寫待檢測文件。
可選的,上述處理器1501還可以執(zhí)行如下步驟的程序代碼:網(wǎng)絡(luò)終端啟動防護程序;使用防護程序監(jiān)控網(wǎng)絡(luò)終端中的網(wǎng)絡(luò)服務(wù)進程的進程空間,獲取進程空間中記錄的文件讀寫函數(shù)的位置;將文件讀寫函數(shù)的位置進行重定向,以攔截讀寫函數(shù);其中,當網(wǎng)絡(luò)終端中的網(wǎng)絡(luò)服務(wù)進程監(jiān)測到允許讀寫待檢測文件時,調(diào)用攔截到的讀寫函數(shù)來讀寫待檢測文件。
可選的,上述處理器1501還可以執(zhí)行如下步驟的程序代碼:在待寫入的文件位置為非法文件目錄的情況下,確定待寫入網(wǎng)絡(luò)終端的文件為入侵腳本文件,并阻斷待檢測文件寫入;或在待寫入文件名包括非法文件名的情況下,確定待寫入網(wǎng)絡(luò)終端的文件為入侵腳本文件,并阻斷待檢測文件寫入;或在待寫入的文件位置為非法文件目錄,且待寫入文件名包括非法文件名的情況下,確定待寫入網(wǎng)絡(luò)終端的文件為入侵腳本文件,并阻斷待檢測文件寫入。
可選的,上述處理器1501還可以執(zhí)行如下步驟的程序代碼:在待訪問的文件位置為非法文件目錄的情況下,阻斷讀取待檢測文件;或在待訪問文件名包括非法文件名的情況下,阻斷讀取待檢測文件;或在待訪問的文件置為非法文件目錄,且待訪問文件名包括非法擴展名的情況下,阻斷讀取待檢測文件。
可選的,上述處理器1501還可以執(zhí)行如下步驟的程序代碼:掃描保存待讀取的文件的文件目錄,查找文件目錄下包含的入侵腳本文件。
可選的,上述處理器1501還可以執(zhí)行如下步驟的程序代碼:調(diào)用攔截到的寫函數(shù)將待檢測文件的字節(jié)流寫入本地磁盤;在待檢測文件的字節(jié)流寫入本地磁盤的同時,將待檢測文件的字節(jié)流與預(yù)設(shè)的任意一個或多個關(guān)鍵特征字符進行字符匹配;在待檢測文件的字節(jié)流與預(yù)設(shè)的任意一個或多個關(guān)鍵特征字符匹配成功的情況下,在待檢測文件寫入完成之后即時啟動對待檢測文件進行入侵文件掃描,或確定待檢測文件為入侵腳本文件。
可選的,上述處理器1501還可以執(zhí)行如下步驟的程序代碼:將待檢測文件的文件內(nèi)容與入侵文件特征數(shù)據(jù)中的特征數(shù)據(jù)進行匹配;在待檢測文件的文件內(nèi)容與入侵文 件特征數(shù)據(jù)中的任意一個或多個特征數(shù)據(jù)匹配成功的情況下,確定待檢測文件為入侵腳本文件。
采用本發(fā)明實施例,提供了一種檢測入侵腳本文件的方案。通過在待檢測文件讀寫過程中對待檢測文件的讀寫參數(shù)進行檢測,檢測讀寫參數(shù)是否滿足阻斷條件,在待檢測文件的讀寫參數(shù)滿足阻斷條件的情況下,網(wǎng)絡(luò)終端阻斷讀寫待檢測文件;在待檢測文件的讀寫參數(shù)不滿足阻斷條件的情況下,網(wǎng)絡(luò)終端允許讀寫待檢測文件。通過本發(fā)明實施例,解決了有技術(shù)采用被動防護方式來檢測網(wǎng)絡(luò)服務(wù)器植入的入侵腳本文件,導(dǎo)致檢測結(jié)果不準的技術(shù)問題,進而實現(xiàn)了提高入侵腳本文件的檢測準確度,提高網(wǎng)絡(luò)安全性的技術(shù)效果。
本領(lǐng)域普通技術(shù)人員可以理解,圖15所示的結(jié)構(gòu)僅為示意,計算機終端也可以是智能手機(如Android手機、iOS手機等)、平板電腦、掌聲電腦以及移動互聯(lián)網(wǎng)設(shè)備(Mobile Internet Devices,MID)、PAD等終端設(shè)備。圖15其并不對上述電子裝置的結(jié)構(gòu)造成限定。例如,計算機終端A還可包括比圖15中所示更多或者更少的組件(如網(wǎng)絡(luò)接口、顯示裝置等),或者具有與圖15所示不同的配置。
本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令終端設(shè)備相關(guān)的硬件來完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:閃存盤、只讀存儲器(Read-Only Memory,ROM)、隨機存取器(Random Access Memory,RAM)、磁盤或光盤等。
實施例5
本發(fā)明的實施例還提供了一種存儲介質(zhì)??蛇x地,在本實施例中,上述存儲介質(zhì)可以用于保存上述實施例一所提供的檢測入侵腳本文件的方法所執(zhí)行的程序代碼。
可選地,在本實施例中,上述存儲介質(zhì)可以位于計算機網(wǎng)絡(luò)中計算機終端群中的任意一個計算機終端中,或者位于移動終端群中的任意一個移動終端中。
可選地,在本實施例中,存儲介質(zhì)被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:攔截待檢測文件,其中,待檢測文件包括如下任意一種或多種類型的文件:待寫入網(wǎng)絡(luò)終端的文件和從網(wǎng)絡(luò)終端中待讀取的文件;檢測待檢測文件的讀寫參數(shù)是否滿足阻斷條件;在待檢測文件的讀寫參數(shù)滿足阻斷條件的情況下,阻斷讀寫待檢測文件。
可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:攔截待檢測文件,其中,待檢測文件包括如下任意一種或多種類型的文件:待寫入網(wǎng)絡(luò)終端的文件和從網(wǎng)絡(luò)終端中待讀取的文件;檢測待檢測文件的讀寫參數(shù)是否滿足阻斷條件;在待檢測文件的讀寫參數(shù)滿足阻斷條件的情況下,阻斷讀寫待檢測文件;在待檢測文件的 讀寫參數(shù)不滿足阻斷條件的情況下,網(wǎng)絡(luò)終端允許讀寫待檢測文件。
可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:網(wǎng)絡(luò)終端啟動防護程序;使用防護程序監(jiān)控網(wǎng)絡(luò)終端中的網(wǎng)絡(luò)服務(wù)進程的進程空間,獲取進程空間中記錄的文件讀寫函數(shù)的位置;將文件讀寫函數(shù)的位置進行重定向,以攔截讀寫函數(shù);其中,當網(wǎng)絡(luò)終端中的網(wǎng)絡(luò)服務(wù)進程監(jiān)測到允許讀寫待檢測文件時,調(diào)用攔截到的讀寫函數(shù)來讀寫待檢測文件。
可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:在待寫入的文件位置為非法文件目錄的情況下,確定待寫入網(wǎng)絡(luò)終端的文件為入侵腳本文件,并阻斷待檢測文件寫入;或在待寫入文件名包括非法文件名的情況下,確定待寫入網(wǎng)絡(luò)終端的文件為入侵腳本文件,并阻斷待檢測文件寫入;或在待寫入的文件位置為非法文件目錄,且待寫入文件名包括非法文件名的情況下,確定待寫入網(wǎng)絡(luò)終端的文件為入侵腳本文件,并阻斷待檢測文件寫入。
可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:在待訪問的文件位置為非法文件目錄的情況下,阻斷讀取待檢測文件;或在待訪問文件名包括非法文件名的情況下,阻斷讀取待檢測文件;或在待訪問的文件置為非法文件目錄,且待訪問文件名包括非法擴展名的情況下,阻斷讀取待檢測文件。
可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:掃描保存待讀取的文件的文件目錄,查找文件目錄下包含的入侵腳本文件。
可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:調(diào)用攔截到的寫函數(shù)將待檢測文件的字節(jié)流寫入本地磁盤;在待檢測文件的字節(jié)流寫入本地磁盤的同時,將待檢測文件的字節(jié)流與預(yù)設(shè)的任意一個或多個關(guān)鍵特征字符進行字符匹配;在待檢測文件的字節(jié)流與預(yù)設(shè)的任意一個或多個關(guān)鍵特征字符匹配成功的情況下,在待檢測文件寫入完成之后即時啟動對待檢測文件進行入侵文件掃描,或確定待檢測文件為入侵腳本文件。
可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:將待檢測文件的文件內(nèi)容與入侵文件特征數(shù)據(jù)中的特征數(shù)據(jù)進行匹配;在待檢測文件的文件內(nèi)容與入侵文件特征數(shù)據(jù)中的任意一個或多個特征數(shù)據(jù)匹配成功的情況下,確定待檢測文件為入侵腳本文件。
此處需要說明的是,上述計算機終端群中的任意一個可以與網(wǎng)站服務(wù)器和掃描器建立通信關(guān)系,掃描器可以掃描計算機終端上php執(zhí)行的web應(yīng)用程序的值命令。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
在本發(fā)明的上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關(guān)描述。
在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可為個人計算機、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。