Как блокируют флешки и как обходят эту защиту : Операционные системы и программное обеспечение
А какие существуют методы защиты от вредоносных флешек и как их можно обойти? Сейчас разберемся!
В этой статье мы рассмотрим, как устроена защита USB (Mass Storage Class — Removable Media) и как обмануть системы ограничения по белому списку устройств с помощью создания клонов. Звучит интересно? Хочешь натянуть современные средства защиты? Тогда добро пожаловать в мир увлекательных экспериментов!
КАК БЛОКИРУЮТ ФЛЕШКИ
Зачем их блокировать? Чтобы ты не занес в ИТ‑инфраструктуру компании вирус‑шифровальщик, не таскал информацию домой и не приносил игрушки в офис. В разных конторах админы и безопасники действуют по‑разному. В самых печальных случаях порты физически отключаются, заливаются эпоксидкой или опечатываются. В случаях попроще порты отключаются через BIOS/UEFI (что‑то вроде USB Controller = Disabled).
Если админам лень жалко ломать железку, на помощь приходят настройки реестра и групповые политики винды. Например, для полной блокировки USB-носителей открой вот эту ветку реестра:
Если ты выставишь у параметра Start значение 4, твои флешки перестанут подключаться. В групповых политиках (gpedit.msc) обычно смотрят в сторону оснастки «Конфигурации компьютера → Административные шаблоны → Система → Доступ к съемным запоминающим устройствам».

Существуют ли способы более изысканно и красиво ограничить подключение нежелательных носителей к компу? Компании побогаче используют дополнительные средства защиты информации (СЗИ) — тот же KAV (и иные антивирусы), DLP-системы, Secret Net (СЗИ от НСД) и прочие. Кто‑то даже устанавливает драйвер для проверки носителя по белому списку, кто‑то проверяет устройство в момент его монтирования.
Настройки СЗИ могут запретить подключение вообще всех устройств, только устройств из черного списка или разрешить подключение девайсов из белого списка. На последнем варианте мы с тобой и остановимся поподробнее.
А КАК ИХ РАЗЛИЧАЮТ?
Как отличить одну флешку от другой? Понятное дело, что у флешек есть производитель, объем, другие параметры. Но обычно производители снабжают каждую флешку уникальным серийным номером, прописанным в ее прошивке.
Чтобы посмотреть его в винде, можешь использовать такую команду Windows Management Instrumentation — WMIC (предварительно подключив флешку):
Полученный DeviceID содержит:
VID — Vendor ID, идентификатор производителя. 13FE — Kingston Technology Company Inc.;
PID — Product ID, идентификатор изделия. 4200 — Platinum USB drive mini;
Serial — уникальный серийный номер флешки 070867948D560839.
VID и PID используются операционкой для поиска дров. Полный список можно посмотреть, например, на сайте Linux USB. [ ➜ ]
По DeviceID флешка прописывается в реестре:
Также ты можешь получить всю эту информацию с помощью программы USBDeview. [ ➜ ]

В некоторых, особо изысканных и нездоровых случаях в качестве идентификатора флешки применяется Volume Serial Number (VSN, он же так называемый серийный номер тома), который можно получить командой vol или dir.

Почему использовать VSN (в Linux он называется UUID) для идентификации флешек — идея не очень? Дело в том, что данные метки идентифицируют логические тома файловой системы. Чтобы изменить VSN случайным образом, достаточно отформатировать раздел. Понятно, что для жестких дисков это процедура сравнительно редкая, но флешки форматируют довольно‑таки часто.
Что делать с ноунеймом
Для китайских noname-флешек, производители которых «кладут» на соответствие девайса всевозможным рекомендациям и стандартам, такой серийник будет меняться в зависимости от USB-порта, в который ты подключил устройство, и, разумеется, положения звезд на небе. Если твою флешку безопасники пропишут в белый список только на одном порте, то на другом ты ее использовать не сможешь.
Вот пример такой флешки:
Как ты видишь, при изменении порта в серийнике меняется номер этого порта (&2 в конце превратилось в &1). Так что нужно или добавлять в список номер такой флешки на всех портах, или использовать только выделенный порт для ее подключения.
В некоторых СЗИ используют иные свойства флешек. Все доступные свойства ты можешь просмотреть, щелкнув на значке флешки правой клавишей мыши и выбрав в контекстном меню «Свойства → Оборудование → Сведения». В выпадающем списке наиболее полезные сведения содержатся в строках «Понятное имя», «Путь к экземпляру устройства» и «Родитель» (тот же DeviceID).

У китайских флешек эти параметры меняются, как генератор случайных чисел. Например, путь к экземпляру устройства для первого и второго USB-порта выглядит так:
Здесь:
JETFLASH — производитель;
TRANSCEND_8GB — название устройства;
1100 — номер ревизии;
BBPIX7EB2VMBFI48 — серийный номер.
У разных флешек из одной партии меняться будет только серийник.
Давай посмотрим, какими способами админы могут выявить, что к системе подключили флешку. В Windows имеется целый пул средств для отслеживания подключаемых носителей. Если хочешь поковыряться сам — смотри вот эти две ветки реестра:
Там хранится список идентификаторов подключаемых устройств, при этом информация в этих ветвях реестра не затирается стандартными процедурами в планировщике задач винды, то есть данные хранятся сколь угодно долго.
Если ты предпочитаешь готовые решения, то к твоим услугам классический USBLogView [ ➜ ] , который в реальном времени регистрирует подключение и отключение флешки. В форензике для комплексного анализа подключений рекомендуем посмотреть в сторону USB Detective [ ➜ ] и USB Forensic Tracker. [ ➜ ]
USB Detective извлекает информацию из реестра, логов, иных источников, а также может снимать информацию с Live-системы (в версии Pro), при этом выполняя корреляцию и верификацию данных.
USB Forensic Tracker извлекает все артефакты подключений независимо, поэтому для каждого источника данных ты имеешь свою таблицу подключений USB-устройств (корреляции, к сожалению, он не делает).

Например, просматривая данные по нашей китайской флешке, мы выяснили, что ее отображаемый серийник на первом порте — 388e987, на втором — 3с69e2с9. После форматирования они стали 4247e754 и 966cde2 соответственно.
Во внешних СЗИ имеются функции просмотра и блокирования подключенных флешек в реальном времени или на основе ранее подключенных устройств.
ПРАКТИЧЕСКИЙ ПОДХОД К СБИТИЮ ПАРАМЕТРОВ ФЛЕШЕК
Часть 1. VSN (UUID)
Если тебе повезло и в твоей организации блокируют флешки через VSN/UUID, то существует масса годных вариантов. Все представленные ниже кейсы не изменяют основные параметры флешки, такие как серийный номер и информация о модели. Однако помни, что иногда VSN применяется при лицензировании ПО и изменение VSN может повлиять на его работоспособность. Зато, научившись менять VSN, ты сможешь давать вторую жизнь лицензионным прогам, которые жалуются на смену жестких дисков и не хотят работать.
Манипуляции представлены для демонстрации. Применяя их, будь осторожен и внимателен, поскольку при некорректном подборе команд, программ, прошивок ты рискуешь окирпичить флешку, за что мы, конечно, ответственности не несем. Не стоит упоминать, что на тестируемых флешках не следует держать ценную инфу.
Вариант 1. Форматирование
Данный вариант используется, когда активен только черный список флешек, поскольку форматирование меняет идентификатор раздела. Однако задать конкретный идентификатор в данном случае не получится.
Например, флешка с FAT32 до форматирования имеет VSN 4652-F858, а после быстрого форматирования — 76DA-6C78. Для NTFS ситуация в целом аналогична.
Как ты видишь, вариант предельно простой, но совершенно неконтролируемый. Это нам как‑то не очень подходит, попробуем менять параметры на избранные нами значения.
Вариант 2. Смена VSN через утилиты
Существуют готовые утилиты для смены VSN, например VolumeID [ ➜ ] от компании Sysinternals или более приятная на вид графическая утилита Volume Serial Number Changer. [ ➜ ] Во втором случае нужно просто запустить утилиту, выбрать метку диска, вбить новый идентификатор, нажать Change Serial number, вынуть‑вставить флешку, и все готово.


Вариант 3. Сделай сам
Ты хочешь полностью познать дзен флешек? Не вопрос. Предварительно определись с файловой системой. Открой любой HEX-редактор и перетащи туда значок флешки из проводника. Для FAT32 VSN находится по смещению 0x43, для NTFS — на 0x48.


Нашелся серийник 6666-6666. Что ж, исправим его и сохраним результат. Помни, что порядок чтения байтов — справа налево (little endian).


Для FAT32 ситуация полностью аналогична.


Итак, теперь ты умеешь менять VSN (UUID). Но для по‑настоящему серьезных вещей и создания почти полноценного клона нужно еще немного углубиться в тему.
Часть 2. VID, PID, Serial
Чтобы менять максимальное количество параметров, требуется перепрошить контроллер флешки. Процедура эта сравнительно несложная, но опасная — в случае ошибки ты рискуешь сделать флешку неработоспособной (однако ошибка чаще всего возникает при неудачном выборе прошивки или прошивальщика).
Представим, что у тебя есть исправная флешка (которая работает в офисе без проблем), а также ты приобрел другую флешку — потенциальный клон. Если ты купишь флешку точно той же модели, то при некоторых обстоятельствах сможешь обойти СЗИ, в которых идет проверка только по VID и PID.
На практике лучше найти флешки, которые легче всего перепрошивать, например фирмы Silicon Power или Transcend с USB 3.0 — в них часто используется SMI-контроллер. Хотя в целом тебе могут попасться флешки с контроллерами AlcorMP, Phison и другие. Для них тоже есть прошивки.
Общий алгоритм прошивки девайса следующий:
— Выясни тип идентификатора, который используется для определения флешки в СЗИ, или используемые составляющие на основе данных флешки (опционально), запиши их для последующей подделки.
— Определи контроллер флешки.
— Подбери утилиту для прошивки, подходящую под конкретную версию контроллера.
— В прошивальщике задай необходимые параметры, идентичные оригинальной флешке.
— Прошей флешку‑клон и проверь ее работу. В случае неудачной прошивки — повтори шаги, начиная со второго. Если флешка окирпичилась, поступай аналогично.
Шаг 1. Так случилось, что на первой протестированной нами машине стоял антивирус Comodo с возможностью контроля устройств. Недолго думая, включаем блокировку для USB и добавляем флешку‑оригинал в исключение. Антивирь любезно показывает нам используемый идентификатор флешки.


В свойствах оборудования находим, что эта строка соответствует опции «Путь к экземпляру устройства». Запишем идентификатор как целевое значение, которому наша флешка‑фейк должна соответствовать:
На всякий случай запомним и DeviceID:
Бывает, СЗИ напрямую не показывают идентификатор (угадай почему), а определяют только некоторые свойства подключенного устройства. В таких случаях идентификатор обычно складывается из видимых полей и свойств. Для нас это непринципиально, поскольку, подгоняя данные фейка под оригинал, мы задействуем те же самые данные и формируем такой же идентификатор.
Шаг 2. Для определения контроллера флешки‑фейка воспользуемся прогой ChipGenius (ее можно скачать с сайта USBDev. [ ➜ ] Кстати, рекомендуем сайт как наиболее полезный русскоязычный ресурс по прошивке флешек. Можно воспользоваться аналогом — Flash Drive Information Extractor. [ ➜ ] Интерфейс программ простой — вставил флешку, получил результат — см. иллюстрацию ниже.

Сравни с выводом ChipGenius для нашего будущего фейка:
DeviceID
USB\VID_090C&PID_1000\CCYYMMDDHHMMSS000000
Description: [H:]Запоминающее устройство для USB(SMI USB DISK)
Device Type: Mass Storage Device
Protocal Version: USB 2.00
Current Speed: High Speed
Max Current: 500mA
USB Device ID: VID = 090C PID = 1000
Serial Number: CCYYMMDDHHMMSS000000
Device Vendor: SMI Corporation
Device Name: USB DISK
Device Revision: 1100
Manufacturer: SMI
Product Model: USB DISK
Product Revision: 1100
Controller Vendor: SMI
Controller Part-Number: SM3257ENBA — ISP 131128-AA-
Flash ID code: 98DE8493 — KIOXIA TC58TEG6DCJBA00 — 1CE/Single Channel [MLC-16K] → Total Capacity = 8GB
Итак, мы видим, что у нас контроллер семейства SMI (Silicon Motion) с номером SM3257ENBA. Теперь найдем прошивальщик для него!
Шаг 3. Хотя ChipGenius даже дает ссылку для прошивальщика, на сайте по этой ссылке все на китайском, поэтому проще скачать его с UsbDev. При этом обязательно в версии, поддерживающей наш контроллер SM3257ENBA. Для данного контроллера используются прошивальщики SMI MPTool [ ➜ ] и Dyna Mass Storage Production Tool. [ ➜ ] Нам больше по душе вторая (работает долго, но качественно и почти со всеми подвидами данных контроллеров). Находим нужную версию, качаем Dyna Mass Storage Production Tool, вставляем флешку‑фейк, запускаем прогу.
Шаг 4. Не пугайся, не все так сложно. Все прошивальщики имеют практически идентичный набор параметров, поэтому общие принципы и изменяемые параметры у всех схожи, независимо от бренда и модели контроллера. Убедись, что флешка появилась в программе.

В правой части жми надпись Settings, ввод пароля пропускаем нажатием Enter (в некоторых утилитах он тоже есть, обычно легко гуглится на форумах), в качестве дефолтного конфига указываем файл в корне каталога прошивальщика — NDefault.INI.
Кстати, все эти операции могут восстановить твой любимый неисправный USB-гаджет путем перепрошивки с дефолтными значениями, главное — не накосячить с определением программы и контроллера. Ну а мы продолжаем. В появившемся окне переходим на вкладку DeviceConfig.

Менять здесь нужно совсем немного. В поле SN Method выбираем Static SN (иначе наш серийник будет пустой, как в noname-флешках). В данном случае мы задаем стойкий, как швейцарский банк, серийник, который не будет меняться от системы к системе.
В секции USB чуть ниже выставляем параметры, как у флешки‑оригинала:
VID → 13FE, PID → 4200, bdcDevice (номер ревизии) → PMAP
Имя производителя и продукта в нашем кейсе не используется, можем не менять. Однако в некоторых мажорных СЗИ они также применяются для формирования сигнатуры устройства. Если ты вообще не знаешь, какие параметры и куда вводить, то рекомендуем повторить шаги с первого и вот до этого места на флешке‑оригинале, скопировать все параметры в прошивальщик флешки‑фейка и продолжить чтение. Оригинал прошивать не нужно.
В поля SN Begin No., SN End No. и SN Mask забиваем серийник флешки‑оригинала: 070867948D560839.
Давай еще раз посмотрим на целевую строку:
Мы уже перенесли номер ревизии (PMAP) и серийник — цифровую часть в конце.
В секции Inquiry очищаем поле Vendor, в поле Product прописываем USB DISK 2.0. VID и PID мы поменяли, чтобы серийный номер (Device ID) был также идентичен оригиналу. В правом верхнем углу жмем Save и в главном окне нажимаем Start. Начинается перепрошивка флешки.

В нашем случае глубокая перепрошивка занимает 35 минут. А при использовании SMI MPTool [ ➜ ] можно задействовать более быстрый способ перепрошивки, когда с контроллера считывается CID-регистр (Card Identification; открывается через меню Debug → Read CID\Write CID), в нем по аналогии с редактированием в HEX вручную прописываются нужные данные (но опять же нужно установить контрольные байты длины, не забывать вбивать значения справа налево и так далее, что неудобно).

Шаг 5. После успешной (мы надеемся) перепрошивки остается проверить нашу фейковую флешку и узнать, насколько она хороша. Посмотрим детали с помощью ChipGenius и выделим отличия от оригинала:
Description: [H:]Запоминающее устройство для USB(USB DISK 2.0)
Device Type: Mass Storage Device
Protocal Version: USB 2.00
Current Speed: High Speed
Max Current: 500mA (у оригинала — 200 mA, можно поменять через свойство USB Power — см. позапрошлый скрин, но при занижении силы тока устройство может отказаться работать)
USB Device ID: VID = 13FE PID = 4200
Serial Number: 070867948D560839
Device Vendor: SMI Corporation (у оригинала отсутствует, меняется через панель USB → Vendor String)
Device Name: USB DISK (у оригинала USB DISK 2.0, меняется через панель USB → Product String)
Device Revision: 4200 (у оригинала 0100, данный параметр не изменяется)
Product Model: USB DISK 2.0
Product Revision: PMAP
. (остальное по контроллеру и так различается).
Теперь сравним DeviceID флешки‑оригинала, фейка до клонирования и фейка после прошивки.

Открыв свойства оборудования, проверяем путь к экземпляру‑клону:
Теперь вставляем фейк в тестовую машину с включенным белым списком для флешки‑оригинала.

Сработало! Флешка открывается и работает. Пробуем подключить оригинальную флешку вместе с фейком — облом, происходит конфликт, поэтому работает только первая воткнутая флешка. Так что подключай их по одной.
Для полного соответствия копии оригиналу рекомендуем изменить остальные параметры, отформатировать фейк, дать ему метку оригинала. И не забудь изменить VSN — как это сделать, ты уже знаешь.
Давай проверим фейк на надежном антивирусе — например, Kaspersky Endpoint Security 10.

Смотрим, что используется в качестве идентификатора флешки‑оригинала.

Это путь к экземпляру устройства, добавляем его в белый список, проверяем на какой‑нибудь левой флешке.

И вот тут мы словили хохму — флешка отображается в проводнике (особенность «Кошмарского»), проверяется антивирусом, но при попытке обратиться к ней получаем вот такое окно.

Но флешка‑фейк предсказуемо работает без каких‑либо проблем.
Схожим образом мы протестировали ряд коммерческих DLP-систем, СЗИ под Linux и нигде не встретили ни отпора, ни попыток воспрепятствовать атаке клонов.
И тут статью можно было бы закончить, но.
Часть 3. Извращения
Совершенно случайно оказалось, что в зависимости от СЗИ можно использовать и дополнительные методы обхода USB-блокировок.f
Путем форматирования флешку можно превратить в классическую дискету с возможностью чтения и записи, объемом всего в 1,38 Мбайт. Хватит, чтобы потихоньку перетащить на работу игрушку? Разве что по частям в несколько заходов. Вот как это сделать. Берем новую флешку, действуем по знакомому алгоритму. В этот раз нам попалась флешка Transcend 8 Gb USB 3.0 с контроллером SMI SM3267AB (возьмем прошивальщик для него — SMI MPTool V2.5.51 v7 P0920v1). Итак, прошивальщик, окно Settings, вкладка Multi-Lun Settings.

Устанавливаем галки на Floppy и форматировании, прошиваем. Результат выглядит примерно так.


Floppy-дисковод работает, зачет :).
Проверим на Каспере. По‑прежнему блокируется USB для любых флешек, кроме доверенных, но «дисковод» успешно подключается, можно читать‑писать информацию. Доступа к флешечному разделу по‑прежнему не предвидится.
Если сравнивать информацию о Floppy в Касперском с информацией по USB, то разница заключается только в типе устройства (Дискеты vs Съемные диски).
При включении блокировки дискет данный метод, конечно, не сработает.

Аналогичный подход, но теперь попробуем создать на флешке CD-раздел и предварительно записать на него образ из ISO-файла. Недостаток очевиден — можно только считывать инфу с CD-раздела, записать на флешку файлы ты уже не сможешь. Но запустить установщик любимой игрули — без проблем. Берем ту же самую флешку на контроллере SM3267AB и через SMI прошиваем CD-раздел. В разделе Multi-lun Setting выставляем галочку Static CDROM Size и указываем размер под твой ISO, который мы будем туда заливать.

На вкладке Main Flow Setting около галки с Make Auto Run задаем путь к ISO-образу, например с Kali Linux — или чем‑нибудь другим. После прошивки флешка отображается в проводнике как отдельный флеш‑накопитель и CD-привод. С CD-раздела можно читать, копировать файлы — все как при классическом монтировании ISO-образа.
Что же на это скажут наши блокировщики? В Касперском и других коммерческих решениях ситуация полностью аналогична случаю с дискетами: CD-раздел успешно подключен и готов к использованию.
Есть, кстати, готовые флешки, которые содержат CD-раздел с утилитами для подключения «закрытого» раздела — как, например, в Jet Flash Transcend 620. Выглядит он примерно как CD-раздел с программулиной + 2 USB-раздела — открытый и пока закрытый, до ввода пароля. Размер приватной области настраивается.


Так вот, при работе белого списка по USB-накопителям в Касперском (если CD-привод не заблокирован) такая флеха вполне себе монтирует CD-раздел — можно и запускать, и копировать проги с него. При попытке смонтировать защищенный раздел — отказ в доступе. Чтобы спастись от этой напасти, нужно заблокировать CD-привод, хотя в родителе устройства указан все тот же старый добрый USB-идентификатор, что странно. В Comodo возможность монтирования такого недоверенного носителя исключена в принципе. Почему? Вопрос к реализации СЗИ и механизмам организации белых списков.
В статье мы рассмотрели варианты формирования максимально правдоподобного клона флешки, который позволяет обходить всевозможные блокировки. В зависимости от степени замороченности, можно обойти почти любой белый список. Как нам видится, для гарантированной защиты от подмены USB можно было бы указывать в СЗИ конкретные модели флешек и заносить в белый список хеш от CID области, от комбинации VID + PID + Serial или добавлять хеш вывода ChipGenius (ну либо его части). Неплохо было бы добавлять в идентификационную информацию данные о модели контроллера девайса.
В связи с тем что мы знаем парочку операционных систем, которые в качестве значений для белого списка используют название производителя или иные подобные параметры, было бы здорово на уровне ОС контролировать подключаемые носители на предмет их подмены или несоответствия обычному (ожидаемому) поведению (например, можно сравнивать VSN/UUID и ловить отличия при одинаковом DeviceID).
Безопасникам мы рекомендуем полностью блокировать подключение дискет и дисков в ОС, чтобы исключить описанные варианты обхода защиты. Будем рады получить обратную связь в комментариях. Может быть, у читателей найдутся прикольные решения для защиты от клонов или анализа аномалий при подключении устройств.
Kaspersky: Операция с устройством запрещена, устройство в белом списке
Сегодня речь пойдёт об одной особенности работы Kaspersky Endpoint Security 11, которая не встречалась автору этой статьи в десятой версии KES. Вы можете получить сообщение «Операция с устройством запрещена» даже в том случае, если поместили устройство в белый список. При этом KES позволит вам работать с устройством. И это не баг. В чём же дело?
Итак, допустим, у нас есть съёмный диск, которым нам нужно пользоваться. Мы добавляем его в белый список в настройках компонента «Контроль устройств» в KES локально или через групповую политику Kaspersky Security Center и прописываем пользователей и/или группы пользователей, которым разрешено работать с устройством. Вроде, всё логично и правильно, и KES после таких действий позволит вам работать с этим съёмным диском из-под указанных учёток, но вы всё равно можете получить такое сообщение:

Уведомление о запрете операции с устройством.
Изучив текст сообщения в журнале событий Kaspersky Security Center, я приметил следующие строки:
![]()
Как видите, речь здесь идёт о пользователе NT AUTHORITY\система, т.е. о служебной учётке, через которую операционная система пытается «достучаться» до устройства. Так как в настройках контроля устройств эта учётная запись не прописана, KES не предоставляет ей доступ. Общение с технической поддержкой Лаборатории Касперского подтвердило эту версию. Хочу ещё раз отметить, что в предыдущих версиях KES я такого поведения программы не замечал.
Всё это говорит нам о том, что в настройках компонента «Контроль устройств» нам надо прописать пользователя NT AUTHORITY\система или NT AUTHORITY\SYSTEM.

При некоторых условиях доступ также придётся предоставить учётным записям NT AUTHORITY\NETWORK SERVICE и NT AUTHORITY\LOCAL SERVICE.
Как обойти блокировку флешек на компьютере

Чтобы менять максимальное количество параметров, требуется перепрошить контроллер флешки. Процедура эта сравнительно несложная, но опасная — в случае ошибки ты рискуешь сделать флешку неработоспособной (однако ошибка чаще всего возникает при неудачном выборе прошивки или прошивальщика).
Представим, что у тебя есть исправная флешка (которая работает в офисе без проблем), а также ты приобрел другую флешку — потенциальный клон. Если ты купишь флешку точно той же модели, то при некоторых обстоятельствах сможешь обойти СЗИ, в которых идет проверка только по VID и PID.
На практике лучше найти флешки, которые легче всего перепрошивать, например фирмы Silicon Power или Transcend с USB 3.0 — в них часто используется SMI-контроллер. Хотя в целом тебе могут попасться флешки с контроллерами AlcorMP, Phison и другие. Для них тоже есть прошивки.
Общий алгоритм прошивки девайса следующий:
- Выясни тип идентификатора, который используется для определения флешки в СЗИ, или используемые составляющие на основе данных флешки (опционально), запиши их для последующей подделки.
- Определи контроллер флешки.
- Подбери утилиту для прошивки, подходящую под конкретную версию контроллера.
- В прошивальщике задай необходимые параметры, идентичные оригинальной флешке.
- Прошей флешку‑клона и проверь ее работу. В случае неудачной прошивки — повтори шаги, начиная со второго. Если флешка окирпичилась, поступай аналогично.
Шаг 1. Так случилось, что на первой протестированной нами машине стоял антивирус Comodo с возможностью контроля устройств. Недолго думая, включаем блокировку для USB и добавляем флешку‑оригинал в исключение. Антивирь любезно показывает нам используемый идентификатор флешки.


Контроль устройств антивируса Comodo
В свойствах оборудования находим, что эта строка соответствует опции «Путь к экземпляру устройства». Запишем идентификатор как целевое значение, которому наша флешка‑фейк должна соответствовать:
На всякий случай запомним и DeviceID:
Бывает, СЗИ напрямую не показывают идентификатор (угадай почему), а определяют только некоторые свойства подключенного устройства. В таких случаях идентификатор обычно складывается из видимых полей и свойств. Для нас это непринципиально, поскольку, подгоняя данные фейка под оригинал, мы задействуем те же самые данные и формируем такой же идентификатор.
Шаг 2. Для определения контроллера флешки‑фейка воспользуемся прогой ChipGenius (ее можно скачать с сайта USBDev. Кстати, рекомендуем сайт как наиболее полезный русскоязычный ресурс по прошивке флешек. Можно воспользоваться аналогом — Flash Drive Information Extractor. Интерфейс программ простой — вставил флешку, получил результат — см. иллюстрацию ниже.

Результат выполнения программ определения контроллера
Сравни с выводом ChipGenius для нашего будущего фейка:
Итак, мы видим, что у нас контроллер семейства SMI (Silicon Motion) с номером SM3257ENBA. Теперь найдем прошивальщик для него!
Шаг 3. Хотя ChipGenius даже дает ссылку для прошивальщика, на сайте по этой ссылке все на китайском, поэтому проще скачать его с UsbDev. При этом обязательно в версии, поддерживающей наш контроллер SM3257ENBA. Для данного контроллера используются прошивальщики SMI MPTool и Dyna Mass Storage Production Tool. Нам больше по душе вторая (работает долго, но качественно и почти со всеми подвидами данных контроллеров). Находим нужную версию, качаем Dyna Mass Storage Production Tool, вставляем флешку‑фейк, запускаем прогу.
Шаг 4. Не пугайся, не все так сложно. Все прошивальщики имеют практически идентичный набор параметров, поэтому общие принципы и изменяемые параметры у всех схожи, независимо от бренда и модели контроллера. Убедись, что флешка появилась в программе.

Обнаружение флешки в Dyna Mass Storage Production Tool
В правой части жми надпись Settings, ввод пароля пропускаем нажатием Enter (в некоторых утилитах он тоже есть, обычно легко гуглится на форумах), в качестве дефолтного конфига указываем файл в корне каталога прошивальщика — NDefault.INI.
Кстати, все эти операции могут восстановить твой любимый неисправный USB-гаджет путем перепрошивки с дефолтными значениями, главное — не накосячить с определением программы и контроллера. Ну а мы продолжаем. В появившемся окне переходим на вкладку DeviceConfig.

Исходные параметры флешки в Dyna Mass Storage Production Tool
Менять здесь нужно совсем немного. В поле SN Method выбираем Static SN (иначе наш серийник будет пустой, как в noname-флешках). В данном случае мы задаем стойкий, как швейцарский банк, серийник, который не будет меняться от системы к системе.
В секции USB чуть ниже выставляем параметры, как у флешки‑оригинала:
Имя производителя и продукта в нашем кейсе не используется, можем не менять. Однако в некоторых мажорных СЗИ они также применяются для формирования сигнатуры устройства. Если ты вообще не знаешь, какие параметры и куда вводить, то рекомендуем повторить шаги с первого и вот до этого места на флешке‑оригинале, скопировать все параметры в прошивальщик флешки‑фейка и продолжить чтение. Оригинал прошивать не нужно.
В поля SN Begin No., SN End No. и SN Mask забиваем серийник флешки‑оригинала: 070867948D560839.
Давай еще раз посмотрим на целевую строку:
Мы уже перенесли номер ревизии (PMAP) и серийник — цифровую часть в конце.
В секции Inquiry очищаем поле Vendor, в поле Product прописываем USB DISK 2.0. VID и PID мы поменяли, чтобы серийный номер (Device ID) был также идентичен оригиналу. В правом верхнем углу жмем Save и в главном окне нажимаем Start. Начинается перепрошивка флешки.

Выставление параметров в Dyna Mass Storage Production Tool
В нашем случае глубокая перепрошивка занимает 35 минут. А при использовании SMI MPTool можно задействовать более быстрый способ перепрошивки, когда с контроллера считывается CID-регистр (Card Identification; открывается через меню Debug → Read CID\Write CID), в нем по аналогии с редактированием в HEX вручную прописываются нужные данные (но опять же нужно установить контрольные байты длины, не забывать вбивать значения справа налево и так далее, что неудобно).

Параметры флешки в программе SMI MPTool
Шаг 5. После успешной (мы надеемся) перепрошивки остается проверить нашу фейковую флешку и узнать, насколько она хороша. Посмотрим детали с помощью ChipGenius и выделим жирным отличия от оригинала:
Теперь сравним DeviceID флешки‑оригинала, фейка до клонирования и фейка после прошивки.

Проверка изменений на флешке‑клоне
Открыв свойства оборудования, проверяем путь к экземпляру‑клону:
Теперь вставляем фейк в тестовую машину с включенным белым списком для флешки‑оригинала.

Отработка подключения флешки антивирусом Comodo
Сработало! Флешка открывается и работает. Пробуем подключить оригинальную флешку вместе с фейком — облом, происходит конфликт, поэтому работает только первая воткнутая флешка. Так что подключай их по одной.
Для полного соответствия копии оригиналу рекомендуем изменить остальные параметры, отформатировать фейк, дать ему метку оригинала. И не забудь изменить VSN — как это сделать, ты уже знаешь.
Давай проверим фейк на надежном антивирусе — например, Kaspersky Endpoint Security 10.

Интерфейс контроля устройств Kaspersky Endpoint Security 10
Смотрим, что используется в качестве идентификатора флешки‑оригинала.

Идентификатор флешки в Kaspersky Endpoint Security 10
Это путь к экземпляру устройства, добавляем его в белый список, проверяем на какой‑нибудь левой флешке.

Сообщение о блокировке в Kaspersky Endpoint Security 10
И вот тут мы словили хохму — флешка отображается в проводнике (особенность «Кошмарского»), проверяется антивирусом, но при попытке обратиться к ней получаем вот такое окно.

Сообщение об отказе доступа к флешке
Но флешка‑фейк предсказуемо работает без каких‑либо проблем.
Схожим образом мы протестировали ряд коммерческих DLP-систем, СЗИ под Linux и нигде не встретили ни отпора, ни попыток воспрепятствовать атаке клонов.
И тут статью можно было бы закончить, но…
Другие методы обхода блокировки флешек
Совершенно случайно оказалось, что в зависимости от СЗИ можно использовать и дополнительные методы обхода USB-блокировок.
Обход блокировки с помощью дискеты
Путем форматирования флешку можно превратить в классическую дискету с возможностью чтения и записи, объемом всего в 1,38 Мбайт. Хватит, чтобы потихоньку перетащить на работу игрушку? Разве что по частям в несколько заходов. Вот как это сделать. Берем новую флешку, действуем по знакомому алгоритму. В этот раз нам попалась флешка Transcend 8 Gb USB 3.0 с контроллером SMI SM3267AB (возьмем прошивальщик для него — SMI MPTool V2.5.51 v7 P0920v1). Итак, прошивальщик, окно Settings, вкладка Multi-Lun Settings.

Форматирование флешки как дискеты
Устанавливаем галки на Floppy и форматировании, прошиваем. Результат выглядит примерно так.
обойти блокировку флешки
Прошивка флешки в роль дискеты
Floppy-дисковод работает, зачет :).
Проверим на Каспере. По‑прежнему блокируется USB для любых флешек, кроме доверенных, но «дисковод» успешно подключается, можно читать‑писать информацию. Доступа к флешечному разделу по‑прежнему не предвидится.
Если сравнивать информацию о Floppy в Касперском с информацией по USB, то разница заключается только в типе устройства (Дискеты vs Съемные диски).
При включении блокировки дискет данный метод, конечно, не сработает.

отключить блокировку флешки
Обход блокировки с помощью CD-привода
Аналогичный подход, но теперь попробуем создать на флешке CD-раздел и предварительно записать на него образ из ISO-файла. Недостаток очевиден — можно только считывать инфу с CD-раздела, записать на флешку файлы ты уже не сможешь. Но запустить установщик любимой игрули — без проблем. Берем ту же самую флешку на контроллере SM3267AB и через SMI прошиваем CD-раздел. В разделе Multi-lun Setting выставляем галочку Static CDROM Size и указываем размер под твой ISO, который мы будем туда заливать.

Прошивка флешки в роль CD-привода
На вкладке Main Flow Setting около галки с Make Auto Run задаем путь к ISO-образу, например с Kali Linux — или чем‑нибудь другим. После прошивки флешка отображается в проводнике как отдельный флеш‑накопитель и CD-привод. С CD-раздела можно читать, копировать файлы — все как при классическом монтировании ISO-образа.
Что же на это скажут наши блокировщики? В Касперском и других коммерческих решениях ситуация полностью аналогична случаю с дискетами: CD-раздел успешно подключен и готов к использованию.
Флешки-мутанты для обхода блокировок
Есть, кстати, готовые флешки, которые содержат CD-раздел с утилитами для подключения «закрытого» раздела — как, например, в Jet Flash Transcend 620. Выглядит он примерно как CD-раздел с программулиной + 2 USB-раздела — открытый и пока закрытый, до ввода пароля. Размер приватной области настраивается.
Пример флешки‑мутанта
Интерфейс программы JetFlash SecureDrive
Так вот, при работе белого списка по USB-накопителям в Касперском (если CD-привод не заблокирован) такая флеха вполне себе монтирует CD-раздел — можно и запускать, и копировать проги с него. При попытке смонтировать защищенный раздел — отказ в доступе. Чтобы спастись от этой напасти, нужно заблокировать CD-привод, хотя в родителе устройства указан все тот же старый добрый USB-идентификатор, что странно. В Comodo возможность монтирования такого недоверенного носителя исключена в принципе. Почему? Вопрос к реализации СЗИ и механизмам организации белых списков.
Итого
В статье мы рассмотрели варианты формирования максимально правдоподобного клона флешки, который позволяет обходить всевозможные блокировки. В зависимости от степени замороченности, можно обойти почти любой белый список. Как нам видится, для гарантированной защиты от подмены USB можно было бы указывать в СЗИ конкретные модели флешек и заносить в белый список хеш от CID области, от комбинации VID + PID + Serial или добавлять хеш вывода ChipGenius (ну либо его части). Неплохо было бы добавлять в идентификационную информацию данные о модели контроллера девайса.
В связи с тем что мы знаем парочку операционных систем, которые в качестве значений для белого списка используют название производителя или иные подобные параметры, было бы здорово на уровне ОС контролировать подключаемые носители на предмет их подмены или несоответствия обычному (ожидаемому) поведению (например, можно сравнивать VSN/UUID и ловить отличия при одинаковом DeviceID).
Безопасникам мы рекомендуем полностью блокировать подключение дискет и дисков в ОС, чтобы исключить описанные варианты обхода защиты. Будем рады получить обратную связь в комментариях. Может быть, у читателей найдутся прикольные решения для защиты от клонов или анализа аномалий при подключении устройств.
Антивирус блокирует мой USB: как исправить эту проблему в Windows 10

Использование стороннего антивирусного решения более чем рекомендуется, особенно если вы активный пользователь Windows 10, который постоянно пробует новые приложения и загружает различные материалы из Интернета. Только с правильными установленными антивирусными программами вы можете успешно защитить свои данные и вашу личность.
К сожалению, в большинстве случаев встроенной программы Защитника Windows может быть недостаточно, поскольку для вас подойдет более специализированная программная платформа.
В любом случае, хотя в большинстве ситуаций антивирусная программа защищает ваше устройство с Windows 10, в других случаях ее функциональность может стать довольно раздражающей. Примером в этом отношении является следующий сценарий: вы хотите использовать внешнее USB-устройство, поэтому, как обычно, вы подключаете его; но, как ни странно, устройство USB не распознается системой Windows 10 или, если оно есть, вы не можете получить к нему доступ. Хорошо, если это произойдет, проблема может быть вызвана вашим антивирусом, который блокирует внешнее USB-устройство .
Таким образом, если антивирус действительно блокирует USB-устройство, следуйте приведенным ниже рекомендациям и узнайте, как повторно включить USB-доступ в рамках встроенных настроек антивируса. Я попытался охватить шаги, которые следует выполнить для наиболее популярных антивирусных программ , которые в настоящее время доступны, хотя аналогичные процедуры можно применять практически к любому другому программному обеспечению безопасности, которое не включено в следующий список.
Как решить проблему «Антивирус блокирует USB»
1. Bitdefender
Bitdefender поставляется с отличными функциями, которые можно использовать для выбора способа управления устройствами USB антивирусом при каждом обнаружении нового соединения USB. Эта операция может быть выполнена с помощью функциональности политики сканирования устройства, как объяснено:
- Откройте Bitdefender.
- Перейдите в раздел «Политики» и выберите меню « Создать новую политику» — оно находится в левой части главной консоли управления Bitdefender.
- Дважды щелкните « Сканирование устройства» .
- Теперь из этого окна выберите способ обработки нового или существующего USB-соединения с антивирусом.
Вы также можете добавить исключения для определенного USB-устройства, если знаете, что хранящиеся там данные могут быть доверенными. Вот что вам нужно сделать:

- Запустите Bitdefender и выберите Защита .
- Оттуда нажмите на View Features .
- Зайдите в настройки и нажмите на исключения .
- Точно так же вы можете добавить исключение из сети и управлять тем, что делать с другими устройствами, подключенными к вашему устройству с Windows 10.
2. Касперский
В Kaspersky вы можете заблокировать или включить доступ к различным устройствам; эти настройки могут быть применены следующим образом:
- Откройте пользовательский интерфейс Kaspersky.
- С левой панели главного окна доступа Защита .
- Нажмите « Управление устройством» и выберите « Настройки» .
- Снова нажмите «Настройки» справа от поля « Включить управление устройством» .
- Оттуда вы можете выбрать, что включить или что заблокировать.
- Кроме того, вы можете добавить определенные исключения: выполните Настройки -> Дополнительно -> Угрозы и исключения -> Настроить правила исключения -> Добавить .
3. Аваст
- Вставьте USB-устройство в ваш компьютер.
- Запустите Avast на своем компьютере.
- На левой панели Avast нажмите Защита, а затем выберите Антивирус .
- На следующем экране выберите « Другие сканирования » и выберите « USB / DVD scan ».
- Оттуда вы можете настроить, как выполняется сканирование, и выбрать, требуется ли сканирование.
- Надеюсь, теперь вы можете снова включить USB-устройство, которое ранее было заблокировано вашей антивирусной программой.
4. Нортон
Если в Norton включена функция сканирования съемных носителей, антивирусная программа автоматически сканирует любое внешнее устройство, подключенное к вашему компьютеру. Итак, если вы считаете, что Norton блокирует USB, вы должны сначала отключить уже упомянутую функцию. Вы можете сделать это из Настройки -> Антивирус.
5. Авира
Вам необходимо добавить USB-устройство в белый список антивируса:
- Прежде всего, отключите USB-устройство от компьютера.
- Перезагрузите устройство с Windows 10.
- Повторно подключите USB-устройство к компьютеру.
- Avira спросит вас, что делать дальше — в раскрывающемся списке выберите опцию «Разрешить» и включите функцию «Всегда делать это для этого устройства».
- Нажмите OK и сохраните ваши изменения.
6. Защитник Windows
- Подключите ваше устройство USB.
- Запустите Защитник Windows на своем компьютере.
- В разделе « Параметры сканирования» выберите « Пользовательский» .
- Затем выберите Сканировать сейчас .
- Появится список, из которого вы можете выбрать, что сканировать.
- Вы можете выполнить сканирование устройства USB, чтобы убедиться, что вам не о чем беспокоиться.
- В конце вы сможете снова использовать USB-устройство.
Выводы
Там у вас есть это; таким образом, вы можете повторно включить доступ через USB, когда внешние устройства USB блокируются антивирусными программами. Помните, что самый простой способ получить доступ к внешнему устройству — временно отключить антивирусную защиту. Затем вы сможете использовать свое USB-устройство, хотя делать это следует только в том случае, если вы точно знаете, что все файлы с этого устройства не представляют угрозы безопасности.
Как уже отмечалось, если вы используете антивирусное программное обеспечение, отличное от уже рассмотренного, не паникуйте, поскольку вы можете использовать аналогичные шаги для получения того же результата.
Однако, если вы не можете найти правильные настройки в своем антивирусном инструменте, сообщите нам, и мы постараемся помочь вам как можно скорее.