深入挖掘网络日志

网络日志分析是一项最富挑战性的工作。在从事这项工作的过程中,通过对各种日志文件进行严密监控和分析来试图识别出入侵和入侵企图,这个过程还涉及到在这些日志文件当中对事件进行关联,需要进行检查的网络日志文件有许多不同的类型,可以是设备(包括网络防火墙、路由器),也可以是以主机为中心的防火墙以及以主机为中心的人侵检测系统(IDS)。尽管分析日志文件是一件单调乏味且容易的工作,但是,本文中给出的技术和案例可以帮助你在短时间内从日志文件中获取大量有价值的东西。

一、 日志文件的作用

在许多环境中,系统管理员容易忽略网络日志文件;网管经常忙于“四处救火”,而没有时间和精力用在日志文件的检查上。实际上,在发生重大的事故之前,他们一直就没有关注过这些文件,直到发生事故,才便仓促地进行查找,有时没有结果而自己随便下个结论,便草草了事。

通常这种查找工作包括了对日志文件的检查,日志文件的检查工作往往是由网管来执行的,但他们不太熟悉日志文件格式,或者不熟悉为执行良好的日志文件分析所需的正确过程和步骤。有时,管理员发现根本没有启用详细日志,无从保存日志,更可悲的是,渡过危机过后,他们依旧忽略日志文件,直至下一次大事故发生时才又“临时抱佛脚”。

如果你关注日志文件,日志文件就可以为你提供很多的信息。日志文件有几个作用,或许你还不清楚这些作用。在满足一系列需要(比如入侵检测,事故处理、事件对比以及故障诊断)的过程中,日志文件极为有用。

每个日志文件包含许多信息块,如果你知道如何理解这些信息块,更重要的是,如果你知道如何从边界防御的角度来分析这些数据,那么这些文件的价值将无法估量,在你可以学习如何分析数据之前,首先必须理解你可能会得到哪些类型的数据。

二、日志文件的特征和局限性

在我们的网络环境中存在许多不同类型的日志文件,并且产生这些日志文件的来源有多种。许多操作系统,包括UNIX的许多变种以及一些Windows版本,都执行广泛的事件日志。同时,许多应用程序记录重要的事件,如认证尝试,应用程序错误及配置变化。对我们而言,最关心的是网络日志文件的分析;为了了解在网络上发生的事件,希望将注意力放在记录网络事件(如成功的和失败的连接)的日志文件上。尽管在本章中讲述的重点是网络日志的分析,但是,许多其他的日志(如操作系统日志文件)也包含了有价值的信息,这些信息可以用来同网络活动进行关联。像防火墙、路由器和网络入侵检测系统这样的设备都会产生网络日志。

Tips:前提是系统管理员需要启动这些日志哦。

如果曾经查看过来自几个不同设备或应用程序的日志文件,那么一定会发现,在典型情况下,这些日志的格式完全不同。《UNIX/Linux网络日志分析与流量监控》一书中我将介绍一些最常见的日志格式。尽管这些日志格式存在差别,分析它们还是有一定技巧和方法的。

还有些日志里面包含有用数据并不多,反而对安全而言干扰信息还比较多,有用信息只包含时间戳及源和目的地址及端口,而其他日志则可能包含你所关心的事件的信息。一些日志对流量的每一个IP特征和TCP特征或TCP特征进行记录,记录的项目中还包括关于该流量的重要性的说明信息。刚开始,网络日志分析会让人感觉到有些畏惧,主要因为日志的格式繁杂且日志记录的信息很多。下面我们通过分析在网络日志文件中需要进行查找的信息。

Tips:《UNIX/Linux网络日志分析与流量监控》一书从最基础的系统日志收集开始讲起,逐步深入到收集网络日志和日志关联分析技术, 发现各类已知威胁;通过网络深度包检测分析模型, 实现对未知高级网络攻击的预警;通过几十个案例分析网络深度流检测技术,针对日志或流量分析发现的疑似安全事件, 通过高效的数据挖掘和查询能力, 对事件的相关原始日志进行查询, 对事件的网络行为进行网络流量回放, 对原始数据包采用解码分析技术进行完整分析和数字取证,每个案例都有详细的事件发生、发展以及最终结论3个部分,适合网络信息安全人员阅读。

 

1.日志文件记录的信息

利用网络日志文件的大多数系统对信息的几个核心部分进行记录,这些信息与系统认为应该引起注意的每个连接或报文有关;

  • 时间戳,典型情况下包括日期,以及以秒、为单位的时间或(表示事件发生的时间)。
  • 基本的IP特征,如源地址、目标地址和IP协议(TCP、UDP、ICMP等)。

此外,大多数日志给出了对于事件为什么被记录的某种理由。然而,这在不同的日志格式中会有所不同:

  • 描述性文本解释。
  • 匹配流量的规则号。
  • 执行的动作,如接受、丢弃或者拒绝连接。

尽管看起来这些条目没有提供多少数据,但是,你可以就该信息做大量的工作。例如,你以分析该数据来识别这些尝试端口扫描、主机扫描的异常行为。

还有许多网络日志记录的信息不只包括关键的数据。可能出现的其他类型的数据包括:

其他IP特征,特别是IP标识号和存活时间(TTL)。其他TCP特有的特扯,如标志(SYN、ACK等),TCP窗口大小及TCP顺序号、有效负载内容等。这些内容对于初次分析日志分析的朋友比较棘手。

从日志分析的角度来讲,这些附加的字段可以提供一定的好处,例如,存活时间和TCP窗口大小可用于执行操作系统指纹鉴别,以确定攻击者可能使用的操作系统(但攻击者可能修改TTL值);特定的标志组合有可能表示这些报文正在尝试避开防火墙或IDS。这些额外的字段中的一些字段还有助于确定是哪个工具或流氓软件( malware)正在产生此攻击。

2.日志文件不记录的信息

收集网络日志的大多数设备,不会分析或者记录经过他们的完整有效负载,然而这些流量是IDS要完成的工作,非常消耗CPU和硬盘等资源。不过从设备的角度上看,很少需要分析或记录连接中的所有报文。但如果能够获取关于流量的更多信息并且能够执行其他谨慎的有效负载计算,那么这样做就能从多维度来分析疑似网络故障这就是OSSIM所擅长的工作。OSSIM中内置的Snort/Suricata可以记录完整的报文头,且捕捉所有有关的信息,而不只记录存储在日志中的头值(header value)。还可以记录可疑的报文以供安全分析人员进行更深入的分析,系统允许下载这些报文作为司法证据。遗憾的是,很多日志分析系统都不具备对报文的记录,除非你自己设计一套专用的报文嗅探器(例如使用像tcpdump这样的程序来执行报文捕获任务)。

Tips: OSSIM平台提供丰富的安全态势感知仪表盘界面, 通过日志分析的安全态势和基于网络流量的安全态势, 实现整体网络安全态势。通过整体态势、攻击源分布、重点资产态势、攻击关联图等展现方式, 使管理者对内部网络安全了如指掌。

三、分析日志文件的作用

日志文件的主要作用是记录重要的或者感兴趣的事件,它可以在像事故处理、入侵检测、事件关联以及综合性的故障诊断这样的领域中提供帮助,下面举2个例子。

1.事故处理

网络日志文件最明显的用处可能是提供可用于事故处理的数据;例如,如果网络管理员收到一个关于设备已遭到入侵的事件,可使用网络日志文件来判断哪些主机参与了这次攻击,以及攻击者有可能使用了哪些攻击方法,当Web页面被篡改时,管理员可查询该Web服务器的日志,或者是其他安全设备的日志,恶意流量也可能经由这些设备,而网络日志文件的价值在这些设备中将发挥不可估量的价值。

2.事件关联分析

在执行事故处理和入侵检测的过程中,攻击事件关联分析十分有用,事件关联指同时使用来自各种设备或者应用程序的多个日志根据一定算法进行分析。我们可以通过实现事件关联来确定发生了什么事情。例如,找到内部路内器日志中的一条可疑条目,该条目涉及到一个外部主机,你在搜索边界防火墙的日志中提供关于该行为的更多信息。事件关联的另一个用处是将事件进行彼此关联。例如某台电子邮件服务器受到了入侵,接着就可搜索来自路由器、防火墙和其他设备的各种网络日志,以此来寻找任何与该入侵事件有关的证据,如建立达到邮件服务器的其他连接尝试,这些日志通过时间线而形成的这么一个证据链能在安全事件分析中起到十分重要的作用。

更多精彩的日志分析案例,大家可参考以下图书。

转载于:https://my.oschina.net/chenguang/blog/3096096

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值