Стелс-USB с открытым исходным кодом скрывает зашифрованный раздел за 8-гигабайтным диском-обманкой

Phantom Drive Usb-флешка скрытый раздел Aes-256 Open-Source Ch569 tomshardware.com

Не дайте себя обмануть: этот USB выглядит как обычный накопитель на 8 ГБ, но внутри скрывает раздел с AES-256. Создайте текстовый файл с паролем — прошивка перехватит его, не записав на карту, и разблокирует тайный раздел. Идеально для защиты данных от принудительного досмотра.

Снаружи Phantom Drive от Rootkit Labs выглядит как скучная старая USB-флешка. У него классический дешёвый пластиковый вид, который никогда не заставит усомниться в его предназначении; при подключении он определяется просто как накопитель на 8 ГБ. Однако под капотом Phantom Drive работает на microSD-карте, которая разблокируется только тогда, когда вы создаёте новый текстовый файл, после чего монтируется скрытый раздел с шифрованием AES-256. Он создан для ситуаций и мест, где вас могут заставить раскрыть содержимое устройства хранения.
Phantom Drive построен на микроконтроллере CH569, в котором есть множество аппаратных блоков: в этом проекте используются блоки USB3, SD/eMMC и AES. На самой печатной плате нет NAND-чипов из-за продолжающегося дефицита компонентов. Вместо этого Phantom Drive использует обычную microSD-карту (которую вы предоставляете сами; в комплекте её нет) и для 8-гигабайтного раздела-приманки, и для скрытого раздела. Создатель говорит, что выпустит версию с eMMC-модулями, когда цены упадут.
Конечно, если кто-то вскроет накопитель, он сможет физически вытащить SD-карту. Но это не будет явной уликой, ведь многие дешёвые USB-флешки работают на microSD-картах, да и SD-адаптеры тоже распространены. В любом случае готовое устройство изнутри выглядит довольно просто: USB-порт, два понижающих преобразователя напряжения, кнопка обновления прошивки, microSD-карта, тестовые точки UART и вспомогательные компоненты. Теперь в игру вступает кастомная прошивка.
Весь смысл здесь — в перехвате. Прошивка не знает, что с её помощью обрабатываются передачи файлов; она просто читает необработанные пакеты данных, передаваемые по шине USB, как есть. Она написана так, чтобы всегда искать строку «password»: как только вы создаёте файл unlock.txt с содержимым «password:xyz», она обнаруживает часть «xyz» и копирует её в SRAM, одновременно перезаписывая необработанные данные нулями до того, как они будут записаны на SD-карту. Операционная система считает, что новый файл создан, но прошивка перехватила его на полпути и не отправила на физические ячейки памяти практически ничего.
Прошивка использует уникальный внутренний аппаратный идентификатор микроконтроллера в качестве соли, объединяет его с только что введённым паролем и прогоняет эту пару через PBKDF2-HMAC-SHA-256 100 000 раз (можно также выбрать 600 000 раз) для создания ключа. Каждый прогон вызывает намеренную задержку в 2–3 секунды, чтобы затруднить атаки перебором, пытающиеся подобрать пароль. Ключ используется для разблокировки и блокировки скрытого раздела, и поскольку он привязан к самому кремнию, установка SD-карты в другой Phantom Drive не разблокирует его.
Даже если попытаться получить доступ к карте напрямую через слот для microSD, скрытый раздел останется невидимым, а 8-гигабайтная «приманка» будет выглядеть как повреждённый раздел. Создатель также предусмотрел возможность самостоятельно перекомпилировать прошивку для подделки конкретных идентификаторов производителя, чтобы USB определялся как устройство другого бренда. Можно заставить Phantom Drive притворяться на уровне аппаратного протокола дешёвой флешкой Kingston DataTraveler на 16 ГБ, и тогда ни одно сканирующее ПО не пометит его как нечто большее, чем обычный USB-накопитель.
Впрочем, для экстренных случаев, например при физическом повреждении платы, есть Linux-инструменты на C, с помощью которых можно восстановить данные. Скорости передачи также сильно ограничены, поскольку проект построен на USB 2: 20 МБ/с при чтении и 9 МБ/с при записи в режиме AES-CTR. В режиме AES-XTS скорости падают до 10 МБ/с при чтении и 6 МБ/с при записи, но по крайней мере вы можете выбирать между этими режимами в зависимости от потребностей.
Вы можете купить Phantom Drive у Rootkit Labs за 50 долларов, но можете собрать его и самостоятельно, ведь это проект с открытым исходным кодом. Готовое устройство поставляется с двумя дополнительными корпусами, потому что контакты изнашиваются и быстро ломаются. Кроме того, репозиторий на GitHub содержит все ресурсы: файлы разводки печатной платы и схемы, спецификацию BOM для каждой детали, кастомную прошивку и связанные с ней инструменты.
Создатель Phantom Drive Райан Уокер объясняет цель проекта как утилитарную, так и политическую. Он построен полностью на открытом программном обеспечении и из недорогих легкодоступных компонентов. Автор хотел создать нечто, способное «проскользнуть мимо представителей авторитарных правительств, коррумпированных полицейских и всех остальных, кто не уважает базовые права на шифрование».

Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.

В тренде:


Похожие новости: