数据库取证是计算机取证的一个新领域。随着数据库系统在各个领域中的应用日益广泛,受到的威胁也越来越多,数据库系统取证的研究变得日益重要。调查取证人员需要对数据车的存储结构和基本工作原理有所了解,结合数据库易失性数据与活动日志的保护和收集,研究具体的数据库取证步骤和方法。
定义数据库是信息系统中不可或缺的部分。随着大数据时代的到来,数据库已经成为犯罪分子的目标,大量数据库被"拖库"用于网络盗窃和网络诈骗等活动。数据库具备完善的日志,因此案件现场的数据库蕴含了大量证据,可以根据这些证据回溯犯罪过程、固定证据并确定入侵者。
数据库存储结构分析数据库存储结构有两个维度,-个是它的物理存储结构,另一个是它的逻辑存储结构。物理存储结构是从操作系统角度来看数据库的构成要素,通常包括数据文件和日志文件。逻辑存储结构是从数据库内部观看其构成要素,表示数据库系统如何组织和管理数据。
数据文件每个数据库都包含数目不等的数据文件,用来记录具体的数据内容。多数数据库中的数据对象(表、索引等)被存储在这些可通过操作系统访问的数据文件中。另外,一些数据库系统也支持在没有文件系统的裸设备上存储数据,例如Onade 10g系统。SQL Server的数据文件在物理存储结构上又分为主数据文件和次要数据文件。主数据文件是数据库的起点,每个数据库都有一一个主数据文件,其推荐文件扩展名是.mdf"。
除主数据文件以外的所有其他数据文件都是次要数据文件,其推荐文件扩展名是“ndf"。 另一方面,SQL Server的数据文件在逻辑存储结构上由若千个文件组组成。SQL Server的文件组包括主文件组和用户定义文件组两种类型。主文件组包含主数据文件和任何没有明确分配给其他文件组的文件。
Once数据文件在物理存储结构,上表现为一系列".dbf"文件,在逻辑存储结构上由若千个表空间组成。一个表空间由一一个或多个物理的数据文件组成。不同的表空间存放不同形态的数据和数据库对象。例如,Oracle10g数据库系统至少需要以下3个表空间。- -是System表空间,存放关于表空间的名称、控制文件、数据字典等管理信息。二是SysAUX表空间,属于辅助系统表空间,用于减少系统表空间的负荷,提高系统的作业效率。三是temp表空间,存放临时表和临时数据,用于排序。Oracle通常还会创建User表空间存放应用系统数据。
日志文件数据库的日志文件用于记录已经被作用在数据库上的所有变动操作。具体包括系统存储过程或数据定义语言对系统表所做的更改,每次分配或释放的扩展盘区,对表或者索引的删除操作等内容。但不包括对表的查询操作。尽管对于类似access, foxpro这样的桌面数据库并没有日志这样的概念,这些数据库中仅仅包括数据而已。但在Ondle、SQL Server之类的大型数据库系统中均包含数据文件和日志文件两个必要的部分。例如,sQLServer日志文件的推荐扩展名为“.ldf",Oracle日志文件的推荐扩展名是"log"。
一些数据库的日志文件根据记录的时期,又分为事务日志文件和归档日志文件两类。事务日志文件用于记录数据库执行的任何交易,例如数据的新增、修改、删除等动作。归档日志文件可以认为是事务日志的复本。例如,Orace用于记录在线事务处理的事务B志文件称为重置日志文件1。
数据库电子证据收集范围和次序数据库证据收集范围调查人员进行数据库的证据收集之前,首先要请楚的掌握计算机中可能存放数据库相关证据数据的位置,确定证据收集的范围。另外,操作系统作为数据库系统下层载体,数据库系统所在的操作系统也记录了许多数据库的相关信息2。
|| ||
数据库证据收集次序数据库系统版本信息
不稳定的数据库数据
数据库临时表空间
活动事务处理日志
数据库文件
数据库错误日志
系统事件日志
跟踪文件( tnace fles )
本词条内容贡献者为:
王沛 - 副教授、副研究员 - 中国科学院工程热物理研究所