作为**单位,每次**检查USB检查是重点,但现在互联网上到处都是清洁工具,专业的检查工具不一定很容易使用,为检查人员提供一些有用的工具。今天,我将为您贡献我的观点。下一步,做一个专业的工具分享。本文只代表个人观点,有意见可以随时拍我。
USB是外部总线标准, 用于计算机与外部设备的连接和通信。典型的USB该设备主要包括U盘、移动硬盘、数码相机、扫描仪、图像设备、打印机、键盘和鼠标。
目前大家都在用UsbViewer提取工具USB设备信息, 主要包括设备名称、设备类型、设备序列号、首次挂载时间、最新挂载时间等。该工具完全依靠注册表收集信息。 删除相关注册表项(如UsbViewer即自带“ 清除痕迹” 功能)什么都找不到。事实上,操作系统的整体环境分析USB设备使用痕迹的手段仍然很多
Windows环境下调查USB使用痕迹
1.1 基于登记表的调查USB设备使用痕迹
注册表是USB设备使用痕迹的主要和最重要的来源。
HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSetXXX(CurrentControSetXXX)\\Enum\\USB HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSetXXX(CurrentControSetXXX)\\Enum\\USBSTOR HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSetXXX(CurrentControSetXXX)\\Control\\DeviceClasses\\{53f56307-b6bf-1路由网1d0-94f2-00a0c91efb8b} HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSetXXX(CurrentControSetXXX)\\Control\\DeviceClasses\\{a5dcbf10-6530-11d2-901f-00c04fb951ed}
其中 ControlSetXXX 和 CurrentControlSetXXX 注册表中的相似之处 ControlSet001、ControlSet002、CurrentControlSet 这样的子键(CurrentControlSet 一般只有一个子键,可能有特殊情况 CurrentControlSet001 等多个,一样 ControlSet 一般只有 ControlSet001 和 ControlSet002 特殊情况下可能有多个这两个),CurrentControlSet 保存系统当前的配置信息,而 ControlSet001 等等是当前配置信息的备份,一般注册表会有两个以上的备份,有时可能会有更多。在 ControlSetXXX 中的信息和 CurrentControlSet 信息一般是一样的,所以在检测和删除中 USB 存储设备信息时,不仅要检测 CurrentControlSet 还需要检测子键 ControlSetXXX 子键。Enum\\下的USB表键使用VID_v(4)& PID_d(4)格式描述USB设备。Enum\\下的USB表键使用VID_v(4)& PID_d(4)格式描述USB设备 v(4)代表4个数字的卖家代码(由 USB协会分配给卖方); d(4)代表4个数字的产品代码(由卖方分配的产品)。USBSTOR表键则使用Disk& Ven_iManufacturer& Prod_iProduct& Rev_r(4)描述格式。iManufacturer表示制造商, iProduct表示设备类型, 路由知识 r(4)是修正码。UsbViewer工具即基于USBSTOR表键提取信息, 因此,获得的序列号通常不完全准确。值得一提的是, 如USB有序列号信息不包含在设备中, Windows设备将通过系统自动生成的字符串进行识别。 USB表键和USBSTOR表键不包含挂载时间信息, 事实上,这里的时间信息是以属性的形式存储的。以序列号的名义选择子键, 单击右键选择单击右键选择 导出” , 并将“ 保存类型” 选为“ 文本文件” , 打开保存的文本文件以获取时间信息。还需要指出的是, USBSTOR表键下有一个名字ParentIdPrefix键值, 关联键值数据MountedDevices可以指示表键USB设备的盘符信息。MountedDevices表键下的信息只存储上次挂载的信息ParentIdPrefix键值信息, 无法追溯盘符分配的历史记录。Windows 注册表不再包含在7中ParentIdPrefix键值, 但通过设备序列号和设备序列号MountedDevices表键关联, 确定盘符。Windows 7.10中最新设置的UMB表键为追踪USB该设备为[2]提供了更大的便利。涵盖表项USB和USBSTOR表键的重要信息, 同时指示出USB设备分配的盘符, 弥补了MountedDevices表键不足。对于 Control\\DeviceClasses 就子键而言,存储是为了 GUID 设备信息的分类,其中几个是和谐 USB 设备相关(它们在微软 USB 存储设备输入输出控制头文件 USBIODEF.H 和NTDDSTOR.H 中定义,对自己感兴趣MSDN上去看):
{A5DCBF10-6530-11D2-901F-00C04FB951ED} GUID_DEVINTERFACE_USB_DEVICE {3ABF6F2D-71C4-462A-8A92-1E6861E6AF27} GUID_DEVINTERFACE_USB_HOST_CONTROLLER {F18A0E88-C30C-11D0-8815路由知识-00A0C906BED8} GUID_DEVINTERFACE_USB_HUB {53F56307-B6BF-11D0-94F2-00A0C91EFB8B} GUID_DEVINTERFACE_DISK
1.2 基于系统文件调查USB设备使用痕迹
Windows 7.10系统分区下\\Windows\\inf\\Setupapi.dev.log文件(Windows XP环境下则为\\Windows \\set upapi.log)包括相关设备更换、驱动程序更改和重要系统修改。本文件记载了制造商、设备类型、设备序列号、首次挂载时间等详细信息USB设备信息。本文件记载了制造商、设备类型、设备序列号、首次挂载时间等详细信息USB设备信息。基于本文件的分析通常可以获得与注册表相同的效果
Windows 7.10事件日志增加了对USB设备审核。查询日志也可以知道。日志检索是检查最有效的手段。
为方便计算机用户快速查找最近使用的文件, Windows设置了操作系统Recent文件夹, 文件夹默认存储路径\\Users\\UserName\\AppData\\Roaming\\Microsoft\\Windows\\Recent(Windows XP下则为\\Docu ments and Settings\\UserName\\Recent)。Recent文件夹具有隐藏属性, 只在文件夹选项中取消 隐藏受保护的操作系统文件 后, 能正常检查Recent文件夹。Recent文件夹具有隐藏属性, 只在文件夹选项中取消 隐藏受保护的操作系统文件 后, 能正常检查Recent文件夹。Recent存储在文件夹下的文件实际上是文件(或文件夹和应用程序)的快捷方式, 其扩展名为lnk。这类快速文件包含目标文件属性和用户操作信息, 这些信息会随着用户行为的变化而改变。利用WFA(Windows File Analyzer)嵌入快速文件中的目标文件信息由工具分析, 主要包括目标文件路径、创建时间、修改时间、访问时间等。
另外, Windows 7后,为了实现跳转列表功能,设置了扩展名称automaticDestinations-ms的文件(\\Users\\%username%\\AppData\\Roaming\\Microsoft\\Windows\\Recent\\Automatic Destinations文件夹), 这类文件也可以用来分析Recent文件夹下快速文件类似的痕迹信息。
IconCache.db是Windows用于缓存图标文件的操作系统, 在Windows 该文件位于7系统中C:\\Users\\Username\\AppData\\Local\\文件夹(在Windows XP该文件存储在系统中C:\\Document and Settings\\Username\\ Local Settings\\Application Data下)。IconCache.db是隐藏文件, 所有文件和文件夹都需要在文件夹选项中显示才能正常查看。IconCache.db是隐藏文件, 所有文件和文件夹都需要在文件夹选项中显示才能正常查看。Windows使用操作系统Icon Cache.db文件缓存图标信息, 在特定文件夹下快速显示文件图标, 减轻系统重新分析造成的负担。
用户使用Windows在系统过程中, 系统会逐渐向IconCache.db添加文件图标、文件存储路径等信息。当用户把USB存储设备连接到计算机系统后, 如果USB存储设备的根目录包含可执行程序, 不管它是否工作, 文件名称、图标、存储位置USB设备盘符等信息会自动添加到IconCache.db数据库中。此外, 如果用户浏览的文件包含可执行程序, 相应的信息也会自动添加。基于IconCache.db文件分析USB设备使用痕迹的局限性是相应文件夹下的可执行程序, 并且只能分析盘符信息。
当然,结合数据恢复技术,这些操作基本上很难隐藏痕迹。