Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1760235
  • 博文数量: 290
  • 博客积分: 10653
  • 博客等级: 上将
  • 技术积分: 3178
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-24 23:08
文章存档

2013年(6)

2012年(15)

2011年(25)

2010年(86)

2009年(52)

2008年(66)

2007年(40)

分类: 网络与安全

2010-05-24 10:58:06

摘要:日志文件分析是系统安全检测的重要内容,同时日志文件也是计算机取证的重要依据。文章设计了第三方的Windows日志取证系统,并讨论了今后的研究方向。
  关键词:日志文件;网络取证;审计跟踪;IRP
  
  0 引言
  
  当前网络应用非常广泛,网络涉及了各种各样的信息,由此产生各种攻击事件非常多,有些已经构成网络犯罪。我们除了对攻击进行防范外,还要记录下犯罪现场的信息,得到黑客入侵证据,以便分析入侵者的企图和事后追究责任。这需要记录网络状态、系统状态等一系列的和 信息。整个记录系统中有一个重要的环节是系统日志的获取,但系统中的任何日志文件都可能被入侵者改动过,因此必须要获得原始的系统日志,尤其对于存储了敏 感信息的服务器,或者是安全需求大的部门,不仅在系统受到威胁时需要备份出原始的系统日志,平时也需要备份出原始的系统日志。本文就是设计一个基于 Windows的用于计算机取证的日志系统。该系统有相对独立的取证计算机,不影响原系统,在实时取证中,不会破坏原始的系统状态,不会惊扰攻击者,可以 跟踪攻击过程,以便分析入侵者的企图和攻击技术。有了全面完整的日志,也便于事后的分析和追究责任。
  
  1 取证日志
  
  1.1 Windows日志
  Windows日志的默认存放路径是%SystemRoot%\system32\config\,其中应用日志为 AppEvent.Evt,系统日志为SysEvent.Evt,安全日志为SecEvent.Evt。其文件格式为Windows日志文件专用的格式。 日志文件中包含了一定的信息,但还有一些信息是在另外的dll文件中。在日志记录结构中,有定长的部分和不定长的部分。定长部分是固定的描述信息,在定长 结构的最后就是事件来源信息。不定长部分则是相关的描述信息。在描述信息中有一些插入字符串,如n%的形式,这些插入字符存在相关的dll文件中。
  
  1.2 日志文件的防护
  计算机取证的数据保护的重点是日志保护,它是取证与反取证斗争的焦点。日志文件包含大量敏感的记录,每条记录由时间戳和操作描述组成。普通日 志系统非常脆弱,入侵者能轻易读取、修改或删除日志而不留痕迹。安全保存日志的方法有:①将日志“定期”备份到异地的日志主机,缺点是日志易被篡改;②直 接打印日志或写入WORM(Write Once Read Multiple)介质,缺点是费用昂贵,不适应大容量日志;③将日志数据“实时”发送到远程的日志主机。攻击者对攻击目标的操作系统的漏洞非常熟悉,但 用另一个系统存储日志,作为第三方日志,可以被隔离保护,免受入侵者攻击。第三方存储作为计算机取证的核心技术之一,目前在国内还属于新技术。本文设计的 系统功能就是将日志数据“实时”发送到远程的日志主机,作为取证的日志系统。
  
  2 系统设计
  
  2.1 系统拓扑介绍
  把要记录日志的那台机器称为被取证机。我们不能把日志信息记录在被取证机上,因为从原理上来说有被黑客删除的可能。所以要把日志信息传到另一 台黑客所不能发现的,但与被取证机连在同一个网络上的机器上,这台机器称为取证机。不同的被取证机上运行的操作系统有多种类型(Windows。 Liunx,Unix),本文设被取证机上运行Windows2000(2003)操作系统。日志获取模块在Windows2000(2003)下截获操 作系统产生的日志,并通过SSL加密方式传到取证机上。取证机上运行的操作系统是Linux,上面运行接收模块,接收模块把接收到的日志解密,用给定的格 式存储,实现了整个系统的日志记录。
  
  2.2 系统结构图
  取证系统的结构。
  2.3 Windows系统模块功能
  在Windows系统上,运行三个模块:日志信息获取模块、日志信息缓存模块、加密认证传输模块。各模块主要功能如下:
  2.3.1日志信息获取模块
  日志信息获取模块是上述三个模块中最重要的部分,它又分为:主引导子模块、过滤器驱动程序子模块、日志获取线程子模块。其中主引导子模块的作用就是启动日志获取线程。
  过滤器驱动子模块:是一个独立的模块,主要进行日志截取处理,利用Windows系统驱动程序的方式来实现。
  Windows系统由好几个部分组成,而且是分层次的,上层的程序运行依靠下层的服务。一般来说,上层的程序运行方式叫用户模式(user Mode),一般的API就是运行在这种模式。在用户模式下,程序只能得到有限的权限使用计算机的资源,很多硬件资源是限制的,不允许访问。这样可防止用 户模式程序不经意地,或故意地会造成计算机崩溃的操作,从而保护了计算机。用户模式下的程序运行在3个级别的权限下。处于用户模式下层的是核心模式 (Kernel Mode),核心模式下的程序可用任何计算机资源,没有限制,也就是运行在0级权限下。在这种模式下,误操作很容易会引起系统死机。日志获取模块为了更可 靠地截取到日志记录,使用了过滤器驱动的方法,驱动运行在核心模式,从而可以在系统底层得到更多的权限,把日志充分地记录下来。
阅读(779) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~