xss_guest
- 关注
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9

1 电子数据取证概述
电子取证的意思是指利用计算机软硬件技术,以符合法律规范的方式对计算机入侵、破坏、欺诈、攻击等犯罪行为进行证据获取、保存、分析和出示的过程。对于电子数据取证来说,取和证是一个闭环的过程,最终的目标是形成“证据链”
1.1 背景
随着信息科技的发展和新型网络犯罪的出现,我国对电子数据取证的需求首先产生于执法部门,我国2001年从针对黑客入侵取证开始引入计算机取证的技术,随后逐步发展为针对计算机、网络、移动终端等方面的电子数据取证。目前,电子数据取证以侦查机关为主,社会机构为辅。随着法律的日趋完善,以及执法规范的意识的增强,取证用户群体由执法机关扩展至其他行政执法部门和大型企业事业单位已成必然趋势。
1.2 法规
电子数据的类型和特点决定了其作为证据用于法庭展示的特殊性,电子数据需要将虚拟内容以物理形式展现给法庭。
《中华人民共和国刑事诉讼法》第四十八条:可以用于证明案件事实的材料,都是证据。证据包括:物证;书证;证人证言;被害人陈述;犯罪嫌疑人、被告人供述和辩解;鉴定意见;勘验、检查、辨认、侦查实验等笔录;视听资料、电子数据。证据必须经过查证属实,才能作为定案的根据。
《中华人民共和国行政诉讼法》第三十二条证据包括:书证;物证;视听资料;电子数据;证人证言;当事人陈述;鉴定意见;勘验笔录、现场笔录。以上证据经过法庭审查属实,才能作为认定案件事实的根据。
《中华人民共和国民事诉讼法》第六十三条证据包括:当时人的陈述;书证;物证;视听资料;电子数据;证人证言;鉴定意见;勘验笔录。证据必须查证属实,才能作为认定事实的根据。
在刑事案件中,电子数据如要作为证据使用,必须符合刑事证据的三个基本特征,即证据的真实性、关联性和合法性。由于电子数据和传统证据的实物性或者言词性不同,具有虚拟性、隐蔽性和易篡改等特性,检查和审判人员必然审查电子数据的来源,电子数据的收集是否合法,公安机关是否采用了符合电子数据特性的技术手段收集,电子数据的内容有误被破坏、是否真实等。2013年1月1日起实施行的《最高人民法院关于适用(中华人民共和国刑事诉讼法)的解释》第93条详细阐述了对电子邮件、电子数据交换、网上聊天记录、博客、微博客、手机短信、电子签名、域名等电子数据,应从五方面进行真实性、完整性等的审查。
2 电子数据取证流程
2.1 评估
在评估阶段,电子数据取证人员应该对工作做出全面的评估,以决定下一步采取的行动,并做以下准备工作:
- 制定取证策略。按照取证对象决定取证的方法、预案、取证顺序。
- 确定取证人员。按照人员的不同专业特长,配备符合实际需要的取证人员。根据相关要求,无论是现场勘查还是检验鉴定,都需要两人以上。
- 确定使用的取证设备。根据取证要求,挑选合适的取证设备,尽量做到冗余。
- 确定取证目标,决定哪些设备或数据应该被获取。如硬盘、U盘、照片、图表、文档、数据库等。
2.2 获取
电子数据必须保存于原始状态中,以防止被不正确的处理方法所影响、损坏或者被删除。
电子数据取证原则上不允许在原始存储介质上直接进行分析。即使提取原始物证,例如硬盘、U盘,也要求对其进行写保护的前提下进行分析,在获取的镜像和数据上进行分析。
- 文件获取
文件获取利用文件属性和文件签名技术,可以快速地过滤和搜索到特定的文件,通过写保护的方式,将文件提取到外置的存储器上。
- 易失性证据获取
当前登录用户列表、整个文件系统的时间/日期戳、当前运行的进程列表等,存在嫌疑人机器的内存和缓存中,一旦关机或重启这些数据就会丢失且不可能恢复。因此,收集易失性数据的基本步骤:
- 运行可行的程序
- 记录系统时间和日期
- 确定登录信息
- 记录所有文件的创建、修改和访问时间
- 确定打开的端口
- 列出与打开端口相关的应用程序
- 列出所有正在运行的进程
- 列出所有当前和最近的连接
2.3 分析
分析是电子数据取证的核心和关键。提取出有用证据,分析判断其中的关联性,将数据转换为可读可见的形式,所有分析最好在原始证据的备份或镜像中进行,原始证据应该被安全的获取以保持证据的完整性。分析的内容包括:系统信息、文件信息、隐藏信息等多种信息,黑客入侵案件还有进行功能分析,例如远程控制和木马程序的功能和危害程度分析等。
分析的方法包括:文件过滤、关键词查找、数字校验、文件签名等。
典型的分析步骤如下:
- 获取取证目标的基本信息
基本信息包括系统类型,账户信息、安装时间、关机时间等,基本信息的获得,可以利用取证工具的脚本或者自动提取功能实现。基本信息可以为电子数据取证人员提供目标的一个基本概况,为下一步的取证工作打下良好基础。
- 文件过滤
文件过滤依赖于操作系统、文件系统和应用程序
- 关键词搜索
关键词搜索不依赖文件系统,设置的关键词以二进制的形式,在介质中遍历,知道命中结果
- 文件分析
针对过滤或查找到的文件信息和元数据进行分析,是电子数据取证最有技术含量的部分,对于文件需要分析一下信息:
- 查看文件信息。例如文件名、文件大小等信息以及其他关联文件信息。
- 查看文件内容
- 查看文件元数据。通过分析文件数据结果,提取文件中隐含的数据,例如图片中的GPS定位信息。
- 数据恢复
在某些情况下,关键词搜索无法达到目的,例如查找删除的图像,这时候,需要利用数据恢复技术,嫌疑人通过计算机进行犯罪后,往往将计算机中可以反映或证明自己犯罪行为的数据删除掉,甚至对硬件设备进行损坏,用以摧毁犯罪证据、掩盖犯罪事实。
- 密码破解
当找到的文件被密码保护,需要利用密码破解技术破解密码,以达到访问文件内容的目的
- 书签和记录找到的数据
对上述找到的文件和内容进行书签,以便再次分析,同时也记录分析的动作,满足司法需要,通过分析和关联书签的数据,形成证据链。
2.4 报告
电子数据取证的最后阶段,整理取证分析的结果,将其形成“证据链”供法庭作为诉讼证据。取证人员应该根据取证的原始记录,按照司法要求形成鉴定意见或检验报告。报告里体现犯罪行为的时间、地点、直接证据信息、系统环境信息,以及分析结果。
3 电子数据取证技术
3.1 数字时间取证
时间作为一种重要的标记,可以成为令人信服的证据,时间也是进行其他取证的基础。保存在硬盘或文件中的时间(又称时间戳),可以作为证据来确定行为和后果。
取证目标的时间检查需注意以下因素:
- 系统时间是否准确,如果系统时间不准确,文件时间也会相应的不准确,需要注意便宜,防止因为偏移造成误判。
- 时区和夏时制的影响,时区和夏时制往往被忽略,检查时不但要通过系统时间查看,还要查看注册表中当前时区。
- 用户是否重新设置过时间和设置系统时间的次数。恶意用户为了掩盖自己的行为,往往修改系统时间候进行非法操作,然后再将系统时间改为正常来逃避打击。还有联网时是否进行过系统的时区。
3.2 Window系统取证
Window操作系统作为普及率最高的操作系统,无论系统版本还是运行其上的应用程序,都是数量无法计数的。Window取证主要是针对重点目录和文件进行取证的,window的系统目录不同版本默认存放的位置不同,一旦安装成功就无法更改。
- 用户目录
- 交换文件
- 休眠文件
- 预读取文件
3.3 MAC OS系统取证
苹果最为特别的Mac OS操作系统,已经形成了一个有别于Window操作系统的生态圈。
- 磁盘镜像
如果是用光盘启动,按下电源键后立刻按住C键,直至听到读取光盘的声音。如果是USB启动盘启动,按下电源键后按住option键,直至进入启动画面,选择所需要的启动硬盘。如果希望进入目标硬盘模式,按下电源键后立刻按住T键。
- 浏览器记录
Mac OS系统下被经常使用的网页浏览器有Safari、Firefox、Chrome等,这些浏览器多采用SQLite数据库格式保存浏览器记录
- 重要系统文件
3.4 Unix/Linux系统取证
- Linux磁盘数据获取
DD命令可以精确地制作整个物理硬盘数据镜像,DD生成的镜像格式成为电子数据取证领域中所周知的一种硬盘镜像格式。
- Linux物理内存获取
在redhat linux系统中,可以通过modprode crash 来访问/dev/crash(相当于整个物理内存),既可以使用dd命令来直接获取物理内存。目前比较常见的linux系统环境下物理内存获取比较使用的工具是LiME及F-Response。
- LVM逻辑卷管理器
LVM逻辑卷管理器,是linux核心所提供的逻辑卷管理功能,它在硬盘的磁盘分区之上,又创建一个逻辑层,以方便系统管理磁盘分区系统。
- Linux开机取证
Shell是一种命令解释器,它提供了用户和操作系统之间的交互结果,shell可以执行linux的系统内部命令,也可以执行应用程序
命令 | 功能描述 |
uname -a | 查看内核/操作系统/CPU信息 |
cat /etc/issue | 查看操作系统版本 |
cat /proc/cpuinfo | 查看CPU信息 |
hostname | 查看计算机名 |
lspci | 列出所有PCI信息 |
lsusb | 列出所有USB信息 |
lsmode | 列出加载的内核模块 |
env | 查看环境变量 |
cat /proc/meninfo | 查看内存和交换区情况 |
df -h | 查看各分区使用情况 |
du -sh(目录名) | 查看指定目录的大小 |
uptime | 查看系统运行时间、用户数、负载 |
mount | column -t | 查看挂载点情况 |
fdisk -l | 查看指定设备的分区情况 |
swapon -s | 查看所有交换分区 |
dmesg | 查看系统的启动过程信息 |
ifconfig | 查看网络接口信息 |
iptable -L | 查看防火墙设置 |
route -n | 查看路由表 |
nestat -antp | 查看端口和建立的连接 |
nestat -s | 查看网络统计信息 |
ps -elf | 查看所有进程 |
top | 查看进程状态 |
w | 查看当前登录的活动用户 |
id (用户名) | 查看指定用户信息 |
last | 查看用户登录日志 |
cut -d:-f1 /etc/passwd | 列出所有用户 |
cut -d:-f1 /etc/group | 列出系统所有组 |
crontab -l | 列出当前用户的计划任务 |
service --status-all | 列出所有系统服务 |
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)