На прошлой неделе исследователи из университетов Бельгии, Германии и Великобритании продемонстрировали необычную аппаратную атаку, эксплуатирующую уязвимость в процессорах AMD. Хотя это и сложная атака, при некоторых условиях она может представлять интерес, так как позволяет обойти новейшие средства защиты данных при использовании виртуализации.
Практическая реализация атаки предполагает модификацию так называемого чипа SPD на модуле оперативной памяти, в котором прописаны параметры этого модуля. Таким образом атакующие могут сообщить процессору, что объем планки памяти в два раза больше, чем на самом деле, например, 32 гигабайта вместо 16. Таким образом можно перенаправить поток данных от «защищенной» виртуальной ОС в руки потенциального злоумышленника.
Демонстрация атаки показана на видео:
Здесь показана работа виртуальной машины, защищенной с помощью технологии AMD SEV-SNP (Secure Encrypted Virtualization-Secure Nested Paging). Технология SEV предполагает шифрование памяти виртуальных машин, которым занимается специальный «защищенный» модуль в составе процессора AMD. SNP — дополнение к SEV, которое обеспечивает проверку целостности данных виртуальных машин и может определить попытку их взлома. В демонстрации же показано, как с помощью атаки BadRAM злоумышленник может читать данные из максимально защищенной памяти виртуальной системы. Исследователи смогли обойти не только шифрование данных, но и проверку целостности.
Все это стало возможно после довольно простого перепрограммирования SPD-чипа на модуле памяти, в результате которого чип сообщает процессору ложные данные об объеме, — в два раза больше, чем есть на самом деле. Это создает интересную ситуацию, когда две разных виртуальных области памяти соответствуют одной физической ячейке.
Естественно, на уровне ядра системы (все эксперименты проводились с ОС на базе Linux) нужно запретить запись любых данных в этот модуль памяти, кроме интересующих нас процессов. Большая часть работы посвящена достаточно сложному механизму подмены областей памяти, используемых защищенной виртуальной системой, так, чтобы они соответствовали реальным физическим ячейкам модифицированного модуля памяти. Была создана ситуация, когда к одной физической ячейке имеет доступ и (скомпрометированный) хост, и виртуальная ОС. Что позволяет читать данные из защищенной памяти виртуальной системы.
Перезапись данных в SPD возможна с помощью микрокомпьютера Raspberry Pi Pico. После модификации данных физический доступ к компьютеру или серверу больше не требуется, дальнейшие этапы атаки происходят полностью в софте. Интересно, что в двух протестированных модулях памяти базовая конфигурация не была заблокирована, что в теории открывает возможность полностью программной атаки. Требующей, впрочем, максимальных прав в системе.
Атака BadRAM ломает одну из реализаций концепции Trusted Execution Environment. TEE так или иначе позволяет защищать данные и вычисления даже в условиях «враждебного» окружения. Типичная задача, решаемая с помощью TEE, — это, например, защищенное проведение платежей с мобильного телефона, в условиях, когда сам телефон может быть заражен вредоносной программой либо намеренно взломан владельцем для похищения платежной информации. В случае виртуализации аналогичным образом речь идет о защите данных виртуальных систем, когда нельзя доверять «хосту». В таком сценарии и физическая модификация модулей памяти вполне может быть допустимым вариантом развития событий.
Преимуществом атаки BadRAM является дешевизна. Да, провести ее с реальным «полезным» результатом достаточно сложно, но для этого потребуется оборудование общей стоимостью долларов десять. Это можно сравнить с другой атакой на TEE 2020 года, где для доступа к защищенным областям памяти потребовалось специальное оборудование для перехвата данных, передаваемых на модуль памяти в режиме реального времени. Стоила такая система примерно 170 тысяч долларов.
В ответ на исследование компания AMD выпустила обновление для серверных процессоров серии EPYC третьего и четвертого поколений, закрывающее уязвимость. Примечательно, что аналогичная атака была протестирована и на процессорах Intel, но там ее не удалось провести. Дело в том, что системы защиты Intel не доверяют в том числе и данным из чипа SPD, что делает эту конкретную атаку невозможной.
Вышли еще три публикации экспертов «Лаборатории Касперского» в рамках отчета по итогам 2024 года. Это общая статистика за год, прогнозы по развитию теневого рынка и угроз из даркнета, а также обзор двух крупных трендов 2024 года в корпоративной безопасности — глобальных сбоев в работе IT-инфраструктуры и атак на цепочки поставок.
Microsoft 10 декабря выпустила патч для 70 уязвимостей, включая проблему класса zero day в подсистеме Windows Common Log File System. Проблема в CLFS с идентификатором CVE-2024-49138 получила рейтинг 7,8 балла по шкале CVSS и может сравнительно легко эксплуатироваться для получения наивысших привилегий в системе.
Агентство по информационной безопасности в Германии (BSI) заблокировало путем перехвата DNS-записей работу троянской программы BadBox, которая часто оказывается «вшитой» в дешевые Android-устройства и занимается кражей данных.
Критическая уязвимость обнаружена во фреймворке Apache Struts 2.
В феврале следующего года разработчики браузера Firefox планируют избавиться от фичи Do Not Track, которая, по идее, предотвращает отслеживание пользователей при посещении веб-сайтов. Причина отказа от функции очевидная — на пожелания пользователя сохранять приватность никто не обращает внимания. А в некоторых случаях отслеживание активности пользователей даже усиливается, если веб-сайт видит, что флаг Do Not Track поднят.
Новая порция критических уязвимостей (две с рейтингом 9,1 балла, одна десятибалльная) закрыта в решениях компании Ivanti.
Практическая реализация атаки предполагает модификацию так называемого чипа SPD на модуле оперативной памяти, в котором прописаны параметры этого модуля. Таким образом атакующие могут сообщить процессору, что объем планки памяти в два раза больше, чем на самом деле, например, 32 гигабайта вместо 16. Таким образом можно перенаправить поток данных от «защищенной» виртуальной ОС в руки потенциального злоумышленника.
Демонстрация атаки показана на видео:
Здесь показана работа виртуальной машины, защищенной с помощью технологии AMD SEV-SNP (Secure Encrypted Virtualization-Secure Nested Paging). Технология SEV предполагает шифрование памяти виртуальных машин, которым занимается специальный «защищенный» модуль в составе процессора AMD. SNP — дополнение к SEV, которое обеспечивает проверку целостности данных виртуальных машин и может определить попытку их взлома. В демонстрации же показано, как с помощью атаки BadRAM злоумышленник может читать данные из максимально защищенной памяти виртуальной системы. Исследователи смогли обойти не только шифрование данных, но и проверку целостности.
Все это стало возможно после довольно простого перепрограммирования SPD-чипа на модуле памяти, в результате которого чип сообщает процессору ложные данные об объеме, — в два раза больше, чем есть на самом деле. Это создает интересную ситуацию, когда две разных виртуальных области памяти соответствуют одной физической ячейке.
Естественно, на уровне ядра системы (все эксперименты проводились с ОС на базе Linux) нужно запретить запись любых данных в этот модуль памяти, кроме интересующих нас процессов. Большая часть работы посвящена достаточно сложному механизму подмены областей памяти, используемых защищенной виртуальной системой, так, чтобы они соответствовали реальным физическим ячейкам модифицированного модуля памяти. Была создана ситуация, когда к одной физической ячейке имеет доступ и (скомпрометированный) хост, и виртуальная ОС. Что позволяет читать данные из защищенной памяти виртуальной системы.
Перезапись данных в SPD возможна с помощью микрокомпьютера Raspberry Pi Pico. После модификации данных физический доступ к компьютеру или серверу больше не требуется, дальнейшие этапы атаки происходят полностью в софте. Интересно, что в двух протестированных модулях памяти базовая конфигурация не была заблокирована, что в теории открывает возможность полностью программной атаки. Требующей, впрочем, максимальных прав в системе.
Атака BadRAM ломает одну из реализаций концепции Trusted Execution Environment. TEE так или иначе позволяет защищать данные и вычисления даже в условиях «враждебного» окружения. Типичная задача, решаемая с помощью TEE, — это, например, защищенное проведение платежей с мобильного телефона, в условиях, когда сам телефон может быть заражен вредоносной программой либо намеренно взломан владельцем для похищения платежной информации. В случае виртуализации аналогичным образом речь идет о защите данных виртуальных систем, когда нельзя доверять «хосту». В таком сценарии и физическая модификация модулей памяти вполне может быть допустимым вариантом развития событий.
Преимуществом атаки BadRAM является дешевизна. Да, провести ее с реальным «полезным» результатом достаточно сложно, но для этого потребуется оборудование общей стоимостью долларов десять. Это можно сравнить с другой атакой на TEE 2020 года, где для доступа к защищенным областям памяти потребовалось специальное оборудование для перехвата данных, передаваемых на модуль памяти в режиме реального времени. Стоила такая система примерно 170 тысяч долларов.
В ответ на исследование компания AMD выпустила обновление для серверных процессоров серии EPYC третьего и четвертого поколений, закрывающее уязвимость. Примечательно, что аналогичная атака была протестирована и на процессорах Intel, но там ее не удалось провести. Дело в том, что системы защиты Intel не доверяют в том числе и данным из чипа SPD, что делает эту конкретную атаку невозможной.
Что еще произошло
Вышли еще три публикации экспертов «Лаборатории Касперского» в рамках отчета по итогам 2024 года. Это общая статистика за год, прогнозы по развитию теневого рынка и угроз из даркнета, а также обзор двух крупных трендов 2024 года в корпоративной безопасности — глобальных сбоев в работе IT-инфраструктуры и атак на цепочки поставок.
Microsoft 10 декабря выпустила патч для 70 уязвимостей, включая проблему класса zero day в подсистеме Windows Common Log File System. Проблема в CLFS с идентификатором CVE-2024-49138 получила рейтинг 7,8 балла по шкале CVSS и может сравнительно легко эксплуатироваться для получения наивысших привилегий в системе.
Агентство по информационной безопасности в Германии (BSI) заблокировало путем перехвата DNS-записей работу троянской программы BadBox, которая часто оказывается «вшитой» в дешевые Android-устройства и занимается кражей данных.
Критическая уязвимость обнаружена во фреймворке Apache Struts 2.
В феврале следующего года разработчики браузера Firefox планируют избавиться от фичи Do Not Track, которая, по идее, предотвращает отслеживание пользователей при посещении веб-сайтов. Причина отказа от функции очевидная — на пожелания пользователя сохранять приватность никто не обращает внимания. А в некоторых случаях отслеживание активности пользователей даже усиливается, если веб-сайт видит, что флаг Do Not Track поднят.
Новая порция критических уязвимостей (две с рейтингом 9,1 балла, одна десятибалльная) закрыта в решениях компании Ivanti.
CitizenOfDreams
Очень красивая атака. Заменить пару байтов в SPD, и в компьютере появляется теневая копия всей "защищенной" памяти.