Руткиты на основе встроенного ПО, хотя и все еще относительно редки, набирают популярность, потому что они дают злоумышленникам возможность поддерживать постоянное, трудно обнаруживаемое и трудноискоренимое присутствие в целевой сети.
Исследователи «Лаборатории Касперского» недавно обнаружили последний пример такой угрозы, скрытой глубоко в прошивке Unified Extensible Firmware Interface (UEFI) компьютера, находящегося у клиента. Вредоносный имплантат, получивший название MoonBounce, был внедрен в прошивку UEFI во флэш-памяти SPI на материнской плате зараженного компьютера, а не на жестком диске, как некоторые другие буткиты UEFI. По словам Касперского, это означало, что имплантат мог остаться в системе, даже если жесткий диск был отформатирован или заменен.
Имплантат был разработан для обеспечения возможности развертывания дополнительных вредоносных программ в скомпрометированной системе. Другие артефакты вредоносных программ в той же системе указывали на то, что MoonBounce использовался в рамках более широкой кампании кибершпионажа, которую исследователи «Лаборатории Касперского» смогли с высокой степенью достоверности приписать APT41, известной китайскоязычной группе продвинутых постоянных угроз (APT). Касперский обнаружил об угрозе в конце 2021 года и в частном порядке сообщил о ней клиентам своего сервиса APT.
«Мы решили обнародовать это вскоре после того, как мы считаем, что эти знания могут быть полезны сообществу», — говорит Марк Лехтик, старший исследователь безопасности в глобальной исследовательской и аналитической группе «Лаборатории Касперского» (GReAT). Цель состоит в том, чтобы позволить защитникам «как понять, как развивались атаки прошивки UEFI, так и [чтобы] позволить синим командам лучше защищаться от этого типа угроз».
Современные компьютеры используют прошивку UEFI в процессе загрузки. Интерфейс содержит информацию, которую компьютер использует для загрузки операционной системы, а это значит, что любой вредоносный код в нем будет выполнен до загрузки ОС. Этот факт сделал прошивку UEFI все более популярной мишенью для злоумышленников, стремящихся скрыть импланты от инструментов обнаружения вредоносных программ и обеспечить долгосрочное сохранение в зараженных системах.
Поставщик систем безопасности ESET обнаружил первый руткит на уровне встроенного ПО, получивший название LoJax — в 2018 году. Это вредоносное ПО, как и MoonBounce, было спрятано в прошивке UEFI на SPI flash. Он был обнаружен в системе, принадлежащей организации, на которую напала группа Sednit из России в рамках кампании против правительственных организаций в Восточной Европе и других регионах.
С тех пор исследователи безопасности обнаружили в дикой природе несколько подобных руткитов. MoonBounce — это третий общеизвестный случай имплантации вредоносной прошивки во флэш-память SPI. Два других — LoJax и МозаикаРегрессор, обнаруженный «Лабораторией Касперского» в 2020 году, использовался в кампании, нацеленной на дипломатические и неправительственные организации в Азии, Европе и Африке.
В дополнение к руткитам на основе встроенного программного обеспечения на флэш-памяти SPI исследователи обнаружили вредоносное ПО для компонентов UEFI в так называемом системном разделе EFI (ESP), обычно расположенном на жестком диске компьютера. Примеры таких руткитов включают FinSpy, очень запутанный инструмент наблюдения, о котором Касперский сообщил в сентябре прошлого года, и ESPectre, еще один имплант UEFI в ESP компьютера, который ESET сообщалось в октябре.
По словам Касперского, импланты в прошивке UEFI на SPI лучше скрыты, чем руткиты на основе прошивки на жестком диске. Их также труднее удалить по сравнению с руткитами уровня ESP, которые обычно можно удалить, переформатировав жесткий диск.
По словам Лехтика, MoonBounce более сложен, чем LoJax и MosaicRegressor, из-за очень тонкой природы изменений двоичного уровня, которые он вносит в безопасный компонент UEFI. Изменения вводят логику для загрузки вредоносного ПО во время запуска системы, сохраняя при этом нетронутой последовательность загрузки.
«Более того, он вносит изменения в компоненты последовательности загрузки только в памяти, что позволяет вредоносному коду проникать в операционную систему», — говорит Лехтик. Это означает, что он не оставляет следов на диске, что делает атаки более незаметными, чем его предшественники.
Лехтик говорит, что для того, чтобы вмешиваться в UEFI, акторам APT41 нужно было хорошо понимать последовательность загрузки UEFI и специфичную для поставщика реализацию микропрограммы, которую они атаковали. Кроме того, базовая аппаратная платформа должна была разрешать запись в прошивку — что может произойти, если в прошивке присутствуют уязвимости.
«В нашем случае у злоумышленников были обе предпосылки», — говорит Лехтик. «В частности, у них было полное представление о конкретной целевой прошивке, что говорит о том, что у них был постоянный доступ к скомпрометированной машине».
Борьба с угрозой
Растущая угроза атак на уровне прошивки — 83% организаций в опросе 2021 года говорится, что они столкнулись с одной из них — это подтолкнуло производителей микросхем и поставщиков оборудования и ОС к введению изменений для защиты своих технологий от угрозы. БЕЗОПАСНАЯ ЗАГРУЗКА является одним из примеров. Эта технология предназначена для обеспечения загрузки компьютера с использованием только надежных и подписанных загрузочных программ. Другие примеры включают Intel Сапоги для защиты от угрозы злоумышленников, вносящих несанкционированные изменения в загрузочное программное обеспечение и Модуль Trusted Platform Module (TPM) — технология, которой уже более 10 лет, для обеспечения целостности системы во время загрузки.
Лехтек говорит, что с MoonBounce такой механизм, как Secure Boot, будет бесполезен.
«Классическая безопасная загрузка не принимает во внимание компоненты уровня встроенного ПО при аутентификации компонентов в последовательности загрузки, — говорит он. «Сама MoonBounce не делает ничего, чтобы обойти этот механизм. Он просто не вносит никаких изменений в образы, проверяемые Secure Boot, а исправляет отражение этих образов в памяти после их загрузки».
Однако Boot Guard и TPM могли бы успешно противостоять модификациям MoonBounce на уровне прошивки, говорит Лехтик.