暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据库取证入门指南:定义、分类与结构全解析

Cyber取证 2025-03-17
82

引言

在网络犯罪案件中,数据库取证已成为电子证据链条的核心枢纽,作为犯罪行为的数字化载体,服务器数据库完整记录着犯罪行为轨迹、资金流向、通讯记录等关键信息,其证据价值直接决定案件侦破效率与司法判决结果,数据库取证分析已从辅助手段升级为案件定性的核心依据,更是维护数字时代司法公正的技术基石。




数据库定义



数据库(Database)是一个按特定数据结构组织、存储和管理的电子数据集合,具有长期存储、结构化、可共享、统一管理等特性,支持高效查询、更新和分析,是现代信息系统的核心组成部分。

通俗来讲,数据库如同高校图书馆是一个系统化存储和管理信息的核心枢纽。它将数据分门别类地组织(如书籍按学科、作者归档),通过结构化的存储方式(如图书馆的索引卡片)实现高效检索与访问。数据库支持多用户同时查询和使用数据(如同学生借阅同一本书籍),并由专业管理员维护其结构、安全与性能(如图书馆管理员管理藏书与借阅规则)。



数据库分类



01


按数据库模型分类

关系型数据库(RDBMS):基于关系模型,数据以二维表形式组织(行 = 记录,列 = 字段),通过外键建立表间关联,如 MySQL/SQLite/Oracle/SQL server,其存储结构强调结构化与范式化,适合存储强关联的事务型数据。

表1 图书管理系统-图书借阅表(示例) 

借阅编号

图书编号

图书名称

借阅时间

001

TSBH1

数据库

2025315

002

TSBH2

服务器

2025316

非关系型数据库(NoSQL):采用非结构化或半结构化模型,可分为四类:

a.键值存储(如 Redis):以键值对存储数据,访问速度极快

b.文档存储(如 MongoDB):使用 JSON/BSON 格式存储文档

c.列存储(如 Hbase):按列存储海量数据

d.图存储(如 Neo4j):以节点和边表示关系网络

图1 Neo4j构建的数据库知识库

02


按数据库部署方式

本地自建数据库:采用物理服务器本地化部署,数据库存储于本地磁盘(如 MySQL 的.ibd 文件、SQL ite的.db文件、Oracle的.dbf文件)。

云数据库:数据存储和处理在云平台上进行,提供更灵活的资源调配和管理(如 AWS RDS、阿里云 PolarDB、腾讯云 TDSQL)。

图2 阿里云 PolarDB

(图片来源于网络)



数据库结构



01


数据库核心组件

表(table):数据存储单元,由行(记录)和列(字段)组成(直接数据提取或残留数据恢复)

索引(index):加速查询,可能残留已删除数据(残留数据的隐秘来源)

日志文件:记录所有操作痕迹(操作痕迹的黄金数据)

事务日志(如MySQL的binlog):记录增删改操作(时间戳、用户IP)

错误日志:数据库运行异常信息(辅助判断攻击行为)

元数据:描述数据库自身结构(如表名、字段类型、权限配置)

02


数据库文件类型

数据文件:存储实际数据(如MySQL的.ibd、SQLite的.db、Oracle的.dbf、MongoDB的 .wt)

日志文件:操作记录(如MySQL的Binlog、SQL Server的LDF、MongoDB的Oplog.rs)

配置文件:数据库参数设置(如my.cnf/my.ini、PostreSQL.conf)



常见数据库



MySQL

简介:是开源的关系型数据库,小巧但性能强大。搭配PHP和Apache可组成良好的开发环境。MySQL也是中小型网站主要使用的数据库。

常见版本:5.5、5.7、8.0

关注文件:

.MYD(MyISAM表数据)

.MYI(MyISAM表索引)

.ibd(InnoDB表数据)

ibdata1(全局共享表空间)

.frm(表结构)

binlog.*(二进制日志,记录操作)

my.cnf/my.ini(配置文件)

mysql.user(用户权限信息)

PostgreSQL

简介:是一款功能强大的开源关系型数据库管理系统,以高度可扩展性、标准兼容性和对复杂查询的支持著称。 适用于企业级应用、大数据分析和高并发场景,被誉为“最先进的开源关系数据库”。

常见版本:14、15

关注文件:

PGDATA/base(存放数据库文件)

pg_wal(预写日志)

postgresql.conf(配置文件)

SQL Server

简介:Microsoft推出的一种关系型数据库系统。SQL Server是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,提供了基于事务的企业级信息管理系统方案。

常见版本:2005、2008 R2、2012、2014

关注文件:

.mdf(主数据库文件)

.ldf(日志文件)

.bak(备份文件)

ERRORLOG(错误日志)

master.mdf(存储用户账户信息)

MariaDB

简介:是一款开源、社区驱动的关系型数据库管理系统,由 MySQL 原开发者创建,旨在完全兼容 MySQL 并持续提升性能与功能。作为 MySQL 的替代方案,MariaDB 被广泛应用于企业级应用、云服务和分布式系统(如 Google、Wikipedia 等),其开源生态和活跃社区推动其持续演进,成为现代高可用、高性能数据库的优选之一。

常见版本:10.6、10.11

关注文件:

.ibd/.frm(数据/表结构,同MySQL)

mariadb-bin.*(二进制日志)

hostname.err(错误日志文件)

Oracle

简介:是一款关系型数据库管理系统。Oracle采用的是并行服务器模式,是大型网站的数据库首选。在效率、安全性和大数据支持方面具备优势。

常见版本:10g、11g、12c、18c、19c

关注文件:

.dbf(数据文件,包含表数据)

control.ctl(存储数据库结构信息)

alert.log(警告日志)

redo*.log(重做日志)

aud$(审计表)

SQLite

简介:是一款轻量级、嵌入式、无服务器的关系型数据库,支持跨平台使用,常用于移动端和桌面软件,如手机应用(微信、QQ)的本地数据存储和桌面浏览器(历史记录、书签)数据存储。

常见版本:3.x

关注文件:

主数据库文件:.db/.sqlite(主数据库文件)

*-wal和*-shm(未提交事务的临时文件)

*-journal(事务回滚记录)

sqlite_sequence表(判断数据表是否被清空)

MongoDB

简介:MongoDB 是一个基于分布式文件存储(BSON格式)的数据库,由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

常见版本:4.4、5.0

关注文件:

*.bson/*.wt(WiredTiger存储引擎文件)

mongod.conf(数据存储路径配置)

journal(预写日志)

mongod.log(操作日志,需启用--logpath)

Redis

简介:Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。

常见版本:6.x、7.x

关注文件:

dump.rdb(RDB持久化数据)

appendonly.aof(AOF持久化操作记录)

redis.conf(持久化策略设置)

PolarDB

简介:新一代关系型云原生数据库,既拥有分布式设计的低成本优势,又具有集中式的易用性,计算与存储分离,兼容MySQL/PostgreSQL/Oracle。

常见版本:PolarDB MySQL版 8.0、PostgreSQL版 14

关注文件:

.csv/.sql/.parquet(平台备份数据格式)

OSS存储中的.xb文件(Percona XtraBackup格式)

分布式块存储(需从云平台获取快照文件)

polardb_audit.log(审计日志)

slow_query.log(慢查询日志)

END







微信号CyberForen



文章转载自Cyber取证,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论