Что может быть хуже успешной атаки шифровальщика-вымогателя на вашу компанию? Только инцидент, в котором страдают клиенты организации. Именно это произошло с крупным тайваньским производителем ноутбуков, видеокарт и материнских плат, компанией MSI. В начале апреля стало известно, что компанию атаковала новая ransomware-группировка Money Message, чуть позже вымогатели опубликовали в даркнете часть украденной информации, а уже в мае исследователи обнаружили внутри утечки самую неприятную ее часть — приватные ключи для подписи прошивок и ключи Intel Boot Guard. Сама MSI утечку признала, но информацией делилась крайне скупо и ключи не упомянула вообще. Мы постараемся дать чуть больше контекста.
Что такое ключи Boot Guard и как они защищают компьютер
Еще до того, как на компьютере загружается операционная система, он выполняет много подготовительных операций по инструкциям из чипа на материнской плате. Раньше этот механизм назывался BIOS, но затем ему на смену пришла расширяемая архитектура UEFI. Код UEFI является частью прошивки устройства, но дополнительные модули также могут загружаться со специального раздела жесткого диска. Дальше UEFI загружает непосредственно операционную систему. Если злоумышленники модифицируют UEFI, то операционная система, пользовательские приложения и все системы защиты будут загружаться после вредоносного кода, под его контролем. Атакующие смогут обходить все последующие слои защиты, такие как шифрование дисков (Bitlocker), контролируемая загрузка (Secure boot) и системы защиты уровня ОС, например антивирусы и EDR.
Такие угрозы называются имплантами уровня BIOS (иногда еще «аппаратными буткитами«), и их крайне сложно обнаружить, а избавиться от них — еще сложнее. Даже замена жесткого диска на абсолютно новый не избавит от вредоносного ПО.
Чтобы максимально затруднить злоумышленникам создание таких опасных угроз, производители компьютеров и ОС разработали целый ряд защитных мер. Во-первых, чтобы обновить прошивку и записать что-то в UEFI, нужно использовать приложение, подписанное производителем. Модуль Intel BIOS Guard запрещает обновление UEFI из недоверенных приложений и неподписанными прошивками. Во-вторых, существует механизм аппаратной верификации Boot Guard. Эта технология проверяет подпись стартовой части UEFI (IBB, Initial Boot Block) и прекращает загрузку компьютера, если прошивка оказалась модифицирована. Криптографические ключи Boot Guard, при помощи которых проверяются эти средства защиты, записаны в специальную память с одноразовой записью, то есть они не могут быть стерты или перезаписаны. Это означает, что их невозможно подделать или подменить. Однако и отозвать их, в случае если ключи будут скомпрометированы, также не получится!
Чем опасна утечка ключей
Утечка ключей, используемых для подписи прошивок, позволит злоумышленникам создавать утилиты обновления и вредоносные прошивки, которые будут успешно проходить проверки и смогут быть использованы для обновления микропрограмм на материнских платах MSI. Эти ключи могут быть отозваны, поэтому при аккуратном применении легитимных обновлений спустя некоторое время (впрочем, это месяцы и годы!) проблема станет неактуальна. Хуже дело обстоит с ключами Boot Guard, поскольку их отозвать невозможно. Более того, по информации Binarly, эти ключи применимы к некоторым продуктам других производителей, не только MSI. Для всех продуктов, где используются эти ключи, нарушается цепочка доверия Secure boot, и все, что остается владельцам устройств, — усилить сторонние меры защиты и использовать их в таком режиме до конца эксплуатации продуктов.
Что делать пользователям устройств MSI
В первую очередь нужно уточнить, подвержены ли ваши компьютеры угрозе. Если у вас компьютер или ноутбук фирмы MSI, то угроза актуальна, но даже в компьютерах других фирм могут быть материнские платы MSI. Уточнить это можно, например, так: в строке поиска Windows набрать «System Information», запустить одноименное приложение, пролистать закладку «System summary» до строк «Motherboard manufacturer» или «BaseBoard manufacturer». Если там написано MSI или Micro-Star International — угроза актуальна.
Отметим, что MSI выпускает сотни продуктов, и утекшие ключи подойдут не для всех. Самый длинный список подверженных угрозе продуктов встретился нам здесь, но мы не можем быть уверены в его полноте и точности. Лучше соблюдать повышенную осторожность и предполагать, что любые текущие платы MSI могут стать целью атаки.
Всем, для кого угроза актуальна, нужно соблюдать предельную внимательность при обновлениях фирменных утилит, драйверов и прошивок. Загружать все это можно исключительно с официального сайта https://www.msi.com/, вводя его адрес в браузер вручную и не переходя по ссылкам из писем, сообщений в мессенджерах или с других сайтов. При этом мы рекомендуем следить за обновлениями на сайте производителя и не игнорировать их. Весьма возможно, что часть утекших ключей MSI удастся отозвать или заблокировать их использование иными средствами.
В дополнение к этому постарайтесь не работать на компьютере MSI с правами администратора и убедитесь, что он оснащен полноценной защитой от фишинга и вредоносных программ.
Что делать IT-администраторам
Опасность UEFI-имплантов, которые можно воплотить на базе утечки MSI, в какой-то мере компенсируется сложностью их инсталляции — для этого нужен административный доступ к компьютеру и набор весьма характерных приложений для обновления прошивок. Таким образом, проблему можно смягчить, запретив запуск соответствующих приложений на уровне групповых политик, а также убедившись, что на всех компьютерах организации строго соблюдается принцип минимальных привилегий. Тем не менее в будущем не исключено появление специализированных хакерских инструментов, которые будут использовать украденные ключи и достаточно сложную обфускацию для скрытого обновления прошивки. Для снижения этого риска можно поэкспериментировать с детектированием утекших ключей на компьютерах организации, хотя эта рекомендация скорее подойдет компаниям, в ИБ-службах которых есть охотники на угрозы.
Разумеется, смягчить проблему помогут и общие рецепты: комплексная защита сети и конечных точек в ней, своевременное обновление бизнес-приложений и системная политика патч-менеджмента в целом.
Что делать разработчикам
Пример MSI показывает, что хранение секретов (особенно трудных в ротации) на компьютерах прямо рядом с кодом или внутри кода, который их использует, является неприемлемой практикой с точки зрения ИБ и DevSecOps.
Существуют специализированные решения для централизованного и управляемого хранения секретов, например HashiCorp Vault, но даже маленькие разработчики могут себе позволить простую систему защиты наподобие зашифрованного хранилища на съемном носителе, которое подключается только на время публикации приложения.
Что до компаний масштаба MSI, то у них конфиденциальные данные, такие как ключи подписи приложений и драйверов, а тем более ключи подписи прошивок, должны храниться на специализированных аппаратных устройствах для генерации подписи (HSM) или хотя бы в особом охраняемом периметре, на компьютерах, полностью изолированных от остальной сети.