如今计算机配置越来越高,但再高的配置,也敌不过软件对硬件无止境的消耗,特别是内存和CPU,取证分析软件就是一个典型的例子。例如EnCase对于小型案例推荐的硬件配置是Core i5的处理器和16GB内存,对于同时处理多个大型案例的场景,推荐的硬件配置是双处理器(Core i7或Xeon E7系列)和128G内存。

内存不够,添加内存即可立竿见影,另一方面机械硬盘升级为固态硬盘也可以缓解内存有限造成的体验上的不足。但一旦CPU能力不足,软件轻轻松松即可耗尽CPU资源,达到100%的占用,使得计算机异常卡顿,甚至连鼠标键盘操作都无法及时响应。对于程序CPU占用率过高的问题能否解决呢?答案是肯定的!

下图是使用Passware Kit Forensic破解文件密码时的截图,通过任务管理器可以看到 Passware Kit Forensic占用了93.6%以上的CPU资源,所有程序加起来则占用了CPU 100%的资源,系统操作起来比较卡顿。

图1

选中CPU占用最高的Passware Kit Forensic进程,右击,选择“转到详细信息”。
图2
跳转到详细信息视图后,Passware Kit Forensic相关进程已经被选中并高亮显示,右击,选择“设置相关性”。
图3
在弹出的“处理器相关性”窗口,默认所有CPU处理核心都是被选中状态,即此进程可以使用CPU的每个核心。我们取消勾选其中的一个核心,例如CPU3。
图4
现在在任务管理器中可以看到Passware Kit Forensic的CPU占用率已经下降到80%以下了,由于有足够的CPU资源响应鼠标键盘操作及其他任务,系统流畅了不少。
图5
简单总结——任务管理器中限制进程使用的CPU核心数量即可防止单个进程占用太多的CPU资源,从而避免因CPU资源极度紧张造成的系统卡顿。


本文于2019年9月18日发布于本博客及微信公众号“取证杂谈”、“取证神探”。

大部分人画组织结构图,最常见的画法是用Word中的文本框加连接线慢慢画,效率非常低。对于Office办公软件用的溜的人,也可能会使用Microsoft Office中的SmartArt功能生成组织结构图。

数据量小、结构简单的时候,SmartArt画组织结构图简单便捷。但一旦数据量比较大,例如传销组织,层级结构图便需要使用I2等专业工具生成了。但I2等商业工具授权昂贵,学习门槛高。今天介绍一种使用Markdown编辑器快速生成传销组织层级结构图的方法,对于会员数千个一下的情况,高效、便捷,生成的层级结构图还可方便地搜索。

Markdown是一种轻量级标记语法,用户可以用纯文本写作,最后生成带有各种富文本格式的html。因为其轻量化及易写易读的特性,深受程序员、文字写作者的喜爱。

Markdown语法中,对于代码段的处理非常简单,代码段前后各加三个“\`”(英文输入状态TAB键上面的键)即可。如果需要指明代码语言,直接在首行“\`\`\`”后面添加一个空格,然后写上语言即可,例如“\`\`\` php”即表示接下来是php代码。

绝大多数Markdown编辑器只支持常规的代码语言并在渲染成html页面的时候进行代码高亮的美化。标准的Markdown语法中是不支持例如流程图、数学公式等图书图像的,但也有不少Markdown编辑器额外增加了支持,例如马克飞象、CMD Markdown,甚至印象笔记、有道云笔记。

要画组织结构图,在Markdown代码开始标记“\```”后面添加“graph”即可,如果要指定方向,可在graph后添加“LR”或“TD”。“graphLR”表示父节点在左,子节点在右;“graphTD”表示父节点在上,子节点在下。层级机构格式为“A --> B”,表示B的父节点是A,每行一个关系表达式,各关系表达式之间不分先后顺序。

例如A的子节点为B和C,C的子节点为D,B的子节点为E、F。Markdown语法如下:

\``` graph
A --> B
A --> C
C --> D
B --> E
B --> F
\```

效果图如下:

下面针对传销组织人员数据库进行简单的示例操作。假设人员信息表如下表所示:

idpidnamepname
10习秋华公孙愉
21晋丹习秋华
31代惜玉习秋华
45侍运诚习秋华
53戴同代惜玉
62商弘毅晋丹
74张建国侍运诚
86仵旋商弘毅
96洛白容商弘毅
107运芮静张建国
118蒋雪巧仵旋
128林运凡仵旋
1310邰雪帆运芮静

复制name、panme两列到记事本等文本编辑器中,pname在左,name在右。

公孙愉    习秋华
习秋华    晋丹
习秋华    代惜玉
习秋华    侍运诚
代惜玉    戴同
晋丹    商弘毅
侍运诚    张建国
商弘毅    仵旋
商弘毅    洛白容
张建国    运芮静
仵旋    蒋雪巧
仵旋    林运凡
运芮静    邰雪帆

使用文本编辑器的替换功能,用“ --> ”批量替换制表键,并在第一列添加“\`\`\` graphTD”,最后一列添加“\`\`\`”。

\``` graphTD
公孙愉 --> 习秋华
习秋华 --> 晋丹
习秋华 --> 代惜玉
习秋华 --> 侍运诚
代惜玉 --> 戴同
晋丹 --> 商弘毅
侍运诚 --> 张建国
商弘毅 --> 仵旋
商弘毅 --> 洛白容
张建国 --> 运芮静
仵旋 --> 蒋雪巧
仵旋 --> 林运凡
运芮静 --> 邰雪帆
\```

复制以上代码粘贴到支持流程图的Markdown编辑器中,即可自动生成组织层级结构图。下图是我在马克飞象中生成的。


Markdown是一个非常优美的语言,个人从学生时代就开始用,博客、邮件、工作笔记,基本全部在使用Markdown。Markdown语法支持加粗、斜体、段落、链接、图片、表格、引用等各种格式,不少Markdown编辑器还增加了待办清单等更多功能。

本文也是用Markdwon编辑器完成编写。

MAC地址是网卡的唯一标识符,在取证中非常重要。

开机取证

Windows
对于Windows操作系统,在命令提示符或Powershell中执行以下命令查看计算机的MAC地址:

ipconfig /all

macOS
对于macOS,在终端中输入并执行一下命令即可查看本机MAC地址

ifconfig /a
其中eth0表示以太网卡

Linux
按Ctrl+Alt+T快捷键打开终端,输入并执行以下命令即可查看网卡MAC地址

ifconfig

离线取证

根据SANS Windows Forensics Poster,对于Windows 7/8/8.1/10,注册表以下位置存在网卡信息

SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged
SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Managed
SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Nla\Cache

2018年年中的一天,一个律师打来电话,咨询我电子数据鉴定的事情,说要鉴定一个AI文件。刚听到时我懵了一下,人工智能鉴定?但马上反应过来应该是AI格式文件(Adobe Illustrator默认的文件格式)的鉴定。我问对方,是设计图纸吗?对方连连点头,是的是的,是一个商标的设计图。

原来,对方想鉴定一个AI格式文件的创建时间。对方当事人在一个官司中涉及一个商标的纠纷,该当事人声称十年前自己就设计了该商标图,现在想鉴定以证明该事实。经了解,该文件这些年经过多次修改、复制,已经找不到原始设计的版本和当时的电脑。我向对方解释道,这种情况已经无法从文件系统相关痕迹判断文件的创建时间了,但可以尝试一下其他方式,当然,不保证成功,对方表示愿意让我尝试。

我所说的尝试其他方法,是指看元数据中是否有创建时间的相关线索。所谓“元数据”,就是“数据的数据”。例如jpg图片中可能包含拍摄日期、拍摄时的经纬度等信息,Office文档中可能创建者及相关信息,Adobe系列软件创建的文件中一般也包含大量的元数据。

挂完电话,我便下载了Adobe Illustrator试用版,分析了几个AI格式的文件。果然,AI文件中包含文件创建时间、文件修改历史等详细信息。使用Adobe Illustrator打开AI文件后,点击“文件(F)”,然后选择“文件信息(I)...”即可查看这些信息。如下图所示。
请输入图片描述
经过上述测试,我联系了对方,表示可以尝试从文件中尝试提取文件创建时间,但如果鉴定的话仅能如是描述,无法对文件真实的创建时间下结论。对方表示没问题,只要描述该时间即可,随后发给了我一个AI格式的文件。

使用元数据处理工具ExifTool处理该文件,得到的信息如下图所示。
请输入图片描述
文件内部记录的创建时间为2008-08-21 00:09:54+08:00,修改时间和元数据时间均为2008-08-21 00:17:39+08:00,记录的修改时间只有一次,亦为2008:08:21 00:09:54+08:00。从数据上看,没什么异常。但潜意识里总觉得好像哪里不对劲。

这个设计图还挺复杂的,但按照元数据中记录的,文件只修改了一次?且创建时间和修改时间仅相差8分钟?当然了,这些都是最基础的的疑问,没有具体证据支撑的只能停留在猜想怀疑阶段。我盯着ExifTool展示的结果,陷入了沉思。

突然,有了新思路。我飞快地打开了浏览器,进入百度,键入了一串字符……之后,我再次拔通了那个律师的电话。你们确定文件是十年前创建的吗?对方非常肯定,说,是的,2008年创建的!于是我告诉对方,这个文件中显示的创建时间确实是2008年,但这个时间是假的。对方听到前半句话的时候很满意,听到后半句话后,非常诧异,沉默了片刻后再三追问我原因。

我说,虽然你们这个文件中记录着文件创建时间为2018年,但文件中同时记录着当时的创建工具是Adobe Illustrator CS5。而Adobe Illustrator CS5在2010年才发布。

后来,该律师放弃了鉴定委托。

其实国外也有类似案例。2017年的巴基斯坦“巴拿马文件泄密案”中,一份2006年2月的文档中使用了Calibri字体。Calibri字体首次出现在2004年的Windows Vista测试版中,首次在2006年5月23日发布的Office 2007的Beta 2版本中可用该字体和其他ClearType字体集最终于2007年1月30日向公众发布。调查人员根据这一发现索确定该文件是伪造的,这一点是案件的关键线索。该案件目前在谷歌中还能搜索到。

这个真实案例并未设计多么复杂的取证原理,但还是让我印象非常深刻。其实这里案例中的判断方法非常常见。真实性判定的鉴定中,大部分鉴定,基本方法都是判断是否存在异常,发现异常下结论非真实,没发现异常根据实际情况下结论未发现异常。