摘 要:介绍了网络取证的概念、网络证据的特点、与传统静态取证的比较及研究现状,详细分析了数据捕获、数据分析技术、专家系统和数据挖掘技术等在网络取证中的应用,并分析了目前网络取证存在的问题和发展趋势。
关键词:实时;网络取证;计算机取证
随着计算机网络的迅速发展和普及,网络安全变得日益重要和复杂。网络入侵、计算机犯罪问题也越来越严重,攻击和入侵事件甚至直接威胁到国家的安全,信息安全问题日益严峻,在犯罪事件发生后对犯罪行为进行事后的取证,存在着证据的真实性、有效性和及时性等问题。如何及时准确地从网络中获取计算机证据,打击和遏制网络犯罪正日益成为计算机网络安全的研究热点。计算机网络取证是计算机科学与法学交叉的一门新兴学科,是伴随着计算机技术的发展和普及以及计算机犯罪这一新的犯罪形式出现而出现的。
1 网络取证概述
1.1 概念
网络取证(network forensics)概念最早是在20世纪90年代美国防火墙专家Marcus Ranum[1]提出的,借用了法律和犯罪学领域中用来表示犯罪调查的词汇“forensics”,网络取证是指捕获、记录和分析网络事件以发现安全攻击或其他的问题事件的来源。在2001年数字取证研究工作组DFRWS[2](Digital Forensic Research Workshop)的会议上,明确将网络取证作为会议的4个主题之一进行讨论,并给出了网络取证的定义:“为了揭示与阴谋相关的事实,或者为了成功地检测出那些意在破坏、误用或危及系统构成的未授权行为,使用科学的技术,对来自各种活动事件和传输实体的数字证据进行收集、融合、识别、检查、关联、分析和归档等活动过程”。
按照Simson Garfinkel[3]的观点,网络取证包括2种方式:(1)“catch it as you can”(尽可能地捕捉)。这种方式中所有的包都经过一定的节点来捕获,将报文全部保存下来,形成一个完整的网络流量记录,把分析的结果按照批量方式写入存储器。这种方式能保证系统不丢失任何潜在的信息,最大限度地恢复黑客攻击时的现场,但对系统存储容量的要求非常高,通常会用到独立冗余磁盘阵列(RAID)系统。(2)“stop look and listen”(停、看、听)。这种方式中每个包都经过基本的分析,为以后的分析留下基本信息,对存储的要求比较小,但需要一个较快的处理器,以便速度能跟得上输入的网络流。这种方式能减少系统存储容量的需求,但有可能丢失一些潜在的信息,同时过滤进程还会增加系统负荷。
中科院学者指出:“网络取证技术指在网上跟踪犯罪分子或通过网络通信的数据信息资料获取证据的技术,包括IP 地址和MAC 地址的获取和识别技术、身份认证技术、电子邮件的取证和鉴定技术、网络侦听和监视技术、数据过滤技术及漏洞扫描技术等”[4] 。
目前还没有网络取证的统一标准定义,综上所述,笔者认为,网络取证是指通过计算机网络技术,按照符合法律规范的方式,对网络事件进行可靠的分析和记录,并以此作为法律证据的过程。
1.2 网络证据的特点
网络证据是正在网上传输的计算机证据,其实质是网络流[5]。网络证据的获取属于事中取证,即在犯罪事件进行或证据数据的传输途中进行截获。网络流的存在形式依赖于网络传输协议,采用不同的传输协议,网络流的格式也不相同。网络取证的目标就是对网络流进行正确地提取和分析,真实全面地将发生在网络上的所有事件记录下来,为事后的追查提供完整准确的资料,将证据提交给法庭。网络证据具有以下特点:
(1)动态:不同于存储在硬盘等存储设备中的数据,网络数据是正在网上传输的数据,是“流动”的数据。
(2)实时:就网络上传输的一个数据包而言,其传输的过程是有时间限制的,从源地址经由传输介质到达目的地址后就不再属于网络流了。
(3)海量:随着网络带宽的不断增加,网上传输的数据越来越多,形成了海量数据。
(4)多态:网络上传输的数据流有的是文本,有的是视频,有的是音频,其表现形式呈多态性。
1.3 与传统静态取证的比较