Память снова в цене, причем буквально. За последний год цены подскочили так, что SSD от более-менее именитого производителя стал, скорее, предметом роскоши, чем «базовым минимумом». И в то же время на маркетплейсах можно найти сказочное изобилие: флешки известных брендов с огромным объемом продаются практически за бесценок. Кажется, здесь есть какой-то подвох…

Привет, меня зовут Денис Астафиев, я ведущий специалист аппаратных исследований в Бастионе. Конечно, про фейковые флешки писали уже не раз и на Хабре, и за его пределами, но по большей части рассматривая их со стороны потребителя: как вычислить контрафакт, как определить ее реальный объем и всё в этом же духе. Мне же более интересен другой подход: как недобросовестным производителям удалось достигнуть такого результата, и что они могут сделать, кроме изменения одного поля в конфигурации контроллера. И, как вы понимаете, был только один способ это узнать…

Вскрытие покажет?

Испытуемое устройство приехало ко мне достаточно быстро. Внешне к нему не подкопаешься: флешка определяется в системе, корпус покрыт похожей на реальную маркировкой, а в свойствах съемного носителя заявлен ровно терабайт.

Единственное, что может слегка насторожить, — с завода накопитель отформатирован в ExFAT. Возможно, не лучшее решение, но не нам судить.
Единственное, что может слегка насторожить, — с завода накопитель отформатирован в ExFAT. Возможно, не лучшее решение, но не нам судить.

Получается, нас нигде не обманули, так?

Очевидно, эта иллюзия рушится после первого же теста — скорость записи никак не соответствует заявленному USB 3.0.

Копирование самого простого файла занимает неприличное количество времени.
Копирование самого простого файла занимает неприличное количество времени.

Увидев, что импровизированными тестами тут не обойдешься, я незамедлительно перекинул флешку в ПК на Linux и прогнал через тесты из пакета f3 — Fight Flash Fraud (на macOS f3 идет в сильно урезанном виде).

И действительно, подтвердились худшие опасения — реально доступного места на ней всего около одного мегабайта.

Сами понимаете, после такого исследовательский интерес зажегся во мне с новой силой. А потому с использованием подручного инструмента флеш-накопитель был нещадно разорван на отдельные составляющие.

Внутри помимо пластика, который занимает не менее 80% объема, был обнаружен скромный набор из пары микросхем и обвязки. А где же терабайт? Его тут никогда и не было — единственный чип, который может хранить в себе данные, оказался SPI-флешкой на 16 Мбит.

Что ж, негусто… Обычно в подобные экземпляры ставят NAND-память хотя бы на пару гигабайт, но нам, видимо, повезло в крупном размере, и вместо хоть мало-мальски юзабельного устройства нам досталась комплектуха, продающаяся на развес. В общем, саму флешку можно использовать лишь как брелок.

Конечно, ради академического интереса память была выпаяна, сдамплена и изучена (адаптер USON8 4x3, чип GD25LQ16, если кто-то решит повторить эксперимент). Но информация в ней не отличается от того, что мы уже видели раньше:

Field

Value

bLength

0x12 / 18

bDescriptorType

0x01 / DEVICE

bcdUSB

0x0200 / USB 2.00

bDeviceClass

0x00 / class defined per interface

bDeviceSubClass

0x00

bDeviceProtocol

0x00

bMaxPacketSize0

64

idVendor

0x2013

idProduct

0x0917

bcdDevice

0x0000

Index

Offset

Raw descriptor bytes

Display string

0

0x000084

04 03 09 04

English (United States), LANGID 0x0409

1

0x000088

12 03 54 00 35 00 00 00 00 00 00 00 00 00 00 00 00 00

T5

2

0x00009a

22 03 46 00 38 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

F8

3

0x0000bc

22 03 31 00 31 00 31 00 30 00 30 00 30 00 35 00 38 00 37 00 35 00 38 00 00 00 00 00 00 00 00 00 00 00

11100058758

Куда пропадают файлы

Конечно, у неискушенного читателя появится закономерный вопрос: «А каким же образом сюда можно копировать крупные файлы? Да еще и так, что они отображаются в проводнике?».

Всё дело в самом принципе устройства файловой системы. Если грубо, то под ее капотом — таблица, в которой указано, в каком блоке хранится та или иная информация. При этом файловая система не проверяет реальное наличие данных по указанному адресу. Кстати, а почему бы не продемонстрировать это на примере?

Запишем на флешку набитый нулями тестовый файл speedtest.bin, а следом запишем картинку. В результате новый файл неожиданно тоже оказывается занулен.  

В то время как оригинальный файл выглядит вот так:

В нашем случае устройство лишь делает вид, что произвело запись. Но вообще, так как такое поведение является недокументированным, произойти может всё что угодно: простая перезапись «по кругу», потеря данных, запись без фактической записи и так далее. Результат у этого всего один — данные будут утеряны.

Собираем свой аналог

Раз весь фокус в прошивке, попробуем воспроизвести этот эффект в лабораторных условиях. Для этого возьмем:

  • GreatFET One — программируемую плату для работы с USB;

  • библиотеку facedancer, которая поднимает USB-устройство прямо из Python.

Ставим окружение:

python3 -m venv ~/venvs/greatfet
source ~/venvs/greatfet/bin/activate
pip install --upgrade greatfet facedancer

Проверяем соединение с GreatFET One:

greatfet info

Подготавливаем образ диска нужного объема.

mkdir -p ~/greatfet-1tb
cd ~/greatfet-1tb
truncate -s 1000000000000 fake-1tb.img
ls -lh fake-1tb.img
du -h fake-1tb.img

Отдельно отмечу: анонсированный объем — 1 ТБ, в то время как фактический объем образа составляет ноль байт.

Теперь берем готовый пример эмуляции mass storage из facedancer и запускаем его на нашем образе:

curl -L -o mass-storage.py https://raw.githubusercontent.com/greatscottgadgets/facedancer/main/examples/mass-storage.py
export BACKEND=greatfet
python3 mass-storage.py fake-1tb.img

Подключаем target-порт платы к компьютеру — и в проводнике появляется диск на терабайт, с которого даже что-то читается (медленно, эмуляция всё-таки).

В окне скрипта видно весь USB-обмен между устройствами.

Кстати, а почему мошенники подделывают именно терабайт, а не сразу петабайт? Чего мелочиться? Похоже, дело в том, что для обмена сообщениями используются SCSI-команды, и если для дисков до ~2 ТБ хватает команды READ CAPACITY(10), то для дисков большего размера требуется READ CAPACITY(16), где нужен уже другой размер ответа. Соответственно, приходится переписывать ПО и использовать другие компоненты, что экономически невыгодно.

Что на самом деле мы купили

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

Но ладно бы это — потеря пары сотен рублей, конечно, неприятна, но не критична. Но что, если обычная флешка может нести в себе чуть более «полезный» функционал?

Конечно, все мы помним доклад BadUSB — On Accessories that Turn Evil, представленный на BlackHat 2014, который, по сути, и положил начало знаменитой одноименной атаке. Тогда исследователям удалось перешить Phison 2251-03 — один из самых массовых контроллеров для флеш-накопителей по всему миру, заставив его исполнять команды подобно клавиатуре. Конечно, в нашем случае это не особо применимо, да и сам контроллер опознать мне не удалось ввиду отсутствия даже намека на информативность в маркировке, но пару реальных примеров таких атак найти можно:

  • Best Buy, 2008. Цифровые фоторамки собственной марки Insignia еще на этапе производства оказались заражены трояном Mocmex — тот умел глушить больше сотни антивирусов и тянуть файлы из сети. Те же зараженные рамки всплывали в Sam's Club, Target и Costco.

  • IBM, 2017. Клиенты IBM вместе с системами хранения Storwize получили установочные флешки, зараженные червем W32.Faedevour!inf. Все флешки были с одним серийником — 01AC585. Как зловред на них попал, в IBM так и не объяснили, а пострадавшим советовали флешку физически уничтожить.

  • Силы самообороны Японии, 2024–2025. Почти год (с марта 2024-го) пользовались поддельными китайскими флешками, у которых вместо нормальной памяти стояли дешевые microSD-карты, — и часть из них несла вредонос, связанный с китайской APT, срабатывающий при подключении. Флешки продавались на маркетплейсах за полцены, антивирус их даже не проверял (их просто не было в списке на сканирование). Обнаружили это только в феврале 2025-го — за это время вредоносное ПО уже успело побывать на не менее чем полусотне ПК, часть из которых работала с закрытыми секретными системами.

Конечно, можно возразить: кто будет охотиться за обычными пользователями тех же маркетплейсов? И да, сообщения о подобных инцидентах достаточно редки, но BadUSB никогда и не был сильно таргетированной атакой, поэтому кто знает, что вы подключите к своему ПК завтра — обычный флеш-накопитель или незаметный бэкдор?


PURP — Telegram-канал, где кибербезопасность раскрывается с обеих сторон баррикад

t.me/purp_sec — инсайды и инсайты из мира этичного хакинга и бизнес-ориентированной защиты от специалистов Бастиона

Комментарии (5)


  1. atpshnik
    18.08.2026 07:28

    Что удивительно, меньшего объема продают рабочие. Надо было старую японскую магнитолу проверить. Под рукой на 32Гб была - с ней не работала. Заказал такую на 16, предполагая что будет тыква. Но нет, музыка скопировалась и проигрывалась с неё.


    1. ShmelX
      18.08.2026 07:28

      На 16-32 Гб, наверно просто не имеет смысл фейки делать.


  1. Javian
    18.08.2026 07:28

    был нещадно разорван на отдельные составляющие.

    Можно было постараться и просто вырвать из корпуса. Как-то в таком корпусе оригинальный Kingston 16Гб вытащил - смотреть внутри особо не на что.


    1. nord-husky Автор
      18.08.2026 07:28

      Естественно, сначала пытался просто вытащить, но плата сидела слишком плотно, да и ухватиться было особо не за что.


  1. CitizenOfDreams
    18.08.2026 07:28

    многочисленные аналоги в таком же исполнении и с тысячами фейковых хвалебных отзывов по-прежнему продаются.

    Ну почему обязательно фейковых? "Флешка пришла, ещё не распаковывал, 5 звёзд" - это вполне настоящий отзыв. Идиотский и бесполезный, но настоящий. Ну или "Воткнул флешку, компьютер показал 1 терабайт, всё в порядке".