论文部分内容阅读
随着互联网的飞速发展,网络安全问题越来越严重,大量的网络攻击监控数据被采集下来等待分析。这些数据以文本形式被记录下来,仅靠人工分析是一项不可能完成的工作。因此急需一套自动化分析系统来对数据定位、统计、维度计算等。本系统是一个数据仓库系统,主要有两大类数据:原始数据和IP地址库(简称“IP库”)数据。这两类数据都具有“多源”属性。原始数据的多源性体现在来自于不同的采集系统,且类型不同、格式不同;IP库数据的多源性体现在三层IP库模型。原始数据含有基本属性:SourIP(源IP,受攻击方)和DestIP(目的IP,攻击方),IP库数据就是对其进行定位。这就是系统的核心功能。面对海量的原始数据,又要求快速精确的维度分析,本文描述了为何要采用分布式系统(Apache Hadoop)加关系型数据库(SQLServer)的复合架构,以及如何利用这些技术来建设数据仓库。确切的说,就是ETL的建模和实施是如何进行的。首先是原始数据的ETL。采集原始文件装载到Hadoop的HDFS以后,调用API抽取其数据保存到Hive数据仓库中,同时编写Map-Reduce程序对目前已有的各种格式区分处理,清洗,归并,最终加工为“一致”的数据,这里所谓的一致的数据就是“五元组模型”。其次是IP库数据的ETL。五元组数据以文件的形式传递给SQL Server。SQL Server除了要装载五元组数据,还有一类重要的字典数据,就是IP库数据。本文描述了如何建设“三层IP库模型”来满足不同关注度的IP精确定位。每一层IP库都有关联的建立全国的行政区划库与之对应,该库至少包含省(直辖市)、市(区)、区(县)三级的地理区划。把采集来的IP库按照三级区划整理好是ETL工作量较大的部分。数据仓库建好以后,采用B/S架构的Web界面调用T-SQL (SQL Server提供的基于SQL的编程语言)存储过程对数据仓库中的内容进行维度查询和分析,同时完成业务系统的功能:用户操作、用户权限、用户管理、数据可视化等。提供即席查询和必要的检索,提供趋势、统计、图表等数据展现,提供报告的生产和输出。