Zgodnie z wcześniejszymi zapowiedziami, chciałbym przybliżyć nieco tematykę związaną z przechowywaniem przez system Windows informacji o podłączanych urządzeniach USB. Informacje te mogą posłużyć do prześledzenia aktywności użytkownika w zakresie wykorzystywanych przez niego urządzeń USB, w szczególności tych, mogących służyć do przenoszenia informacji (np. w przypadku chęci znalezienia śladów nieuprawnionych działań użytkowników polegających na wynoszeniu danych będących własnością spółki). Głównym źródłem artefaktów związanych z używaniem urządzeń USB jest rejestr systemu Windows, dodatkowe to setupapi.log (setupapi.dev.log w Windows 7/Vista). W tym i kolejnych paru wpisach przedstawię artefakty do znalezienia w rejestrze. Klucze, które będą nas interesować znajdują się w HKEY_Local_Machine i HKEY_USERS, a są to:
- HKLM\System\CurrentControlSet\Enum\USB
- HKLM\System\CurrentControlSet\Enum\USBSTOR
- HKLM\System\CurrentControlSet\Enum\STORAGE
- HKLM\System\CurrentControlSet\Control\DeviceClasses
- HKLM\System\MountedDevices
- HKU\{ID użytkownika}\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2
- Co możemy ustalić
- ID dostawcy i ID produktu dla każdego urządzenia USB wpiętego do komputera – na podstawie danych z firmware zapisanych w urządzeniu
- Nr seryjny urządzenia
- Nazwa dostawcy i urządzenia
- datę i czas pierwszego podłączenia urządzenia do systemu
- datę i czas ostatniego podłączenia urządzenia do systemu
- literę dysku, która została przyporządkowana do urządzenia
- Volume GUID (Globally Unique Identifier – unikalny identyfikator obiektu nadawany przez system Windows)
- profil aktywny podczas podłączenia urządzenia
- Gdzie co się znajduje
- ID dostawcy i ID produktu – w momencie podłączani urządzenia USB do komputera, Windows odpytuje firmware urządzenia w celu zebrania informacji służących do odpowiedniego zaklasyfikowania urządzenia i wybrania odpowiedniego sterownika. W kluczu
HKLM\SYSTEM\{CurrentControlSet}\Enum\USBpojawia się wpis w formie
Vid_{ID dostawcy}&Pid_{ID produktu} - Nr seryjny urządzenia – w powyższym kluczu, dla każdego urządzenia tworzony jest podklucz, którego nazwa stanowi numer seryjny urządzenia (iSerialNumber). Numer ten jest unikalny dla danego urządzenia. W przypadku, gdy urządzenie nie ma takiego numeru, Windows (a konkretnie manager PnP) przydziela własny identyfikator w formie kilkunastu znaków ze znakiem ‘&’ na drugiej i przedostatniej pozycji
- Nazwa dostawcy i urządzenia – nazwy w formie przyjaznej człowiekowi przechowywane są w nazwie klucza w
HKLM\SYSTEM\{CurrentControlSet}\Enum\USBSTORw następującej formie:
Disk&Ven_{nazwa dostawcy}&Prod_{nazwa produktu}&Rev_{numer rewizji sprzętu}W tym kluczu podkluczem również jest numer seryjny urządzenia – stąd można go wykorzystać do połączenia informacji z USB i USBSTOR.
Uwaga: w USBSTOR przechowywane są jedynie informacje dotyczące urządzeń USB przechowujących dane.
- ID dostawcy i ID produktu – w momencie podłączani urządzenia USB do komputera, Windows odpytuje firmware urządzenia w celu zebrania informacji służących do odpowiedniego zaklasyfikowania urządzenia i wybrania odpowiedniego sterownika. W kluczu
Rys 1. Prosty przykład (przenośny dysk twardy USB)
Pozostałe punkty – w kolejnych odcinkach.


