一種基于Hadoop的分布式入侵檢測系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及計(jì)算機(jī)網(wǎng)絡(luò)安全領(lǐng)域,尤其設(shè)及一種基于化doop的分布式入侵檢測 系統(tǒng)。
【背景技術(shù)】
[0002] 傳統(tǒng)的入侵檢測系統(tǒng)因難W處理日益增長的海量網(wǎng)絡(luò)數(shù)據(jù),系統(tǒng)性能下降,丟包 率增加,檢測率降低,已無法滿足人們的安全需求。分布式入侵檢測系統(tǒng)值istributed Instruction Detection System, DID巧采用分布式結(jié)構(gòu)進(jìn)行數(shù)據(jù)采集和并行處理,有效提 高了在高速網(wǎng)絡(luò)環(huán)境下的入侵檢測效率,已成為目前入侵檢測技術(shù)研究的主流。然而,現(xiàn)有 DIDS存在系統(tǒng)架構(gòu)不合理、接口標(biāo)準(zhǔn)化低、關(guān)鍵算法不完善等問題,運(yùn)降低了 DIDS的并行 處理能力和系統(tǒng)的互操作性,阻礙了其能力的發(fā)揮,不能有效提高系統(tǒng)的檢測率。
[0003] 化doop是Apache軟件基金會下的一個(gè)分布式計(jì)算框架,主要組件包括皿FS、 MapReduce、ZooKeeper、Pig、HIVE、皿ase 等。其中,皿FS(Hadoop Distributed File System)和MapRe化Ce是化doop的兩項(xiàng)關(guān)鍵技術(shù)。皿FS是一個(gè)分布式的文件系統(tǒng),它為分 布式計(jì)算模型提供底層的存儲支持。MapRe化Ce是一個(gè)分布式的計(jì)算模型,可W方便地實(shí)現(xiàn) 任務(wù)的分解和并行化處理。化doop能夠處理TB或PB級別的海量數(shù)據(jù)。目前,越來越多企 業(yè)和研究機(jī)構(gòu)的項(xiàng)目圍繞著化doop核屯、框架展開。將化doop技術(shù)運(yùn)用于入侵檢測,可W 利用其框架較好地實(shí)現(xiàn)分布式入侵檢測系統(tǒng)的部署,獲得強(qiáng)大的分布式數(shù)據(jù)處理和并行計(jì) 算能力支持,提高系統(tǒng)性能,降低丟包率,提高檢測率。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的是針對現(xiàn)有DIDS存在的問題,提供一種基于化doop的分布式入侵 檢測系統(tǒng),該系統(tǒng)主要包括兩個(gè)部分:一是提出一種高效的基于能力與負(fù)載的數(shù)據(jù)分割算 法,實(shí)現(xiàn)海量數(shù)據(jù)的有效分割和數(shù)據(jù)分配;二是提出一種基于化doop的分布式入侵檢測體 系結(jié)構(gòu),實(shí)現(xiàn)入侵檢測系統(tǒng)各模塊的分布式部署和數(shù)據(jù)并行處理,并W提出的算法作為系 統(tǒng)的任務(wù)調(diào)度器進(jìn)行數(shù)據(jù)分割,實(shí)現(xiàn)海量數(shù)據(jù)的分布式處理,提高入侵檢測效率,維持負(fù)載 均衡。 陽0化]算法方面,基于對數(shù)據(jù)分析子結(jié)點(diǎn)的狀態(tài)監(jiān)控信息,計(jì)算結(jié)點(diǎn)的數(shù)據(jù)處理能力和 負(fù)載;根據(jù)系統(tǒng)對不同應(yīng)用層協(xié)議數(shù)據(jù)的分類檢測思想,將數(shù)據(jù)分析子結(jié)點(diǎn)進(jìn)行分組,計(jì)算 各分組的平均負(fù)載;針對各分組的負(fù)載情況,建立過載隊(duì)列和輕載隊(duì)列,若檢測出現(xiàn)連續(xù)過 載則報(bào)警,并根據(jù)分組待處理數(shù)據(jù)量大小對過載隊(duì)列中的分組進(jìn)行過濾;采用一種動態(tài)負(fù) 載均衡的策略,針對過載隊(duì)列中的分組,從輕載的分組中選擇合適的結(jié)點(diǎn)進(jìn)行遷移,維持系 統(tǒng)負(fù)載均衡;若無輕載分組,則降低過載隊(duì)列中各分組待處理的數(shù)據(jù)集;針對動態(tài)負(fù)載均 衡調(diào)整后的結(jié)點(diǎn)分組,在組內(nèi)根據(jù)結(jié)點(diǎn)的數(shù)據(jù)處理能力和負(fù)載情況,從分組待處理的數(shù)據(jù) 集中分割相適應(yīng)的數(shù)據(jù)子集,分配給各結(jié)點(diǎn)進(jìn)行并行處理,有效發(fā)揮結(jié)點(diǎn)的能力,提高系統(tǒng) 效率,維持系統(tǒng)負(fù)載均衡。
[0006] 體系結(jié)構(gòu)方面,本發(fā)明利用化doop架構(gòu)帶來的高性能、接口標(biāo)準(zhǔn)規(guī)范、良好的互 操作性等特點(diǎn),實(shí)現(xiàn)入侵檢測系統(tǒng)的分布式部署及系統(tǒng)各模塊的通信與數(shù)據(jù)傳輸。
[0007] 實(shí)現(xiàn)本發(fā)明目的的技術(shù)方案為:
[0008] 一種基于化doop的分布式入侵檢測系統(tǒng)包括:數(shù)據(jù)采集模塊、數(shù)據(jù)存儲模塊、控 制中屯、和數(shù)據(jù)分析模塊,其中控制中屯、包括系統(tǒng)管理模塊、系統(tǒng)監(jiān)控模塊、任務(wù)調(diào)度模塊和 報(bào)警響應(yīng)模塊;
[0009] 數(shù)據(jù)采集模塊由分布在網(wǎng)絡(luò)上的多個(gè)相互獨(dú)立的傳感器組成,通過傳感器實(shí)現(xiàn)網(wǎng) 絡(luò)數(shù)據(jù)的捕獲和處理后,將采集的數(shù)據(jù)上傳至數(shù)據(jù)存儲模塊的皿FS數(shù)據(jù)子結(jié)點(diǎn),即存儲至 皿FS數(shù)據(jù)集中;
[0010] 所述傳感器的工作步驟為:首先,通過網(wǎng)絡(luò)監(jiān)聽采集所在網(wǎng)絡(luò)的原始數(shù)據(jù)包;其 次,解析數(shù)據(jù)包,計(jì)算數(shù)據(jù)包的唯一連接標(biāo)識;第=,識別數(shù)據(jù)包的傳輸協(xié)議標(biāo)識并進(jìn)行數(shù) 據(jù)處理,將數(shù)據(jù)包存儲在W唯一連接標(biāo)識命名的數(shù)據(jù)文件中;第四,按照數(shù)據(jù)包的應(yīng)用層協(xié) 議標(biāo)識,將數(shù)據(jù)文件分類存儲到傳感器初始化時(shí)設(shè)置的目錄結(jié)構(gòu)中;最后,按照指定的周期 將采集的數(shù)據(jù)WFTP方式上傳至本系統(tǒng)的皿FS數(shù)據(jù)子結(jié)點(diǎn),進(jìn)行分類存儲;
[0011] 皿FS數(shù)據(jù)子結(jié)點(diǎn)通過MapRe化Ce機(jī)制,向任務(wù)調(diào)度模塊的結(jié)點(diǎn)Master提交數(shù)據(jù)檢 測分析的任務(wù);
[0012] 系統(tǒng)監(jiān)控模塊對分布式化doop集群各結(jié)點(diǎn)的狀態(tài)監(jiān)控,記錄監(jiān)控結(jié)果,并將結(jié)果 存儲到數(shù)據(jù)存儲模塊的皿ase數(shù)據(jù)庫,為任務(wù)調(diào)度提供任務(wù)分配決策支持;同時(shí),完成對報(bào) 警響應(yīng)顯示,并實(shí)現(xiàn)對系統(tǒng)的管理配置;
[0013] 任務(wù)調(diào)度模塊根據(jù)系統(tǒng)監(jiān)控獲取的結(jié)點(diǎn)狀態(tài)和待處理數(shù)據(jù)的規(guī)模大小,根據(jù)設(shè)計(jì) 的基于能力與負(fù)載的數(shù)據(jù)分割算法將大數(shù)據(jù)分割成數(shù)據(jù)子集,合理地將數(shù)據(jù)子集分發(fā)給不 同數(shù)據(jù)分析子結(jié)點(diǎn)進(jìn)行并行數(shù)據(jù)檢測分析,最后把各個(gè)數(shù)據(jù)分析子結(jié)點(diǎn)的處理結(jié)果進(jìn)行匯 集;
[0014] 數(shù)據(jù)分析模塊中的數(shù)據(jù)分析由分布在化doop集群中的多個(gè)數(shù)據(jù)分析子結(jié)點(diǎn)并行 完成,數(shù)據(jù)分析子結(jié)點(diǎn)根據(jù)任務(wù)調(diào)度模塊中所分配的數(shù)據(jù)子集地址信息,從對應(yīng)的皿FS數(shù) 據(jù)子結(jié)點(diǎn)上讀取由傳感器采集并上傳的數(shù)據(jù)子集,根據(jù)建立的特征檢測規(guī)則集進(jìn)行數(shù)據(jù)檢 測分析;
[0015] 報(bào)警響應(yīng)模塊中由報(bào)警響應(yīng)結(jié)點(diǎn)并行接收數(shù)據(jù)分析子結(jié)點(diǎn)傳送的入侵檢測結(jié)果, 存儲到皿ase中;并對非法入侵行為進(jìn)行報(bào)警響應(yīng),在系統(tǒng)監(jiān)控的界面中顯示報(bào)警信息;
[0016] 系統(tǒng)管理模塊采用Web方式完成化doop集群的配置、用戶管理、日志查詢功能。 陽017] 具體地,系統(tǒng)各模塊如下:
[0018] A)數(shù)據(jù)采集模塊由傳感器實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)的分布式并行采集,并將采集的數(shù)據(jù)按連 接進(jìn)行分離,再分類提交到皿FS數(shù)據(jù)子結(jié)點(diǎn),W便進(jìn)行數(shù)據(jù)檢測分析處理。傳感器工作步 驟如下:
[0019] (1)配置與本傳感器最近的皿FS數(shù)據(jù)子結(jié)點(diǎn)的連接信息,由于傳感器采用FTP協(xié) 議進(jìn)行數(shù)據(jù)傳輸,皿FS數(shù)據(jù)子結(jié)點(diǎn)也作為一個(gè)FTP服務(wù)器存在,連接信息包括結(jié)點(diǎn)名稱、IP 地址、用戶名和密碼、目錄;
[0020] (2)啟動傳感器進(jìn)行監(jiān)聽,采集結(jié)點(diǎn)所在網(wǎng)絡(luò)的原始數(shù)據(jù)包;
[0021] (3)解析數(shù)據(jù)包,計(jì)算數(shù)據(jù)包的唯一連接標(biāo)識。從數(shù)據(jù)包中提取四元組 < 源IP地 址,源端口,目的IP地址,目的端口〉,采用哈希函數(shù)計(jì)算該四元組的哈希值,并將其作為數(shù) 據(jù)包的唯一連接標(biāo)識IDJlash ;
[0022] (4)識別數(shù)據(jù)包傳輸協(xié)議標(biāo)識并進(jìn)行數(shù)據(jù)處理,按IDJlash進(jìn)行數(shù)據(jù)存儲。提取數(shù) 據(jù)包的傳輸協(xié)議標(biāo)識,針對TCP協(xié)議標(biāo)識的數(shù)據(jù)包,采用TCP流重組的方式進(jìn)行數(shù)據(jù)重組, W IDJlash作為TCP連接的唯一標(biāo)識,結(jié)合數(shù)據(jù)包中的連接序號,將捕獲的數(shù)據(jù)包還原成一 個(gè)個(gè)完整的數(shù)據(jù)鏈,實(shí)現(xiàn)正確的TCP流重組,并將具有同一 IDJlash的數(shù)據(jù)存儲在同一個(gè)W IDJlash命名的txt文件中;對于非TCP協(xié)議的數(shù)據(jù),同樣存儲在同一個(gè)W IDJlash命名的 txt文件中。將所有具有相同IDJlash的數(shù)據(jù)存儲在同一個(gè)文件中,可將分解到多次的訪問 中的攻擊匯集在一起,而在后續(xù)的數(shù)據(jù)分割中W文件為單位進(jìn)行數(shù)據(jù)分割,避免將包含同 一攻擊的數(shù)據(jù)分發(fā)到兩個(gè)或多個(gè)檢測結(jié)點(diǎn)分別處理而破壞數(shù)據(jù)的完整性,降低系統(tǒng)的漏報(bào) 率.
[0023] (5)數(shù)據(jù)分類存儲。根據(jù)數(shù)據(jù)包中的應(yīng)用層協(xié)議標(biāo)識,將WIDJlash命名的txt文 件按照應(yīng)用層協(xié)議標(biāo)識,存儲在傳感器初始化時(shí)根據(jù)不同應(yīng)用層協(xié)議分別建立的W應(yīng)用層 協(xié)議標(biāo)識命名的目錄下,不能識別應(yīng)用層協(xié)議類型的數(shù)據(jù)存儲在一個(gè)缺省目錄中;
[0024] (6)傳感器采用FTP協(xié)議,按照設(shè)置的周期將存儲的數(shù)據(jù)文件及其目錄結(jié)構(gòu)上傳 至配置好的皿FS數(shù)據(jù)子結(jié)點(diǎn)上,并清除已經(jīng)完成上傳的數(shù)據(jù)文件。
[0025] B)數(shù)據(jù)存儲模塊用于對系統(tǒng)所產(chǎn)生的各種數(shù)據(jù)進(jìn)行存儲管理。本系統(tǒng)的數(shù)據(jù)存儲 方式有多種,包括在皿FS、皿ase和MyS化數(shù)據(jù)庫上的存儲。皿FS存儲由多個(gè)傳感器采集 并上傳的數(shù)據(jù)文件;皿ase存儲入侵特征規(guī)則庫、系統(tǒng)監(jiān)控對化doop集群監(jiān)測的結(jié)點(diǎn)狀態(tài) 信息、非法入侵?jǐn)?shù)據(jù)檢測結(jié)果;MyS化存儲用戶信息和系統(tǒng)相關(guān)配置信息等;具體如下: [00%] (1)皿FS分布式文件存儲。采用分布式方式,在多個(gè)皿FS數(shù)據(jù)子結(jié)點(diǎn)上,采取就近 原則,存儲由多個(gè)分布的傳感器結(jié)點(diǎn)所采集、解析并分類存儲的數(shù)據(jù)。運(yùn)些數(shù)據(jù),將在系統(tǒng) 后續(xù)處