Код события подключения usb
В этом разделе для ИТ-специалистов описывается отслеживание попыток использования съемных устройств хранения для доступа к сетевым ресурсам. В нем описывается, как использовать расширенные параметры аудита безопасности для мониторинга объектов управления динамическим доступом.
При настройке этого параметра политики событие аудита создается каждый раз, когда пользователь пытается скопировать, переместить или сохранить ресурс на съемное хранилище.
Используйте следующие процедуры для мониторинга использования съемных устройств хранения и проверки того, что эти устройства отслеживаются.
Сервер может функционировать по-разному в зависимости от версии и версии установленной операционной системы, разрешений учетной записи и параметров меню.
При нажатии политики аудита съемного хранилища на компьютер необходимо применить новый дескриптор безопасности для всех съемных устройств хранения с настройками аудита. Дескриптор безопасности для устройства можно настроить либо при установке устройства, либо путем настройки свойств устройства в реестре, что делается путем вызова функции установки устройства. Для этого может потребоваться перезапуск устройства для применения нового дескриптора безопасности.
Настройка параметров для мониторинга съемных устройств хранения
После настройки параметров для мониторинга съемных устройств хранения используйте следующую процедуру, чтобы убедиться, что параметры активны.
Проверка контроля за съемными устройствами хранения
Во входе на компьютер, на котором размещены ресурсы, которые необходимо отслеживать. Нажмите клавишу Windows клавишу + R, а затем введите cmd, чтобы открыть окно Командная подсказка.
Если откроется диалоговое окно Контроль учетных записей , убедитесь, что в нем указано требуемое действие, а затем нажмите кнопку Да.
Введите gpupdate /forceи нажмите кнопку ENTER.
Подключение съемное устройство хранения на целевой компьютер и попытаться скопировать файл, защищенный политикой аудита служба хранилища съемных файлов.
В диспетчере серверов щелкните Инструментыи нажмите кнопку Просмотр событий.
Расширь Windows журналы, а затем нажмите кнопку Безопасность.
Найдите событие 4663, в котором регистрируемые успешные попытки записи или чтения с съемного устройства хранения. Сбои будут журнал события 4656. Оба события включают категорию задач = съемное служба хранилища устройство.
Ключевые сведения, которые необходимо искать, включают имя и домен учетной записи пользователя, попытавшегося получить доступ к файлу, объект, к которому пользователь пытается получить доступ, атрибуты ресурса и тип доступа, который был предпринят.
Мы не рекомендуем включить эту категорию на файловом сервере, на котором размещены файлы на съемном устройстве хранения. При настройке служба хранилища аудита любая попытка получить доступ к съемным устройствам хранения создает событие аудита.
В настоящее время я пытаюсь найти способ регистрации всех подключений и отключений USB-устройств от всех компьютеров Windows в нашей сети. Эта информация должна автоматически регистрироваться в файле на машине, затем этот файл может быть прочитан nxlog и затем отправлен на нашу платформу централизованного ведения журнала для обработки. Я надеялся, что эта информация будет автоматически регистрироваться журналами Windows, но я обнаружил, что хотя некоторая информация о съемном USB-накопителе, по-видимому, регистрируется в Event Viewer, это довольно ограниченная информация, которая не воспринимается, когда USB-клавиатуры и мыши подключен и отключен.
После некоторых копаний я обнаружил, что nirsoft написал небольшой exe-файл, который выполняет большую часть тяжелой работы, USBLogView можно запускать без установки и регистрировать каждый раз, когда USB-устройство подключается и отключается от компьютера. Проблема в том, что я не вижу способа запустить это как службу, и при этом я не вижу способа, чтобы он автоматически регистрировал информацию, которую он выводит, в файл журнала, хотя вы можете выбрать записи журнала и вручную выбрать их для сохранен в лог-файл.
Я мог бы использовать групповую политику для создания локальной копии exe-файла, а затем каким-то образом принудительно запускать этот exe-файл во время запуска, но основная проблема невозможности получения журналов, автоматически записываемых в файл, все еще должна быть преодолена. Я также должен быть в состоянии гарантировать, что пользователь не сможет закрыть программу, что возможно, когда я запускаю ее сам, в идеале лучше всего ее скрыть и не показывать иконку в трее, чтобы установить ее. вверх (но когда я попробовал использовать скрытые настройки, мне кажется, что они могут быть либо отображены в главном окне, либо просто отображать значок систрейма). Я посмотрел на веб-сайте, но я не вижу способа вызвать программу с опциями, чтобы сказать ей сделать это. На прошлой неделе я также написал nirsoft, чтобы узнать, есть ли у них какие-либо советы, но я все еще жду ответа.
У кого-нибудь есть альтернативные способы сделать это вообще? Любые предложения или помощь приветствуются! Спасибо
Многие программы, работающие с устройством USB, теряют работоспособность при случайной потере связи. Например, если некачественное подключение (плохой контакт в разъеме miniUSB или microUSB, что довольно часто случается), или когда устройство было случайно переподключено в порт USB, приходится перезапускать программу ПО хоста. Чтобы корректно обрабатывать такие ситуации в программе, необходимо программно детектировать события подключения и отключения устройства USB, чтобы можно было осуществить адекватные действия - повторная инициализация связи с устройством, настройка параметров и т. п. Здесь приведен перевод апноута FTDI AN_152 [1], как раз посвященного этой важной теме.
[Как детектировать события установки и извлечения устройства USB]
[Функция RegisterDeviceNotification]
Следующий пример кода на языке C показывает, как функция RegisterDeviceNotification регистрирует приложение в системе, чтобы оно получало оповещение об устройствах.
Функция в параметрах принимает хендл GetSafeHwnd(), флаг DEVICE_NOTIFY_WINDOW_HANDLE и указатель на структуру данных DEV_BROADCAST_DEVICEINTERFACE. Флаг DEVICE_NOTIFY_WINDOW_HANDLE указывает, что вызывающий код относится к окну приложения, и структура данных DEV_BROADCAST_DEVICEINTERFACE задает размер этой структуры, тип устройства DBT_DEVTYP_DEVICEINTERFACE, имя устройств и уникальный идентификатор интерфейса устройства (device Globally Unique Identifier, GUID). Список (массив) GuidInterfaceList будет расшифрован в следующей секции.
Примечание: значения структуры данных DEV_BROADCAST_DEVICEINTERFACE должны быть отредактированы в соответствии с требованиями Вашего приложения. Чтобы использовать приведенный выше код, убедитесь, что заголовок Dbt.h подключен к приложению. Дополнительную информацию см. на сайте Microsoft [3].
[Device Globally Unique Identifier (GUID)]
Устройства, поддерживающие технологию Plug and Play (PnP), обычно связаны с двумя разными GUID-ами: device interface GUID и device class GUID. Идентификатор device class GUID определяет широкую категорию устройств. Когда Вы просматриваете дерево устройств в Менеджере Устройств (Windows Device Manager), то они там рассортированы по типам устройств. Каждое устройство принадлежит к классу, и каждый класс идентифицируется по классу устройства device class GUID.
Идентификатор device interface GUID указывает частный интерфейс ввода/вывода (particular input/output interface). Подразумевается, что каждый экземпляр device interface GUID поддерживает один и тот же базовый набор входов/выходов. Идентификатор device interface GUID - это то, что драйвер зарегистрирует и будет разрешать или запрещать, базируясь на состоянии PnP. В предыдущей секции пример кода показывает, как в цикле for регистрируется несколько оповещений для каждого GUID.
Следующий код дает список GUID для классов интерфейса устройств.
Программа D2XXNotify предоставляет пользователю интерфейс, в котором детектируются установка или извлечение устройств USB на компьютере. Исходный код этого приложения доступен на сайте FTDI [2].
[Запуск исполняемого файла]
Готовый исполняемый файл приложения D2XXNotify.exe можно загрузить с сайта FTDI [2] в составе архива D2XXNotify.zip (в этом же архиве содержится также и исходный код приложения). Распакуйте архив с помощью любого архиватора, например WinZIP или WinRAR. Двойным щелчком в Проводнике запустите приложение D2XXNotify.exe. Появится следующее окно:
Рис. 3.1. Запуск приложения D2XXNotify из двоичного исполняемого файла.
Приложение можно также запустить из среды разработки Microsoft Visual Studio. Для этого запустите Visual Studio, откройте файл d2xxnotify.sln из распакованного архива, выполните стандартные операции по очистке проекта (Clean Solution) и сборке (Rebuild Solution). После этого можно запустить приложение (меню Debug -> Start Debugging или Start Without Debugging).
[Message Map]
Исходные коды и исполняемые exe-файлы тестовых программ можно скачать по ссылке [6].
Windows 7 часто воспроизводит звук подключения / отключения USB / нового устройства. Это происходит как при простое компьютера, так и под нагрузкой. Все подключения USB-устройств были проверены (хотя я пока не могу исключить плохой кабель). Я подумал, что хороший способ отследить проблему - подождать звука, а затем проверить файл журнала на наличие последнего подключенного / отключенного устройства. Мне просто нужно знать, какой файл журнала содержит эту информацию.
Изменить: я собираюсь оставить ответ принят, однако проблема не устранена. Я слышу этот звук в случайном порядке в течение дня. У кого-то еще есть идеи?
Файл C:\Windows\inf\setupapi.dev.log , но большинство информации находится в реестре Under: HKLM:\SYSTEM\CurrentControlSet\Enum\* . Хорошая программа, на самом деле не читает никаких файлов журналов usb Windows (потому что они не существуют в Windows), но записывает события usb, которые происходят после открытия программы, хотя и полезная программа, спасибо за публикацию. Согласно системным требованиям, в настоящее время не работает на Windows 8/10.Там находится файл журнала всех подключений и отключений устройств, в% SystemRoot% \ inf \ setupapi.dev.log. Это получитаемый текст. Он содержит отчеты для всех устройств, а не только USB.
Откройте его в Блокноте (или Notepad ++, или vi, или ex, или . ), прокрутите вниз и обратите внимание, что вывод для каждого нового устройства отделен от предыдущего парой пустых строк. Самый последний будет в конце. Есть метки времени.
Если в тексте не указано, какие устройства пытаются подключиться, найдите следующие строки:
и поиск в Интернете для идентификатора поставщика 1532; затем, с наиболее вероятных страниц, код продукта 0021 (код ревизии и остальные строки не имеют значения).
Примечание: существует большое количество сайтов, которые пытаются предоставить эту информацию. Многие из них предлагают загрузку драйверов. Не загружайте драйверы откуда-либо, кроме: а) обновления Microsoft или б) веб-сайта компании, выпустившей ваше устройство.
Я должен задаться вопросом, почему понизить на этом. Файл, который я упомянул, определенно существует и содержит информацию, как я описал. Я был бы признателен, если бы вы услышали, что конкретно является жалобой Не понизить. Но вот в чем дело: на моем ноутбуке с Win10 этот файл не регистрирует все события подключения / отключения. Только что попробовал с флешкой на всех моих портах USB. Кажется, записано только самое первое такое событие в сеансе. @StackzOfZtuff Не исследовал это в Windows 10. Может случиться так, что это только регистрация событий, которые требуют нахождения правильного файла .INF и драйвера. Как только данный экземпляр устройства был успешно настроен, для этого сеанса известен правильный драйвер, поэтому журнал не обновляется. Спасибо за отчет - это для меня новость! Думаю, это помогло мне . Я имел дело с постоянным предупреждением об отключении устройства, и оно определенно не связано с USB. Я обнаружил запись об удалении устройства несколько раз для системного диспетчера очереди печати, который, я думаю, может быть виновником. Спасибо за информацию!Теперь, если это сделано приложением, таким как ImgBurn, использующим оптический привод для чтения / копирования или записи / записи чего-либо, это будет сильно зависеть от разработчика / поставщика, и если они выберут регистрацию событий и в какой степени. Если они регистрируют события, они отображаются в Applications and Services Logs общем соответствии с именем приложения.
Наконец, если вы ЗНАЕТЕ тип события, которое вы пытаетесь захватить, вы можете создать собственный отчет о просмотре в окне просмотра событий и установить уровень события, отправив его либо по журналу (предопределенный), либо по источнику на определенный элемент (гораздо более детальный) , и даже если вы хотите добавить ключевое слово (используйте, только если вы знаете имя события, которое вы пытаетесь захватить). Сделайте то, что вам нужно сделать после того, как вы создадите это, и вернитесь назад и посмотрите, что это для вас запечатлено.
Читайте также: