计算机证据与计算机审计技术,本文主要内容关键词为:计算机论文,证据论文,技术论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
一、引言
随着计算机和计算机网络技术的不断发展,计算机及计算机网络的应用日趋广泛,同时,计算机系统也越来越多地成为攻击的对象。虽然计算机安全防范技术在不断进步和完善,但是道高一尺、魔高一丈,非法入侵计算机系统的案件还是不断地出现和增加。本文所要探讨的,是目前法律界所面临的紧迫而又棘手的问题,即如何获取非法入侵或攻击计算机系统的计算机证据。相对一般的证据而言,计算机证据具有鲜明的特点。计算机证据的收集和评价是一个法律问题,但又往往需要一定的计算机技术和其它科学技术,甚至是一些尖端的技术。对于攻击计算机系统的取证,传统的方法并不十分有效。本文将提出一种不妨称之为“预先取证”的方法,这种方法的基本观点是把审计的思想引入到计算机安全中,通过法律专家与计算机专家的紧密合作,运用计算机审计技术,为敏感的计算机系统设计出有针对性的审计系统,把计算机系统的所有活动记录在案,当计算机系统受到攻击时,这些审计记录就成为有效的计算机证据。
二、计算机证据
要理解运用计算机审计技术的必要性,需要对计算机证据的特征有一个清晰的认识。
1.什么是计算机证据。
关于计算机证据的概念,目前在学理上并没有统一的认识,存在着多种观点,比较为大众所认可的有两种观点。其中一种观点认为,计算机证据为计算机产生的证据(Computer generated evidence), 而另一种观点则认为计算机证据应该表述为计算机相关的证据( Computer-related evidence)。
计算机产生的证据是指计算机根据程序指令对输入计算机的数据进行处理,然后输出形成的记录文件。它的表现形式有两大类,一是直接输出到纸张或其它多媒体输出设备(如显示器、扬声器等)上;二是存储到计算机的存储设备(如磁盘、磁带、光盘)上。
计算机相关的证据可以认为是广义的计算机证据,除了计算机产生、存储的信息之外,还包括计算机模拟结果以及计算机系统的测试结果。所谓计算机模拟,是指在诉讼中利用计算机对已经发生的行为、事件或条件进行模拟,提供研究的结果,揭示事物发展的可能性。计算机系统的测试结果,是指在相同或相似的情况和条件下对计算机系统本身的可靠性进行测试,以证实计算机系统是可信的。
本文探讨的是第一种观点,把计算机证据定义为:计算机系统运行过程中产生的或存储的以其记录的内容证明案件事实的电、磁、光信息,这些信息具有多种输出表现形式。
2.计算机证据的特征。
计算机证据作为一种诉讼证据,是现代计算机技术迅速发展的产物,具有十分鲜明的特征。虽然在我国的诉讼法中将计算机证据归类为视听资料,但在实质上,计算机存储的信息与录音、录像等其它视听资料存在着质的区别。
在此,我们仅讨论计算机证据最本质的特征,即计算机证据的脆弱性。计算机证据的脆弱性指计算机信息很容易被修改,并且修改后不会留下任何痕迹。计算机数据处理技术有一个优点历来是为人们所称道的,这就是不留痕迹的修改。但这个为人所称道的优点却成为困扰计算机安全专家和法律专家的棘手问题。例如,当怀疑一个嫌疑人篡改了计算机系统的数据时,如何证明数据确实被改动过,被改动的是哪一些数据,是什么时候修改的,是通过什么途径修改的,等等。
对于书证的伪造或变造,利用已经成熟的检验技术是能够比较容易地发现其伪造或变造部分的;对于录音、录像等其它视听资料的删节、剪接所造成的失实,也是可以鉴定查清的,在科学技术不断发展的今天,声纹鉴定技术也已经相当成熟了。
从本质上看,计算机证据与文书证据有着天壤之别。即使是录音、录像等视听证据,与计算机证据也有着本质的区别。在电子技术领域,录音、录像资料是对声音、图像的记载,记录的是模拟信号;而计算机信息是用二进制数据表示的,即所谓的数字信号。连续变化的物理量之间的任何变化,在理论上说都是可以再现的;但是非连续的数字信号却不具有这种特性。
计算机数据的载体是电脉冲和磁性材料等,如果计算机系统被窃听或非法复制,对计算机的数据表示几乎没有影响;如果计算机数据被改变了,从物理表示上,也只是集成电路的电子矩阵正负电平或磁性材料磁体的方向发生了变化,如果不做数据的互相对照,这种物理的变化用户是根本感觉不到的。
3.计算机证据的证据价值。
在我国诉讼法和证据学理论中,承认计算机产生和存储的信息可以独立发挥证明案件事实的作用。但是一个计算机证据是否具有证明力,取决于它是否具有相关性和客观性。所谓相关性,是指证据与案件事实之间有着某种逻辑的联系。所谓客观性,是指证据来源于客观事实本身,不是任何猜测、幻想、梦境和虚构的内容,而且没有被篡改过,这是证据首要的本质的属性。
也就是说,计算机证据要完成其证据的使命,必须被证实是真实可靠的。但是,由于计算机数据的脆弱性(修改后不留痕迹),要想在计算机系统被攻击之后收集到真实可靠的攻击证据,其难度是相当大的。因此,为了保证在计算机系统被攻击后能够获取有效的证据,最有效的方法是对计算机系统的所有活动实施监视和记录,当计算机系统受到攻击时,这些记录就成为计算机证据。计算机审计技术的运用使这种设想成为现实。
三、计算机审计技术
1.计算机审计概述。
计算机审计技术就是在计算机系统中模拟社会的审计工作,对计算机系统的活动进行监视和记录的一种安全技术,运用计算机审计技术的目的就是让对计算机系统的各种访问留下痕迹,使计算机犯罪行为留下证据。计算机审计技术的运用形成了计算机审计系统,计算机审计系统可以用硬件和软件两种方式实现。计算机系统完整的审计功能一般由操作系统层次的审计系统和应用软件层次的审计系统共同完成,两者互相配合、互为补充。
计算机审计系统应该具有监视功能和检测功能。监视功能是指审计系统通过监视对计算机系统的所有操作,为入侵计算机系统的犯罪侦破和犯罪审理提供线索和证据,一个良好的审计系统还可以协助发现潜在的入侵者;检测功能是指审计系统能够检测程序的真实性、完整性和可靠性,判断程序是否已被篡改、是否处于正常的运行状态中。
独立性是审计工作的本质特征,计算机审计的独立性具体体现在以下两个方面:(1)不管是在操作系统中还是在应用软件中, 审计系统都应作为一个独立的子系统而存在。(2)设立工作独立、 行为自主的计算机系统审计员。审计员是特殊的计算机系统(安全)管理员,只有它才能控制、管理、使用审计系统。审计员的行为不受任何其它计算机用户的控制和干扰,包括计算机系统(安全)管理员。
审计系统把对计算机系统的所有活动以文件形式保存在存储设备上,形成系统活动的监视记录。监视记录是系统活动的真实写照,是搜寻潜在入侵者的依据,也是入侵行为的有力证据。监视记录本身被实施最严密的保护。在保护监视记录的问题上,应该坚持独立性的原则,即只有审计员才能访问监视记录。
目前常用的操作系统包括网络操作系统如NetWare、Windows NT、 UNLX等,均提供了审计功能。操作系统提供的是面向整个系统的审计功能,不足之处是不可能考虑到各种应用软件的具体情况,不能很好地满足各种客户的需要。操作系统的审计功能既成定局,难以改变,但计算机用户可以根据应用软件的特点和自身的需要,设计出有针对性的应用软件审计系统。下面将介绍一种应用软件审计系统的设计思想。
2.应用软件审计系统的设计思想。
虽然本文所探讨的是证据的问题,但是有些功能(例如报警功能以及一些与分析潜在入侵者相关的功能)是审计系统所必备的,下面也一块列举。
(1)监视记录的设计
监视记录的内容包括:用户标识;(在网络上使用时)使用软件的设备地址;使用软件的起止时间;调用的子程序及调用子程序的起止时间;访问的硬件设备及访问的起止时间;使用软件过程中访问的文件和目录,访问的类型(创建、打开、关闭、读、写、拷贝、删除、重命名、运行等)以及访问的起止时间;针对文件数据的操作,包括读、增、删、改、复制等操作以及操作对象在文件中的具体位置;对软件参数的修改。
对于每一项活动,监视记录还应该记录该项活动成功还是失败,活动引发者对于该项活动的有关授权状态,地址空间的使用情况。
(2)监视模块的设计
设计的监视功能包括:
①监视整个应用软件的活动,并提供详细的监视记录,使所有活动留下线索。
②允许选择特定的监视对象,这项功能可以在现有证据不充分的情况下,令审计员可以实施重点监视,更深入、详细的取证。特定的监视对象可以是文件、目录、打印机、磁盘、计算机、用户等。
③在一定程度上检测和判定对系统的入侵和入侵企图,提供报警信息并能实施必要的应急措施。例如,如果发现某个用户连续多次不成功进入系统或某个敏感子程序,应立即向安全控制台报警,甚至锁住该用户的帐号等待进一步的调查。
④提供对监视记录的以任何项目为关键字的查询及各种组合查询,多方面满足审计员的审查需要。
⑤报警参数管理。审计员可以通过报警参数管理功能,设置需要实时报警的事项。
⑥监视记录文件的维护。随着时间的推移,监视记录文件会不断地膨胀,因此,有必要提供对监视记录文件的各种维护处理,如转存、拷贝等。
(3)检测模块的设计
检测模块采用动态检测法检测程序的真实性、完整性和可靠性;而对于数据文件的检测,则是利用信息验证码。
实现动态检测的关键,是设计出针对被检软件的完整的模拟数据和模拟操作,并确定其正确的处理结果。模拟数据和模拟操作包括合法的和非法的两种,这样做的目的是观察那些包含安全保护功能的程序是否能够阻止非法行为的发生,从而判断其安全保护是否在发挥作用。实施检测时将模拟数据或模拟操作经过软件处理后得到的实际结果与正确的结果相比较,确定程序的功能是否可靠、程序是否被修改过。当检测到程序的真实性、完整性和可靠性遭到破坏时,及时发出报警。
信息验证码是根据信息的全部内容通过某种算法产生的一种检验码,它与信息的全部内容密切相关。即使文件中有一比特的改变,都会导致信息验证码的改变。因此,在设计应用软件时,保证在每次保存数据文件时计算出当时的信息验证码并同时保存起来,检测模块通过计算信息验证码并与保存文件时的信息验证码进行比较,即可发现文件中的数据是否被篡改过。
四、结束语
计算机审计员通过审计系统的检测模块发现程序或数据被修改,经证实系统受到非法入侵或攻击后,就可以利用审计系统监视模块所提供的监视记录,发现入侵者所使用的设备、入侵的时间、入侵的策略、对计算机系统所进行的攻击以及攻击所导致的结果等信息。如果证实计算机系统本身是可信的;并且按照监视记录所提供的数据,通过计算机模拟的结果与入侵结果相符(如果计算机系统是可信的,相同的行为、事件或条件所导致的结果是相同的)。那么,监视记录就可以作为真实可靠的计算机证据。