电子证据自动化推理方法的设计与实现
2016-07-25赵志岩
赵志岩
(中国人民公安大学网络安全保卫学院,北京 100038)
电子证据自动化推理方法的设计与实现
赵志岩
(中国人民公安大学网络安全保卫学院,北京100038)
摘要电子证据的分析技术是打击网络犯罪的有效途径,然而取证软件对电子证据的推理分析自动化和智能化水平较低,导致网络犯罪侦查过程的效率很难提高。目前,存储设备的容量越来越大,案件中涉及的电子证据常为海量数据,靠人工推理和分析耗时、耗力。通过构建知识库,输入分析规则,可以形式化专家经验和系统规律等,进而应用规则对电子证据进行自动化推理分析,能有效地完成犯罪类型的推理或犯罪案件的重构。
关键词电子证据; 自动化; 推理
0引言
电子证据分析技术早已应用到对网络犯罪的打击防控上,并且取得了较好的成效。目前,取证软件和硬件能够很好地实现对电子证据的分析,这些工具的功能主要集中在电子证据的浏览和过滤上,如使用关键词、文件类型、哈希值的匹配条件,找出可能与案情相关的电子证据[1]。
但是,与案件相关的过滤条件的设置仍然需要人工输入,而且这些电子证据究竟反映了什么样的犯罪类型和犯罪事件,如何利用电子证据进行案件推理和重构等分析工作还是由人工完成,无法实现自动化与智能化分析。
因此,案件的侦破很大程度上依赖于侦查人员的分析水平,另外,靠人工完成后期分析导致侦查工作的时效性很差,给后续的侦查工作带来了很大的困难。
电子证据自动化推理分析就是指根据案件中机器设备上的电子证据,通过软件工具等手段自动分析推理案情,得出案件类型,以及可能发生过的事件,提高侦查的准确性和效率,遗憾的是,目前国内外还没有成熟的工具能够做到电子证据的自动化推理分析。
1电子证据推理分析思路
电子证据领域对证据的推理分析主要用于对案件的推理和重构,即基于可获得的证据和事实,通过一定的方法和手段,推导出可能发生的事件。
依据推理的方向,我们可以把电子证据推理分析的思路分为两种,一种是从前往后推导,也就是从证据到结论的推理方式,即根据发现的证据状态直接推断可能发生的多个事件,再根据不同事件产生的痕迹继续推理,排除不可能的事件,经过多次推理之后最终得到最初的可能事件,这种思路主要根据机器运行的客观规律,得到事件与证据的关联关系[2]。第二种是从后往前推导,即假设测试,先提出案件假设并对假设形式化,然后利用发现的证据推理和评估假设事件的接受度和拒绝度,这种思路主要根据案件实施的客观规律,得到事件与证据的关联关系[3]。
这两种方法在理论上并不是完全独立的,经常被结合在一起使用,以提高推理分析的效率和准确率。根据这两种思路,国内外提出了一些典型的电子证据推理分析模型。
1.1有限自动机推理模型
该模型基于从后往前的推导思路,对案情的推理过程使用有限自动机理论,根据机器的运行规律进行建模,然后通过结果向前追溯原因,寻找案件真相,这种方法只适用于状态相对较少的事件,否则有限状态过于庞大,不利于下一步的推理实现。
实施步骤是这样的,首先对案件进行形式化建模,结点表示可能的系统电子证据状态,结点之间的有向弧表示状态之间的转换过程,比如,存储器中一个二进制位的状态转换如图1所示。
图1 一个存储单位的状态转换
当存储单元中为0时,写入1操作,使状态0转换成状态1,写入0操作,状态0不变,状态为1时,同样遵循这一规律,根据这样的状态关系规律,把要调查的目标证据及相关案情用有限状态机模型进行形式化,然后对已发现目标的最终状态向前回溯,找到所有可能的场景,再根据实际情况舍弃与现实不符的状态,最后推断出最有可能的案件事实。仍以上例中存储单元状态转换为例,部分推理过程如下图2所示。
图2 有限状态机推理过程
有限状态机推理模型是一种自动化事件重构推理模型,能够依据形式化的状态机计算出已知证据状态的所有可能假设,包括潜在的未被明确化的假设,因此,该模型的准确率较高。但是,对于事件比较复杂的情况,可能会导致最后的状态机过于庞大,甚至不能完全地描述系统所有的状态,导致降低案件重构的有效性[4]。
历史模型[5]是有限状态机推理模型的应用,是对计算机的历史状态进行建模,状态定义为计算机每一个原始存储位置的离散值,事件定义为计算机指令导致的底层存储单元的状态转换,同时提出复杂状态和复杂事件的概念,以解决状态爆炸的问题。
1.2贝叶斯网络推理模型
该模型基于从前往后的推导思路,即首先提出案件的假设,基于经验提出支持该假设的电子证据,形成有向无环图的形式化结构,然后寻找相关证据,根据相关证据的真实存在场景,计算假设成立的最终概率,推理出案件最可能的结论。
贝叶斯网络推理模型包含形式化和推理两个部分,形式化部分将电子证据的变量、事件、属性等表示成结点,结点之间用有向弧表示证据之间的条件依赖关系,如图3所示。
图3 贝叶斯推理模型的形式化
其中,用H表示案件假设,H1、H2表示子假设,E1~E5表示电子证据及其相关属性,有向弧a、b、c、d、e、f表示子节点存在则父节点一定成立的可能性。即a为子假设H1存在则H存在的可能性,e、f表示E3存在则H1、H2分别存在的可能性。如果E1、E2同时存在,则H1存在的可能性为c+d。
贝叶斯网络推理模型的优点是证据与假设之间的因果关系明确,推理计算以数学公式为基础,算法实现简单,结论依据充分。但是由于支持假设的证据是基于经验提出的,包括先验概率的设置都是事先根据经验给定的值,因此,结论的推导过程主观性较强,相对来说,没有有限自动机的推理模型准确率高。
文献[6]对贝叶斯网络推理模型做了部分改进,增加了模型中不一致证据的形式化。即除了寻找支持假设的证据外,还需要寻找反对假设的证据,如果证据与假设不一致,会削弱假设成立的可能性,同样,如果证据之间不一致,也会削弱假设成立的可能性。
文献[7]也对贝叶斯网络推理模型做了改进,主要是针对效率方面的改进。形式化模型不变,但增加了每个证据的代价值,在搜索支持假设的证据时,从代价最小的证据开始,当搜索证据的权值达到一个阈值时,则表示假设已经成立。通过这种改进,能够极大地节省推理的时间,提高模型的效率。
本文提出的自动化分析方法主要采用贝叶斯推理模型算法,同时结合了有限状态自动机的优点,采用专家经验及系统规律形成规则,同时总结大量实际案例获取规则,然后通过对规则的匹配,实现案情推理分析的自动化。
2自动化推理方法的设计
在人工智能领域,专家系统是实现自动化推理的有效手段,对于电子证据的自动化推理过程也是如此。专家系统的有效性主要取决于知识库中规则的建立,因此,我们采用多种方法,从多种来源获取和建立规则,保证规则的全面性和准确性。
2.1知识库规则的来源
在案件侦查过程中,专家的经验知识是十分宝贵的侦查手段,尤其是对相关业务的总结知识和经验,如果能够存储和传播办案经验,以此作为工作指南,对犯罪案件的侦破常常会起到决定性作用,因此,专家经验是推理知识库规则的重要来源之一。
根据大量同类案件的总结,我们发现案件的实施具有一定的规律性,如诈骗类案件一般要先通过邮件、聊天工具、论坛、社交圈等寻找受害者,以一定的方式实施诈骗,再通过网络交易获得钱款或虚拟钱币等,因此,整个实施过程留下电子证据具有一定的规律性,总结这些规律性就能对该类案件进行推理,这是推理知识库规则的另一个重要来源。
另外,对于电子证据这一特殊的证据类型来说,它的形成、发展和销毁也具有其特定的规律,这是由软件和硬件的本质决定的,这些规律会形成电子证据的一些固有特征,如访问网站会在主机浏览器的文件夹中存储临时文件和一些cookie文件,邮件的收发会在邮件头中存储收发人、时间、经过路径等信息,这些软件和硬件导致的规律性是我们推理知识库规则的第三个重要来源。
得到这些规则,我们就可以对以后发生的案件进行自动分析,即输入发现的证据事实,根据知识库中的规则,得到可能结论,从而完成对电子证据的自动分析。自动化推理的流程如图4所示。
图4 自动化推理流程
该方法的实现过程中有两个问题需要解决,一是电子证据和规则的形式化表示方式,二是推理算法的实现。
2.2电子证据和规则的形式化
CLIPS是一种开源的专家系统编写工具,可用于各领域专家系统的开发[8],其功能强大且容易掌握,因此我们采用CLIPS语言对电子证据自动化推理分析方法进行实现。
考虑到知识库专家系统使用产生式表示规则,为了减少实现方法的复杂性,我们决定不更改规则的表示方式,因此,推理知识库中的规则仍然用IF,THEN的产生式表示。
电子证据有图、集合、属性表示等不同的形式化方法,但是为了更好地匹配知识库的规则,采用命题的方式更为方便。而且,根据电子证据的存在性,用字母来表示能够简化规则的表达,更容易进行后期的推理分析。
因此,电子证据和规则的形式化表示如下:
设E为电子证据集合,Ei∈E(i=1,…,n)为某案件中发现的电子证据,Ri表示规则,Wx表示权值(Wx≥0),Hy表示子假设,H为最终假设,那么规则可以表示为:
Ri:(Wx,En)→Hy或Ri:(Wx,Hy)→H
其中,Ei可表示为命题,即具有唯一真值的陈述句。如我们可以用E1:机器中存在木马程序的源代码;E2:机器中有浏览黑客论坛的上网记录来表示犯罪案件中发现的电子证据。Wx=1时表示该电子证据或子假设与结论之间是强对应关系,箭头前面的(Wx,En)和(Wx,Hy)称为规则的前件,Hy和H称为规则的后件,规则的含义为前件存在时能够以Wx的可能性推出后件。
2.3知识库构建与推理
电子证据自动化推理知识库的构建就是使用CLIPS语言输入规则的过程。规则的获得是知识库高效、准确的关键。
规则采用条件产生式方法表达,并存入知识库中。对网络犯罪案件中获得的电子证据进行推理分析的过程,就是输入证据事实,然后使用知识库进行规则匹配,最后得出分析结论的过程。
2.3.1输入规则
CLIPS规则与C程序语言中的IFTHEN表述非常相似。IFTHEN规则可以和自然语言混合表示,如下所示:
IFconditions1istrue
THENexecutetheactions
将规则从自然语言转成CLIPS语言非常简单,可以在CLIPS中直接输入规则,另外,也可以用一个文本文件存储规则,然后加载到CLIPS中来。
采用CLIPS语法将上面的伪代码写成一个规则,规则名紧跟在关键字defrule后面。我们通常将规则分成几段书写,以便于程序的理解和编辑。
CLIPS>(assert(condition1istrue))
CLIPS>(defruleRule-name(condition1istrue)
⟹(assert(executetheactions)))
在以上代码中,规则名Rule-name可以由用户自己命名,规则的前件为condition1istrue,后件为executetheactions,前件和后件应尽量具体化。CLIPS中,同时只能有一个规则名存在,规则名不能重复使用。
2.3.2输入电子证据与案件假设
电子证据和案件假设在规则中是作为前件和后件出现的,因此根据规则的输入方法我们也可以推出电子证据和假设的输入方法,这在CLIPS语言中被称为是事实的输入。
如果想在证据事实表中输入新对象,可以使用assert命令。如下
CLIPS>(assert(Ei))或者CLIPS>(assert(Hi))
这里,assert命令以括号中的内容作为其参数。输入该命令后,点击回车键可以看到如下响应:
表示CLIPS已经存储了Ei或Hi的事实,并将其标识为1。
2.3.3基于规则的推理
CLIPS语言除了提供数据库用于存储证据、假设和规则之外,还包含一个推理机,能够根据输入的证据事实执行规则,主要功能是对规则的激活与触发。
推理机决定了哪一条或哪几条规则应该被执行,一个用CLIPS编写的专家系统程序就是一个以数据驱动的程序,程序里的证据事实,通过推理机的激活而执行。
定义了规则并准备好事实表之后,就可以进行推理了,推理过程如下:
(1)查看所有规则,检查输入的证据事实是否匹配某一规则前件,如果有,则该条规则被激活。
(2)所有被激活的规则都会被纳入日程表agenda中,日程表是一个按优先级存放激活规则的栈结构。
(3)执行规则的后件,如果后件是添加事实,则新添加的事实仍然会继续激活规则。
(4)可以撤销事实,然后再重新添加新的事实,让规则重复触发。
用于规则的前件可以是复杂的与、或结构,也可以带有权值,这里不再一一赘述。
下面展示一个规则的激活和触发:
CLIPS>(defruleR1(E1)
⟹(assert(H1))) ;规则R1,事实E1能够推导出H1
CLIPS>(defruleR2(H1)
⟹(printout”H”));规则R2,H1能够推导出H
CLIPS>(assert(E1)) ;输入证据事实E1
CLIPS>(run) ;运行推理机
H;推理结果
3应用场景实现
下面用一个真实的案例说明电子证据自动化推理分析方法的实现过程,案例类别是网络侵权,大致背景是某嫌疑人使用BT软件传播盗版文件,扣押嫌疑人硬盘后,对硬盘上的证据文件进行自动化推理,得出盗版和传播的具体事实和过程。
首先,依据此类案件的前期总结和专家经验的获取以及通过网络侦查实验得到的系统规律,我们可以得到下面表示电子证据和假设之间关联关系的贝叶斯网络推理图,如图5所示。
图5 网络侵权案件的贝叶斯网络图
其中,证据事实和假设的含义如表1所示。
然后根据贝叶斯网络推理,我们可以得到知识库的规则,随着参考案例数量的增多,总结的规则也可能增多,因此知识库的规则是可扩展的,在后期运行推理的过程中可随时添加。
该案件的规则数量较多,因此仅以子假设H1的推理规则为例,得到的规则可表示如下:
CLIPS>(defruleR1(E1) (E2) (E3))
⟹(assert(H1))
其中E1、E2、E3是并列存在的关系,另外,证据到假设的推理可以加上权值,即有多少可能性推出结论,根据重要程度可以给证据加上权值,权值的范围从-1 000~1 000,默认情况下权值为0。
表1 网络侵权案件的证据事实和假设的含义
使用CLIPS的语法规则,将网络图中包含的所有规则输入到电子证据自动化推理知识库中以后,该推理机就可以用于相同案例的自动化分析了。
输入新案件中发现的证据事实,同样使用上面介绍的CLIPS事实输入方法,然后激活知识库中的规则进行推理分析,最后就能够很方便地得到相应的推理结论。
4结语
基于知识库的电子证据自动化推理方法,借鉴专家系统的构建方法,使用CLIPS语言编写知识库,采用贝叶斯网络推理思路,结合有限状态机推理思路和系统规律,设计知识库的推理规则,同时辅助大量实际案例的总结和分析,得出全面、准确的规则,可以有效地指导案件侦查,能够有效解决电子证据推理分析必须依赖人工完成的问题,补充了现有取证软件的智能化、自动化不足的缺陷。
但是,基于知识库的电子证据自动化推理方法依赖于知识库的建立,也就是说,知识库中的规则决定了该方法的有效性,因此如何采用更多的来源和技术提供知识库的推理规则,并提高规则的全面性和准确性是自动化推理的根本。另外,当规则数量庞大时,也要考虑知识库推理的性能和效率。
总的来说,基于知识库的电子证据自动化推理方法可以单独使用,能指导实际案例的侦破过程,加快案件的侦破速度,也可以嵌入其他取证分析软件中,成为其中的一个模块,改善软件的现有功能,使非专业人员能够更容易使用软件,实现案件的自动分析。
参考文献
[1]孙波, 孙玉芳, 张相锋,等.电子数据取证研究概述[J].计算机科学, 2005, 32(2):13-19.
[2]GLADYSHEV P, PATEL A.Abstract finite state machine approach to digital event reconstruction[J].Digital Investigation the International Journal of Digital Forensics & Incident Response, 2004, 1(2):130-149.
[3]KWAN M, CHOW K P, LAW F, et al.Reasoning about evidence using bayesian network[M]∥Advances in Digital Forensics Ⅳ.Springer US, 2008: 275-289.
[4]REKHIS S, KRICHENE J, BOUDRIGA N.Cognitive-maps based investigation of digital security incidents[C]∥Third International Workshop on Systematic Approaches to Digital Forensic Engineering,2008.
[5]CARRIER B D, SPAFFORD E H.Categories of digital investigation analysis techniques based on the computer history model[J].Digital Investigation, 2006,3:121-130.
[6]COHEN F.Analysis of redundant traces for consistency: with examples from electronic messaging and graphical images[C]∥2009 33rd Annual IEEE International Software and Applications Conference.IEEE, 2009: 386-391.
[7]OVERILL R E, KWAN Y K, CHOU K P, et al.A cost-effective digital forensics investigation model[J].Proceeding of 5th Annual LFIP WG, 2009, 11:193-202.
[8]王宇宙, 赵宗涛.CLIPS中文应用开发环境设计与实现[J].计算机应用, 2003, 23(2):85-87.
(责任编辑于瑞华)
中图分类号D915.13
作者简介赵志岩(1980—),吉林长春人,在读博士,讲师。 研究方向为网络犯罪侦查与电子证据分析。