论文部分内容阅读
网络流量日志记录着网络中发生的点点滴滴,通过分析网络流量日志可以对网络环境中的安全事件进行定位,发现网络内部用户的异常行为。现在大多数的流量异常都是实时的并且基于静态或者动态的阈值对全网进行监控,只能划定一定的时间窗口,不能对单个用户的周期性的异常做出识别和判断。因此需要离线的日志审计系统来对日志进行网络安全事件的审计。随着网络应用的增多,产生的网络日志也迅速膨胀,分布式的处理的方法被广泛的利用起来。Hadoop是一个开源分布式系统,可以用来处理海量网络日志。如何利用Hadoop进行合理的数据存储以及如何将传统的审计方法与MapReduce结合来完成审计任务成为两个亟待解决的问题。本文在对Hadoop相关技术、HBase相关技术以及传统的离群点检测相关技术的研究基础之上,在以下几个方面展开工作:首先,本文提出了一种基于IO负载的Hadoop预处理数据调度算法。为了合理的组织数据,将数据存储到Hadoop HBase中,并可以利用MapReduce进行数据的预处理工作。Hadoop HBase的原始数据调度算法是基于数据块数目的平衡,这种算法下只能保证每个Server上有基本相同的数据块个数,没有考虑数据块的利用情况。将数据块的IO负载考虑到数据调度中,可以平衡整个集群的资源利用率,缓解了某些Server的过度利用情况。最后通过实验验证了该算法的正确性和有效性。其次,本文提出了离群点检测和MapReduce相结合的审计算法。将离群点检测技术应用到网络安全日志审计场景下,利用MapReduce模型,实现对网络安全日志的统计分析。针对每个用户不同日期的相同时间段分别进行审计,弥补了实时网络流量异常审计只是针对全网流量进行审计,无法对每个用户基于自身习惯的偏离进行审计的不足。最后用实验验证了算法的可用性和正确性。最后,本文设计实现了基于Hadoop的网络安全日志审计系统,以海量网络流量日志为审计对象,利用MapReduce完成了日志预处理、审计工作。对系统的整体框架和核心模块实现做了说明。