本申請涉及計算機領域,特別涉及一種webshell的檢測方法及裝置。
背景技術(shù):
webshell俗稱網(wǎng)頁后門,就是以動態(tài)服務器頁面(activeserverpage,asp)、超文本預處理器(hypertextpreprocessor,php)、java服務器頁面(javaserverpages,jsp)或者通用網(wǎng)關(guān)接口(commongatewayinterface,cgi)等網(wǎng)頁文件形式存在的一種命令執(zhí)行環(huán)境。
黑客在入侵了一個網(wǎng)站后,通過上傳一個對服務器具有某種操作權(quán)限的webshell程序,比如:執(zhí)行系統(tǒng)命令、刪除web頁面、修改主頁等操作。而這個webshell程序一般是和asp、php、jsp等正常的頁面程序混在一起的,網(wǎng)站管理人員一般很難發(fā)現(xiàn),黑客從而利用這一特性進行長期操控網(wǎng)站及服務器。
目前,對webshell的檢測通常采用靜態(tài)webshell檢測和動態(tài)webshell檢測兩種方法:
1、所謂靜態(tài)webshell檢測,主要是對文件內(nèi)容進行檢測,檢測是否包含webshell特征,如,匹配webshell常用函數(shù)等等。
然而,針對靜態(tài)檢測手段,黑客很容易采用以下方法繞過:如代碼加密、代碼混淆等等,因而靜態(tài)代碼檢測規(guī)則很難發(fā)現(xiàn)各種千奇百怪的webshell代碼,并且靜態(tài)代碼檢測手段完全依賴于人工規(guī)則、沒有主動識別、自主學習性。因此靜態(tài)檢測手段會帶造成大量的漏報和誤報。
2、所謂動態(tài)webshell檢測,即是利用沙箱技術(shù),將可疑文件放在沙箱中執(zhí)行,根據(jù)可疑文件在沙箱中的運行特征來檢測。此方案相對于靜態(tài)代碼檢測手段可以繞過代碼加密,但是,大多數(shù)webshell操作都是通過傳遞參數(shù)來觸發(fā)的, 因而,如果可疑文件在沙箱中沒有傳遞正常的參數(shù),是不能觸發(fā)相應的webshell操作,因此沙箱也無法捕獲相應特征,從而導致大量漏報。
技術(shù)實現(xiàn)要素:
本申請實施例提供一種webshell的檢測方法及裝置。用以提高webshell檢測方案的檢測精確度。
本申請實施例提供的具體技術(shù)方案如下:
一種webshell的檢測方法,包括:
基于系統(tǒng)訪問日志,提取出每一個頁面的訪問路徑和referer(即來源頁面信息),以及提取出所有源ip,其中,一個頁面的referer表征訪問所述一個頁面之前訪問的上一個頁面的訪問路徑;
基于各個頁面的訪問路徑以及referer,篩選出與其他頁面之間不存在訪問鏈接的第一類可疑頁面,獲得第一類可疑頁面集合;
基于各個頁面的訪問路徑以及所有源ip,篩選出被源ip訪問的狀態(tài)不符合預設的訪問條件的第二類可疑頁面,獲得第二類可疑頁面集合;
將第一類可疑頁面集合和第二類可疑頁面集合的交集中包含的所有頁面,確定為包含webshell的頁面。
可選的,基于系統(tǒng)訪問日志,提取出每一個頁面的訪問路徑和referer,包括:
獲得系統(tǒng)訪問日志中記錄的各個頁面;
從獲得的各個頁面中去除靜態(tài)頁面;
針對去除靜態(tài)頁面后的每一個頁面的統(tǒng)一資源定位url地址,進行參數(shù)去除,提取出每一個頁面的訪問路徑;
基于系統(tǒng)訪問日志中記錄的各個頁面的訪問鏈接順序,分別確定每一個頁面的referer。
可選的,基于各個頁面的訪問路徑以及referer,篩選出與其他頁面不存在 訪問鏈接的第一類可疑頁面,包括:
基于各個頁面的訪問路徑以及referer,繪制表征各個頁面之間訪問鏈接關(guān)系的有向圖,基于所述有向圖篩選出與其他頁面之間不存在訪問鏈接的孤立頁面,將所有孤立頁面作為所述第一類可疑頁面;
可選的,基于各個頁面的訪問路徑以及所有源ip,篩選出被源ip訪問的狀態(tài)不符合預設的訪問條件的第二類可疑頁面,包括:
基于各個頁面的訪問路徑以及所有源ip,繪制表征各個源ip和各個頁面之間訪問關(guān)系的二部圖,基于所述二部圖,篩選出被源ip訪問的狀態(tài)不符合預設條件的異常頁面,將所有異常頁面作為所述第二類可疑頁面。
可選的,基于所述有向圖篩選出與其他頁面之間不存在訪問鏈接的孤立頁面,包括:
基于所述有向圖,確定任意一頁面對應的referer為空時,判定所述任意一頁面為孤立頁面;以及,
基于所述有向圖,確定任意一頁面對應的referer所指向的訪問路徑,在訪問所述任意一頁面之前未曾訪問時,判定所述任意一頁面為孤立頁面。
可選的,基于所述二部圖,篩選出被源ip訪問的狀態(tài)不符合預設條件的異常頁面,包括:
基于所述二部圖,確定任意一頁面關(guān)聯(lián)的源ip的總數(shù)目小于第一預設門限,且關(guān)聯(lián)的源ip歸屬的網(wǎng)段的總數(shù)目小于第二預設門限時,確定所述任意一頁面為異常頁面。
可選的,將第一類可疑頁面集合和第二類可疑頁面集合的交集中包含的所有頁面,確定為包含webshell的頁面,包括:
將第一類可疑頁面集合和第二類可疑頁面集合的交集中包含的所有頁面,直接確定為包含webshell的頁面;或者,
依次計算第一類可疑頁面集合和第二類可疑頁面集合的交集中包含的每一個頁面,與預設的webshell樣本集合的相似度,并將相似度達到設定閾值的 頁面確定為包含webshell的頁面。
一種webshell的檢測裝置,包括:
提取單元,用于基于系統(tǒng)訪問日志,提取出每一個頁面的訪問路徑和來源頁面信息referer,以及提取出所有源ip,其中,一個頁面的referer表征訪問所述一個頁面之前訪問的上一個頁面的訪問路徑;
第一篩選單元,用于基于各個頁面的訪問路徑以及referer,篩選出與其他頁面之間不存在訪問鏈接的第一類可疑頁面,獲得第一類可疑頁面集合;
第二篩選單元,用于基于各個頁面的訪問路徑以及所有源ip,篩選出被源ip訪問的狀態(tài)不符合預設的訪問條件的第二類可疑頁面,獲得第二類可疑頁面集合;
處理單元,用于將第一類可疑頁面集合和第二類可疑頁面集合的交集中包含的所有頁面,確定為包含webshell的頁面。
可選的,基于系統(tǒng)訪問日志,提取出每一個頁面的訪問路徑和referer時,所述提取單元用于:
獲得系統(tǒng)訪問日志中記錄的各個頁面;
從獲得的各個頁面中去除靜態(tài)頁面;
針對去除靜態(tài)頁面后的每一個頁面的統(tǒng)一資源定位url地址,進行參數(shù)去除,提取出每一個頁面的訪問路徑;
基于系統(tǒng)訪問日志中記錄的各個頁面的訪問鏈接順序,分別確定每一個頁面的referer。
可選的,基于各個頁面的訪問路徑以及referer,篩選出與其他頁面不存在訪問鏈接的第一類可疑頁面時,所述第一篩選單元用于:
基于各個頁面的訪問路徑以及referer,繪制表征各個頁面之間訪問鏈接關(guān)系的有向圖,基于所述有向圖篩選出與其他頁面之間不存在訪問鏈接的孤立頁面,將所有孤立頁面作為所述第一類可疑頁面;
可選的,基于各個頁面的訪問路徑以及所有源ip,篩選出被源ip訪問的 狀態(tài)不符合預設的訪問條件的第二類可疑頁面時,所述第二篩選單元用于:
基于各個頁面的訪問路徑以及所有源ip,繪制表征各個源ip和各個頁面之間訪問關(guān)系的二部圖,基于所述二部圖,篩選出被源ip訪問的狀態(tài)不符合預設條件的異常頁面,將所有異常頁面作為所述第二類可疑頁面。
可選的,基于所述有向圖篩選出與其他頁面之間不存在訪問鏈接的孤立頁面時,所述第一篩選單元用于,包括:
基于所述有向圖,確定任意一頁面對應的referer為空時,判定所述任意一頁面為孤立頁面;以及,
基于所述有向圖,確定任意一頁面對應的referer所指向的訪問路徑,在訪問所述任意一頁面之前未曾訪問時,判定所述任意一頁面為孤立頁面。
可選的,基于所述二部圖,篩選出被源ip訪問的狀態(tài)不符合預設條件的異常頁面時,所述第二篩選單元用于,包括:
基于所述二部圖,確定任意一頁面關(guān)聯(lián)的源ip的總數(shù)目小于第一預設門限,且關(guān)聯(lián)的源ip歸屬的網(wǎng)段的總數(shù)目小于第二預設門限時,確定所述任意一頁面為異常頁面。
可選的,將第一類可疑頁面集合和第二類可疑頁面集合的交集中包含的所有頁面,確定為包含webshell的頁面時,所述處理單元用于:
將第一類可疑頁面集合和第二類可疑頁面集合的交集中包含的所有頁面,直接確定為包含webshell的頁面;或者,
依次計算第一類可疑頁面集合和第二類可疑頁面集合的交集中包含的每一個頁面,與預設的webshell樣本集合的相似度,并將相似度達到設定閾值的頁面確定為包含webshell的頁面。
本申請實施例中,基于系統(tǒng)訪問日志表征的各個頁面的訪問關(guān)系建立圖模型,篩選出與其他頁面之間不存在訪問鏈接的第一類可疑頁面集合,以及篩選出被源ip訪問的狀態(tài)不符合預設的訪問條件的第二類可疑頁面,再基于第一類可疑頁面集合和第二類可疑頁面集合的交集中包含的所有頁面,進行 webshell告警。這樣,可以將各個頁面的訪問狀態(tài)通過圖模型進行精準繪制,令可疑頁面的特征在圖模型中被更為直觀地展現(xiàn)出來,從而能夠精準地篩選出webshell所在的頁面,這不但提高了webshell的檢測精確度,降低了漏報率和誤報率,同時,也降低算法復雜度,提高了檢測效率。
附圖說明
圖1為本申請實施例中有向圖示意圖;
圖2為本申請實施例中二部分圖示意圖;
圖3為本申請實施例中webshell檢測流程圖;
圖4為本申請實施例中檢測裝置功能結(jié)構(gòu)示意圖。
具體實施方式
為了提高webshell檢測方案的檢測精確度,本申請實施例中,在系統(tǒng)訪問日志的基礎上,基于各個頁面的訪問關(guān)系建立圖模型,再基于圖模型,篩選出訪問情況異常的可疑頁面,將這些可疑頁面作為webshell進行告警,從而可以實現(xiàn)主動學習,無需人工干預。
下面結(jié)合附圖對本申請優(yōu)選的實施方式進行詳細說明。
首先,需要對本申請中涉及的一些基本概念進行介紹。
本申請實施例中,需要基于各個頁面建立圖模型,所謂圖(graph)是一種較線性表和樹更為復雜的數(shù)據(jù)結(jié)構(gòu)。在線性表中,數(shù)據(jù)元素之間僅有線性關(guān)系,即每個數(shù)據(jù)元素只有一個直接前驅(qū)和一個直接后繼;在樹形結(jié)構(gòu)中,數(shù)據(jù)元素之間有著明顯的層次關(guān)系,雖然每一層上的數(shù)據(jù)元素可能和下一層中多個元素相關(guān),但只能和上一層中一個元素相關(guān);而在圖形結(jié)構(gòu)中,結(jié)點之間的關(guān)系可以是任意的,任意兩個數(shù)據(jù)元素之間都可能相關(guān)。圖g由兩個集合v和e組成,記為:g=(v,e),其中,v是頂點的有窮非空集合,e是v中頂點偶對(稱為邊)的有窮集。通常,也將圖g的頂點集和邊集分別記為v(g)和e(g)。 e(g)可以是空集。若e(g)為空,則圖g只有頂點而沒有邊。
圖形結(jié)構(gòu)有許多種實現(xiàn)方式,本申請實施例中,主要使用到了有向圖和二部圖。
所謂有向圖,直觀來說,若圖中的每條邊都是有方向的,則稱為有向圖。有向圖中的邊是由兩個頂點組成的有序?qū)?,有序?qū)νǔS眉饫ㄌ柋硎荆?lt;vi,vj>表示一條有向邊,其中vi是邊的始點,vj是邊的終點。<vi,vj>和<vj,vi>代表兩條不同的有向邊。具體舉例如圖1所示。
所謂二部圖,二部圖又稱作二分圖,是圖論中的一種特殊模型。設g=(v,e)是一個無向圖,如果頂點v可分割為兩個互不相交的子集(a)和子集(b),并且圖中的每條邊(i,j)所關(guān)聯(lián)的兩個頂點i和j分別屬于這兩個不同的頂點集(iina,jinb),則稱圖g為一個二部圖。具體舉例如圖2所示。
根據(jù)安全經(jīng)驗,webshell在訪問上有以下特征:1、頁面屬于孤立頁面,2、由少量的源ip發(fā)起訪問。
基于特征1,可以將某個站點下的每個頁面都看作一個點,包括webshell與正常頁面,所有點組成一張有向圖,如,頁面a連接到頁面b,也就表示在這個圖中存在一條邊是a->b,在整個站點下,一定不會存在某個頁面鏈接到webshell的。因為為了保證webshell自身的隱藏性,黑客往往都是直接訪問webshell,因此,webshell在有向圖中一定是一個孤立節(jié)點,即一個孤立頁面。
基于特征2,通常情況下,webshell訪問者單一,因此可以針對webshell的訪問者,也就是源ip維度來分析,一般只有攻擊者自己才會訪問webshell,而攻擊者在網(wǎng)絡上的源ip一般波動不大,因此,將源ip與頁面的訪問路徑的之間關(guān)系的可以看成一張二部圖,在二部圖中,webshell的入度數(shù)目一定比較小。
基于上述實現(xiàn)原理,參閱圖3所示,本申請實施例中,進行webshell檢測的詳細流程如下:
步驟300:獲取系統(tǒng)訪問日志,獲得系統(tǒng)訪問日志中記錄的各個頁面。
具體的,可以從服務器側(cè)獲取某一網(wǎng)站全部的系統(tǒng)訪問日志,系統(tǒng)訪問日志中記錄了該網(wǎng)站中各個頁面的訪問情況,如,訪問時間,訪問者,訪問來源等等。
步驟301:從獲得的各個頁面中去除靜態(tài)頁面。
這是因為,webshell通常為動態(tài)頁面,因此,為了有效降低計算量,可以預先去除系統(tǒng)訪問日志中記錄的靜態(tài)頁面。
當然,若靜態(tài)頁面的數(shù)量較少,則也可以不去除靜態(tài)頁面,在此不再贅述。
步驟302:針對去除靜態(tài)頁面后的各個頁面的url地址,進行參數(shù)去除,提取出各個頁面的訪問路徑。
具體的,每個頁面的url地址中均會包含有多種參數(shù),這些參數(shù)對于繪制圖模型沒有用處,并且會降低圖模型的處理效率,因此,需要預先去除各個頁面url地址中的各類參數(shù),從而提取出各個頁面的訪問路徑,記為path。
例如,存在url:http://www.example/list.php?type=news&limit=10,根據(jù)http協(xié)議規(guī)定,存在兩個參數(shù):type=news和limit=10,去掉參數(shù)后的訪問路徑則為:http://www.example/list.php。
步驟303:基于系統(tǒng)訪問日志中記錄的各個頁面的訪問鏈接順序,分別確定每一個頁面的referer,以及確定所有的源ip。
所謂的referer,即是在訪問一個頁面之前所訪問的上一個頁面的訪問路徑,大部分的頁面都有對應的referer,根據(jù)系統(tǒng)訪問日志中記錄的頁面訪問順序,即可以獲知每一個頁面的referer。
例如,用戶先訪問頁面1,再通過頁面1鏈接至頁面2,以及繼續(xù)通過頁面2鏈接至頁面3,頁面1的訪問路徑為path1,頁面2的訪問路徑為path2,那么,path1即是頁面2的referer,path2即是頁面3的referer。
而源ip,即是指訪問發(fā)起者,根據(jù)系統(tǒng)訪問日志的記錄,可以獲知源ip的數(shù)量,以及源ip歸屬的網(wǎng)段。
步驟304:劃分會話周期,即劃分session。
所謂session,即是所統(tǒng)計的時間范圍,因為系統(tǒng)訪問日志中可能記錄了很長一段時間內(nèi)的訪問信息,因此,為了有針對性的繪制圖模型,需要確定會話周期。
例如,可以根據(jù)日志流量進行會話周期的劃分,將每一個源ip在同一個網(wǎng)站下30分鐘的訪問劃分為一個會話周期。
步驟305:基于各個頁面的訪問路徑以及referer,繪制表征各個頁面之間訪問鏈接關(guān)系的有向圖。
例如,參閱圖1所示,可以整理同一個會話周期內(nèi)的各個網(wǎng)站的referer與path的對應關(guān)系,將各個頁面繪制為節(jié)點,將各個頁面之間的訪問順序繪制為有向邊,從而形成如圖1所示的有向圖。
步驟306:基于上述有向圖篩選出與其他頁面之間不存在訪問鏈接的孤立頁面,將所有孤立頁面作為第一類可疑頁面集合。
例如,參閱圖1所示,節(jié)點是否異常,由其所處的環(huán)境中的其他節(jié)點決定,如果大量節(jié)點指向某個節(jié)點x,也就是節(jié)點x的入度比較大,那么節(jié)點x對應的頁面是webshell的概率就比較小,相反,如果節(jié)點x在圖1中是一個孤立節(jié)點(入度為0),那么,節(jié)點x就很可能是webshell。
具體的,仍以節(jié)點x為例,基于上述有向圖,在一個會話周期內(nèi),確定節(jié)點x對應的referer為空時,判定節(jié)點x對應的頁面為孤立頁面;以及,基于上述有向圖,確定節(jié)點x對應的referer所指向的訪問路徑,在訪問節(jié)點x之前未曾訪問時(具體訪問歷史記錄可依據(jù)系統(tǒng)訪問日志查詢),確定referer是偽造的,并判定節(jié)點x對應的頁面為孤立頁面。
實際應用中,webshell一定為孤立頁面,但是孤立頁面卻并不一定都是webshell。這是因為:對于如robots.txt、corssdomain.xml、restapi等等鏈接而言,這些鏈接所指向的節(jié)點為正常頁面,但這些節(jié)點卻又無其他節(jié)點指向,因而也符合孤立頁面的特征,但卻不是webshell。因此,為了避免誤判,還需要繼續(xù)執(zhí)行后續(xù)操作。
步驟307:基于各個頁面的訪問路徑以及所有源ip,繪制表征各個源ip和各個頁面之間訪問關(guān)系的二部圖。
例如:參閱圖1所示,根據(jù)系統(tǒng)訪問日志的記錄,可以獲知各個源ip最終指向了哪一個訪問路徑,從而形成如圖1所示的二部圖。
當然,繪制二部圖之前需要對源ip進行去重處理,在此不再贅述。
步驟308:基于上述二部圖,篩選出被源ip訪問的狀態(tài)不符合預設條件的異常頁面,將所有異常頁面作為第二類可疑頁面集合。
通常情況下,一個異常節(jié)點,大多數(shù)正常用戶是不會去訪問的,只有少量的攻擊者會去訪問,因此,基于源ip與頁面的path之間的訪問關(guān)系繪制如圖2所示二部圖,可以挑選出入度較少的節(jié)點,入度越少說明頁面被訪問的次數(shù)越少,那么頁面是webshell的概率就越高。
具體的,步驟308中所描述的被源ip訪問的狀態(tài)不符合預設條件,即是指“節(jié)點入度較少”,而“節(jié)點入度較少”則可以從以下兩個角度描述(以節(jié)點x為例):
1)節(jié)點x關(guān)聯(lián)的源ip的總數(shù)目小于第一預設門限。
例如,與節(jié)點x關(guān)聯(lián)的源ip的總數(shù)目小于20個。
2)節(jié)點x關(guān)聯(lián)的源ip歸屬的網(wǎng)段的總數(shù)目小于第二預設門限。
例如,與節(jié)點x關(guān)聯(lián)的源ip歸屬的網(wǎng)段的總數(shù)目小于5個。
上述兩個條件必須同時滿足,才能夠符合“節(jié)點入度較少”這一預設條件,只滿足其中之一的節(jié)點對應的頁面并不被視為異常頁面。
步驟309:將基于第一類可疑頁面集合和第二類可疑頁面集合的交集中包含的所有頁面,確定為包含webshell的頁面。
具體的,步驟309可以采用但不限于以下兩種實現(xiàn)方式:
第一種方式為:將第一類可疑頁面集合和第二類可疑頁面集合的交集中包含的所有頁面,直接確定為包含webshell的頁面。。
通常情況下,在有向圖和二部圖中均可疑的節(jié)點,在很大概率上會出現(xiàn)異 常,此時,可以直接將有向圖和二部圖的交集中的所有節(jié)點對應的頁面確定為包含webshell的頁面,進一步地,可以進行告警,這樣,可以在誤報率處于合理范圍內(nèi)時,有效提高處理效率。
第二種方式為:依次計算第一類可疑頁面集合和第二類可疑頁面集合的交集中包含的每一個頁面,與預設的webshell樣本集合的相似度,并將相似度達到設定閾值的頁面確定為包含webshell的頁面。
采用第二種方式,主要是為了提高webshell檢測精準度,因此,需要將有向圖和二部圖的交集中的所有節(jié)點對應的頁面,依次與webshell樣本集合進行相似度比較,任意一個頁面與任意一個webshell樣本的相似度達到設定閾值,即可以確定出現(xiàn)包含webshell的頁面,進一步地,可以進行告警。
基于上述實施例,參閱圖4所示,本申請實施例中,檢測裝置至少包括提取單元40、第一篩選單元41、第二篩選單元42和處理單元43,其中,
提取單元40,用于基于系統(tǒng)訪問日志,提取出每一個頁面的訪問路徑和來源頁面信息referer,以及提取出所有源ip,其中,一個頁面的referer表征訪問所述一個頁面之前訪問的上一個頁面的訪問路徑;
第一篩選單元41,用于基于各個頁面的訪問路徑以及referer,篩選出與其他頁面之間不存在訪問鏈接的第一類可疑頁面,獲得第一類可疑頁面集合;
第二篩選單元42,用于基于各個頁面的訪問路徑以及所有源ip,篩選出被源ip訪問的狀態(tài)不符合預設的訪問條件的第二類可疑頁面,獲得第二類可疑頁面集合;
處理單元43,用于將基于第一類可疑頁面集合和第二類可疑頁面集合的交集中包含的所有頁面,確定為包含webshell的頁面。
可選的,基于系統(tǒng)訪問日志,提取出每一個頁面的訪問路徑和referer時,提取單元40用于:
獲得系統(tǒng)訪問日志中記錄的各個頁面;
從獲得的各個頁面中去除靜態(tài)頁面;
針對去除靜態(tài)頁面后的每一個頁面的統(tǒng)一資源定位url地址,進行參數(shù)去除,提取出每一個頁面的訪問路徑;
基于系統(tǒng)訪問日志中記錄的各個頁面的訪問鏈接順序,分別確定每一個頁面的referer。
可選的,基于各個頁面的訪問路徑以及referer,篩選出與其他頁面不存在訪問鏈接的第一類可疑頁面時,第一篩選單元41用于:
基于各個頁面的訪問路徑以及referer,繪制表征各個頁面之間訪問鏈接關(guān)系的有向圖,基于所述有向圖篩選出與其他頁面之間不存在訪問鏈接的孤立頁面,將所有孤立頁面作為所述第一類可疑頁面;
基于各個頁面的訪問路徑以及所有源ip,篩選出被源ip訪問的狀態(tài)不符合預設的訪問條件的第二類可疑頁面時,第二篩選單元42用于:
基于各個頁面的訪問路徑以及所有源ip,繪制表征各個源ip和各個頁面之間訪問關(guān)系的二部圖,基于所述二部圖,篩選出被源ip訪問的狀態(tài)不符合預設條件的異常頁面,將所有異常頁面作為所述第二類可疑頁面。
可選的,基于所述有向圖篩選出與其他頁面之間不存在訪問鏈接的孤立頁面時,第一篩選單元41用于,包括:
基于所述有向圖,確定任意一頁面對應的referer為空時,判定所述任意一頁面為孤立頁面;以及,
基于所述有向圖,確定任意一頁面對應的referer所指向的訪問路徑,在訪問所述任意一頁面之前未曾訪問時,判定所述任意一頁面為孤立頁面。
可選的,基于所述二部圖,篩選出被源ip訪問的狀態(tài)不符合預設條件的異常頁面時,第二篩選單元42用于,包括:
基于所述二部圖,確定任意一頁面關(guān)聯(lián)的源ip的總數(shù)目小于第一預設門限,且關(guān)聯(lián)的源ip歸屬的網(wǎng)段的總數(shù)目小于第二預設門限時,確定所述任意一頁面為異常頁面。
可選的,將第一類可疑頁面集合和第二類可疑頁面集合的交集中包含的所 有頁面,確定為包含webshell的頁面時,處理單元43用于:
將第一類可疑頁面集合和第二類可疑頁面集合的交集中包含的所有頁面,直接確定為包含webshell的頁面;或者,
依次計算第一類可疑頁面集合和第二類可疑頁面集合的交集中包含的每一個頁面,與預設的webshell樣本集合的相似度,并將相似度達到設定閾值的頁面確定為包含webshell的頁面。
綜上所述,本申請實施例中,基于系統(tǒng)訪問日志表征的各個頁面的訪問關(guān)系建立圖模型,篩選出與其他頁面之間不存在訪問鏈接的第一類可疑頁面集合,以及篩選出被源ip訪問的狀態(tài)不符合預設的訪問條件的第二類可疑頁面,再將基于第一類可疑頁面集合和第二類可疑頁面集合的交集中包含的所有頁面,確定為包含webshell的頁面。這樣,可以將各個頁面的訪問狀態(tài)通過圖模型進行精準繪制,令可疑頁面的特征在圖模型中被更為直觀地展現(xiàn)出來,從而能夠精準地篩選出webshell所在的頁面,這不但提高了webshell的檢測精確度,降低了漏報率和誤報率,同時,也降低算法復雜度,提高了檢測效率。
進一步地,本申請實施例提供的技術(shù)方案可以實現(xiàn)主動學習,無需人工干預,大大降低了運維成本。
本領域內(nèi)的技術(shù)人員應明白,本申請的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
本申請是參照根據(jù)本申請實施例的方法、設備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設備的處理器以產(chǎn)生一個機器,使得通過計算 機或其他可編程數(shù)據(jù)處理設備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設備上,使得在計算機或其他可編程設備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
盡管已描述了本申請的優(yōu)選實施例,但本領域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本申請范圍的所有變更和修改。
顯然,本領域的技術(shù)人員可以對本申請實施例進行各種改動和變型而不脫離本申請實施例的精神和范圍。這樣,倘若本申請實施例的這些修改和變型屬于本申請權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請也意圖包含這些改動和變型在內(nèi)。