Waarom Windows je USB-sticks onthoudt — en wat dat echt betekent

Bangmakerij over Windows is op sociale media niet nieuw. Er gaan regelmatig virale berichten rond waarin wordt beweerd dat Windows een permanent overzicht bijhoudt van elk USB-apparaat dat je ooit hebt aangesloten, zelfs nadat je het apparaat hebt verwijderd. Achter die bewering zit wel degelijk een echt Windows-gedrag, maar posts die op engagement mikken, maken het veel sinisterder dan het is.

Linux en macOS bewaren overigens ook apparaatgegevens en systeemlogs van hardware. Microsoft heeft dit gedrag bovendien al meer dan tien jaar gedocumenteerd.

Hier lees je wat Windows onthoudt van de USB-sticks die je aansluit, waarom het dat doet, hoe je het zelf kunt controleren, en wat er met die gegevens gebeurt wanneer je de pc opnieuw instelt.

Microsoft legt uit waarom Windows USB-sticks blijft onthouden

In 2012 schreef Microsoft-premier field engineer Jason Walker op de Scripting Blog van Microsoft dat: Als een USB-opslagapparaat in een computer wordt geplaatst, wordt de USBSTOR-sleutel in het register aangemaakt. Alles wat het besturingssysteem over dat opslagapparaat moet weten, is in die sleutel opgenomen.

Dit is het volledige pad waar die sleutel te vinden is:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR.

In het supportdocument van Microsoft over het verwijderen van registerinformatie van oude apparaten wordt uitgelegd waarom Windows deze vermelding blijft bewaren. Wanneer een opslagapparaat wordt aangesloten, “Zelfs als het apparaat maar kort wordt aangesloten, maakt Windows registerinformatie aan voor dat apparaat.,” en de opschoning wordt overgelaten aan andere software, omdat “Windows weet niet of een opslagapparaat tijdelijk of definitief is verwijderd..”

Wanneer je een USB-stick eruit trekt, kan Windows natuurlijk niet weten of je hem morgen opnieuw aansluit. Daarom bewaart Plug and Play de apparaatinstantie, zodat de schijf herkend en opnieuw geconfigureerd kan worden wanneer je de USB-stick weer aansluit.

Microsoft heeft zelfs een naam voor deze restgegevens. Apparaten die fysiek zijn verwijderd, maar waarvan de registervermeldingen niet zijn verwijderd, worden non-present devices of phantom devices genoemd. Je kunt ze zien in Apparaatbeheer door te kiezen voor Beeld > Verborgen apparaten weergeven.

USBSTOR is echter niet een lijst van elk USB-apparaat dat je ooit op je Windows-pc hebt aangesloten. Het gaat alleen om massa-opslagapparaten die worden verwerkt door het Usbstor.sys-stuurprogramma. Windows heeft daarnaast een apart UASP-opslagstuurprogramma, Uaspstor.sys, voor apparaten die het nieuwere USB Attached SCSI-protocol gebruiken, dat is ontworpen om opslagprestaties te verbeteren. Je toetsenbord, webcam, USB-muis of USB-microfoon verschijnen niet in USBSTOR. Ik gebruik sommige van deze apparaten zelf ook, en ze worden daar inderdaad niet getoond.

Het is makkelijk om dit als een probleem van alleen Windows te zien, maar feit is dat Linux met udev ook een database bijhoudt van apparaten die het systeem heeft verwerkt, en dat macOS via IOKit hardware-informatie bewaart en systeemgebeurtenissen registreert via het unified logging system. Deze besturingssystemen moeten hardware kunnen identificeren, het juiste stuurprogramma laden en helpen bij het oplossen van problemen wanneer er iets misgaat.

Dus ja, Windows onthoudt de USB-stick. Maar de belangrijke vraag is: wat onthoudt Windows precies?

Wat Windows weet over je USB-stick, en wat niet

Windows kan een leesbare apparaatnaam opslaan, zoals “SanDisk Ultra USB Device”, samen met hardware- en instantie-id’s die zijn afgeleid van informatie die het apparaat zelf rapporteert. Afhankelijk van het apparaat kan die instantie-id serienummerinformatie of locatie-informatie bevatten, wanneer de schijf voor het eerst is ingesteld, wanneer hij voor het laatst is aangesloten of verwijderd, en welke stationsletter hij kreeg.

Maar: de USBSTOR-gegevens die hier worden beschreven bevatten géén lijst met bestanden die op de schijf stonden, en ze laten ook niet automatisch zien of bestanden zijn gekopieerd. Andere Windows-functies kunnen wel afzonderlijk bewijs achterlaten, zoals Recente items of auditing van verwisselbare opslag.

Om je gegevens te bekijken, open je Windows PowerShell en voer je het volgende commando uit:

reg query “HKLM\SYSTEM\CurrentControlSet\Enum\USBSTOR” /s

De schakelaar /s doorzoekt elke submap onder USBSTOR. Elke modelsleutel bevat subkeys met apparaat-instanties. Afhankelijk van het apparaat kan de instantie-id serienummerinformatie of locatie-informatie bevatten. Toch bewijst een naam als SanDisk op zichzelf niet dat precies die ene USB-stick is aangesloten geweest, omdat verschillende schijven dezelfde hardware-id’s kunnen delen en USB-apparaten niet verplicht zijn een serienummer te melden.

Voor een overzichtelijkere lijst kun je de Plug and Play-cmdlet van PowerShell gebruiken:

Get-PnpDevice -Class DiskDrive |
Where-Object { $_.InstanceId -like ‘USBSTOR\*’ } |
Format-List Status, FriendlyName, InstanceId

Get-PnpDevice toont apparaten die bekend zijn bij Plug and Play, of ze nu aanwezig zijn of niet, tenzij je -PresentOnly toevoegt. Dat maakt het eenvoudig om te testen. Sluit een USB-stick aan, voer het commando uit en noteer de InstanceId. Verwijder de schijf vervolgens veilig, trek hem uit de computer en voer daarna het bovenstaande commando uit, samen met dit:

Get-PnpDevice -PresentOnly -Class DiskDrive |
Format-List FriendlyName, InstanceId

Als Windows de registratie heeft bewaard, verdwijnt de schijf uit de lijst met -PresentOnly, maar blijft hij zichtbaar in de eerste lijst.

Om tijdstempels te controleren, plak je die InstanceId in $deviceId en voer je het volgende uit:

$deviceId = ‘PASTE_THE_FULL_INSTANCE_ID_HERE’
Get-PnpDeviceProperty -InstanceId $deviceId |
Where-Object { $_.KeyName -match ‘_(FirstInstallDate|InstallDate|LastArrivalDate|LastRemovalDate)$’ } |
Format-List KeyName, Data

FirstInstallDate is het moment waarop Windows deze apparaatinstantie voor het eerst installeerde. InstallDate is wanneer hij voor het laatst is geïnstalleerd, en Microsoft zegt dat deze tijdstempel verandert bij elke driver-update. LastArrivalDate en LastRemovalDate zijn losse waarden. Daarom geven geen van deze velden een volledig overzicht van elke keer dat de schijf is aangesloten.

Windows schrijft apparaatinstallaties ook weg in een leesbaar SetupAPI-logbestand op: %SystemRoot%\INF\setupapi.dev.log. Je kunt daarin zoeken naar je schijf:

Select-String -Path “$env:SystemRoot\INF\setupapi.dev.log” -SimpleMatch -Pattern $deviceId -Context 3,12

Een gevonden match laat zien dat SetupAPI een installatiemoment voor dat apparaat heeft geregistreerd. Zie dit niet als een volledig overzicht van alle latere aansluitingen.

Tot slot laat reg query “HKLM\SYSTEM\MountedDevices” de blijvende naamdatabase van de mount manager zien. Die koppelt volumes aan stationsletters en kan namen bewaren van volumes die niet meer in het systeem aanwezig zijn. Een vermelding als \DosDevices\F: identificeert nog niet automatisch een SanDisk-schijf, totdat je de binaire gegevens aan dat specifieke volume koppelt.

Hoe je USB-registraties verwijdert, en of een reset genoeg is

Wil je de registratie van een schijf verwijderen? Klik dan in de verborgen apparatenweergave van Apparaatbeheer met de rechtermuisknop op de grijs weergegeven schijf en kies Apparaat verwijderen.

Microsoft zegt dat de registersleutels van een apparaat automatisch worden verwijderd wanneer het apparaat wordt verwijderd. IT-beheerders kunnen verborgen opslagvermeldingen in bulk opschonen met Microsofts DevNodeClean-hulpprogramma. Verwijder USBSTOR-sleutels liever niet handmatig, want dat kan je pc mogelijk ontregelen.

Voor de laptop van mijn vriend geldt: bij het terugzetten van Windows zegt Microsoft dat Alles verwijderen “Windows opnieuw installeert en al je persoonlijke bestanden, apps en instellingen verwijdert” en ideaal is “wanneer je je pc weggeeft of verkoopt.” In de documentatie over de resetfunctie staat ook dat deze optie de pc voorbereidt “voor recycling of voor eigendomsoverdracht.” Omdat het besturingssysteem opnieuw wordt geïnstalleerd, zouden de oude USBSTOR-vermeldingen niet moeten blijven bestaan.

Er is wel een kanttekening. Volgens Microsoft formatteert de reset de Windows-partitie niet en verwijdert deze de gebruikersbestanden apart, dus zet Gegevens opschonen aan onder Instellingen wijzigen voordat je de laptop weggeeft. Microsoft zegt dat dit “maakt het voor anderen moeilijker om verwijderde bestanden terug te halen,” al “voldoet de functie niet aan overheids- en industriële normen voor gegevensvernietiging.” Heeft de laptop een tweede partitie, kies dan ook de optie om bestanden van alle schijven te verwijderen.

Windows bewaart om legitieme redenen behoorlijk wat metadata, bijvoorbeeld door file-system tunneling, waardoor een nieuw bestand de aanmaakdatum kan krijgen van een bestand dat je eerder hebt verwijderd. Een correcte Alles verwijderen-reset verwijdert de oude Windows-installatie en de bijbehorende gegevens, maar je moet dit niet zien als een universeel forensisch middel om alles onherstelbaar te wissen.

Bewijst een USB-registratie dat iemand bestanden heeft gekopieerd?
Nee, dat bewijst het niet. Een USBSTOR-vermelding kan laten zien dat Windows een bepaald apparaat heeft herkend. Maar op zichzelf kan het niet aangeven welke bestanden zijn gekopieerd, of er gegevens naar of van het apparaat zijn verplaatst, of wie de schijf fysiek heeft aangesloten.

Windows kan wel bestandsgebruik op verwisselbare schijven loggen via het beleid Audit Removable Storage, dat gebeurtenissen zoals 4663 genereert, maar alleen als dit vooraf was ingeschakeld. Als je het pas later aanzet, krijg je geen terugwerkende registratie van wat al gebeurd is.

De virale berichten hebben de kern van het verhaal dus wel goed: Windows onthoudt een USB-opslagapparaat nadat je het hebt losgekoppeld, net als andere gangbare desktopbesturingssystemen. Maar de USBSTOR-registratie bevat niet de inhoud van de schijf en bewijst op zichzelf niet dat iemand bestanden heeft gekopieerd. Afzonderlijke auditing of ander forensisch bewijs kan wel iets zeggen over bestandsgebruik, maar dat is iets anders dan de USBSTOR-vermelding.

En nee, het is dus niet permanent.

  • Eater

    vraag en ik antwoord

    Related Posts

    Emmabuntüs Debian Edition 6.1.03: meer toegankelijkheid en een basis op Debian 13.7

    Emmabuntüs Debian Edition 6.1.03 is vandaag uitgebracht als de derde puntuitgave binnen de nieuwste Emmabuntüs Debian Edition 6-reeks. Deze op Debian gebaseerde distributie is ontwikkeld om het hergebruik en de…

    Waarom Windows je USB-sticks onthoudt — en wat dat echt betekent

    Bangmakerij over Windows is op sociale media niet nieuw. Er gaan regelmatig virale berichten rond waarin wordt beweerd dat Windows een permanent overzicht bijhoudt van elk USB-apparaat dat je ooit…

    Geef een reactie