基於Hadoop海量日誌的入侵檢測技術

基於Hadoop海量日誌的入侵檢測技術

  • Hadoop相關技術
  • Web日誌
  • 基於 Hadoop海量日誌的入侵檢測算法
  • 基於 Hadoop量日誌的入侵檢測系統的實現

Hadoop簡介

Hadoop是一個項目的總稱,是開源實現的谷歌的集羣系統。由於在 Hadoop中實現了HDFS文件系統和 MapReduce編程模型,使得它成爲了一個分佈式的計算平臺。當用戶想要運行一個分佈式程序時,只需要編寫一個類繼承自MapReduceBase,同時再實現Map和 Reduce,然後對Job進行註冊就可以了。
Hadoop首先是一個分佈式的文件系統,能夠實現存儲的功能,但它的作用不限於此,它同時也是一個能夠執行分佈式程序的大型框架,它的執行環境一般是由數目衆多的計算設備組成的大規模集羣。

HDFS文件系統

HDFS(Hadoop Distributed File System)是Hadoop項目的核心子項目,是 Hadoop主要應用的一個分佈式文件系統。在HDFS架構中有 NameNode和 DataNode兩種節點。這兩類節點分別承擔 Master和 Worker的任務。

MapReduce並行計算框架

在這裏插入圖片描述

Mahout簡介

Mahout是 Hadoop中的一個開源項目,Mahout中構建了一個大規模的機器學習庫,是實現並行化的數據挖掘算法的分佈式計算框架。Mahout中實現的算法都是構建在 Hadoop之上基於 MapReduce的並行實現,可以幫助開發人員更加方便快捷地創建智能應用建立機器學習算法。儘管 Mahout還屬於開源領域一個新興的項目,但是它在集羣方面已然提供了大量的功能。由於它使用了 Hadoop庫,因此基於 Mahout的應用可以有效地擴展到雲平臺中。

Hive簡介

Hive是一種建立在 Hadoop上的開源數據倉庫。它能夠被編譯成用來在 Hadoop上執行的作業。此外,HiveSQL可以讓用戶將自己編寫的腳本放置在一些語句中進行執行操作。它可以將數據改變成易於理解的數據庫的概念形式,例如數據表、列等。Hive能夠支持對大規模數據的保存,如在Facebook的Hive中有數以萬計張數據表保存了大小超過700TB的數據。當需要執行的數據量較小或者需要頻繁地進行査詢等操作時,Hive的性能並不會優於 Oracle等數據庫,它比較擅長的是執行數據量巨大的査詢等操作,正常情況下項工作量較大的任務可以執行幾個小時以上。

Web日誌

  • web服務器日誌:Web日誌文件爲服務器提供最準確和完善的數據,它不記錄訪問的緩存頁面。日誌文件中的數據一般是敏感的、個人的,因此服務器一般會保護日誌信息。
  • web代理服務器:Web代理服務器獲取用戶的請求並將它們傳遞給服務器,然後將結果傳遞給服務器並返回給用戶在代理服務器的幫助下把請求發送給客戶端。
  • 客戶端瀏覽器:日誌文件可以駐留在瀏覽器窗口。HITP的cookies用於客戶端瀏覽器,這些HTTP的cookies是服務器產生的部分信息並且保存在用戶的計算機中,以備日後使用。

K-Means算法

k-均值(k-means Clustering)算法是最著名的劃分聚類算法。該算法是所有聚類算法中最頻繁地被使用的,因爲它具有簡潔和效率高的特性。對於給出的數據點集合以及由用戶決定的要聚類成的簇的數目k,K-Means算法會通過規定好的距離函數進行計算,不斷地爲數據找到它所應歸屬的簇。

在這裏插入圖片描述

CPK-Means算法

在這裏插入圖片描述

FP-Growth算法

頻繁模式挖掘即關聯規則挖掘(Association Rule mining),是數據挖掘中一個舉足輕重的方向,其主要目標是從大量的數據中挖掘出數據項之間的關聯關係。比較著名的算法是 Apriori算法和FP-Growth算法。

FP-Growth算法在2000年由Han等人提出,它解決了 Apriori算法需要生成大量候選短頻繁模式而影響效率的問題。在 FP-Growth算法中只需要掃描兩次數據集就可以發現頻繁項集,而無須產生候選頻繁項集。但是由於 FP-Growth算法需要遞歸地生成條件數據庫和條件 FP-tree,所以也存在內存開銷很大的缺點。

在該算法中使用了頻繁模式樹(Frequent Pattern Tree,FP-tree),通過該樹即可生成關聯規則。在FP-Growth算法中分爲生成FP-tree和從FP-tree得到頻繁模式兩個階段。

LBPEP算法

  • 切分
  • 並行計算
  • 負載均衡的分擔
  • 並行的 FP-Growth算法
  • 聚合

負載均衡的分組

  • 計算負載單元,負載單元是指在每個頻繁項的條件模式基上運行 FP-Growth算法的工作量
  • 將這些負載單元平均地分到Q組中

並行的 FP-Growth算法

  • 產生在分組中獨立的事務
  • 分組中獨立的 FP-Growth算法

聚合

  • 聚合步驟中需要讀取在上一個步驟中的輸出

  • 對於每個條目,它輸出對應的支持度最大的K個模式

數據收集

在這裏插入圖片描述

Flume工具

在這裏插入圖片描述

數據預處理

在這裏插入圖片描述

Hadoop平臺下入侵規則挖掘的整體思路

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章