Динамическое изменение доступного пространства в SSD (для производительности). Синяя область скрыта от любых системных инструментов
Покупая новый SSD, нельзя быть уверенным, что на нём нет закладок. К сожалению, простое форматирование не спасёт, потому что зловред прописывается в скрытых областях накопителя (которые не форматируются штатными средствами).
Предположим, закладку ставят на новый смартфон, HDD или SSD во время его доставки к покупателю из интернет-магазина, то есть на почте.
Как устанавливаются аппаратные закладки в общем случае? Возьмём разновидность атаки на цепочку поставок, но в варианте с физическим лицом.
С точки зрения злоумышленника схема состоит из нескольких шагов:
- Наблюдение за жертвой
- Выбор времени для атаки
- Перехват посылки
- Установка закладки
Рассмотрим некоторые из этих шагов.
Перехват посылки
История показывает, что спецслужбы могут внедрять подобные закладки на этапе или производства, или доставки оборудования.
Если в двух словах, то оперативники отслеживают заказ, сделанный в интернет-магазине, вскрывают посылку в почтовом отделении, устанавливают софт и запечатывают посылку обратно. Клиент не ожидает, что новый SSD из Китая будет скомпрометирован на российской почте. Метод работает просто и эффективно.
Бэкдор можно также установить в скрытую область на диске, в прошивку, BIOS. Есть более продвинутые варианты с установкой аппаратных закладок на печатную плату, на PCI-шину и т. д. Подробнее см. здесь.
Аппаратная закладка COTTONMOUTH-1 на USB с радиопередатчиком HOWLERMONKEY, предоставляющая беспроводной мост к целевой сети, а также загрузки эксплоитов на целевой системе, есть версия для USB-клавиатуры, из презентации АНБ
Перезапись MBR на жёстком диске
Есть разные методы установки долговременных закладок на накопители. Во-первых, давным-давно используют метод перезаписи MBR и установки софта в HPA-область на HDD. В данном случае код исполняется до запуска операционной системы. Метод работает в различных ОС (Windows, FreeBSD, Linux, Solaris) c различными файловыми системами (FAT32, NTFS, EXT2, EXT3, UFS 1.0).
Например, десять лет назад в АНБ для этих целей использовался эксплоит SWAP, включающий две утилиты: ARKSTREAM перепрошивает BIOS, а утилита TWISTEDKILT записывает функциональную часть в HPA (Host Protected Area).
Эксплоит SWAP, из презентации АНБ
Долговременные закладки в скрытых областях SSD
Старые методы по установке бэкдоров сейчас приходится совершенствовать. Недавно их адаптировали для современных накопителей типа SSD, у которых своя специфика.
Дело в том, что производительность SSD сильно зависит от свободного места на диске (то есть объёма кэша). Пустые SSD работают гораздо быстрее, чем заполненные на 60–70%.
Поэтому некоторые производители пытаются динамически изменять эти параметры, чтобы добиться наилучшего соотношения производительности. В частности, Micron Technology динамически изменяет объём доступного места на диске (User Area). Так же поступают некоторые другие производители. Здесь область OP (Over-provisioning) по возможности увеличивается для достижения максимальной производительности.
Область OP обычно занимает от 7% до 25% диска и она невидима для операционной системы и любых приложений, включая антивирусы. В этом её преимущество для злоумышленника.
Когда пользователь запускает различные приложения, контроллер SSD автоматически регулирует это пространство в соответствии с рабочей нагрузкой, в зависимости от интенсивности записи или чтения.
Исследователи из Корейского университета в Сеуле смоделировали атаку, в которой хакер изменяет размер области OP с помощью менеджера микропрограммного обеспечения, расширяя область Invalid Data Area.
Многие производители SSD не затирают Invalid Data Area в целях экономии ресурсов. Это пространство остаётся заполненным данными пользователями в течение длительного времени. Исследователи отмечают, что побитовое считывание флэш-памяти NAND в процессе судебной экспертизы зачастую выявляет данные, которые не удалялись более шести месяцев. Это серьёзная уязвимость в безопасности SSD (утечка данных).
Во второй модели атаки область OP используется как секретное место, где злоумышленник прячет закладку, как показано на схеме внизу.
Пример внедрения зловреда в OP Area
Обнаружение закладки в области OP требует применения специализированных инструментов криминалистики.
Потенциально эффективной мерой защиты от внедрения вредоносного ПО в область OP может быть система мониторинга, которая в реальном времени проверяет соотношение допустимых и недопустимых данных внутри SSD.
Научная статья с описанием этой техники опубликована 20 декабря 2021 года в журнале IEEE Access.