福 建 电 脑福 建 电 脑 2006年第7期
日志分析在计算机取证中的应用
王彩玲
(河南公安高等专科学校 信息安全系 河南郑州 450002)
【摘 要】:日志对于系统的安全来说非常重要,它记录了系统每天发生的各种各样的事情,用户可以通过它来检查错误
发生的原因,或者寻找受到攻击时攻击者留下的痕迹。日志主要的功能是审计和监测。它还可以实时地监测系统状态,监测
和追踪侵入者。本文从操作系统和网络两方面对日志分析在计算机取证中的应用作简单阐述,意在抛砖引玉使大家能重视
日志分析的作用。
【关键词】:日志分析 计算机取证
伴随着信息技术的飞速发展和数字化时代的到来,我们在
日常生活、学习、工作中无时无刻不深切地体会到互联网给我们
所带来的巨大影响。企业上网实现电子商务,拓展内外部经营活
动,互通商机,最终提高经济效益,增强竞争能力。校园上网实现
电子教学,共享网上教育资源,实现网上教学资源的合理管理,
网上应用资源的统一管理。政府上网实现电子政务,提高运作效
率,加强信息沟通。我们共同的目标是互联网资源的创造和运
用。但在体会到网络的方便和快捷的同时,我们也时时刻刻都在
面对着计算机犯罪的威胁。如何搜集计算机犯罪的证据,有效地
打击犯罪,是摆在我们面前的新的问题。日志分析就是解决这一
问题的一种重要方法。
所谓日志分析,就是确定一些紧要的事件记录,加以规范、
整合、分析、关联及做出适当的追踪、调查及应对措施。
1.基于操作系统的日志分析
在Windows操作系统中,有三个相互独立的日志文件:系统
日志、应用程序日志、安全日志。
1)系统日志———记录系统进程和设备驱动程序的活动。它
审核的系统事件包括启动失败的设备驱动程序、硬件错误、重复
的IP地址,以及服务的启动、暂停和停止。系统日志包含由系统
组件记录的事情。例如,在系统日志中记录启动期间要加载的驱
动程序或其他系统组件的故障,比如启动时某个驱动程序加载
失败等。
2)应用程序日志———包括关于用户程序和商业通用应用
程序的运行方面的错误活动,它审核的应用程序事件包括所有
错误或应用程序需要报告的信息。比如失败登录的次数、硬盘使
用的情况和其它重要的指针等。
3)安全日志———安全日志通常是在应急响应调查阶段最
有用的日志。调查员必须仔细浏览和过滤这些日志的输出,以识
别它们包含的证据。安全日志主要用于管理员记载用户登录上
网的情况。在安全日志中可以找到它使用的系统审核和安全处
理。它审核的安全事件包括用户特权的变化、文件和目录访问、
打印以及系统登录和注销。安全日志可以记录诸如有效的登录
尝试等安全事件以及与资源使用有关的事件,例如创建、打开或
删除应用文件。管理员可以指定在安全日志中记录的事件。
对这三种日志的分析鉴别,Windows提供了很好的工
具———事件查看器。事件查看器是Windows系统中用于收集计
算机硬件、软件和系统整体方面的错误信息,也用来监视一些安
全方面的问题。它可根据应用程序日志、安全日志和系统日志来
源将记录分成三类。
事件查看器显示以下几种事件类型:“错误”是指比较严重
的问题,通常是出现了数据丢失或功能丢失。例如如果在启动期
间服务加载失败,则会记录错误。“警告”给出警告则表明情况暂
时不严重,但可能会在将来引起错误,比如磁盘空间太少等。“信
息”描述应用程序、驱动程序或服务的成功操作的事件。例如成
功地加载网络驱动程序时会记录一个信息事件。“成功审核”访
问审核成功。例如将用户成功登录到系统上的尝试作为成功审
核事件记录下来。“失败审核”访问审核失败。例如如果用户试图
访问网络驱动器失败,该尝试就会作为失败审核事件记录下来。
注意启动系统时事件日志服务会自动启动,所有用户都可
以查看应用程序日志和系统日志,但是只有管理员才能访问安
全日志。默认情况下会关闭安全日志,所以管理员要记住设定启
用。管理员既可以使用组策略启用安全日志记录,也可以在注册
表中设置策略使系统在安全日志装满时停止运行。
Linux/Unix系统一般也有3个主要的日志子系统:连接时
间日志、进程统计日志和错误日志。
1)连接时间日志———连接时间日志由多个程序执行,把记
录写入到/var/log/wtmp和/var/run/utmp。login等程序更新 wtmp
和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。
2)进程统计日志———进程统计日志由系统内核执行。当一
个进程终止时,为每个进程往进程统计文件(pacct或acct)中写
一个记录。进程统计的目的是为系统中的基本服务提供命令使
用统计。
3)错误日志———错误日志由syslogd(8)执行。各种系统守护
进程、用户程序和内核通过syslogd(3)向文件/var/log/messages报
告值得注意的事件。另外还有许多UNIX类程序创建日志,像
HTTP和FTP这样提供网络服务的服务器也有详细的日志。
对于 Linux系统也有专门的日志分析和查看工具,如
Logcheck和Friends等。Logcheck用来分析庞大的日志文件,过
滤出有潜在安全风险或其他不正常情况的日志项目,然后以电
子邮件的形式通知指定的用户。
基于操作系统的日志分析,主要依据操作系统内的日志功
能,利用分析工具找出不合理的事件记载。例如:用户在非常规
的时间登录;不正常的日志记录,比如日志的残缺不全或者是无
故地缺少了中间的记录文件;用户登录系统的IP地址和以往的
不一样;用户登录失败的日志记录,尤其是那些一再连续尝试进
入失败的日志记录;非法使用或不正当使用超级用户权限的指
令;无故或者非法重新启动各项网络服务的记录。
2.基于网络的日志分析
当对计算机犯罪调查取证时,会发现很多潜在证据的来源,
不仅包括基于主机的日志记录,而且还包括网络的日志记录以
及其它的传统形式,如指纹、证词和证人。大多数的网络流量在
它经过的路径上都留下了监查踪迹。路由器、防火墙、服务器、
IDS检测器及其它的网络设备都会保存日志,记录基于网络的
突发事件。DHCP服务器会在PC请求IP租用时记录网络访问。
现代的防火墙允许管理员在创建监查日志时有很多种粒度。IDS
检测器可以根据签名识别或异常的检测过滤器来捕获一个攻击
的一部分。
基于网络的日志记录以多种形式存储,可能源自不同的操
作系统,可能需要特殊的软件才能访问和读取,这些日志在地理
上是分散的,而且常常对当前系统时间有严重错误的解释。调查
人员的挑战就在于查找所有的日志,并使之关联起来。从不同系
统获得地理上分散的日志、为每个日志维护保管 (下转第169页)
164
福 建 电 脑2006年第7期
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
(上接第163页)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
(上接第164页)
值,直接调用内部函数DateAdd进行运算,结果与VFP所得到
的完全相同。
参考文献:
1.龚沛曾,陆慰民,杨志强.VisualBasic程序设计教程(版)[M].北京:高
等教育出版社,
2.常明华,丁志云.VFP编程技术及数据库应用教程[M].北京:中国电力
出版社,
3.高怡新.VisualFoxpro程序设计[M].北京:人民邮电出版社,
链、重建基于网络的突发事件,这一切都需要消耗大量的时间和
密集的资源。
随着网络安全技术的发展,越来越多的网络安全产品被应
用到网络中来。这些产品都有一个共同的特点,具有强大的日志
记录和分析功能,能对网络中流经的一切数据进行监控和审计。
清晰、直观的网络行为审计和流量分析结果展示,满足对海量的
网络日志进行快速分析的要求。管理员可以从日志审计结果中
准确了解终端用户的上网行为———用户何时访问了某网站?何
时访问了某网页?发送了哪些Email?传送了哪些文件等。这些
都为计算机犯罪的调查取证提供了有力的证据。
3.日志分析注意事项
1.日志分析系统与计算机的时间有紧密的联系,每次启动
日志分析系统时,需要处理从上次分析时间到今天的历史日志,
处理的时间与访问量和时间间隔有关,如果更改计算机时钟,会
发生统计不上的情况。所以保证计算机的系统时间准确,才能为
事后日志分析查找证据提供依据。
2.日志存储的时间要足够的长。许多用户认为自己拥有进
行监控和调查所需要的所有日志,但是在遭遇安全事件之后才
发现,相应的日志信息已经被删除了。安全事件通常是在攻击或
滥用行为发生后很长时间才被发现。 如果费用紧缺,建议用户
将保留的日志分为两个部分:短期的在线存储和长期的离线存
储。将旧日志信息存储在磁带中,既能节约离线存储的成本,还
能长久保存以备未来分析。
3.要经常查看日志。许多管理员都会犯一个低级错误———
不查看日志。虽然收集和存储日志很重要,但只有经常查看日
志,了解网络环境中发生了哪些情况,才能及时做出响应。一旦
部署了安全设备并且收集了日志,用户需要对其进行持续监控,
以及时发现可能发生的安全事件。一些用户只在重大事件之后
才审查日志,尽管这些用户能够获得事后分析的好处,但没能获
得事前预防的好处。主动查看日志有助于用户更好地实现安全
设施的价值,了解攻击行为将在何时发生并及时及时报警,同时
做好证据保全。
计算机取证技术的研究是一个相当复杂的课题,日志分析
只是其中一种重要的方法。利用操作系统和网络设备中记录的
各种日志,对于计算机犯罪的证据查找,有时能起到事半功倍的
作用,可为打击计算机犯罪提供重要的调查线索和证据来源。
参考文献:
1.中科希望技术培训学校主编:《新编网络安全教程》 2005-6-1
2.王玲 钱华林:《计算机取证技术及其发展趋势》软件学报 2003-9-
14
3.[美],:《计算机取证:应急响应精要》人
民邮电出版社 2003-8-1
lblSex=newLabel("性别");
lblJob=newLabel("职业");
lblText=newLabel("个人介绍:");
tfName=newTextField(23);
tfNumber=newTextField(20);
taText=newTextArea(10,20);
c=newCheckboxGroup();
chMale=newCheckbox("男",c,true);
chFemale=newCheckbox("女",c,false);
chJob=newChoice();
("计算机业");
("医生");
("教师");
("军队");
btnOk=newButton("确定");
btnCancel=newButton("取消");
p1=newPanel();
p2=newPanel();
p3=newPanel();
p4=newPanel();
p5=newPanel();
p6=newPanel();
p7=newPanel(newBorderLayout());
p8=newPanel();
//组件分别添加到面板上
(lblName);
(tfName);
(lblNumber);
(tfNumber);
(lblSex);
(chMale);
(chFemale);
(lblJob);
(chJob);
(p3);
(p4);
(newBorderLayout());
(p1,);
(p2,);
(p5,);
(lblText,);
(taText,);
(newFlowLayout(,30,10));
(btnOk);
(btnCancel);
//面板p6、p7、p8增加到当前frame上
add(p6,);
add(p7,);
add(p8,);
setBounds(100,100,500,500);
setVisible(true);
}
}
以上仅是图形用户界面的代码,还需要在main方法中创建
其对象,才能执行。
3.结束语
图形用户界面设计是采用Java技术开发系统的重要组成
部分,一般是引用Java提供得布局管理器来实现的。实际上,在
Java中所有的布局管理器都要实现一个接口,即LayoutManager
或者是它的一个子接口LayoutManager2,后者用于更复杂的布
局管理。如果在实际应用中,觉得JavaAPI提供的这些布局管理
器仍不够用,还可以自己来实现其中某一个接口的方法,从而为
自己的具体GUI应用设计提供更好的布局管理。
参考文献:
1.京京工作室 译,Java2核心技术.北京:机械工业出版社,2000
2.京京工作室 译,Java编程思想.北京:机械工业出版社,1999
3.张桂株.陈爱国.姚晓峰.Java面向对象程序设计,北京:北京邮电大学
出版社,2005
4.朱战立.沈伟.Java程序设计实用教程,北京:电子工业出版社,2005
169