Rowhammer на Nvidia GPU получил полный root-доступ

Дальше всё идёт по знакомому для атакующих сценарию, только теперь мишенью стала не CPU DRAM, а GPU. Исследователи показали, что можно сломать изоляцию GPU page tables, получить права на чтение и запись в память видеокарты, а затем перекинуть эти права на память CPU. В одной из демонстраций эксплойт на RTX 3060 завершался открытием root-shell окна на хосте — очень наглядный способ объяснить проблему, если вдруг пиар отдела безопасности снова захочет назвать её «теоретической».
Какие карты уязвимы и как закрыть дыру
Пока публично названы только две уязвимые модели: RTX 3060 и RTX 6000 из поколения Ampere, представленного в 2020 году. Для атаки IOMMU должен быть выключен, а это как раз заводской дефолт в BIOS на многих системах, потому что так проще с совместимостью и быстрее по памяти.
Защититься можно, но без бесплатного обеда не обойдётся. Исследователи советуют включить IOMMU в BIOS и активировать ECC на GPU через командную строку Nvidia; обе меры съедают производительность и часть доступной памяти. И это не тот случай, где можно расслабиться: академические решения обычно запаздывают за скоростью выхода новых карт, так что следующий раунд проверки новых поколений Nvidia и конкурентов — лишь вопрос времени.
В Nvidia пользователей отсылают к странице, опубликованной в июле после предыдущей GPUHammer-истории, но деталей там немного. А вот более интересный вопрос остаётся открытым: если Rowhammer уже научился выходить из CPU в GPU и обратно, сколько ещё «изоляций» в облаках держатся не на безопасности, а на привычке считать, что никто не будет так упорно молотить память?
История неприятная не только из-за техники атаки, но и из-за экономики облаков: высокопроизводительные GPU обычно стоят $8 000 или больше и часто делятся между десятками пользователей. Чем плотнее такая «коммуналка», тем приятнее для атакующего и тем дороже для провайдера любая ошибка в изоляции.
Как GDDRHammer и GeForge пробивают изоляцию
Обе атаки бьют по GDDR-памяти и используют новые схемы «молотения» строк, плюс приём под названием memory massaging, чтобы сдвинуть таблицы страниц в уязвимые области. У GDDRHammer среднее число битовых переворотов достигло 129 на банк памяти — это в 64 раза больше, чем у прошлогоднего GPUHammer, а GeForge смогла вызвать 1 171 bitflip на RTX 3060 и 202 bitflip на RTX 6000.
Дальше всё идёт по знакомому для атакующих сценарию, только теперь мишенью стала не CPU DRAM, а GPU. Исследователи показали, что можно сломать изоляцию GPU page tables, получить права на чтение и запись в память видеокарты, а затем перекинуть эти права на память CPU. В одной из демонстраций эксплойт на RTX 3060 завершался открытием root-shell окна на хосте — очень наглядный способ объяснить проблему, если вдруг пиар отдела безопасности снова захочет назвать её «теоретической».
Какие карты уязвимы и как закрыть дыру
Пока публично названы только две уязвимые модели: RTX 3060 и RTX 6000 из поколения Ampere, представленного в 2020 году. Для атаки IOMMU должен быть выключен, а это как раз заводской дефолт в BIOS на многих системах, потому что так проще с совместимостью и быстрее по памяти.
Защититься можно, но без бесплатного обеда не обойдётся. Исследователи советуют включить IOMMU в BIOS и активировать ECC на GPU через командную строку Nvidia; обе меры съедают производительность и часть доступной памяти. И это не тот случай, где можно расслабиться: академические решения обычно запаздывают за скоростью выхода новых карт, так что следующий раунд проверки новых поколений Nvidia и конкурентов — лишь вопрос времени.
В Nvidia пользователей отсылают к странице, опубликованной в июле после предыдущей GPUHammer-истории, но деталей там немного. А вот более интересный вопрос остаётся открытым: если Rowhammer уже научился выходить из CPU в GPU и обратно, сколько ещё «изоляций» в облаках держатся не на безопасности, а на привычке считать, что никто не будет так упорно молотить память?
Две независимые исследовательские группы показали, что атаки Rowhammer теперь умеют не просто портить память, а получать полный контроль над хост-машиной с Nvidia GPU. На практике это значит: при удачном стечении условий злоумышленник может добраться до памяти CPU через уязвимую GDDR-память видеокарты и получить root-доступ.
История неприятная не только из-за техники атаки, но и из-за экономики облаков: высокопроизводительные GPU обычно стоят $8 000 или больше и часто делятся между десятками пользователей. Чем плотнее такая «коммуналка», тем приятнее для атакующего и тем дороже для провайдера любая ошибка в изоляции.
Как GDDRHammer и GeForge пробивают изоляцию
Обе атаки бьют по GDDR-памяти и используют новые схемы «молотения» строк, плюс приём под названием memory massaging, чтобы сдвинуть таблицы страниц в уязвимые области. У GDDRHammer среднее число битовых переворотов достигло 129 на банк памяти — это в 64 раза больше, чем у прошлогоднего GPUHammer, а GeForge смогла вызвать 1 171 bitflip на RTX 3060 и 202 bitflip на RTX 6000.
Дальше всё идёт по знакомому для атакующих сценарию, только теперь мишенью стала не CPU DRAM, а GPU. Исследователи показали, что можно сломать изоляцию GPU page tables, получить права на чтение и запись в память видеокарты, а затем перекинуть эти права на память CPU. В одной из демонстраций эксплойт на RTX 3060 завершался открытием root-shell окна на хосте — очень наглядный способ объяснить проблему, если вдруг пиар отдела безопасности снова захочет назвать её «теоретической».
Какие карты уязвимы и как закрыть дыру
Пока публично названы только две уязвимые модели: RTX 3060 и RTX 6000 из поколения Ampere, представленного в 2020 году. Для атаки IOMMU должен быть выключен, а это как раз заводской дефолт в BIOS на многих системах, потому что так проще с совместимостью и быстрее по памяти.
Защититься можно, но без бесплатного обеда не обойдётся. Исследователи советуют включить IOMMU в BIOS и активировать ECC на GPU через командную строку Nvidia; обе меры съедают производительность и часть доступной памяти. И это не тот случай, где можно расслабиться: академические решения обычно запаздывают за скоростью выхода новых карт, так что следующий раунд проверки новых поколений Nvidia и конкурентов — лишь вопрос времени.
В Nvidia пользователей отсылают к странице, опубликованной в июле после предыдущей GPUHammer-истории, но деталей там немного. А вот более интересный вопрос остаётся открытым: если Rowhammer уже научился выходить из CPU в GPU и обратно, сколько ещё «изоляций» в облаках держатся не на безопасности, а на привычке считать, что никто не будет так упорно молотить память?




