APP下载

基于Windows 10系统的USB设备使用痕迹取证方法研究

2020-03-07

网络安全技术与应用 2020年2期
关键词:存储设备注册表痕迹

(空军参谋部 北京 100038)

USB存储设备存储容量大,优盘或闪存卡携带和隐藏方便,在工作生活中得到广泛使用。随着智能手机存储容量不断变大,很多人也将它用作移动存储。但在国家机关、企事业单位和一些高科技公司内部,出于网络系统安全、敏感信息保密或知识产权保护的考虑,通常会限制使用移动存储设备。因此,如何对计算机上曾使用过移动存储设备的痕迹进行分析取证,对安全人员、保密工作者来说,成为一个不断发展的计算机取证课题。USB设备痕迹取证作为计算机取证的重要环节[1-2],业内孙奕探讨了Windows 7 环境下电子取证特点[3]、吴玉强研究了Windows 8系统中的USB设备连接时间戳问题[4]。当前,各类品牌计算机、笔记本电脑一般预装Windows 10 操作系统,本文基于USB设备识别机制原理,从注册表信息、系统文件、系统日志等角度探讨接入痕迹取证方法。

1 USB设备识别信息

USB设备种类众多,为使操作系统识别出具体厂商型号以加载对应驱动,USB 执行论坛(USB-IF)定义了具体的分类标准,对每种设备分配了标识符ID。其中,大容量存储(Mass Storage)的ID为08h,打印机(Printer)的ID为07h,无线控制器(Wireless Controller)的ID为E0h。

根据USB 规范的规定,所有的USB设备都有确定的供应商ID(VID)和产品识别码(PID),计算机通过不同的VID和PID来区别不同的设备,VID和PID都是两个字节长,其中,供应商ID(VID)由供应商向USB 执行论坛申请[5],每个供应商的VID是唯一的[6],PID 由供应商自行决定。常见供应商的VID 如表1所示。

表1 常见供应商VID

在Windows 10系统中,一个完整的USB 硬件ID 由如下格式构成:USBVID_v(4)&PID_d(4)&REV_r(4),其中,r(4)是修正码。比如,一个HP 迷你闪存它的硬件ID 就是USBVID_0 3F0&PID_5207&REV_1100。

所有USB设备出厂时,每个硬件都有一个唯一的身份ID:iS erialNumber,设备的唯一序列码[7]。在Windows 10系统中,当插入USB存储设备时,依次打开计算机“设备管理器”,“通用串行总线控制器”,右键打开“USB 大容量存储设备”的“属性”,在弹出的属性对话框中选择“详细信息”,在“属性”下拉框中选择“设备实例路径”,可以看到对应值为“USBVID_03F0&PID_520 7AA0412700007572”,这里的“AA0412700007572”就是该设备的序列码。如图1所示。需要注意的是,出于成本的考虑,有的厂商会把同一批次的同型号存储设备定义成同一序列码,或者缺省。

图1 USB设备详细信息

2 痕迹取证方法与实现

2.1 基于注册表取证

注册表中蕴含了最完整的USB 接入痕迹。任何一个USB 接口的设备与计算机初次连接时,操作系统都会在注册表中写入该设备相关信息[8]。在HKEY_LOCAL_MACHINESYSTEMCurrentCo ntrolSetEnum\USB下创建一个子键,形如“VID_03F0&PID_520 7”,这个就是前文提及的硬件ID,通过查找在USB-IF 官方网站上公布的名录,就能确定设备供应商、产品型号。

如果接入计算机的是存储设备、手机或光驱等,还会在HKE Y_LOCAL_MACHINESYSTEMCurrentControlSetEnumUSBSTO R下创建设备子键,一般来说,子键直接写明了接入设备的产商和型号。展开该子键,就可以看到该设备的唯一标识(iSerialNumbe r)。如图2所示,注册表显示HP v155w是个存储设备,序列号为“AA0412700007572”,与图1一致。

图2 USB设备在注册表中的痕迹1

同时,在序列号子键下有个值项ClassGUID[9],是微软用来确定各种设备类型的标识,常见的设备类型见表2。值项Service中也直接写明了设备类型,比如“disk”、“cdrom”等。图2所示的“H P v155w USB Device”的ClassGUID值为“{4D36E96DE325-11CE-BFC1-08002BE10318}”,Service的值为“disk”,与表2一致。

表2 常见设备类型ClassGUID

此外,USB 移动存储设备连接计算机后,会在注册表HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlDeviceCla sses{53f56307-b6bf-11d0-94f2-00a0c91efb8b}和HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlDeviceClasses{a5d cbf10-6530-11d2-901f-00c04fb951ed}下留下痕迹,如图3所示。

图3 USB设备在注册表中的痕迹2

操作系统在上述注册表位置记录USB设备相关信息时,会同时打上时间戳,直接在注册表中看不到,通过相关的API 函数可获取子键的最后修改时间[10],即USB设备的最后一次使用时间。也可以选择导出子键内容为txt文件,就可以查看到相应时间了,如图4所示,HP v155w 最近一次使用时间是2019/10/30。

图4 USB设备末次使用时间

2.2 基于系统文件取证

通过注册表可以获取USB设备末次使用时间,而首次使用时间则可以通过系统文件来获取。Windows 10系统中,在%HOMEDRIVE%/Windows/INF 目录下,有一个setupapi.dev.log文件[11],用记事本打开后,就可以查找到USB设备首次使用时间,如图5所示,HP v155w 首次使用时间是2019/08/26。

图5 USB设备在系统文件中的痕迹

2.3 基于系统日志取证

在Windows 10 操作系统的系统日志中,也包含USB设备插拔的痕迹[12]。依次打开“计算机管理”、“系统工具”、“事件查看器”、“Windows日志”、“系统”就可以查看本机的系统日志,与USB设备痕迹有关的事件ID 有225、20001、20003、24576、24577、24578。如图6所示,系统在2019/08/26为HP v155w 安装了设备驱动程序,即该设备首次使用时间为2019/08/26,与图5一致。

图6 USB设备在系统日志中的痕迹

3 结语

对USB设备进行取证,通过注册表相关键值来判断是否曾经使用过USB设备;通过设备的ClassGUID号、注册表DeviceClasses表项等信息判断使用的是否为存储设备;通过获取设备的序列号来对连接设备进行具体确定;通过比对不同计算机中有无相同序列号,来判断同一设备是否在涉密计算机上和非涉密计算机上进行过交叉使用;结合系统日志和系统文件可以获取USB设备的首次使用时间;通过查看注册表相关键值的最后修改时间来获得末次使用时间。综上所述,就完成了Windows 10系统下USB设备使用痕迹的取证全过程。

猜你喜欢

存储设备注册表痕迹
小偷留下来的痕迹
生命痕迹
更上一层楼 用好注册表编辑器
注册表的便捷用法
浅析计算机硬件发展史
浅析铁路视频监控存储设备设计
触摸岁月的痕迹(2005)
注册表编辑器也玩“失忆”
学习器揭开注册表面纱
防止USB接口泄密