一種Web漏洞挖掘方法及系統的制作方法
【專利摘要】本申請公開了一種Web漏洞挖掘方法及系統,包括采集并存儲Web訪問日志,按照預先設置的日志分析挖掘策略分配挖掘任務,按照分配的挖掘任務對Web訪問日志進行查詢,最后根據查詢結果進行Web漏洞掃描以確定漏洞。本申請方案中,利用Hadoop等大數據分析框架的海量數據的存儲、分析和查詢能力,以及Web漏洞掃描的準確性,形成了閉環式的漏洞挖掘方法,通過有針對性、有目標的查詢,避免了大海撈針式的查詢,從而大大提高了查詢的效率,而Web漏洞掃描技術的準確性也保證了本申請Web漏洞挖掘的準確性。因此,通過本申請提供的Web漏洞挖掘方法及系統,準確地實現了海量數據下的Web漏洞分析查詢,從而提高了Web漏洞挖掘的準確性、及時性。
【專利說明】-種Web漏洞挖掘方法及系統
【技術領域】
[0001] 本申請涉及網絡安全技術,尤指一種基于大數據環境下的Web漏洞挖掘方法及系 統。
【背景技術】
[0002] 隨著Web2.0、社交網絡、微博等一系列新型的互聯網產品的誕生,基于Web環境的 互聯網應用越來越廣泛。目前,很多業務都依賴于互聯網,比如網上銀行、網絡購物、網游 等,接踵而至的就是Web安全威脅的凸顯。黑客利用網站的漏洞,得到Web服務器的控制權 限,篡改網頁內容,甚至竊取重要內部數據,更為嚴重的則是在網頁中植入惡意代碼,使得 網站訪問者受到侵害。而很多惡意攻擊者則想方設法通過各種手段獲取他人的個人賬戶信 息等謀取利益。其中,漏洞(vulnerability)是指,系統中存在的一些功能性或安全性的 邏輯缺陷,包括一切導致威脅、損壞計算機系統安全性的所有因素。漏洞是計算機系統在硬 件、軟件、協議的具體實現或系統安全策略上存在的缺陷和不足。
【發明內容】
[0003] 為了解決上述技術問題,本申請提供了一種Web漏洞挖掘方法及系統,能夠準確 實現海量數據下的Web漏洞分析查詢,從而提高Web漏洞挖掘的準確性、及時性。
[0004] 為了達到本申請目的,本申請提供一種Web漏洞挖掘方法,包括:
[0005] 采集并存儲Web訪問日志;
[0006] 按照預先設置的日志分析挖掘策略分配挖掘任務;
[0007] 根據分配的挖掘任務對所述Web訪問日志進行查詢,并根據查詢結果進行Web漏 洞掃描以確定漏洞。
[0008] 所述采集到的Web訪問日志存儲在大數據分析框架;
[0009] 所述大數據分析框架為 Hadoop、或 Spark、或 Bashreduce、或 GraphLab、或 Twitter Storm。
[0010] 所述分配挖掘任務為:預先設置用于調度任務分配的時刻表,根據時刻表自動進 行任務分配;
[0011] 所述時刻表包括標識Id、時間戳、流水號、重試次數、任務配置、實際參數,狀態;
[0012] 其中,標識Id,為當前分配的任務所采用的日志分析挖掘策略的Id ;
[0013] 流水號,用于唯一標識一個任務;
[0014] 重試次數,用于表示當任務失敗時,允許重新嘗試的次數;
[0015] 任務配置,在任務執行時使用的配置文件,是命令和/或腳本的組合;
[0016] 實際參數,是任務執行時的限制性參數;
[0017] 狀態,用于表示任務執行情況。
[0018] 所述分配挖掘任務為:手動進行任務配置并分配;
[0019] 手工分配任務時需要傳遞的參數包括:標識Id、時間戳、調度人員信息,任務配 置、以及實際參數;其中,
[0020] 標識Id,為當前分配的任務所采用的日志分析挖掘策略的Id ;
[0021] 任務配置,在任務執行時使用的配置文件,是命令和/或腳本的組合;
[0022] 實際參數,是任務執行時的限制性參數;
[0023] 調度人員信息,表示發起該手工分配任務的工作人員信息。
[0024] 所述根據分配的挖掘任務對Web訪問日志進行查詢在大數據分析框架實現;
[0025] 包括:所述挖掘任務啟動后,執行所述任務配置中的配置文件;向大數據分析框 架發起執行挖掘任務的查詢指令,在查詢指令中包括與所述標識Id對應的日志分析挖掘 策略中的URL或者特征條件;
[0026] 將所述URL或者特征條件與Web訪問日志數據進行匹配,將包含有所述URL或者 特征條件的Web訪問日志數據確定為疑似漏洞,并將其作為查詢結果。
[0027] 所述查詢結果中包括有源IP地址src_ip、統一資源定位符URL ;
[0028] 其中,源IP地址src_ip和URL是與所述日志分析挖掘策略中的條件匹配的Web 訪問日志中的原始數據。
[0029] 所述進行Web漏洞掃描之前,該方法還包括:對所述查詢結果進行預處理;
[0030] 所述預處理為過濾聚并處理,包括去重處理、和/或合并處理。
[0031] 該方法還包括:對所述確定的漏洞進行特征提取,并將其作為新的日志分析挖掘 策略保存。
[0032] 所述日志分析挖掘策略包括標識ID、名稱、條件;
[0033] 其中,條件是漏洞的特征或者攻擊的特征的組合。
[0034] 本申請還提供一種Web漏洞挖掘系統,包括采集單元、存儲分析單元、挖掘調度單 元,以及Web漏洞掃描單元;其中,
[0035] 采集單元,用于采集Web訪問日志,并將其輸出給存儲分析單元;
[0036] 存儲分析單元,用于存儲采集單元采集到的Web訪問日志;接收來自挖掘調度單 元的挖掘任務,對Web訪問日志進行查詢;將查詢結果上報給挖掘調度單元;
[0037] 挖掘調度單元,其中存儲有日志分析挖掘策略,用于按照預先設置的日志分析挖 掘策略分配挖掘任務,并將挖掘任務下發給存儲分析單元;接收存儲分析單元返回的查詢 結果,并輸出給Web漏洞掃描單元;
[0038] Web漏洞掃描單元,用于根據查詢結果進行Web漏洞掃描以確定漏洞。
[0039] 所述存儲分析單元為大數據分析框架;
[0040] 所述大數據分析框架為 Hadoop、或 Spark、或 Bashreduce、或 GraphLab、或 Twitter Storm。
[0041] 所述大數據分析框架具體用于,存儲采集單元采集到的Web訪問日志;接收來自 所述挖掘調度單元的表示執行挖掘任務的查詢指令,在查詢指令中包括與當前分配的任務 的Id所對應的日志分析挖掘策略中的URL或者特征條件;
[0042] 將所述URL或者特征條件與Web訪問日志數據進行匹配,將包含有所述URL或者 特征條件的Web訪問日志數據確定為疑似漏洞,并將其作為查詢結果。
[0043] 所述采集單元包括一個或一個以上采集代理,分別部署在各自的Web服務器上, 用于采集最新的日志并上傳給所述存儲分析單元;
[0044] 所述采集代理是分布式的訪問日志采集器。
[0045] 該系統還包括一個或一個以上代理服務器,設置在所述采集代理與存儲分析單元 之間,用于配置所述采集代理輪詢Web訪問日志的時間。
[0046] 所述挖掘調度單元,還用于對所述查詢結果進行預處理;
[0047] 所述預處理為過濾聚并處理,包括去重處理、和/或合并處理。
[0048] 所述Web漏洞掃描單元,還用于將確定的漏洞返回所述挖掘調度單元;
[0049] 所述挖掘調度單元,還用于對確定的漏洞進行特征提取,并將其作為新的日志分 析挖掘策略保存。
[0050] 所述Web漏洞掃描單元為掃描軟件X-Scan、或MDCSOFT SCAN檢測平臺、或掃描平 臺。
[0051] 本申請提供的方案包括采集并在Hadooop等大數據分析框架存儲Web訪問日志, 按照預先設置的日志分析挖掘策略分配挖掘任務,按照分配的挖掘任務Hadooop等大數據 分析框架對Web訪問日志進行查詢,最后根據查詢結果進行Web漏洞掃描以確定漏洞。本申 請方法中,利用Hadoop等大數據分析框架的海量數據的存儲、分析和查詢能力,以及Web漏 洞掃描的準確性,形成了閉環式的漏洞挖掘方法,通過有針對性、有目標的查詢,避免了大 海撈針式的查詢,從而大大提高了查詢的效率,而Web漏洞掃描技術的準確性也保證了本 申請Web漏洞挖掘的準確性。因此,通過本申請提供的方法,準確實現了海量數據下的Web 漏洞分析查詢,從而提高了 Web漏洞挖掘的準確性、及時性。
[0052] 本申請的其它特征和優點將在隨后的說明書中闡述,并且,部分地從說明書中變 得顯而易見,或者通過實施本申請而了解。本申請的目的和其他優點可通過在說明書、權利 要求書以及附圖中所特別指出的結構來實現和獲得。
【專利附圖】
【附圖說明】
[0053] 附圖用來提供對本申請技術方案的進一步理解,并且構成說明書的一部分,與本 申請的實施例一起用于解釋本申請的技術方案,并不構成對本申請技術方案的限制。
[0054] 圖1為本申請Web漏洞挖掘方法的流程圖;
[0055] 圖2為本申請Web漏洞挖掘系統的組成結構示意圖。
【具體實施方式】
[0056] 為使本申請的目的、技術方案和優點更加清楚明白,下文中將結合附圖對本申請 的實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中 的特征可以相互任意組合。
[0057] 在本申請一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出 接口、網絡接口和內存。
[0058] 內存可能包括計算機可讀介質中的非永久性存儲器,隨機存取存儲器(RAM)和/ 或非易失性內存等形式,如只讀存儲器(ROM)或閃存(flash RAM)。內存是計算機可讀介質 的示例。
[0059] 計算機可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法 或技術來實現信息存儲。信息可以是計算機可讀指令、數據結構、程序的模塊或其他數據。 計算機的存儲介質的例子包括,但不限于相變內存(PRAM)、靜態隨機存取存儲器(SRAM)、 動態隨機存取存儲器(DRAM)、其他類型的隨機存取存儲器(RAM)、只讀存儲器(ROM)、電 可擦除可編程只讀存儲器(EEPR0M)、快閃記憶體或其他內存技術、只讀光盤只讀存儲器 (CD-ROM)、數字多功能光盤(DVD)或其他光學存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁 性存儲設備或任何其他非傳輸介質,可用于存儲可以被計算設備訪問的信息。按照本文中 的界定,計算機可讀介質不包括非暫存電腦可讀媒體(transitory media),如調制的數據 信號和載波。
[0060] 在附圖的流程圖示出的步驟可以在諸如一組計算機可執行指令的計算機系統中 執行。并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順 序執行所示出或描述的步驟。
[0061] 對于已經上線的Web應用,面對海量用戶的訪問,一般是通過分析Web訪問日志 來進行網站的漏洞挖掘的。其中,漏洞挖掘就是通過分析Web訪問日志,從中發現正在被 利用的漏洞的過程。對于一個大型網站來說,這些Web訪問日志的數據巨大,無法采用常 規的挖掘手段,而必須考慮大數據背景下的挖掘手段:一是及時性,即針對已經上線的Web 應用,要能在漏洞被惡意利用的第一時間發現并及時處理,以避免更大的損失;二是準確 性,即針對發現的疑似漏洞,要能盡快準確判斷出是否是真正的漏洞,以便決定是否要投入 資源和技術手段。因此,在這種大數據情形下,如何快速、及時地發現潛在的或正在被利用 的Web漏洞就顯得非常重要了。其中,Web漏洞泛指,Web應用程序存在的漏洞,如結構化 查詢語言(SQL, Structure Query Language)注入、跨站腳本(XSS)、跨站請求偽造(CSRF, Cross-siterequestforgery)、網頁掛馬等。
[0062]目前,對網站的漏洞主要是通過掃描的方式來檢測的,通常是指基于一套漏洞數 據庫,通過掃描等手段,對指定的遠程或者本地計算機系統的安全脆弱性進行檢測,從而發 現可利用的漏洞的一種安全檢測(滲透攻擊)行為。目前,檢測Web漏洞的工具大致有兩 種模式:
[0063] 一種模式包括軟件掃描和平臺掃描。其中,軟件掃描是通過下載軟件安裝,對自身 網站進行漏洞掃描,平臺掃描是近幾年興起的,只要將網站提交到該掃描平臺,通過掃描平 臺的認證后,掃描平臺即可通過郵件將掃描結果即漏洞清單發給用戶,以實現云安全。軟 件掃描和平臺掃描的模式,是通過模擬訪問方式來實現的,其準確性較高,但是,由于不能 定位問題所在,一般只能通過全站掃描來排查問題,顯然,軟件掃描和平臺掃描的模式存在 效率低、針對性差等問題,而且一定程度上會造成攻擊的假象,甚至可能影響正常的用戶訪 問。
[0064] 另一種模式是基于對Web訪問日志的分析,即通過對訪問日志中大量的用戶訪問 記錄的深入分析,比如根據常見的Web漏洞攻擊特征以及后門文件指紋信息來進行匹配, 分析出網站是否遭受或者已經被黑客入侵,對網站運營環境進行風險評估,從而判斷出是 否存在漏洞被利用的情況,以便及時定位并修復漏洞,進而避免進一步的損失。常見的日 志分析工具有AWStats、Google Analytics等。日志分析的模式是通過事后的旁路日志分 析,完全可以避免影響正常的業務訪問,但是,這種模式的漏洞發現的準確性較差,而且,隨 著日志量的劇增,常規的日志分析方法在效率上面臨著嚴峻挑戰,面對每天數以T級的海 量的日志,更是無能為力。
[0065] 其中,Web訪問日志是網站分析和網站數據倉庫的數據最基礎來源。目前,常見的 Web訪問日志格式主要包括:一類是Apache (是Apache HTTP Server的簡稱,是Apache軟 件基金會的一個開放源碼的網頁服務器)的國家超級計算機應用中心(NCSA)日志格式, 另一類是因特網信息服務器(IIS)的萬維網聯盟(W3C)日志格式。其中,NCSA格式又分為 NCSA普通日志格式(CLF)和NCSA擴展日志格式(ECLF),目前最常用的是ECLF格式及基于 自定義類型的Apache日志格式;而W3C擴展日志格式(ExLF)具備了更為豐富的輸出信息, 但是,目前應用并不廣泛。
[0066] 圖1為本申請Web漏洞挖掘方法的流程圖,如圖1所示,包括:
[0067] 步驟100 :采集并存儲Web訪問日志。
[0068] Hadoop是當下主流的大數據分析框架,是一個開源項目,這里簡單介紹如下: Hadoop是一個能夠對大量數據進行分布式處理的軟件框架。Hadoop是以一種可靠、高效、 可伸縮的方式進行處理的。Hadoop是可靠的,因為它假設計算元素和存儲會失敗,因此它維 護多個工作數據副本,確保能夠針對失敗的節點重新分布處理。Hadoop是高效的,因為它以 并行的方式工作,通過并行處理加快處理速度。Hadoop還是可伸縮的,能夠處理PB級數據。 此外,Hadoop依賴于社區服務器,因此它的成本比較低,任何人都可以使用。因此,Hadoop 是一個能夠讓用戶輕松架構和使用的分布式計算平臺。用戶可以輕松地在Hadoop上開發 和運行處理海量數據的應用程序。
[0069] 本步驟中,充分利用Hadoop的特點,將采集到的海量的Web訪問數據存儲在 Hadoop。還可以在Hadoop進行查詢,檢索等功能。
[0070] 需要說明的是,除了 Hadoop這種當下主流的大數據的處理方式外,本申請還適用 于像由UCBerkeley的AMP實驗室開發的通用的并行計算框架Spark、在bash環境下的多個 機器上執行MapReduce類型的操作的Bashreduce、抽象實現MapReduce的GraphLab,以及 最近新起的Twitter Storm, Storm是實時處理的Hadoop等等大數據分析框架。
[0071] 為了描述方便,本文中僅以Hadoop為例進行相關描述。
[0072] 步驟101 :按照預先設置的日志分析挖掘策略分配挖掘任務。
[0073] 本步驟中,日志分析挖掘策略中包括:逐漸積累的一些漏洞的特征或者攻擊的特 征。比如一些數據滿足的條件(或者通用規則)等。每條日志分析挖掘策略可以包括標識 (ID)、名稱(Name)、條件(Condition)等信息,其中,條件就是漏洞的特征或者攻擊的特征 的組合。日志分析挖掘策略庫中的日志分析挖掘策略,既可以是一些特定的URL,用于表明 需要關注的網站路徑;也可以是一些攻擊特征,比如XSS的< script >< /script >這種 標簽等等。
[0074] 本步驟中分配任務的方法包括自動分配任務,或者手工分配任務,其中,
[0075] 自動分配任務包括:預先設置用于調度任務分配的時刻表,根據時刻表自動進行 任務分配。時刻表的格式可以包括:(Id、時間戳(timestamp)、流水號、重試次數、任務配 置、實際參數、狀態),其中,
[0076] Id,就是當前分配的任務所采用的日志分析挖掘策略的Id;流水號,用于唯一標 識一個任務;重試次數,用于表示當任務失敗時,允許重新嘗試的次數;任務配置,是在任 務執行時使用的配置文件,通常是一些命令和/或腳本的組合,比如預先設置好的一些 Hadoop操作命令的組合;實際參數,是任務執行時的一些限制性參數,比如分析某一時間 段內的Web訪問日志,或分析來自某些代理的Web訪問日志等;狀態,用于表示任務執行情 況,比如已執行或未執行或執行中。
[0077] 時刻表可以在每天零點生成當天全天的任務,之后,系統就按照時刻表進行任務 的分配。
[0078] 手工分配任務包括:調度人員手動進行任務配置并分配。手工分配任務時需要 傳遞的參數可以包括:(Id、時間戳、調度人員信息(Owner)、任務配置、實際參數)。其中, Owner表示發起這個手工分配任務的工作人員信息,如編號、工號、姓名等。
[0079] 步驟102 :根據分配的挖掘任務,對Web訪問日志進行查詢。
[0080] 在步驟100中,采集到的海量的Web訪問數據存儲在Hadoop,因此還可以繼續充分 利用Hadoop的特點,由Hadoop根據挖掘任務,對Web訪問日志進行查詢。
[0081] 一個挖掘任務(自動分配任務或手工分配任務)啟動后,會開始執行訪問Hadoop 的一些命令,這些命令是從該任務的任務配置,也就是在任務執行時使用的配置文件中讀 取的,并向Hadoop發起相應的查詢指令,在查詢指令中包括有特定的URL或者特征等條件, 其中,URL或者特征,是通過任務屬性之一的Id,從日志分析挖掘策略庫中讀取的。這樣,實 現了有針對性、有目標的查詢,避免了大海撈針式的查詢,從而大大提高了查詢的效率和準 確性。
[0082] 查詢的過程就是一個日志分析挖掘策略與Web訪問日志數據的匹配過程,挖掘任 務啟動后,執行所述任務配置中的配置文件;向Hadoop發起執行挖掘任務的查詢指令,在 查詢指令中包括與所述標識Id對應的日志分析挖掘策略中的URL或者特征條件;將URL或 者特征條件與Web訪問日志數據進行匹配,包含有該URL或者特征條件的Web訪問日志數 據確定為疑似漏洞,并將其作為查詢結果。也就是說,包含有日志分析挖掘策略中的URL或 者特征等條件的Web訪問日志數據就被認為是疑似漏洞,會將其作為查詢結果,在查詢結 果中包括:(時間戳、源IP地址(src_ip)、統一資源定位符(URL))。其中,src_ip和URL是 與日志分析挖掘策略中的條件匹配的Web訪問日志中的原始數據。
[0083] 步驟103 :根據查詢結果進行Web漏洞掃描以確定漏洞。
[0084] 在進行本步驟中的Web漏洞掃描之前還包括:對查詢結果進行預處理,比如去重 處理、合并處理等過濾聚并處理,得到更加凈化的數據。具體實現屬于本領域技術人員的慣 用技術手段,這里不再贅述。
[0085] 本步驟的Web漏洞掃描可以采用現有成熟的掃描技術,比如漏洞掃描軟件 X-Scan、MDCS0FT SCAN檢測平臺、掃描平臺等,這里不再贅述。需要說明的是,在分析挖掘 的結果中,只要包含有URL集合即可;每個掃描任務對應一個掃描任務Id (scan_id)。
[0086] 本申請方法還包括:對確定的即新發現的漏洞進行特征提取,并將其作為新的日 志分析挖掘策略保存,以便以后的查詢中使用。
[0087] 本申請方法中,利用Hadoop等大數據分析框架的海量數據的存儲、分析和查詢能 力,以及Web漏洞掃描的準確性,形成了閉環式的漏洞挖掘方法,通過有針對性、有目標的 查詢,避免了大海撈針式的查詢,從而大大提高了查詢的效率,而Web漏洞掃描技術的準確 性也保證了本申請Web漏洞挖掘的準確性。因此,通過本申請提供的Web漏洞挖掘方法,準 確地實現了海量數據下的Web漏洞分析查詢,從而提高了 Web漏洞挖掘的準確性、及時性。 [0088] 本申請還提供一種Web漏洞挖掘系統,如圖2所示,包括挖掘調度單元、存儲分析 單元、采集單元,以及Web漏洞掃描單元;其中,
[0089] 采集單元,用于采集Web訪問日志,并將其輸出給存儲分析單元。采集單元可以包 括若干采集代理,是一種分布式的訪問日志采集器,分別部署在各自的Web服務器上,用于 采集最新的日志并上傳給存儲分析單元。
[0090] 存儲分析單元,用于存儲采集單元采集到的Web訪問日志;接收來自挖掘調度單 元的挖掘任務,對Web訪問日志進行查詢;將查詢結果上報給挖掘調度單元。存儲分析單元 可以是 Hadoop、或 Spark、或 Bashreduce、或 GraphLab、或 Twitter Storm。
[0091] 進一步地,對于采集代理數量很多的情況,比如超過1000臺,可以進一步在采集 單元與存儲分析單元之間設置一個或一個以上代理服務器,用于采用可配置的方式配置采 集代理輪詢最新Web訪問日志的時間,輪詢時間具體可根據實際情況調整,如1秒?3秒。 關于代理服務器的具體實現并不用于限制本申請的保護范圍,是本領域技術人員容易實現 的,這里強調的是,本申請在采集代理數量很多時,進一步采用代理服務器的方式來實現 Web訪問日志數據的采集過程。
[0092] 挖掘調度單元,其中存儲有日志分析挖掘策略,用于按照預先設置的日志分析挖 掘策略分配挖掘任務,并將挖掘任務下發給存儲分析單元;接收存儲分析單元返回的查詢 結果,并輸出給Web漏洞掃描單元。
[0093] 進一步地,挖掘調度單元,還用于對接收到的查詢結果進行預處理,此時輸出給 Web漏洞掃描單元的查詢結果是預處理后的查詢結果。
[0094] Web漏洞掃描單元,用于根據查詢結果進行Web漏洞掃描以確定漏洞。
[0095] Web漏洞掃描單元,還用于將確定的漏洞返回給挖掘調度單元。挖掘調度單元,還 用于對確定的即新發現的漏洞進行特征提取,并將其作為新的日志分析挖掘策略保存,以 便以后的查詢中使用。
[0096] 所述Web漏洞掃描單元可以是漏洞掃描軟件X-Scan、MDCSOFT SCAN檢測平臺、掃 描平臺等。
[0097] 本申請系統中,利用Hadoop等大數據分析框架的海量數據的存儲、分析和查詢能 力,以及Web漏洞掃描的準確性,形成了閉環式的漏洞挖掘系統,通過有針對性、有目標的 查詢,避免了大海撈針式的查詢,從而大大提高了查詢的效率,而Web漏洞掃描技術的準確 性也保證了本申請Web漏洞挖掘的準確性。因此,通過本申請提供的Web漏洞挖掘系統,準 確地實現了海量數據下的Web漏洞分析查詢,從而提高了 Web漏洞挖掘的準確性、及時性。 [0098] 本領域的技術人員應該明白,上述的本申請實施例所提供的裝置的各組成部分, 以及方法中的各步驟,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組 成的網絡上。可選地,它們可以用計算裝置可執行的程序代碼來實現。從而,可以將它們存 儲在存儲裝置中由計算裝置來執行,或者將它們分別制作成各個集成電路模塊,或者將它 們中的多個模塊或步驟制作成單個集成電路模塊來實現。這樣,本申請不限制于任何特定 的硬件和軟件結合。
[0099] 雖然本申請所揭露的實施方式如上,但所述的內容僅為便于理解本申請而采用的 實施方式,并非用以限定本申請。任何本申請所屬領域內的技術人員,在不脫離本申請所揭 露的精神和范圍的前提下,可以在實施的形式及細節上進行任何的修改與變化,但本申請 的專利保護范圍,仍須以所附的權利要求書所界定的范圍為準。
【權利要求】
1. 一種Web漏洞挖掘方法,其特征在于,包括: 采集并存儲Web訪問日志; 按照預先設置的日志分析挖掘策略分配挖掘任務; 根據分配的挖掘任務對所述Web訪問日志進行查詢,并根據查詢結果進行Web漏洞掃 描以確定漏洞。
2. 根據權利要求1所述的Web漏洞挖掘方法,其特征在于,所述采集到的Web訪問日志 存儲在大數據分析框架; 所述大數據分析框架為Hadoop、或Spark、或Bashreduce、或GraphLab、或Twitter Storm。
3. 根據權利要求2所述的Web漏洞挖掘方法,其特征在于,所述分配挖掘任務為:預先 設置用于調度任務分配的時刻表,根據時刻表自動進行任務分配; 所述時刻表包括標識Id、時間戳、流水號、重試次數、任務配置、實際參數,狀態; 其中,標識Id,為當前分配的任務所采用的日志分析挖掘策略的Id ; 流水號,用于唯一標識一個任務; 重試次數,用于表示當任務失敗時,允許重新嘗試的次數; 任務配置,在任務執行時使用的配置文件,是命令和/或腳本的組合; 實際參數,是任務執行時的限制性參數; 狀態,用于表示任務執行情況。
4. 根據權利要求2所述的Web漏洞挖掘方法,其特征在于,所述分配挖掘任務為:手動 進行任務配置并分配; 手工分配任務時需要傳遞的參數包括:標識Id、時間戳、調度人員信息,任務配置、以 及實際參數;其中, 標識Id,為當前分配的任務所采用的日志分析挖掘策略的Id ; 任務配置,在任務執行時使用的配置文件,是命令和/或腳本的組合; 實際參數,是任務執行時的限制性參數; 調度人員信息,表示發起該手工分配任務的工作人員信息。
5. 根據權利要求3或4所述的Web漏洞挖掘方法,其特征在于,所述根據分配的挖掘任 務對Web訪問日志進行查詢在大數據分析框架實現; 包括:所述挖掘任務啟動后,執行所述任務配置中的配置文件;向大數據分析框架發 起執行挖掘任務的查詢指令,在查詢指令中包括與所述標識Id對應的日志分析挖掘策略 中的URL或者特征條件; 將所述URL或者特征條件與Web訪問日志數據進行匹配,將包含有所述URL或者特征 條件的Web訪問日志數據確定為疑似漏洞,并將其作為查詢結果。
6. 根據權利要求5所述的Web漏洞挖掘方法,其特征在于,所述查詢結果中包括有源 IP地址src_ip、統一資源定位符URL ; 其中,源IP地址src_ip和URL是與所述日志分析挖掘策略中的條件匹配的Web訪問 日志中的原始數據。
7. 根據權利要求6所述的Web漏洞挖掘方法,其特征在于,所述進行Web漏洞掃描之 前,該方法還包括:對所述查詢結果進行預處理; 所述預處理為過濾聚并處理,包括去重處理、和/或合并處理。
8. 根據權利要求1?4任一項所述的Web漏洞挖掘方法,其特征在于,該方法還包括: 對所述確定的漏洞進行特征提取,并將其作為新的日志分析挖掘策略保存。
9. 根據權利要求8所述的Web漏洞挖掘方法,其特征在于,所述日志分析挖掘策略包括 標識ID、名稱、條件; 其中,條件是漏洞的特征或者攻擊的特征的組合。
10. -種Web漏洞挖掘系統,其特征在于,包括采集單元、存儲分析單元、挖掘調度單 元,以及Web漏洞掃描單元;其中, 采集單元,用于采集Web訪問日志,并將其輸出給存儲分析單元; 存儲分析單元,用于存儲采集單元采集到的Web訪問日志;接收來自挖掘調度單元的 挖掘任務,對Web訪問日志進行查詢;將查詢結果上報給挖掘調度單元; 挖掘調度單元,其中存儲有日志分析挖掘策略,用于按照預先設置的日志分析挖掘策 略分配挖掘任務,并將挖掘任務下發給存儲分析單元;接收存儲分析單元返回的查詢結果, 并輸出給Web漏洞掃描單元; Web漏洞掃描單元,用于根據查詢結果進行Web漏洞掃描以確定漏洞。
11. 根據權利要求10所述的Web漏洞挖掘系統,其特征在于,所述存儲分析單元為大數 據分析框架; 所述大數據分析框架為Hadoop、或Spark、或Bashreduce、或GraphLab、或Twitter Storm。
12. 根據權利要求11所述的Web漏洞挖掘系統,其特征在于, 所述大數據分析框架具體用于,存儲采集單元采集到的Web訪問日志;接收來自所述 挖掘調度單元的表示執行挖掘任務的查詢指令,在查詢指令中包括與當前分配的任務的Id 所對應的日志分析挖掘策略中的URL或者特征條件; 將所述URL或者特征條件與Web訪問日志數據進行匹配,將包含有所述URL或者特征 條件的Web訪問日志數據確定為疑似漏洞,并將其作為查詢結果。
13. 根據權利要求11所述的Web漏洞挖掘系統,其特征在于,所述采集單元包括一個或 一個以上采集代理,分別部署在各自的Web服務器上,用于采集最新的日志并上傳給所述 存儲分析單元; 所述采集代理是分布式的訪問日志采集器。
14. 根據權利要求13所述的Web漏洞挖掘系統,其特征在于,該系統還包括一個或一個 以上代理服務器,設置在所述采集代理與存儲分析單元之間,用于配置所述采集代理輪詢 Web訪問日志的時間。
15. 根據權利要求11所述的Web漏洞挖掘系統,其特征在于,所述挖掘調度單元,還用 于對所述查詢結果進行預處理; 所述預處理為過濾聚并處理,包括去重處理、和/或合并處理。
16. 根據權利要求10?15任一項所述的Web漏洞挖掘系統,其特征在于,所述Web漏 洞掃描單元,還用于將確定的漏洞返回所述挖掘調度單元; 所述挖掘調度單元,還用于對確定的漏洞進行特征提取,并將其作為新的日志分析挖 掘策略保存。
17.根據權利要求16所述的Web漏洞挖掘系統,其特征在于,所述Web漏洞掃描單元為 掃描軟件X-Scan、或MDCSOFT SCAN檢測平臺、或掃描平臺。
【文檔編號】H04L29/06GK104144142SQ201310164804
【公開日】2014年11月12日 申請日期:2013年5月7日 優先權日:2013年5月7日
【發明者】段文國 申請人:阿里巴巴集團控股有限公司