论文部分内容阅读
随着计算机技术和Internet的飞速发展,各种基于WEB的网络应用层出不穷,WEB用户数量也迅猛膨胀。然而,各种各样的WEB应用给人们的学习、工作和生活带来方便的同时也将人们的隐私和生活暴露在互联网上。由于WEB应用的广泛性,木马、僵尸网络、APT活动等常常利用其实施网络渗透、入侵与控制等恶意行为,或者实施大范围的DDOS攻击,严重威胁网络用户的信息和财产安全。如何从海量的WEB日志中分析发现可疑的恶意网络行为具有重要意义。目前来看,如何构建一个海量WEB日志分析挖掘系统并真正应用到网络安全实践中,面临如下挑战。首先,WEB日志数据项复杂,不同的WEB站点记录的WEB日志在格式、字段、规范性等方面存在较大差异,不利于后续的统一分析挖掘。其次,WEB日志记录中一个很重要的数据项是URL,即访问WEB站点的路径。如何设计高效的URL检测模块,准确并及时的发现恶意链接、SQL注入及XSS跨站脚本的存在,是值得深入研究的问题。此外,对于海量日志的处理来讲,分析挖掘才是最终面临的问题。如何构建实用的海量数据分析平台,并设计合理的挖掘算法来发现可疑网络恶意行为,是要解决的关键问题。本文设计并实现了一套完整的WEB日志挖掘系统用于真实网络环境中的恶意行为发现。首先与某网络内容提供商(ICP)合作,获取ICP的海量WEB日志;在此基础上,设计并实现一套原型系统,对藏匿于海量WEB日志中的恶意用户及恶意行为进行分析挖掘。已完成的主要工作包括:(1)在WEB日志的差异化处理方面,设计并实现WEB日志预处理模块,去除错误冗余数据,并将日志格式规范化,增强了系统通用性。WEB日志预处理模块主要分为数据清洗、用户识别及会话识别三方面。(2)在URL检测方面,设计并实现URL检测模块。利用开源项目libinjection对SQL注入及XSS跨站脚本进行检测,同时也将利用已收集的公开URL数据集对恶意链接进行扫描。(3)在海量日志的分析挖掘方面,基于Spark高性能数据分析平台对会话日志进行会话测量、统计和关联挖掘,发现隐藏其中的恶意行为。首先测量同一用户相邻WEB日志记录间隔时间分布,从而确定区分相同用户不同会话的超时时间。随后将分别以用户、客户端IP、客户端所在B段或C段为统计对象,做一系列统计分析。找出特定用户与特定地域、特定时间、特定页面等要素之间的内在联系。最终综合计算判定恶意用户及恶意行为。