亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于行為特征的web后門檢測方法和裝置的制作方法

文檔序號:7893376閱讀:201來源:國知局
專利名稱:基于行為特征的web后門檢測方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及互聯(lián)網(wǎng)安全技術(shù)領(lǐng)域,特別涉及一種基于行為特征的web后門檢測方法和裝置。
背景技木目前在互聯(lián)網(wǎng)行業(yè)中,安全問題越來越顯著,經(jīng)常有惡意攻擊者攻陷互聯(lián)網(wǎng)網(wǎng)站后,在網(wǎng)站源代碼中遺留后門(代碼)。后門是指一種繞過安全性控制而獲取對程序或系統(tǒng)訪問權(quán)限的方法。攻擊者可以在網(wǎng)站漏洞修補完畢后繼續(xù)通過后門控制網(wǎng)站權(quán)限。在獲得網(wǎng)站權(quán)限之后,攻擊者會立刻上傳web木馬病毒,進行進一歩權(quán)限提升,給服務(wù)器造成嚴(yán)重 威脅。常見的web后門有一句話木馬、phpspy、jspspy等。現(xiàn)有的web后門檢測工具大多采用靜態(tài)特征檢測技術(shù),基于ー些內(nèi)容特征,比如,后門通常使用的eval、system、runtime, exec等函數(shù)名,來進行關(guān)鍵詞檢測,發(fā)現(xiàn)即報警為web后門。由于靜態(tài)特征檢測使用的特征碼較為固定,而web后門程序較為靈活,經(jīng)常存在各類型的變形、加密等變種形式,一旦后門編寫人員利用編碼混淆、加密等技術(shù),不使用這些內(nèi)容特征,即可躲過后門檢測。另外,現(xiàn)有的檢測方式大多以客戶端殺毒軟件的形式在個人PC機上應(yīng)用,而目前還沒有比較合適的后門檢測方法針對web環(huán)境的服務(wù)器端,尤其是針對擁有大規(guī)模線上產(chǎn)品的web服務(wù)器集群。比如,目前很多大型互聯(lián)網(wǎng)公司經(jīng)營線上產(chǎn)品(web應(yīng)用程序)較多,通常存在成百上千,乃至萬、十萬級別的web服務(wù)器,需要在這些機器上部署并查找web后門文件。由于線上web代碼數(shù)較多,且分屬于不同項目,變動較為頻繁,結(jié)構(gòu)也無法預(yù)先統(tǒng)一;線上代碼邏輯較為復(fù)雜,可能存在部分代碼與后門關(guān)鍵詞代碼較為類似,導(dǎo)致出現(xiàn)較多的誤報;web訪問量較大,且可能存在一定的負(fù)載均衡措施,整個攻擊流程和后門文件可能存留于不同的機器上。這就給傳統(tǒng)的靜態(tài)特征碼后門檢測技術(shù)帶來很大的挑戰(zhàn)。

發(fā)明內(nèi)容有鑒于此,本發(fā)明提供了一種基于行為特征的web后門檢測方法和裝置,通過行為特征的檢測方式,能夠有效檢查出加密變形的web后門,提高web后門的檢出率和檢測效率,減少誤報率。具體技術(shù)方案如下—種基于行為特征的web后門檢測方法,該方法包括以下步驟SI、針對腳本文件分別執(zhí)行步驟Sl_l或步驟Sl_2,其中步驟Sl_l、獲取web目錄下腳本文件的文件屬性信息,根據(jù)所述文件屬性信息中的文件創(chuàng)建時間、文件屬主或文件權(quán)限,確定腳本文件的屬性異常度,將屬性異常度滿足預(yù)設(shè)要求的腳本文件識別為后門文件;步驟Sl_2 JAweb日志中統(tǒng)計各腳本文件的訪問頻度、訪問來源數(shù)或分時段訪問量,根據(jù)統(tǒng)計結(jié)果確定腳本文件的訪問異常度,將訪問異常度滿足預(yù)設(shè)要求的腳本文件識別為后門文件;S2、將步驟SI中識別為后門文件的腳本文件作為檢測結(jié)果輸出。
根據(jù)本發(fā)明一優(yōu)選實施例,所述步驟Sl_l中,根據(jù)所述文件屬主確定腳本文件的屬性異常度為判斷是否腳本文件的文件屬主為異常用戶且文件類型屬于預(yù)設(shè)類型,如果是,則為該腳本文件賦予屬主異常權(quán)值;根據(jù)所述文件創(chuàng)建時間確定腳本文件的屬性異常度為計算腳本文件的創(chuàng)建時間相比較同目錄其他文件的時間離散度,確定時間離散度大于預(yù)設(shè)離散度閾值的腳本文件,如果確定的腳本文件數(shù)低于預(yù)設(shè)文件數(shù),則為確定的腳本文件賦予時間離散權(quán)值;根據(jù)所述文件權(quán)限確定腳本文件的屬性異常度為判斷腳本文件權(quán)限是否不是默認(rèn)文件權(quán)限且文件屬主為預(yù)設(shè)用戶,如果是,則為該腳本文件賦予權(quán)限異常權(quán)值。根據(jù)本發(fā)明一優(yōu)選實施例,所述腳本文件的屬性異常度是該腳本文件的屬主異常權(quán)值、時間離散權(quán)值或權(quán)限異常權(quán)值中一種或者任意組合的加權(quán)值。根據(jù)本發(fā)明一優(yōu)選實施例,所述屬性異常度滿足預(yù)設(shè)要求包括所述屬性異常度排在前NI個,NI為預(yù)設(shè)正整數(shù);或者,所述屬性異常度大于預(yù)設(shè)異常度閾值。根據(jù)本發(fā)明一優(yōu)選實施例,所述步驟Sl_2中,根據(jù)所述訪問頻度的統(tǒng)計結(jié)果確定腳本文件的訪問異常度為判斷腳本文件的訪問頻度是否低于預(yù)設(shè)訪問數(shù)閾值,如果是,則為該腳本文件賦予訪問頻度異常權(quán)值;根據(jù)所述訪問來源數(shù)的統(tǒng)計結(jié)果確定腳本文件的訪問異常度為判斷腳本文件的訪問來源數(shù)是否低于預(yù)設(shè)訪問來源閾值,如果是,則為該腳本文件賦予訪問源異常權(quán)值;根據(jù)所述分時段訪問量的統(tǒng)計結(jié)果確定腳本文件的訪問異常度為判斷腳本文件的分時段訪問量超出預(yù)設(shè)分時段閾值的次數(shù)是否大于規(guī)定次數(shù),如果是,則為該腳本文件賦予分時段訪問異常權(quán)值。根據(jù)本發(fā)明一優(yōu)選實施例,所述腳本文件的訪問異常度是該腳本文件的訪問頻度異常權(quán)值、訪問源異常權(quán)值或分時段訪問異常權(quán)值中的一種或任意組合的加權(quán)值。根據(jù)本發(fā)明一優(yōu)選實施例,所述訪問異常度滿足預(yù)設(shè)要求包括所述訪問異常度排在前N2個,N2為預(yù)設(shè)正整數(shù);或者,所述訪問異常度大于預(yù)設(shè)訪問閾值。根據(jù)本發(fā)明一優(yōu)選實施例,所述步驟SI還包括針對腳本文件執(zhí)行步驟Sl_3 利用操作系統(tǒng)對web服務(wù)器的進程進行監(jiān)控,判斷web服務(wù)器的進程中是否有預(yù)設(shè)的操作或命令,如果有,將發(fā)出該操作或命令的腳本文件識別為后門文件。根據(jù)本發(fā)明一優(yōu)選實施例,所述步驟Sl_3包括為發(fā)出預(yù)設(shè)的操作或命令的腳本文件賦予進程異常權(quán)值;所述步驟S2包括針對所述步驟SI識別到的后門文件中的同一腳本文件,將該腳本文件的屬性異常度或訪問異常度中的一種或組合與進程異常權(quán)值進行加權(quán),得到該腳本文件的異常度;將異常度滿足預(yù)設(shè)要求的腳本文件作為檢測結(jié)果輸出。根據(jù)本發(fā)明一優(yōu)選實施例,所述異常度滿足預(yù)設(shè)要求包括所述異常度排在前N個,N為預(yù)設(shè)正整數(shù);
或者,所述異常度大于預(yù)設(shè)異常度閾值。一種基于行為特征的web后門檢測裝置,該裝置包括判斷模塊,包括屬性異常判斷模塊或訪問異常判斷模塊,其中所述屬性異常判斷模塊,用于獲取web目錄下腳本文件的文件屬性信息,根據(jù)所述文件屬性信息中的文件創(chuàng)建時間、文件屬主或文件權(quán)限,確定腳本文件的屬性異常度,將屬性異常度滿足預(yù)設(shè)要求的腳本文件識別為后門文件;所述訪問異常判斷模塊,用于從web日志中統(tǒng)計各腳本文件的訪問頻度、訪問來源數(shù)或分時段訪問量,根據(jù)統(tǒng)計結(jié)果確定腳本文件的訪問異常度,將訪問異常度滿足預(yù)設(shè) 要求的腳本文件識別為后門文件;輸出模塊,用于將所述判斷模塊識別為后門文件的腳本文件作為檢測結(jié)果輸出。根據(jù)本發(fā)明一優(yōu)選實施例,所述屬性異常判斷模塊具體配置包括根據(jù)所述文件屬主確定腳本文件的屬性異常度為判斷是否腳本文件的文件屬主為異常用戶且文件類型屬于預(yù)設(shè)類型,如果是,則為該腳本文件賦予屬主異常權(quán)值;根據(jù)所述文件創(chuàng)建時間確定腳本文件的屬性異常度為計算腳本文件的創(chuàng)建時間相比較同目錄其他文件的時間離散度,確定時間離散度大于預(yù)設(shè)離散度閾值的腳本文件,如果確定的腳本文件數(shù)低于預(yù)設(shè)文件數(shù),則為確定的腳本文件賦予時間離散權(quán)值;根據(jù)所述文件權(quán)限確定腳本文件的屬性異常度為判斷腳本文件權(quán)限是否不是默認(rèn)文件權(quán)限且文件屬主為預(yù)設(shè)用戶,如果是,則為該腳本文件賦予權(quán)限異常權(quán)值。根據(jù)本發(fā)明一優(yōu)選實施例,所述腳本文件的屬性異常度是該腳本文件的屬主異常權(quán)值、時間離散權(quán)值或權(quán)限異常權(quán)值中一種或者任意組合的加權(quán)值。根據(jù)本發(fā)明一優(yōu)選實施例,所述屬性異常度滿足預(yù)設(shè)要求包括所述屬性異常度排在前NI個,NI為預(yù)設(shè)正整數(shù);或者,所述屬性異常度大于預(yù)設(shè)異常度閾值。根據(jù)本發(fā)明一優(yōu)選實施例,所述訪問異常判斷模塊具體配置包括根據(jù)所述訪問頻度的統(tǒng)計結(jié)果確定腳本文件的訪問異常度為判斷腳本文件的訪問頻度是否低于預(yù)設(shè)訪問數(shù)閾值,如果是,則為該腳本文件賦予訪問頻度異常權(quán)值;根據(jù)所述訪問來源數(shù)的統(tǒng)計結(jié)果確定腳本文件的訪問異常度為判斷腳本文件的訪問來源數(shù)是否低于預(yù)設(shè)訪問來源閾值,如果是,則為該腳本文件賦予訪問源異常權(quán)值;根據(jù)所述分時段訪問量的統(tǒng)計結(jié)果確定腳本文件的訪問異常度為判斷腳本文件的分時段訪問量超出預(yù)設(shè)分時段閾值的次數(shù)是否大于規(guī)定次數(shù),如果是,則為該腳本文件賦予分時段訪問異常權(quán)值。根據(jù)本發(fā)明一優(yōu)選實施例,所述腳本文件的訪問異常度是該腳本文件的訪問頻度異常權(quán)值、訪問源異常權(quán)值或分時段訪問異常權(quán)值中的ー種或任意組合的加權(quán)值。根據(jù)本發(fā)明一優(yōu)選實施例,所述訪問異常度滿足預(yù)設(shè)要求包括所述訪問異常度排在前N2個,N2為預(yù)設(shè)正整數(shù);或者,所述訪問異常度大于預(yù)設(shè)訪問閾值。根據(jù)本發(fā)明一優(yōu)選實施例,所述判斷模塊還包括進程異常監(jiān)控模塊,利用操作系統(tǒng)對web服務(wù)器的進程進行監(jiān)控,判斷web服務(wù)器的進程中是否有預(yù)設(shè)的操作或命令,如果有,將發(fā)出該操作或命令的腳本文件識別為后門文件。根據(jù)本發(fā)明一優(yōu)選實施例,所述進程異常監(jiān)控模塊為發(fā)出預(yù)設(shè)的操作或命令的腳本文件賦予進程異常權(quán)值;該裝置還包括加權(quán)模塊,針對所述判斷模塊識別到的后門文件中的同一腳本文件,將該腳本文件的屬性異常度或訪問異常度中的一種或組合與進程異常權(quán)值進行加權(quán),得到該腳本文件的異常度;
所述輸出模塊根據(jù)所述加權(quán)模塊的計算結(jié)果,將異常度滿足預(yù)設(shè)要求的腳本文件作為檢測結(jié)果輸出。根據(jù)本發(fā)明一優(yōu)選實施例,所述異常度滿足預(yù)設(shè)要求包括所述異常度排在前N個,N為預(yù)設(shè)正整數(shù);或者,所述異常度大于預(yù)設(shè)異常度閾值。由以上技術(shù)方案可以看出,本發(fā)明提供的基于行為特征的web后門檢測方法和裝置,利用web服務(wù)器上腳本文件與后門文件特征的區(qū)別,通過基于行為特征的檢測方式,能夠有效檢查出加密變形的web后門,提高web后門的檢出率,減少誤報率。與現(xiàn)有的靜態(tài)內(nèi)容特征的檢測方法相比,本發(fā)明不需要獲取腳本文件的內(nèi)容,通過獲取文件的屬性特征進行檢測,可以提聞檢測效率。

圖I為本發(fā)明實施例一提供的基于行為特征的web后門檢測方法流程圖;圖2為本發(fā)明實施例一提供的步驟SlOl具體的方法流程圖;圖3為本發(fā)明實施例一提供的步驟S102具體的方法流程圖;圖4為本發(fā)明實施例二提供的基于行為特征的web后門檢測方法流程圖;圖5為本發(fā)明實施例三提供的基于行為特征的web后門檢測裝置示意圖。
具體實施方式為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細(xì)描述。實施例一、圖I是本實施例提供的基于行為特征的web后門檢測方法流程圖,如圖I所示,該方法包括步驟S101、獲取web目錄下腳本文件的文件屬性信息,根據(jù)所述文件屬性信息中的文件屬主、文件創(chuàng)建時間或文件權(quán)限,確定腳本文件的屬性異常度,將所述屬性異常度滿足預(yù)設(shè)要求的腳本文件識別為后門文件。web應(yīng)用程序中的所有程序腳本,基本以文件的形式保存在web服務(wù)器上,這些文件叫做web腳本文件,即腳本文件。腳本文件除了文件內(nèi)容之外,還包括很多文件屬性信息,例如文件名、文件創(chuàng)建時間、文件修改時間、文件屬主、文件類型、文件權(quán)限及文件大小等。由于在部署線上代碼時有統(tǒng)一固定流程和方式,不會在生產(chǎn)環(huán)境直接更改線上代碼,因而在服務(wù)器端的腳本文件通常具有一定規(guī)律,比如,同一目錄下腳本文件的創(chuàng)建時間基本一致,文件屬主以及文件權(quán)限也有統(tǒng)ー的部署。而對于后門文件,是攻擊者成功入侵系統(tǒng)后,在web服務(wù)器的web目錄下留下的后門代碼,用以獲取網(wǎng)站控制權(quán)限。這些后門文件是通過web服務(wù)器系統(tǒng)創(chuàng)建,因而該些后門文件的創(chuàng)建時間與同目錄下的其他文件的創(chuàng)建時間通常相差較大;文件屬主為web服務(wù)器,也與其他的文件屬主不同,而其他的文件屬主通常為代碼部署的用戶;文件權(quán)限也可能不符合服務(wù)器部署的規(guī)則。本實施例則利用這些文件屬性信息的特征來識別后門文件。圖2是本實施例提供的步驟SlOl具體的方法流程圖,如圖2所示,包括步驟S201、獲取web目錄下文件的文件屬性信息。從web服務(wù)器中獲取web目錄下文件的文件屬性信息,包括文件名、文件創(chuàng)建時間、文件修改時間、文件屬主、文件類型、文件權(quán)限及文件大小等。
步驟S202、將文件屬主為異常用戶且文件類型屬于預(yù)設(shè)類型的腳本文件判斷為可疑后門文件,為識別到的各個可疑后門文件賦予屬主異常權(quán)值。判斷腳本文件的文件屬主是否發(fā)生改變,如果發(fā)生改變,則說明這個腳本文件可能存在異常。如果腳本執(zhí)行用戶和代碼部署用戶不同,首先記錄初始狀態(tài)下的文件屬主,在通常情況下,腳本文件的文件屬主為代碼部署用戶,然后,一旦發(fā)現(xiàn)某個腳本文件的文件屬主發(fā)生改變,也就是說與初始狀態(tài)不一致吋,則說明這個腳本文件可能存在異常,文件屬主為異常用戶。舉個例子如果創(chuàng)建腳本文件的執(zhí)行用戶和代碼部署用戶是不同用戶,按照正常程序運行時,文件屬主通常仍是代碼部署用戶。當(dāng)遇到異常情況,比如一個后門文件正在被創(chuàng)建時,文件屬主就可能發(fā)生改變。比如web后門通過web服務(wù)器創(chuàng)建時,其文件屬主就是web服務(wù)器的ー個系統(tǒng)用戶,如果配置的系統(tǒng)用戶為admin,那么該文件屬主就為admin,與正常腳本文件的文件屬主不同。根據(jù)判斷結(jié)果為異常用戶的腳本文件賦予屬主異常權(quán)值。如果判斷文件屬主為異常用戶,則為該腳本文件進行打分,得到屬主異常權(quán)值。對于文件屬主為異常用戶的腳本文件,進ー步判斷腳本文件的類型是否為預(yù)設(shè)類型。所述預(yù)設(shè)類型包括PHP、ASP、JSP或ASPX等類型文件。針對文件類型是所述預(yù)設(shè)類型的腳本文件進行調(diào)權(quán),増大該腳本文件的屬主異常權(quán)值。在本步驟中,可以只針對各個可疑后門文件賦予屬主異常權(quán)值,也可以對每ー個腳本文件賦予屬主異常權(quán)值。例如,針對每ー個腳本文件賦予屬主異常權(quán)值的過程可以采用但不限于如下方式在web服務(wù)器的同目錄下的腳本文件通常是由代碼部署用戶統(tǒng)ー創(chuàng)建的,初始時的文件屬主通常為代碼部署用戶,屬主異常權(quán)值可設(shè)為O。一旦發(fā)現(xiàn)某個腳本文件的文件屬主變成其他用戶時,則判斷為可疑后門文件,屬主異常權(quán)值可設(shè)為I。如果文件屬主是腳本執(zhí)行用戶,說明為可疑后門文件的可能性更大,屬主異常權(quán)值設(shè)為2。再進ー步判斷腳本文件的類型,如果屬于預(yù)設(shè)類型,說明該腳本文件為可疑后門文件的可能性又更大,屬主異常權(quán)值設(shè)為3。步驟S203、計算各個腳本文件的創(chuàng)建時間相對于同目錄其他文件的時間離散度,確定時間離散度大于預(yù)設(shè)離散度閾值的腳本文件,如果同目錄下確定的腳本文件數(shù)量低于預(yù)設(shè)文件數(shù),則將該目錄下確定的腳本文件判斷為可疑后門文件,為識別到的各個可疑后門文件賦予時間離散權(quán)值。判斷腳本文件的創(chuàng)建時間相對于同目錄其他文件的時間離散度是否符合預(yù)設(shè)要求,如果時間離散度大于預(yù)設(shè)離散度閾值,則將該腳本文件判斷為離散文件,統(tǒng)計同目錄下判斷為離散文件的數(shù)量,如果統(tǒng)計到的同目錄離散文件的數(shù)量低于預(yù)設(shè)文件數(shù),則將該目錄下的這些離散文件判斷為可疑后門文件,如果統(tǒng)計到的同目錄離散文件的數(shù)量高于預(yù)設(shè)文件數(shù),則認(rèn)為該目錄下的這些離散文件為正常文件。所述時間離散度的計算方法可以但不限于采用以下方式獲取同目錄下所有腳本文件的創(chuàng)建時間;按照時間先后排序,計算各個腳本文件的時間離散度。離散度可以采用極差、距離均差的平方和、方差或標(biāo)準(zhǔn)差等數(shù)學(xué)方法進行計算。例如,以極差的方式進行計算,可以為當(dāng)前腳本文件的時間離散度=當(dāng)前腳本文件的創(chuàng)建時間-同目錄下最先創(chuàng)建的腳本文件的創(chuàng)建時間例如,當(dāng)前腳本文件的創(chuàng)建時間為某一天的10:30,而同目錄下最先創(chuàng)建的腳本文件的創(chuàng)建時間是同一天的10:28,則此時當(dāng)前腳本文件的時間離散度為2分鐘。判斷各個腳本文件的時間離散度是否超過預(yù)設(shè)離散度閾值,將超過預(yù)設(shè)離散度閾值的腳本文件判斷為離散文件,并統(tǒng)計同目錄下離散文件的數(shù)量,如果統(tǒng)計到的同目錄離散文件的數(shù)量低于預(yù)設(shè)文件數(shù),則將該目錄下的這些離散文件判斷為可疑后門文件,否則判斷為正常文件。例如,如果預(yù)設(shè)離散度閾值為5分鐘,預(yù)設(shè)文件數(shù)為3,則將時間離散度超過5分鐘的腳本文件判斷為離散文件,判斷同目錄下離散文件的數(shù)量是否低于3個,如果是,則將該目錄下這低于3個的離散文件判斷為可疑后門文件,否則判斷為正常文件。比如,如果判斷為離散文件的數(shù)目超過10個,則認(rèn)為這些離散文件是正常文件,屬于時間離散度大的目錄文件。為本步驟中識別到的各個可疑后門文件賦予時間離散權(quán)值,可以但不限于采用歸一化的時間離散度作為識別到的可疑后門文件的時間離散權(quán)值可疑后門文件的時間離散權(quán)值=可疑后門文件的時間離散度+同目錄下腳本文件的時間離散度的平均值。當(dāng)然,對于判斷為正常文件的腳本文件,可以賦予時間離散權(quán)值為O。步驟S204、判斷文件權(quán)限是否為默認(rèn)文件權(quán)限,將不是默認(rèn)文件權(quán)限且文件屬主為預(yù)設(shè)用戶的腳本文件識別為可疑后門文件,為識別到的各個可疑后門文件賦予權(quán)限異常 權(quán)值。判斷腳本文件的文件權(quán)限是否為默認(rèn)文件權(quán)限,如果發(fā)現(xiàn)文件權(quán)限不是默認(rèn)文件權(quán)限,則賦予一個常數(shù)作為權(quán)限異常權(quán)值。在Iinux下,默認(rèn)文件權(quán)限通常為0744,代表不設(shè)置用戶ID和組ID,文件屬主可以讀寫和執(zhí)行文件,文件屬主所在組和其他用戶也具有讀權(quán)限。如果有web后門文件通過mysql (數(shù)據(jù)庫系統(tǒng))直接導(dǎo)出到web目錄中,則此腳本文件的文件權(quán)限為0666(所有均可讀寫)。如果該腳本文件的文件屬主為mysql用戶,就可以確定此文件為可疑后門文件。所述預(yù)設(shè)用戶包括mysql用戶,web服務(wù)器系統(tǒng)用戶等。
步驟S205、計算web目錄文件中各腳本文件的屬性異常度。將步驟S202至步驟S204判斷結(jié)果進行加權(quán)處理,將同一腳本文件的屬主異常權(quán)值、時間離散權(quán)值和權(quán)限異常權(quán)值進行加權(quán),得到各腳本文件的屬性異常度。所述加權(quán)處理可以但不限于采用線性加權(quán)的方式。針對同一腳本文件屬性異常度=al*屬主異常權(quán)值+bl*時間離散權(quán)值+Cl*權(quán)限異常權(quán)值,其中,al、bl、cl為常數(shù),是根據(jù)實際情況設(shè)定的權(quán)值因子。值得ー提的是,上述步驟S202至步驟S204的順序可以任意調(diào)換,也可以僅采用其 中的ー種或任意組合進行判斷。對于采用其中兩種結(jié)合的方式進行判斷時,可以將第三種的權(quán)值因子設(shè)為O。例如,當(dāng)不進行步驟S202文件屬主異常的判斷,僅采用步驟S203和步驟S204時,可以設(shè)置al = O。對于僅采用其中ー種時,可以直接將該方式計算得到的權(quán)值作為屬性異常度。步驟S206、將屬性異常度滿足預(yù)設(shè)要求的腳本文件判斷為后門文件。按照步驟S205計算得到的各文件的屬性異常度大小進行排序。所述滿足預(yù)設(shè)要求包括所述屬性異常度排在前NI個,NI為預(yù)設(shè)正整數(shù),例如,當(dāng)NI取I時,只選取屬性異常度最大的腳本文件作為后門文件。或者,所述屬性異常度大于預(yù)設(shè)閾值。繼續(xù)參見圖1,步驟S102、從web日志中統(tǒng)計各腳本文件的訪問頻度、訪問來源數(shù)或分時段訪問量,根據(jù)統(tǒng)計結(jié)果確定腳本文件的訪問異常度,將訪問異常度滿足預(yù)設(shè)要求的腳本文件識別為后門文件。圖3是本實施例步驟S102具體的方法流程圖,如圖3所示,包括步驟S301、獲取web日志的數(shù)據(jù)信息。獲取web日志中的數(shù)據(jù)信息,分析所有web訪問日志。步驟S302、統(tǒng)計各個腳本文件的訪問頻度(即一段時間內(nèi)的訪問量PV),將訪問頻度低于預(yù)設(shè)訪問數(shù)閾值的腳本文件識別為可疑后門文件,并計算識別到的可疑后門文件的訪問頻度異常權(quán)值。在所有成功的訪問中,如果存在后門文件,則后門文件的訪問頻度應(yīng)該是最低的,只有一個用戶進行訪問,訪問的頻度也較低,而正常文件的訪問量一般都比較大。按照訪問頻度排序,將訪問頻度低于預(yù)設(shè)訪問閾值的腳本文件識別為可疑后門文件。所述訪問頻度異常權(quán)值與腳本文件的訪問頻度成反比,訪問頻度越小,訪問頻度異常權(quán)值越大;反之,訪問頻度越大,則訪問頻度異常權(quán)值越小。步驟S303、統(tǒng)計各個腳本文件的訪問來源數(shù),將訪問來源數(shù)低于預(yù)設(shè)訪問來源閾值的腳本文件識別為可疑后門文件,并計算識別到的可疑后門文件的訪問源異常權(quán)值。在所有成功的訪問中,后門文件的訪問來源數(shù)應(yīng)該也是最低的,只有ー個用戶進行訪問,其訪問來源數(shù)是I,而正常文件的訪問來源一般都比較多。按照訪問來源數(shù)排序,將訪問來源數(shù)低于預(yù)設(shè)訪問來源閾值的腳本文件識別為可疑后門文件。所述訪問源異常權(quán)值與腳本文件的訪問來源數(shù)成反比,訪問來源數(shù)越小,訪問源異常權(quán)值越大;反之,訪問來源數(shù)越大,則訪問源異常權(quán)值越小。步驟S304、分時段統(tǒng)計各個腳本文件的訪問量,將分時段訪問量超出預(yù)設(shè)分時段閾值的次數(shù)大于規(guī)定次數(shù)的腳本文件識別為可疑后門文件,并計算可疑后門文件的分時段訪問異常權(quán)值。按照一定時間段對web日志進行分析。例如按照天來分析,一般所有文件的訪問量和高峰期是有明顯規(guī)律的。如果是用戶訪問的話,就會按照時間有坡度的升降。如果是機器自動訪問,則文件的訪問會有固定時間點。只有后門文件的訪問規(guī)律是無序的。因此,可以通過分時段地統(tǒng)計訪問量來檢測,根據(jù)實際應(yīng)用情形設(shè)置分時段閾值,對于分時段訪問量超出分時段閾值的次數(shù)大于規(guī)定次數(shù)的腳本文件,可將其識別為可疑后門文件。例如,分為12個時段,每個時段設(shè)置不同的分時段閾值,規(guī)定超過分時段閾值的次數(shù)應(yīng)該小于3次,當(dāng)腳本文件有超過3個時段的訪問量超出對應(yīng)時段的分時段閾值時,則將該腳本文件識別為可疑后門文件。計算可疑后門文件的分時段訪問異常權(quán)值,分時段訪問量超出分時段閾值的次數(shù)越多,分時段訪問異常權(quán)值越大,反之則分時段訪問異常權(quán)值越小。步驟S305、針對同一個可疑后門文件,將步驟S302、步驟S303和步驟S304計算得到的權(quán)值進行加權(quán),得到訪問異常度。當(dāng)然,步驟S304也可以結(jié)合步驟S302和步驟S303的結(jié)果,只對步驟S302或步驟S303中識別為可疑后門文件進行分時段統(tǒng)計,以提高效率。對于分時段訪問量超出分時段閾值的次數(shù)大于規(guī)定次數(shù)的腳本文件,直接增大該可疑后門文件的訪問異常度。步驟S306、將訪問異常度滿足預(yù)設(shè)要求的腳本文件識別為后門文件。所述訪問異常度滿足預(yù)設(shè)要求包括所述訪問異常度排在前N2個,N2為預(yù)設(shè)正整數(shù),例如,當(dāng)N2取I時,只選取訪問異常度最大的腳本文件作為后門文件。或者,所述訪問異常度大于預(yù)設(shè)訪問閾值。值得說明的是,在步驟S302、步驟S303和步驟S304中,可以將每個步驟中識別到的可疑后門文件按照統(tǒng)計的結(jié)果各自進行排序,然后分別取排在前N3 (N3為預(yù)設(shè)正整數(shù))位的可疑后門文件,將重復(fù)次數(shù)最多的腳本文件判斷為后門文件。例如,分別按照統(tǒng)計結(jié)果取排在前10位的腳本文件,如果某一腳本文件經(jīng)過3種方式排序均排在前10位,那么就將該腳本文件判斷為后門文件。繼續(xù)參見圖1,步驟S103、利用操作系統(tǒng)對web服務(wù)器的進程進行監(jiān)控,判斷web服務(wù)器的進程中是否有預(yù)設(shè)的操作或命令,如果有,將發(fā)出該操作或命令的腳本文件識別為后門文件。從理論上來說,web服務(wù)器是不會對除了 web日志、配置文件、web目錄以外的其他系統(tǒng)目錄進行讀寫操作的。如果出現(xiàn)了對其他系統(tǒng)目錄進行讀寫操作,就可以說是特殊系統(tǒng)命令或操作。比如,出現(xiàn)操作/etc/passwd執(zhí)行uname_a操作等。通過對web服務(wù)器的進程進行監(jiān)控,檢測是否有可疑的文件或命令操作。預(yù)先將常見的特殊系統(tǒng)命令或操作收集起來,形成預(yù)設(shè)操作命令集合。當(dāng)web服務(wù)器的進程中出現(xiàn)執(zhí)行特殊系統(tǒng)命令的操作時,將發(fā)出該特殊系統(tǒng)命令的腳本文件識別為后門文件。利用系統(tǒng)級別或內(nèi)核級別的程序?qū)eb服務(wù)器進行監(jiān)控。例如,利用操作系統(tǒng)的 API函數(shù),所述API (Application Programming Interface)函數(shù)是操作系統(tǒng)的應(yīng)用程序編程接口,對web服務(wù)器的進程進行監(jiān)控,用以發(fā)現(xiàn)存在執(zhí)行特殊系統(tǒng)命令的操作,或者有讀寫web目錄之外文件的行為。
步驟S104、將所述步驟SlOl至步驟S103識別到的后門文件作為檢測結(jié)果輸出。將經(jīng)過步驟SlOl至步驟S103中任一方式識別為后門文件的腳本文件為檢測結(jié)
果O值得說明的是,本發(fā)明也可以將步驟SlOl至步驟S103任意結(jié)合進行檢測和識別,下面通過實施例ニ進行說明采用全部結(jié)合的方式。實施例ニ 圖4為實施例ニ提供的基于行為特征的web后門檢測方法流程圖。如圖4所示,該方法包括步驟S401、獲取web目錄下腳本文件的文件屬性信息,根據(jù)所述文件屬性信息中的文件屬主、文件創(chuàng)建時間或文件權(quán)限,確定腳本文件的屬性異常度,將所述屬性異常度作為腳本文件的第一權(quán)值Wl。所述屬性異常度的計算方法與實施例一相同,故不在此贅述。步驟S402 JAweb日志中統(tǒng)計各腳本文件的訪問頻度、訪問來源數(shù)或分時段訪問量,根據(jù)統(tǒng)計結(jié)果確定腳本文件的訪問異常度,將所述訪問異常度作為腳本文件的第二權(quán)值W2。所述文件的訪問異常度的計算方法與實施例一相同,故不在此贅述。步驟S403、利用操作系統(tǒng)對web服務(wù)器的進程進行監(jiān)控,當(dāng)web服務(wù)器的進程中出現(xiàn)執(zhí)行預(yù)設(shè)的操作或命令時,為發(fā)出該操作或命令的腳本文件賦予進程異常權(quán)值作為第三權(quán)值W3。對web服務(wù)器的進程進行監(jiān)控的過程與實施例一相同,當(dāng)web服務(wù)器的進程中出現(xiàn)執(zhí)行特殊系統(tǒng)命令的操作時,為發(fā)出該特殊系統(tǒng)命令的腳本文件賦予ー個進程異常權(quán)值作為腳本文件的第三權(quán)值W3。所述進程異常權(quán)值可以采用ー個常數(shù)權(quán)值。步驟S404、針對同一腳本文件,將所述步驟SlOl至步驟S103得到的第一權(quán)值、第ニ權(quán)值和第三權(quán)值進行加權(quán),得到腳本文件的異常度。將同一腳本文件的第一權(quán)值W1、第二權(quán)值W2和第三權(quán)值W3進行加權(quán)處理,得到各個腳本文件的異常度。所述加權(quán)處理可以但不限于采用線性加權(quán)的方式。例如,所述腳本文件的異常度=a*Wl+b*W2+c*W3,其中,a、b、c為設(shè)置的常數(shù)權(quán)值因子。步驟S405、將異常度滿足預(yù)設(shè)要求的腳本文件識別為后門文件,輸出檢測結(jié)果。按照步驟S404計算得到的異常度大小進行排序,將異常度滿足預(yù)設(shè)要求的腳本文件作為檢測結(jié)果輸出。具體包括所述異常度排在前N個,N為預(yù)設(shè)正整數(shù)?;蛘?,所述文件屬性異常度大于預(yù)設(shè)異常度閾值。例如,當(dāng)N取I時,通過上述手段的互相加權(quán),最后異常度總分最高的腳本文件,最有可能為后門文件,輸出作為檢測結(jié)果。以上是對本發(fā)明所提供的方法進行的詳細(xì)描述,下面對本發(fā)明提供的基于行為特征的web后門檢測裝置進行詳細(xì)描述。實施例三圖5是本實施例提供的基于行為特征的web后門檢測裝置示意圖。如圖5所示,該裝置包括判斷模塊,包括屬性異常判斷模塊10、訪問異常判斷模塊20和進程異常監(jiān)控模塊30。屬性異常判斷模塊10,用于獲取web目錄下腳本文件的文件屬性信息,根據(jù)所述文件屬性信息中的文件創(chuàng)建時間、文件屬主或文件權(quán)限,確定腳本文件的屬性異常度,將屬性異常度滿足預(yù)設(shè)要求的腳本文件識別為后門文件。web應(yīng)用程序中的所有程序腳本,基本以文件的形式保存在web服務(wù)器上,這些文件叫做web腳本文件,即腳本文件。腳本文件除了文件內(nèi)容之外,還包括很多文件屬性信息,例如文件名、文件創(chuàng)建時間、文件修改時間、文件屬主、文件類型、文件權(quán)限及文件大小等。由于在部署線上代碼時有統(tǒng)一固定流程和方式,不會在生產(chǎn)環(huán)境直接更改線上代碼,因而在服務(wù)器端的腳本文件通常具有一定規(guī)律,比如,同一目錄下腳本文件的創(chuàng)建時間基本一致,文件屬主以及文件權(quán)限也有統(tǒng)一的部署。 而對于后門文件,是攻擊者成功入侵系統(tǒng)后,在web服務(wù)器的web目錄下留下的后門代碼,用以獲取網(wǎng)站控制權(quán)限。這些后門文件是通過web服務(wù)器系統(tǒng)創(chuàng)建,因而該些后門文件的創(chuàng)建時間與同目錄下的其他文件的創(chuàng)建時間通常相差較大;文件屬主為web服務(wù)器,也與其他的文件屬主不同,而其他的文件屬主通常為代碼部署的用戶;文件權(quán)限也可能不符合服務(wù)器部署的規(guī)則。利用這些文件屬性信息的特征來識別后門文件。屬性異常判斷模塊10包括屬性獲取模塊101、屬主判斷單元102、時間離散判斷單元103、權(quán)限判斷單元104、屬性異常度計算單元105和屬性異常輸出單元106。屬性獲取模塊101,用于獲取web目錄下文件的文件屬性信息。從web服務(wù)器中獲取web目錄下文件的文件屬性信息,包括文件名、文件創(chuàng)建時間、文件修改時間、文件屬主、文件類型、文件權(quán)限及文件大小等。屬主判斷單元102,用于根據(jù)所述文件屬主確定腳本文件的屬性異常度。具體為判斷是否腳本文件的文件屬主為異常用戶且文件類型屬于預(yù)設(shè)類型,如果是,則為該腳本文件賦予屬主異常權(quán)值。屬主判斷單元102判斷腳本文件的文件屬主是否發(fā)生改變,如果發(fā)生改變,則說明這個腳本文件可能存在異常。如果腳本執(zhí)行用戶和代碼部署用戶不同,首先記錄初始狀態(tài)下的文件屬主,在通常情況下,腳本文件的文件屬主為代碼部署用戶,然后,一旦發(fā)現(xiàn)某個腳本文件的文件屬主發(fā)生改變,也就是說與初始狀態(tài)不一致時,則說明這個腳本文件可能存在異常,文件屬主為異常用戶。舉個例子如果創(chuàng)建腳本文件的執(zhí)行用戶和代碼部署用戶是不同用戶,按照正常程序運行時,文件屬主通常仍是代碼部署用戶。當(dāng)遇到異常情況,比如一個后門文件正在被創(chuàng)建時,文件屬主就可能發(fā)生改變。比如web后門通過web服務(wù)器創(chuàng)建時,其文件屬主就是web服務(wù)器的一個系統(tǒng)用戶,如果配置的系統(tǒng)用戶為admin,那么該文件屬主就為admin,與正常腳本文件的文件屬主不同。根據(jù)判斷結(jié)果為異常用戶的腳本文件賦予屬主異常權(quán)值。如果判斷文件屬主為異常用戶,則為該腳本文件進行打分,得到屬主異常權(quán)值。對于文件屬主為異常用戶的腳本文件,進一步判斷腳本文件的類型是否為預(yù)設(shè)類型。所述預(yù)設(shè)類型包括PHP、ASP、JSP或ASPX等類型文件。針對文件類型是所述預(yù)設(shè)類型的腳本文件進行調(diào)權(quán),增大該腳本文件的屬主異常權(quán)值。時間離散判斷單元103,用于根據(jù)所述文件創(chuàng)建時間確定腳本文件的屬性異常度。具體為計算腳本文件的創(chuàng)建時間相比較同目錄其他文件的時間離散度,確定時間離散度大于預(yù)設(shè)離散度閾值的腳本文件,如果確定的腳本文件數(shù)低于預(yù)設(shè)文件數(shù),則為確定的腳本文件賦予時間離散權(quán)值。時間離散判斷単元103計算各個腳本文件的創(chuàng)建時間相對于同目錄其他文件的時間離散度,判斷該時間離散度是否符合預(yù)設(shè)要求,如果時間離散度大于預(yù)設(shè)離散度閾值,則將該腳本文件判斷為離散文件,統(tǒng)計同目錄下判斷為離散文件的數(shù)量,如果統(tǒng)計到的同目錄離散文件的數(shù)量低于預(yù)設(shè)文件數(shù),則將該目錄下的這些離散文件判斷為可疑后門文件,如果統(tǒng)計到的同目錄離散文件的數(shù)量高于預(yù)設(shè)文件數(shù),則認(rèn)為該目錄下的這些離散文件為正常文件。所述時間離散度的計算方法可以但不限于采用以下方式 獲取同目錄下所有腳本文件的創(chuàng)建時間;按照時間先后排序,計算各個腳本文件的時間離散度。離散度可以采用極差、距離均差的平方和、方差或標(biāo)準(zhǔn)差等數(shù)學(xué)方法進行計算。例如,以極差的方式進行計算,可以為當(dāng)前腳本文件的時間離散度=當(dāng)前腳本文件的創(chuàng)建時間-同目錄下最先創(chuàng)建的腳本文件的創(chuàng)建時間例如,當(dāng)前腳本文件的創(chuàng)建時間為某一天的10:30,而同目錄下最先創(chuàng)建的腳本文件的創(chuàng)建時間是同一天的10:28,則此時當(dāng)前腳本文件的時間離散度為2分鐘。判斷各個腳本文件的時間離散度是否超過預(yù)設(shè)離散度閾值,將超過預(yù)設(shè)離散度閾值的腳本文件判斷為離散文件,并統(tǒng)計同目錄下離散文件的數(shù)量,如果統(tǒng)計到的同目錄離散文件的數(shù)量低于預(yù)設(shè)文件數(shù),則將該目錄下的這些離散文件判斷為可疑后門文件,否則判斷為正常文件。例如,如果預(yù)設(shè)離散度閾值為5分鐘,預(yù)設(shè)文件數(shù)為3,則將時間離散度超過5分鐘的腳本文件判斷為離散文件,判斷同目錄下離散文件的數(shù)量是否低于3個,如果是,則將該目錄下這低于3個的離散文件判斷為可疑后門文件,否則判斷為正常文件。比如,如果判斷為離散文件的數(shù)目超過10個,則認(rèn)為這些離散文件是正常文件,屬于時間離散度大的目錄文件。權(quán)限判斷単元104,用于根據(jù)所述文件權(quán)限確定腳本文件的屬性異常度。具體為判斷腳本文件權(quán)限是否不是默認(rèn)文件權(quán)限且文件屬主為預(yù)設(shè)用戶,如果是,則為該腳本文件賦予權(quán)限異常權(quán)值。在Iinux下,默認(rèn)文件權(quán)限通常為0744,代表不設(shè)置用戶ID和組ID,文件屬主可以讀寫和執(zhí)行文件,文件屬主所在組和其他用戶也具有讀權(quán)限。如果有web后門文件通過mysql (數(shù)據(jù)庫系統(tǒng))直接導(dǎo)出到web目錄中,則此腳本文件的文件權(quán)限為0666(所有均可讀寫)。如果該腳本文件的文件屬主為mysql用戶,就可以確定此文件為可疑后門文件。所述預(yù)設(shè)用戶包括mysql用戶,web服務(wù)器系統(tǒng)用戶等。屬性異常度計算單元105,用于計算web目錄文件中各腳本文件的屬性異常度。屬性異常度計算單元105將屬主判斷単元102、時間離散判斷単元103和權(quán)限判斷単元103的計算結(jié)果進行加權(quán)處理,將同一腳本文件的屬主異常權(quán)值、時間離散權(quán)值和權(quán)限異常權(quán)值進行加權(quán),得到各腳本文件的屬性異常度。所述加權(quán)處理可以但不限于采用線性加權(quán)的方式。
針對同一腳本文件
屬性異常度=al*屬主異常權(quán)值+bl*時間離散權(quán)值+Cl*權(quán)限異常權(quán)值,其中,al、bl、cl為常數(shù),是根據(jù)實際情況設(shè)定的權(quán)值因子。值得一提的是,所述腳本文件的屬性異常度可以是該腳本文件的屬主異常權(quán)值、時間離散權(quán)值或權(quán)限異常權(quán)值中一種或者任意組合的加權(quán)值。屬性異常輸出單元106,用于將屬性異常度滿足預(yù)設(shè)要求的腳本文件判斷為后門文件輸出至輸出模塊50。按照屬性異常度計算單元105計算得到的各文件的屬性異常度大小進行排序。所述滿足預(yù)設(shè)要求包括所述屬性異常度排在前NI個,NI為預(yù)設(shè)正整數(shù),例如,當(dāng)NI取I時,只選取屬性異常度最大的腳本文件作為后門文件?;蛘?,所述屬性異常度大于預(yù)設(shè)閾值。訪問異常判斷模塊20,用于從web日志中統(tǒng)計各腳本文件的訪問頻度、訪問來源數(shù)或分時段訪問量,根據(jù)統(tǒng)計結(jié)果確定腳本文件的訪問異常度,將訪問異常度滿足預(yù)設(shè)要求的腳本文件識別為后門文件。訪問異常判斷模塊20包括日志獲取單元201、訪問頻度統(tǒng)計單元202、訪問來源數(shù)統(tǒng)計單元203、分時段統(tǒng)計單元204、訪問異常度計算單元205和訪問異常輸出單元206。日志獲取單元201,用于獲取web日志的數(shù)據(jù)信息。訪問頻度統(tǒng)計單元202,用于統(tǒng)計各個腳本文件的訪問頻度,將訪問頻度低于預(yù)設(shè)訪問數(shù)閾值的腳本文件識別為可疑后門文件,并計算識別到的可疑后門文件的訪問頻度異常權(quán)值。在所有成功的訪問中,如果存在后門文件,則后門文件的訪問頻度應(yīng)該是最低的,只有一個用戶進行訪問,訪問的頻度也較低,而正常文件的訪問量一般都比較大。按照訪問頻度排序,將訪問頻度低于預(yù)設(shè)訪問閾值的腳本文件識別為可疑后門文件。所述訪問頻度異常權(quán)值與腳本文件的訪問頻度成反比,訪問頻度越小,訪問頻度異常權(quán)值越大;反之,訪問頻度越大,則訪問頻度異常權(quán)值越小。訪問來源數(shù)統(tǒng)計單元203,用于統(tǒng)計各個腳本文件的訪問來源數(shù),將訪問來源數(shù)低于預(yù)設(shè)訪問來源閾值的腳本文件識別為可疑后門文件,并計算識別到的可疑后門文件的訪問源異常權(quán)值。在所有成功的訪問中,后門文件的訪問來源數(shù)應(yīng)該也是最低的,只有一個用戶進行訪問,其訪問來源數(shù)是I,而正常文件的訪問來源一般都比較多。按照訪問來源數(shù)排序,將訪問來源數(shù)低于預(yù)設(shè)訪問來源閾值的腳本文件識別為可疑后門文件。所述訪問源異常權(quán)值與腳本文件的訪問來源數(shù)成反比,訪問來源數(shù)越小,訪問源異常權(quán)值越大;反之,訪問來源數(shù)越大,則訪問源異常權(quán)值越小。分時段統(tǒng)計單元204,用于分時段統(tǒng)計各個腳本文件的訪問量,將分時段訪問量超出預(yù)設(shè)分時段閾值的次數(shù)大于規(guī)定次數(shù)的腳本文件識別為可疑后門文件,并計算可疑后門文件的分時段訪問異常權(quán)值。按照一定時間段對web日志進行分析。例如按照天來分析,一般所有文件的訪問量和高峰期是有明顯規(guī)律的。如果是用戶訪問的話,就會按照時間有坡度的升降。如果是機器自動訪問,則文件的訪問會有固定時間點。只有后門文件的訪問規(guī)律是無序的。因此,可以通過分時段地統(tǒng)計訪問量來檢測,根據(jù)實際應(yīng)用情形設(shè)置分時段閾值,對于分時段訪問量超出分時段閾值的次數(shù)大于規(guī)定次數(shù)的腳本文件,可將其識別為可疑后門文件。例如,分為12個時段,每個時段設(shè)置不同的分時段閾值,規(guī)定超過分時段閾值的次數(shù)應(yīng)該小于3次,當(dāng)腳本文件有超過3個時段的訪問量超出對應(yīng)時段的分時段閾值時,則將該腳本文件識別為可疑后門文件。計算可疑后門文件的分時段訪問異常權(quán)值,分時段訪問量超出分時段閾值的次數(shù)越多,分時段訪問異常權(quán)值越大,反之則分時段訪問異常權(quán)值越小。訪問異常度計算單元205,用于針對同一個腳本文件,將訪問頻度異常權(quán)值、訪問源異常權(quán)值或分時段訪問異常權(quán)值進行加權(quán),得到訪問異常度。值得ー提的是,所述腳本文件的訪問異常度可以是訪問頻度異常權(quán)值、訪問源異常權(quán)值或分時段訪問異常權(quán)值中的ー種或任意組合的加權(quán)值。

訪問異常輸出單元206,用于將訪問異常度滿足預(yù)設(shè)要求的腳本文件識別為后門文件輸出至輸出模塊50。所述訪問異常度滿足預(yù)設(shè)要求包括所述訪問異常度排在前N2個,N2為預(yù)設(shè)正整數(shù),例如,當(dāng)N2取I吋,只選取訪問異常度最大的腳本文件作為后門文件。或者,所述訪問異常度大于預(yù)設(shè)訪問閾值。進程異常監(jiān)控模塊30,利用操作系統(tǒng)對web服務(wù)器的進程進行監(jiān)控,判斷web服務(wù)器的進程中是否有預(yù)設(shè)的操作或命令,如果有,將發(fā)出該操作或命令的腳本文件識別為后門文件。從理論上來說,web服務(wù)器是不會對除了 web日志、配置文件、web目錄以外的其他系統(tǒng)目錄進行讀寫操作的。如果出現(xiàn)了對其他系統(tǒng)目錄進行讀寫操作,就可以說是特殊系統(tǒng)命令或操作。比如,出現(xiàn)操作/etc/passwd執(zhí)行uname_a操作等。通過對web服務(wù)器的進程進行監(jiān)控,檢測是否有可疑的文件或命令操作。預(yù)先將常見的特殊系統(tǒng)命令或操作收集起來,形成預(yù)設(shè)操作命令集合。當(dāng)web服務(wù)器的進程中出現(xiàn)執(zhí)行特殊系統(tǒng)命令的操作時,將發(fā)出該特殊系統(tǒng)命令的腳本文件識別為后門文件。利用系統(tǒng)級別或內(nèi)核級別的程序?qū)eb服務(wù)器進行監(jiān)控。例如,利用操作系統(tǒng)的API函數(shù),所述API (Application Programming Interface)函數(shù)是操作系統(tǒng)的應(yīng)用程序編程接ロ,對web服務(wù)器的進程進行監(jiān)控,用以發(fā)現(xiàn)存在執(zhí)行特殊系統(tǒng)命令的操作,或者有讀寫web目錄之外文件的行為。進程異常監(jiān)控模塊30包括進程監(jiān)控單元301、賦值單元302和進程異常輸出單元303。進程監(jiān)控單元301對web服務(wù)器的進程進行監(jiān)控,檢測是否有可疑的文件或命令操作。當(dāng)出現(xiàn)時,賦值単元302為發(fā)出預(yù)設(shè)的操作或命令的腳本文件賦予進程異常權(quán)值。進程異常輸出単元303將發(fā)出該特殊系統(tǒng)命令的腳本文件識別為后門文件輸出至輸出模塊50。加權(quán)模塊40,針對所述判斷模塊識別到的后門文件中的同一腳本文件,將該腳本文件的屬性異常度、訪問異常度或進程異常權(quán)值進行加權(quán),得到該腳本文件的異常度。當(dāng)判斷模塊包括所述屬性異常判斷模塊、訪問異常判斷模塊和進程異常監(jiān)控模塊中任意組合時,加權(quán)模塊40相應(yīng)地將屬性異常度計算單元105、訪問異常度計算單元205和賦值單元302計算得到的權(quán)值進行加權(quán),得到該腳本文件的異常度。輸出模塊50,用于根據(jù)加權(quán)模塊40的計算結(jié)果,將異常度滿足預(yù)設(shè)要求的腳本文件作為檢測結(jié)果輸出。所述異常度滿足預(yù)設(shè)要求包括所述異常度排在前N個,N為預(yù)設(shè)正整數(shù);或者,所述異常度大于預(yù)設(shè)異常度閾值。例如,當(dāng)N取I時,通過上述手段的互相加權(quán),最后異常度總分最高的腳本文件,最有可能為后門文件,輸出作為檢測結(jié)果。值得一提的是,輸出模塊50也可以直接輸出屬性異常輸出單兀106、訪問異常輸出單元206或進程異常輸出單元303的檢測結(jié)果,即直接將所述判斷模塊識別為后門文件的腳本文件作為檢測結(jié)果輸出。本發(fā)明的方法和裝置不依賴于后門文件的靜態(tài)內(nèi)容進行后門的檢測,因此沒有靜態(tài)特征碼檢查的缺點,大大擴寬了后門的檢出率,同時又可以根據(jù)實際調(diào)整每項檢測方法的報警閾值,減少后門誤報率。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明保護的范圍之內(nèi)。權(quán)利要求
1.一種基于行為特征的web后門檢測方法,其特征在于,包括 51、針對腳本文件分別執(zhí)行步驟Sl_l或步驟Sl_2,其中 步驟Sl_l、獲取web目錄下腳本文件的文件屬性信息,根據(jù)所述文件屬性信息中的文件創(chuàng)建時間、文件屬主或文件權(quán)限,確定腳本文件的屬性異常度,將屬性異常度滿足預(yù)設(shè)要求的腳本文件識別為后門文件; 步驟Sl_2、從web日志中統(tǒng)計各腳本文件的訪問頻度、訪問來源數(shù)或分時段訪問量,根據(jù)統(tǒng)計結(jié)果確定腳本文件的訪問異常度,將訪問異常度滿足預(yù)設(shè)要求的腳本文件識別為后門文件; 52、將步驟SI中識別為后門文件的腳本文件作為檢測結(jié)果輸出。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述步驟Sl_l中, 根據(jù)所述文件屬主確定腳本文件的屬性異常度為判斷是否腳本文件的文件屬主為異常用戶且文件類型屬于預(yù)設(shè)類型,如果是,則為該腳本文件賦予屬主異常權(quán)值; 根據(jù)所述文件創(chuàng)建時間確定腳本文件的屬性異常度為計算腳本文件的創(chuàng)建時間相比較同目錄其他文件的時間離散度,確定時間離散度大于預(yù)設(shè)離散度閾值的腳本文件,如果確定的腳本文件數(shù)低于預(yù)設(shè)文件數(shù),則為確定的腳本文件賦予時間離散權(quán)值; 根據(jù)所述文件權(quán)限確定腳本文件的屬性異常度為判斷腳本文件權(quán)限是否不是默認(rèn)文件權(quán)限且文件屬主為預(yù)設(shè)用戶,如果是,則為該腳本文件賦予權(quán)限異常權(quán)值。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述腳本文件的屬性異常度是該腳本文件的屬主異常權(quán)值、時間離散權(quán)值或權(quán)限異常權(quán)值中一種或者任意組合的加權(quán)值。
4.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述屬性異常度滿足預(yù)設(shè)要求包括 所述屬性異常度排在前NI個,NI為預(yù)設(shè)正整數(shù); 或者,所述屬性異常度大于預(yù)設(shè)異常度閾值。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述步驟Sl_2中, 根據(jù)所述訪問頻度的統(tǒng)計結(jié)果確定腳本文件的訪問異常度為判斷腳本文件的訪問頻度是否低于預(yù)設(shè)訪問數(shù)閾值,如果是,則為該腳本文件賦予訪問頻度異常權(quán)值; 根據(jù)所述訪問來源數(shù)的統(tǒng)計結(jié)果確定腳本文件的訪問異常度為判斷腳本文件的訪問來源數(shù)是否低于預(yù)設(shè)訪問來源閾值,如果是,則為該腳本文件賦予訪問源異常權(quán)值; 根據(jù)所述分時段訪問量的統(tǒng)計結(jié)果確定腳本文件的訪問異常度為判斷腳本文件的分時段訪問量超出預(yù)設(shè)分時段閾值的次數(shù)是否大于規(guī)定次數(shù),如果是,則為該腳本文件賦予分時段訪問異常權(quán)值。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述腳本文件的訪問異常度是該腳本文件的訪問頻度異常權(quán)值、訪問源異常權(quán)值或分時段訪問異常權(quán)值中的一種或任意組合的加權(quán)值。
7.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述訪問異常度滿足預(yù)設(shè)要求包括 所述訪問異常度排在前N2個,N2為預(yù)設(shè)正整數(shù); 或者,所述訪問異常度大于預(yù)設(shè)訪問閾值。
8.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述步驟SI還包括針對腳本文件執(zhí)行步驟 Sl_3 利用操作系統(tǒng)對web服務(wù)器的進程進行監(jiān)控,判斷web服務(wù)器的進程中是否有預(yù)設(shè)的操作或命令,如果有,將發(fā)出該操作或命令的腳本文件識別為后門文件。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述步驟Sl_3包括為發(fā)出預(yù)設(shè)的操作或命令的腳本文件賦予進程異常權(quán)值; 所述步驟S2包括 針對所述步驟SI識別到的后門文件中的同一腳本文件,將該腳本文件的屬性異常度或訪問異常度中的一種或組合與進程異常權(quán)值進行加權(quán),得到該腳本文件的異常度; 將異常度滿足預(yù)設(shè)要求的腳本文件作為檢測結(jié)果輸出。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述異常度滿足預(yù)設(shè)要求包括 所述異常度排在前N個,N為預(yù)設(shè)正整數(shù); 或者,所述異常度大于預(yù)設(shè)異常度閾值。
11.一種基于行為特征的web后門檢測裝置,其特征在于,包括 判斷模塊,包括屬性異常判斷模塊或訪問異常判斷模塊,其中 所述屬性異常判斷模塊,用于獲取web目錄下腳本文件的文件屬性信息,根據(jù)所述文件屬性信息中的文件創(chuàng)建時間、文件屬主或文件權(quán)限,確定腳本文件的屬性異常度,將屬性異常度滿足預(yù)設(shè)要求的腳本文件識別為后門文件; 所述訪問異常判斷模塊,用于從web日志中統(tǒng)計各腳本文件的訪問頻度、訪問來源數(shù)或分時段訪問量,根據(jù)統(tǒng)計結(jié)果確定腳本文件的訪問異常度,將訪問異常度滿足預(yù)設(shè)要求的腳本文件識別為后門文件; 輸出模塊,用于將所述判斷模塊識別為后門文件的腳本文件作為檢測結(jié)果輸出。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述屬性異常判斷模塊具體配置包括 根據(jù)所述文件屬主確定腳本文件的屬性異常度為判斷是否腳本文件的文件屬主為異常用戶且文件類型屬于預(yù)設(shè)類型,如果是,則為該腳本文件賦予屬主異常權(quán)值; 根據(jù)所述文件創(chuàng)建時間確定腳本文件的屬性異常度為計算腳本文件的創(chuàng)建時間相比較同目錄其他文件的時間離散度,確定時間離散度大于預(yù)設(shè)離散度閾值的腳本文件,如果確定的腳本文件數(shù)低于預(yù)設(shè)文件數(shù),則為確定的腳本文件賦予時間離散權(quán)值; 根據(jù)所述文件權(quán)限確定腳本文件的屬性異常度為判斷腳本文件權(quán)限是否不是默認(rèn)文件權(quán)限且文件屬主為預(yù)設(shè)用戶,如果是,則為該腳本文件賦予權(quán)限異常權(quán)值。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述腳本文件的屬性異常度是該腳本文件的屬主異常權(quán)值、時間離散權(quán)值或權(quán)限異常權(quán)值中ー種或者任意組合的加權(quán)值。
14.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述屬性異常度滿足預(yù)設(shè)要求包括 所述屬性異常度排在前NI個,NI為預(yù)設(shè)正整數(shù); 或者,所述屬性異常度大于預(yù)設(shè)異常度閾值。
15.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述訪問異常判斷模塊具體配置包括 根據(jù)所述訪問頻度的統(tǒng)計結(jié)果確定腳本文件的訪問異常度為判斷腳本文件的訪問頻度是否低于預(yù)設(shè)訪問數(shù)閾值,如果是,則為該腳本文件賦予訪問頻度異常權(quán)值; 根據(jù)所述訪問來源數(shù)的統(tǒng)計結(jié)果確定腳本文件的訪問異常度為判斷腳本文件的訪問來源數(shù)是否低于預(yù)設(shè)訪問來源閾值,如果是,則為該腳本文件賦予訪問源異常權(quán)值; 根據(jù)所述分時段訪問量的統(tǒng)計結(jié)果確定腳本文件的訪問異常度為判斷腳本文件的分時段訪問量超出預(yù)設(shè)分時段閾值的次數(shù)是否大于規(guī)定次數(shù),如果是,則為該腳本文件賦予分時段訪問異常權(quán)值。
16.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述腳本文件的訪問異常度是該腳本文件的訪問頻度異常權(quán)值、訪問源異常權(quán)值或分時段訪問異常權(quán)值中的一種或任意組合的加權(quán)值。
17.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述訪問異常度滿足預(yù)設(shè)要求包括 所述訪問異常度排在前N2個,N2為預(yù)設(shè)正整數(shù); 或者,所述訪問異常度大于預(yù)設(shè)訪問閾值。
18.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述判斷模塊還包括 進程異常監(jiān)控模塊,利用操作系統(tǒng)對web服務(wù)器的進程進行監(jiān)控,判斷web服務(wù)器的進程中是否有預(yù)設(shè)的操作或命令,如果有,將發(fā)出該操作或命令的腳本文件識別為后門文件。
19.根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述進程異常監(jiān)控模塊為發(fā)出預(yù)設(shè)的操作或命令的腳本文件賦予進程異常權(quán)值; 該裝置還包括 加權(quán)模塊,針對所述判斷模塊識別到的后門文件中的同一腳本文件,將該腳本文件的屬性異常度或訪問異常度中的一種或組合與進程異常權(quán)值進行加權(quán),得到該腳本文件的異常度; 所述輸出模塊根據(jù)所述加權(quán)模塊的計算結(jié)果,將異常度滿足預(yù)設(shè)要求的腳本文件作為檢測結(jié)果輸出。
20.根據(jù)權(quán)利要求19所述的裝置,其特征在于,所述異常度滿足預(yù)設(shè)要求包括 所述異常度排在前N個,N為預(yù)設(shè)正整數(shù); 或者,所述異常度大于預(yù)設(shè)異常度閾值。
全文摘要
本發(fā)明提供了一種基于行為特征的web后門檢測方法和裝置,該方法包括步驟S1_1、獲取web目錄下腳本文件的文件屬性信息,根據(jù)所述文件屬性信息中的文件創(chuàng)建時間、文件屬主或文件權(quán)限,確定腳本文件的屬性異常度,將屬性異常度滿足預(yù)設(shè)要求的腳本文件識別為后門文件;步驟S1_2、從web日志中統(tǒng)計各腳本文件的訪問頻度、訪問來源數(shù)或分時段訪問量,確定訪問異常度,將訪問異常度滿足預(yù)設(shè)要求的腳本文件識別為后門文件;步驟S1_3、利用操作系統(tǒng)對web服務(wù)器的進程進行監(jiān)控,判斷是否有預(yù)設(shè)的操作或命令,如果有,將發(fā)出該操作或命令的腳本文件識別為后門文件。本發(fā)明基于行為特征的檢測方式,能有效檢出加密變形的web后門,提高檢出率和檢測效率,減少誤報率。
文檔編號H04L29/06GK102647421SQ20121010248
公開日2012年8月22日 申請日期2012年4月9日 優(yōu)先權(quán)日2012年4月9日
發(fā)明者方小頓, 王珉然 申請人:北京百度網(wǎng)訊科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1