Microsoft объяснила «память» Windows в отношении USB‑накопителей

Пользователи утверждают, что Windows хранит постоянную запись каждого USB‑устройства, которое когда‑либо подключали к устройству. Сама Microsoft документировала это поведение более десяти лет, а теперь объяснила его более подробно.

Ещё в 2012 году главный полевой инженер Microsoft Джейсон Уокер написал в блоге Microsoft Scripting, что «когда USB‑устройство хранения данных вставляется в компьютер, в реестре создаётся ключ USBSTOR, и всё, что операционная система должна знать об этом устройстве хранения данных, содержится в этом ключе».

Это полный путь, по которому можно найти ключ:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetEnumUSBSTOR.

В документе поддержки Microsoft об удалении информации реестра для старых устройств объясняется, почему Windows продолжает сохранять эту запись. Когда устройство хранения подключено, «даже на короткое время Windows создаёт информацию о реестре для устройства», и очистка остаётся на усмотрение другого программного обеспечения, поскольку «ОС не знает, когда устройство хранения данных удаляется временно или навсегда». Plug and Play сохраняет экземпляр устройства для распознавания и настройки диска при повторном подключении USB‑накопителя.

Устройства, которые были физически удалены, но записи реестра которых сохранились, называются несуществующими или фантомными, и их можно увидеть в диспетчере устройств, выбрав «Просмотр» > «Показать скрытые устройства». Однако USBSTOR не представляет собой список всех USB‑гаджетов. Он охватывает устройства хранения данных, управляемые драйвером Usbstor.sys, а в Windows также имеется отдельный драйвер хранилища UASP, Uaspstor.sys, для использующих новый протокол USB Attached SCSI, который предназначен для повышения производительности хранилища. Клавиатура, веб‑камера, USB‑мышь или USB‑микрофон не появятся в USBSTOR. При этом udev в Linux хранит базу данных устройств, которые он обработал, а macOS также сохраняет информацию об оборудовании через IOKit и записывает системные события через свою единую систему журналирования. Этим операционным системам необходимо идентифицировать оборудование, загрузить правильный драйвер и помочь устранить неполадки, если что‑то пойдёт не так.

Windows может хранить читаемое имя устройства, например «SanDisk Ultra USB Device», а также идентификаторы оборудования и экземпляров, полученные на основе информации, сообщаемой устройством. В зависимости от гаджета идентификатор экземпляра может содержать информацию о серийном номере или местоположении, когда диск был впервые установлен, когда он в последний раз прибыл или был удалён, а также букву диска, которую он получил.

Однако описанные здесь записи USBSTOR не содержат списка файлов, находившихся на диске, и сами по себе не показывают, были ли файлы скопированы. Другие функции Windows могут оставлять отдельные доказательства, например «Недавние элементы» или аудит съёмных носителей.

Чтобы просмотреть свои записи, нужно открыть Windows PowerShell и выполнить следующую команду:

reg query “HKLMSYSTEMCurrentControlSetEnumUSBSTOR” /s

Переключатель /s запрашивает каждый подраздел ниже USBSTOR. Каждый ключ модели содержит подразделы экземпляра устройства. В зависимости от устройства идентификатор экземпляра может содержать информацию о серийном номере или о местоположении. Тем не менее, само по себе имя SanDisk не доказывает, что был подключён один конкретный диск, поскольку разные накопители могут использовать одинаковые идентификаторы оборудования, а USB‑устройства не обязаны сообщать серийный номер.

Для получения более чёткого списка можно использовать командлет PowerShell Plug and Play.

Get-PnpDevice -Class DiskDrive |

Where-Object { $_.InstanceId -like ‘USBSTOR*’ } |

Format-List Status, FriendlyName, InstanceId

Get‑PnpDevice показывает устройства, известные Plug and Play, независимо от того, присутствуют они или нет, если не добавить ‑PresentOnly, что упрощает проверку. Нужно подключить USB‑накопитель, запустить команду и записать её InstanceId. Затем потребуется безопасно извлечь диск, отключить его и выполнить приведённую выше команду вместе с этой.

Get-PnpDevice -PresentOnly -Class DiskDrive |

Format-List FriendlyName, InstanceId

Если Windows сохранила запись, накопитель исчезает из списка -PresentOnly, но остаётся в первом.

Чтобы проверить временные метки, нужно вставить этот InstanceId в переменную $deviceId и выполнить следующий код:

$deviceId = ‘PASTE_THE_FULL_INSTANCE_ID_HERE’

Get-PnpDeviceProperty -InstanceId $deviceId |

Where-Object { $_.KeyName -match ‘_(FirstInstallDate|InstallDate|LastArrivalDate|LastRemovalDate)$’ } |

Format-List KeyName, Data

FirstInstallDate — это момент, когда Windows впервые установила данный экземпляр устройства. InstallDate — время последней установки; по данным Microsoft, эта метка меняется при каждом обновлении драйвера. LastArrivalDate и LastRemovalDate содержат лишь по одному значению, поэтому ни одно из этих полей не даёт полной истории всех случаев подключения накопителя.

Windows также записывает информацию об установке устройств в текстовый журнал SetupAPI, расположенный по адресу %SystemRoot%INFsetupapi.dev.log. В нём можно найти сведения о своём накопителе.

Select-String -Path “$env:SystemRootINFsetupapi.dev.log” -SimpleMatch -Pattern $deviceId -Context 3,12

Наличие совпадения означает, что SetupAPI зафиксировал событие установки данного устройства. Однако это не следует рассматривать как исчерпывающую запись обо всех последующих подключениях.

Наконец, команда reg query “HKLMSYSTEMMountedDevices” выводит содержимое базы данных постоянных имён диспетчера монтирования (mount manager), которая сопоставляет тома с буквами дисков и может хранить имена томов, отсутствующих в текущей системе. Запись вида DosDevicesF: не позволяет однозначно идентифицировать накопитель SanDisk, если не сопоставить содержащиеся в ней двоичные данные с томом конкретного устройства.

Чтобы удалить запись о накопителе, нужно щёлкнуть правой кнопкой мыши на неактивном (сером) устройстве в «Диспетчере устройств» (в режиме отображения скрытых устройств) и выбрать пункт «Удалить устройство» (Uninstall device).

Таким образом, Windows запоминает USB‑накопитель даже после его отключения — так же, как и другие популярные настольные ОС. Однако запись в разделе USBSTOR не содержит содержимого самого накопителя. Сама по себе эта запись не может доказать, что кто‑либо копировал файлы. Сведения о доступе к файлам могут быть получены в ходе отдельного аудита или с помощью других методов компьютерно‑технической экспертизы, но это не то же самое, что запись в журнале USBSTOR. Наконец, эта запись не является постоянной.

Ранее Microsoft решила отказаться от инструмента для прямой передачи данных между компьютерами (PC‑to‑PC), который был незаметно внедрён в Windows 11. Этот инструмент позволял передавать файлы по Wi‑Fi или локальной сети (LAN), в отличие от метода синхронизации через OneDrive, используемого в приложении «Резервное копирование Windows» (Windows Backup). Теперь Microsoft сообщила, что функция миграции данных между ПК в Windows 11 больше недоступна, а компания рекомендует использовать «Резервное копирование Windows», которое задействует OneDrive для сохранения файлов.

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев