基于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并行计算框架

基于Hadoop海量日志的入侵检测技术_第1张图片

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算法会通过规定好的距离函数进行计算,不断地为数据找到它所应归属的簇。

基于Hadoop海量日志的入侵检测技术_第2张图片

CPK-Means算法

基于Hadoop海量日志的入侵检测技术_第3张图片

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个模式

数据收集

基于Hadoop海量日志的入侵检测技术_第4张图片

Flume工具

基于Hadoop海量日志的入侵检测技术_第5张图片

数据预处理

基于Hadoop海量日志的入侵检测技术_第6张图片

Hadoop平台下入侵规则挖掘的整体思路

基于Hadoop海量日志的入侵检测技术_第7张图片

你可能感兴趣的:(入侵检测)