热线电话:13121318867

登录
首页精彩阅读基于日志文件的数据挖掘机理分析与研究
基于日志文件的数据挖掘机理分析与研究
2016-02-20
收藏

基于日志文件的数据挖掘机理分析与研究

引言
       所谓数据挖掘(也叫知识发现[1]),是指发现大量数据中有趣及有用模式和关系的过程,该领域结合了统计、人工智能和数据库管理等知识,以方便对大数据进行分析。该定义可从如下4个方面进行理解:(1)数据挖掘处理的数据量非常大;(2)这些数据在计算机系统上以机器可读的格式存在,是结构化的数据;(3)利用数据可能会得出一些有用的结论,也可能无法得出结论;(4)要想获得一些有用的结论,需对数据进行搜索或者分析。
对日志数据进行数据挖掘的目的[2]有两个:(1)改进日志分析的质量,提供更好的结论和预测能力;(2)提出不需要少有且昂贵的专业知识的高级和有效方法。通过对日志数据进行数据挖掘和其他高级自动化分析方法,可将大部分分析的负担转移到软件和自动化系统上,远离具备超常技能的分析人员。这样的分析在过程的早期阶段是重要的。在这种情况下,可定义数据挖掘过程的细节,然后让技能水平较低的操作人员运行算法,并对结果采取行动,而不会降低效率。
1.日志数据面临的挑战
       在理想的状况下,大都希望减少人为工作量,提升自动化系统在日志分析中的重要性。而对日志进行数据挖掘[3]就是一种有效的方法,但日志分析会面临如下挑战。(1)数据过多:日志数据的体积很大,超出了分析系统和分析人员的能力,从而摧毁了获得结论的可能性。确实,日志可能达到数GB,并扩大到数TB,因而就需要选择专门工具来应对这种“洪泛”。(2)数据不足:因为各种不同的原因,数据的关键部分易缺失,从而使日志分析超出了应有的难度。(3)记录各种各样:需要分析太多不同和不相似的日志来源,才能得出真相。这个问题是因为缺乏统一的审计标准,大部分应用程序的日志都采用创建者开发的格式,从而导致大量分析上的挑战。(4)数据重复:不同的日志引用相同事件,没有任何指示。这种情况往往因为不同日志源缺乏时间同步而变得更加复杂。
2.对日志进行数据挖掘的原因
         虽然现已有很多技术可应对日志数据的挑战,但仍需对日志进行数据挖掘,其原因如下:(1)通过启用更多类似人类的模式识别,只需要在分析的早期阶段具备较高的专业知识,从而减少对高技能分析人员的依赖。(2)处理其他较为常规的方法,但对稀疏数据无法进行有效分析。(3)检测其他无法发现的事实,日志数据挖掘能够提高检测入侵痕迹的效率。(4)将结论生成的负担转移到机器上,这样,目前仅能由人类完成的任务也可实现自动化。可根据结论采取的行动,从而避免为了解所发生的情况而绞尽脑汁。(5)尝试预测问题,而不是寻找处理已发生情况的方法。虽然数据挖掘不提供对这类预测的保证,但确实比其他方法更接近目标。
3.日志数据挖掘需求分析
        日志数据挖掘的许多需求与重要的日志分析一样,但有些附加因素可能会使日志数据更适合于挖掘,或将可选需求转变为强制性需求。
3.1 数据集中化   对于过滤和总结等常规日志分析来说,只关注一个位置是很好的,而对于日志挖掘这一点变得很关键,因为挖掘算法比任何分析人员处理的数据都要多得多。
3.2 规范化   如上所述,查看集中化的不同数据源需要统一的信息格式,这种格式并不是真正的标准,只是表现日志数据的统一方式。
3.3 关系存储    关系数据存储是不可缺少的。但是如果只进行监督的分析和过滤,那这样做就没有什么价值。这种规范化可通过搜索日志中的公共字段实现。常见的字段包括:时间、来源、目标、协议、端口、用户名、事件/攻击类型、交换字节数等。因此,规范化和集中化数据可能受制于日志数据挖掘算法。现在,应做好准备研究应用数据挖掘所要寻找的内容。
4.对日志数据挖掘什么
       数据挖掘方法在不确定所需搜索内容时最有用。如何找到有趣的信息?系统管理员和安全分析人员觉得有趣和有帮助的信息有如下6种。
4.1 受感染的系统传播恶意软件    在许多情况下很明显,每个安全管理员对受感染后在企业范围甚至互联网范围内传播的系统都有着很大的兴趣。尽管有防病毒软件和其他专用解决方案,日志挖掘在跟踪这种危害性极大的系统方面已经被证明很有价值。
4.2 遭到入侵的系统    每个获得认证的安全专家都应该对了解攻击者或恶意软件已经接管网络中的一个或者多个系统感兴趣。
4.3 成功的攻击   如果攻击者刚刚成功地在你的系统上打开缺口,婉转地说,知道这一点可能“有趣”;虽然这与前一条相关,但是它通常指的是攻击的早期阶段,这时,攻击从尝试发展为成熟的入侵和对系统的利用。
4.4 内部人员违规使用和知识产权窃取   怀有恶意的黑客和蠕虫出尽了风头,而内部网络违规使用相比之下似乎显得简单。但是,内部人员拥有这一王国的所有钥匙,可能造成更加严重的破坏。更糟糕的是,检测他们的攻击比检测普通的恶意软件困难得多。
4.5 隐蔽通道/隐藏后门通信    除非“精于此道”,否则网络中可能不会常用到隐蔽通道;因此,网络安全管理人员很可能对了解这一情况很感兴趣。

4.6 探查增加   虽然大部分敏感的政府网络现在只将互联网探查活动视为噪声,但如果在日志中反映出这类活动增加,可看作是攻击的前兆,因而也是有趣的。



虽然“拒绝服务检测”总是遭到嘲笑,从某种意义上来说,这种检测是通过注意到恰好没有任何服务来进行的,但是系统管理员可能并没有监控所有系统的正常运行,这就是系统崩溃的主要原因。
以上列举了一些希望通过挖掘日志发现的有趣事实。对计算机而言,“有趣”的准则很难定义,但用日志数据挖掘可做到,其典型应用如下。
(1)探查:网络探查和扫描总是在发生,用户越来越能预料到它们。用户应该了解探查,但是不可能花费资源去寻找它们。与此同时,这类探查数量上的变化更可能成为有趣的信息。
(2)如果安全架构很稳固,就能够预期到失败的攻击;这些攻击的发生有各种原因。与探查类似,用户应该了解它们,但是不会花费资源去寻找它们。
(3)正常消息:日志充满了表明某些例行过程完成和其他完全正常的事件的消息,这些记录是用于审计和其他目的的,它们明显不出人意料,信息安全管理者也不会去挖掘它们。但是,变化仍然很重要。常规的消息停止出现,或者开始表现出较高或者较低的频率,这可能令人感兴趣。
(4)被阻止的攻击:这与失败的攻击类似,如果用户的安全措施阻止了攻击,即使这种攻击是没有想到的有趣攻击,也不需要立刻采取行动。
(5)系统状态更新:类似于正常事件,这些事件无法诉诸行动。同时,系统状态更新在某些不寻常的时候发生可能很令人感兴趣。
5.日志数据挖掘的具体应用
        日志数据挖掘主要有如下9个方面的应用[4]。
(1)罕见的事物:由于某种原因,这并不常发生。如果发现以前没有发生过的事件,它很可能是恶意的。因此,罕见事件是挖掘的主要候选。罕见的攻击、罕见的系统消息以及几乎从不登录的用户,都是值得检测的。
(2)不同的事物:虽然不提倡“日志恐惧症”,但是应该注意和以往不同的事物。这是数据挖掘的基本方法起作用的地方。
(3)不相称的事物:虽然与上一类紧密相关,但表现得“不相称”的日志记录必须加以挖掘,因为它们可能包含有趣的信息。
(4)古怪的事物:如果某些事物显得古怪,可能是出现麻烦的象征。这与上面两个类别有微妙的差别。要了解古怪的事情,如DNS系统连接到packetstorm.com,自动下载攻击工具,不需要任何基线和预先的数据收集工作。
(5)向不寻常的方法发展的事物:分析人员和管理员可能发现,有些日志记录完全改变了正常的通信方向。正如上例中所看到的,到服务器的连接完全合法,即使使用的是无害的端口,如TCP端口80,服务器向外连接也应该引起重视。
(6)最常见的事物:虽然属于总结和报告的范畴,严格说不属于数据挖掘,但是“x大事件”对于寻找有趣的日志记录及其模式仍然有用。毕竟,如果排名有所上升,例如传输带宽最主要用途,它仍然是有趣的。
(7)最不常见的事物:类似于罕见事务,简单地说,“发生次数最少的事情”,这是“x大事件”的“邪恶姐妹”,甚至比前者更有用。最不吸引人的系统往往成为未来攻击和破坏的跳板。
(8)无趣事物的奇怪组合:这粗略地遵循下面的公式:“善”+“善”=“邪恶”。是的,一组完全正常的日志记录也可能组成危险的事件。最简单的实例是端口扫描,它看上去只是一组往往数量很大但无害的连接请求。
(9)其他无趣事物的统计:某些无趣事物的计数可能令人感兴趣。而且,这种计数的变化往往更加重要。ICMP“ping”数据包的突然增多可能意味着拒绝服务,尤其是这种ICMP洪泛在没有预警的情况下突然发生时。
以下列举一个典型应用来说明。假设发现了一个黑客事故,该事故涉及漏洞扫描器的授权使用。大部分公司都部署网络IDS,但是许多公司并不理解采购这些设备的价值。这种情况发生的原因包括日志中的大量假阳性,它们削弱了人们对这些系统的信任。基于特征的系统为了实现NIDS的价值,可以使用日志挖掘方法,旨在从常规的噪声和假警告中标记出真正的攻击。注意,在这种情况下可能并不知道攻击是否成功,只要了解攻击者的存在和重点,并将攻击与错误触发IDS的无害事件区分开来即可。
当网络基础设施组件[5]或者被误用的检测系统记录合法连接时,它们通常会在日志中生成少数特殊的事件类型。例如,通过防火墙的连接生成一个连接消息。即使扫描防火墙也可能为每个连接会话生成一个事件,以及一个用于整个扫描的事件类型。类似地,“假阳性”通常不与同一批主机之间的其他可疑活动相关,例如侦察性扫描或者其他攻击。相反,假警告更可能会发生或者以大量互不相关的同类日志记录类型的形式出现。这里,所指的“会话”是如下要素的独特组合:源、目标、协议、源端口和目标端口。
因此,如果按照会话组织数据库中收集的事件,并记录每个会话中特殊事件的数量,往往与攻击类型的数据相同,就有办法区分真正的攻击和合法流量及假警报。这种日志挖掘方法使用一种通用模式,以获得潜在破坏性攻击的证据及结果,但不能找出攻击成功的标志,只是对其真假进行鉴定。
6.结论
       数据挖掘对日志分析非常实用,日志数据挖掘[6]是审核日志数据的一种新颖方法,在实际工作中非常有效。许多日志类型可从某种挖掘中获得更有用的结果。虽然数据挖掘是一个复杂的领域,但针对日志进行的数据挖掘并不十分困难,可在许多环境中实现。尤其在需要高技能分析人员和很长时间的常见分析无效时,日志数据挖掘能够提供更多帮助。其对企事业单位加强其网站的信息安全[7]会具有很大的帮助。


数据分析咨询请扫描二维码

最新资讯
更多
客服在线
立即咨询