1.对案件调查的重要性
USB设备的使用痕迹、历史记录是数字取证中不可或缺的证据来源,在各种调查场景中起着关键作用。这些证据能揭示设备连接情况和具体细节,如序列号、制造商信息以及连接和断开事件的时间戳等,对于构建时间线和了解系统上的用户行为至关重要。
USB设备历史记录可帮助了解系统上USB设备的使用模式,包括识别所连接设备的类型、使用频率和时长,以及发生的任何数据传输活动。此类信息有助于判断设备是用于合法目的,还是涉及未经授权或恶意的活动。
当嫌疑人被认为在犯罪或事件中使用了USB设备时,USB痕迹可提供关键证据。例如,若敏感数据从系统中泄露,USB设备日志可显示可能用于复制数据的存储设备的存在。同样,若恶意软件通过USB设备引入,已连接设备的历史记录可帮助追溯感染源。USB设备历史痕迹的重要性延伸至刑事和民事调查,可在企业环境中的知识产权盗窃、内部威胁和合规违规等案件中提供帮助。
2. USB痕迹的位置
在Windows系统中,大多数与USB相关的证据位于注册表、事件日志或特定文件中。似乎非常复杂,但实际情况就是必须从多个位置提取信息,才能全面了解USB设备的历史记录。
(1)Windows XP
USB相关信息存储在注册表项的以下位置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR\SetupAPI
以及独立的日志文件:
C:\WINDOWS\setupapi.log
(2)Windows 7有一些变化:
SetupAPI日志移至:C:\WINDOWS\INF\setupapi.dev.log
新增了“Windows便携设备”类别:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Portable Devices\Devices
(3)Windows 8/8.1新增:
设备类:其他设备信息可在以下位置找到:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses
(4)Windows 10和Windows 11:
新增了“设备容器ID”类别:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbccgp
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbhub
其他涉及USB的证据可能位于:
(1)Windows事件日志
系统事件日志可能包含与USB设备插入和移除相关的条目。
位于事件查看器的路径:(应用程序和服务)
Logs\Microsoft\Windows\DriverFrameworks-UserMode\Operational
(2)Windows预读文件
与USB相关的可执行文件可能位于C:\Windows\Prefetch\
(3)已挂载设备
已挂载设备证据:HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
(4)UserAssist
在注册表的关键信息中跟踪用户与USB设备的交互,运行了什么程序等,位于:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist
3. USB痕迹取证的示例
很多的专业软件能帮助调查员完成USB设备痕迹的取证,例如Axiom等。能解析这些信息,并以完整快速、易于理解的格式呈现给调查员。让我们看1个例子,了解这是什么样子的,以及每个位置存储了什么信息。
(1)调查USB设备,得到如下信息。

(2)具体的,包括来自USBSTOR的信息
在USBSTOR中,可以看到最后插入日期,这个日期/时间戳会以Windows文件时间(UTC)格式存储,必须进行转换(Axiom会为您转换这些时间戳)。该设备的首次连接日期/时间也将以相同格式存储。

(3)还包括Mounted Devices项的信息
我们可以看到映射的驱动器号以及USB设备的序列号,并将我们插入的设备与映射的驱动器“E:”关联起来。

(4)还包括来自MountPoints2项的信息
将显示USB设备连接时哪个用户已登录并处于活动状态。MountPoints2列出了特定用户连接的所有设备GUID,因此可能需要搜索系统上的每个NTUSER.dat配置单元,以确定哪个用户连接了特定设备。

(5)检查员还可以在setupapi日志中搜索序列号,来确定设备首次连接到系统的时间(本地时间)。与上述其他时间戳(被存储在UTC中)不同,setupapi日志以系统的本地时间存储数据,因此在执行时间线分析之前必须进行转换。

(6)还包括来自UserAssist的信息
“UserAssist”痕迹是数字取证中分析Windows操作系统上用户活动的宝贵资源。它包含有关您经常打开的exe文件和链接的信息,是Windows注册表的一部分,具体位于以下注册表路径:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{GUID}(其中GUID是全局唯一标识符)
4. USB上的文件时间戳信息
除了上述痕迹,在USB设备中的文件时间戳,也会因为操作系统、文件系统和应用程序的差异而产生不同的影响,这些关键痕迹成为跟踪USB中文件的用户活动的关键。
在不同操作系统和文件系统中的文件时间戳信息如下:
(1)格式化为NTFS、FAT32和ExFAT的USB通常会创建临时文件,尤其是在文件修改期间。
(2)由于其日志记录功能,在Windows上格式化为NTFS的USB从$Logfile提供了更多关于文件系统更改的信息。
(3)格式化为HFS +的USB在版本控制数据库“db.sqlite”中,存储使用GUI应用程序编辑的文件的版本,提供文件最后查看时间的信息。
(4)在MacOS上格式化为FAT32/ExFAT的USB会生成“._filename”文件,以确保文件系统兼容性来存储扩展属性。这些文件的创建和修改时间可以指示文件篡改。
具体来说,不同场景(TC1:打开并关闭文件,不做修改。TC2:打开、修改或写入并关闭文件)下,可以分析的时间戳特性见下表:
| 场景 | Windows11 | Kali(Linux v6.6.9, 2024.1) | macOS(Sonoma v14.2.1) | |||||
| NTFS | FAT32 | exFAT | NTFS | FAT32 | exFAT | HFS+ | FAT32 | |
| TC1 | 临时文件创建时间,原始文件访问时间(仅适用于NTFS和exFAT,需参考其他痕迹) | 临时文件创建时间,原始文件访问时间(仅适用于NTFS和exFAT,需参考其他痕迹) | 原始文件访问时间(仅适用于NTFS和exFAT,需参考其他痕迹) | |||||
| $Logfile(查看临时文件的创建过程。) | / | / | 带“._”前缀文件的创建/修改时间 | |||||
| TC2 | 临时文件创建时间 原始文件修改时间 |
/ | 原始文件访问时间 | |||||
| $Logfile | / | 临时文件创建时间 原始文件修改时间 |
记录在版本控制数据库“db.sqlite”中的条目 | 临时文件创建时间,带“._”前缀文件的创建/修改时间 | ||||

