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

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

Получается, нас нигде не обманули, так?
Очевидно, эта иллюзия рушится после первого же теста — скорость записи никак не соответствует заявленному 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)

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

nord-husky Автор
18.08.2026 07:28Естественно, сначала пытался просто вытащить, но плата сидела слишком плотно, да и ухватиться было особо не за что.

CitizenOfDreams
18.08.2026 07:28многочисленные аналоги в таком же исполнении и с тысячами фейковых хвалебных отзывов по-прежнему продаются.
Ну почему обязательно фейковых? "Флешка пришла, ещё не распаковывал, 5 звёзд" - это вполне настоящий отзыв. Идиотский и бесполезный, но настоящий. Ну или "Воткнул флешку, компьютер показал 1 терабайт, всё в порядке".
atpshnik
Что удивительно, меньшего объема продают рабочие. Надо было старую японскую магнитолу проверить. Под рукой на 32Гб была - с ней не работала. Заказал такую на 16, предполагая что будет тыква. Но нет, музыка скопировалась и проигрывалась с неё.
ShmelX
На 16-32 Гб, наверно просто не имеет смысл фейки делать.