8

В настоящее время я пытаюсь найти способ регистрации всех подключений и отключений USB-устройств от всех компьютеров Windows в нашей сети. Эта информация должна автоматически регистрироваться в файле на машине, затем этот файл может быть прочитан nxlog и затем отправлен на нашу платформу централизованного ведения журнала для обработки. Я надеялся, что эта информация будет автоматически регистрироваться журналами Windows, но я обнаружил, что хотя некоторая информация о съемном USB-накопителе, по-видимому, регистрируется в Event Viewer, это довольно ограниченная информация, которая не воспринимается, когда USB-клавиатуры и мыши подключен и отключен.

После некоторых копаний я обнаружил, что nirsoft написал небольшой exe-файл, который выполняет большую часть тяжелой работы, USBLogView можно запускать без установки и регистрировать каждый раз, когда USB-устройство подключается и отключается от компьютера. Проблема в том, что я не вижу способа запустить это как службу, и при этом я не вижу способа, чтобы он автоматически регистрировал информацию, которую он выводит, в файл журнала, хотя вы можете выбрать записи журнала и вручную выбрать их для сохранен в лог-файл.

Я мог бы использовать групповую политику для создания локальной копии exe-файла, а затем каким-то образом принудительно запускать этот exe-файл во время запуска, но основная проблема невозможности получения журналов, автоматически записываемых в файл, все еще должна быть преодолена. Я также должен быть в состоянии гарантировать, что пользователь не сможет закрыть программу, что возможно, когда я запускаю ее сам, в идеале лучше всего ее скрыть и не показывать иконку в трее, чтобы установить ее. вверх (но когда я попробовал использовать скрытые настройки, мне кажется, что они могут быть либо отображены в главном окне, либо просто отображать значок систрейма). Я посмотрел на веб-сайте, но я не вижу способа вызвать программу с опциями, чтобы сказать ей сделать это. На прошлой неделе я также написал nirsoft, чтобы узнать, есть ли у них какие-либо советы, но я все еще жду ответа.

У кого-нибудь есть альтернативные способы сделать это вообще? Любые предложения или помощь приветствуются! Спасибо

4 ответа4

2

Есть платные решения для этого, например. EndProtection4 от CoSoSys. Не знаю, как это работает внутри агента, установленного на устройстве, но дает вам всю информацию о подключенных устройствах. Вам нужна серверная часть, которая управляет клиентами, поскольку это программное обеспечение, которое управляет доступом к устройствам. Работает также на Mac и Linux.

1

Подключение и отключение USB-устройств регистрируется в "Журнале событий".

Цитируя это подробное описание (блог "Digital Forensics Stream", 2014-01-02, журнал событий Windows 7 и отслеживание USB-устройств):

Идентификаторы событий подключения
Когда съемное запоминающее устройство USB подключено к системе Windows 7, в журнале событий Microsoft-Windows-Driver-DriverFrameworks-UserMode/Operational необходимо создать несколько записей о событиях. Записи включают записи с событиями 2003, 2004, 2005, 2010, 2100, 2105 и т.д. ...

Идентификаторы событий отключения
Когда флэш-накопитель USB отключен от системы Windows 7, несколько записей событий должны быть созданы в том же журнале событий, что и события подключения. Записи с событиями с кодом 2100, 2102 и, возможно, другими, могут быть сгенерированы, когда устройство USB отключено. ...

Для автоматизации экспорта из журнала событий Microsoft предлагает бесплатный журнал регистрации .

0

Я бы попробовал использовать такой инструмент, как AutoIT.

$vFile = FileOpen("usb.txt", 2)

Local $vObjWMI = ObjGet("winmgmts:\\" & @ComputerName & "\root\cimv2")

$vObjItems = $vObjWMI.ExecQuery('SELECT * FROM Win32_DiskDrive')
If IsObj($vObjItems) Then
    For $vObjItem In $vObjItems
        If StringInStr($vObjItem.Caption, "USB") Then
            FileWriteLine($vFile, $vObjItem.Caption & @CRLF)
            FileWriteLine($vFile, $vObjItem.DeviceID & @CRLF & @CRLF)
        EndIf
    Next
EndIf

FileClose($vFile)

ShellExecute("usb.txt")

Это сообщение на форуме AutoIT находится здесь: http://www.autoitscript.com/forum/topic/155213-detect-usb-devices-connected/?p=1121434.

0

Используйте regedit и найдите элементы registry в: HKLM:\SYSTEM\CurrentControlSet\Enum\USBSTOR\ . Для некоторых деталей откройте PowerShell и запустите:

$Path = 'HKLM:\SYSTEM\CurrentControlSet\Enum\USBSTOR\*\*'
Get-ItemProperty -Path $Path | Select-Object -Property FriendlyName, CompatibleIDs, Mfg

Или посмотрите в файле журнала здесь: C:\Windows\inf\setupapi.dev.log .

Для получения более подробной информации, смотрите блог Nicoles.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .