ИИ-агент сам взломал Samsung Smart TV: эксперимент OpenAI и Calif
ИБ-стартап Calif совместно с OpenAI отчитался об эксперименте: ИИ-агент Codex самостоятельно прошел путь от браузерного шелла до root'а (uid=0) на Samsung Smart TV. Codex нашел уязвимость в драйвере от тайваньского чипмейкера Novatek, написал рабочий эксплойт и подтвердил успех лаконичным Worked. Полный разбор и PoC опубликованы на GitHub.
Codex ломал телевизор не с нуля. Исследователи сами добыли первичный доступ — выполнение кода в контексте браузерного приложения — и передали его агенту вместе с исходниками прошивки Samsung KantS2 (релиз февраля 2020 года, ядро Linux 4.1.10), инструментами для сборки ARM-бинарников и обёрткой для обхода Samsung UEP, механизма Tizen, блокирующего запуск неподписанных программ с диска. Задача формулировалась открыто — найти уязвимость в устройстве и поднять привилегии до root, через драйвер или публично известные CVE.
Агент просканировал устройство, обратил внимание на world-writable device-ноды драйверов от Novatek и провел аудит соответствующих исходников. В драйвере ntksys он нашел характерную ошибку: тот принимал от пользовательского процесса физический адрес и размер, сохранял их в таблицу и затем через mmap отображал этот диапазон в адресное пространство процесса. Проверялся только индекс слота, но не то, принадлежит ли запрошенная память ядру. Права на саму device-ноду при этом были выставлены как 0666 — то есть примитив произвольного доступа к физической памяти был доступен любому непривилегированному процессу.
Цепочку эксплойта Codex выстроил сам. Сначала через соседний драйвер он получил адрес легитимного DMA-буфера, чтобы проверить, действительно ли можно из-под обычного пользователя читать и писать в произвольную физическую память. Когда примитив подтвердился, агент выбрал
Читать на habr.com