Эксперимент по восстанию машин в отдельно взятом телевизоре.

Телевизор стал неожиданной мишенью для эксперимента с искусственным интеллектом. Разработчики дали системе OpenAI Codex ограниченный доступ к браузеру на Samsung Smart TV и предложили проверить, сможет ли она самостоятельно взломать устройство и получить полный контроль. В итоге алгоритм не только нашёл уязвимость, но и добрался до уровня root.
Эксперимент начался с уже взломанного браузера. Код выполнялся внутри его ограниченной среды, а дальше всё зависело от возможностей системы: нужно было изучить устройство, понять, какие интерфейсы доступны, найти слабое место и обойти защиту. Разработчики не подсказывали, где искать ошибку, и не давали готовых сценариев атаки.
Алгоритм получил доступ к исходному коду прошивки и к самому телевизору. Он анализировал журналы, отправлял команды в систему и проверял результат. При необходимости собирал вспомогательные программы и запускал их прямо в памяти, обходя встроенную защиту Tizen, которая блокирует запуск неподписанных файлов.
Довольно быстро система обратила внимание на драйверы с именами ntk*. Эти устройства оказались доступны для записи любому процессу, включая браузер. В исходниках нашлась ключевая проблема: драйвер позволял указать произвольный физический адрес памяти и отобразить его в пространство пользователя без проверки прав.
Проще говоря, программа могла читать и изменять содержимое оперативной памяти напрямую. Такой доступ редко оставляют без ограничений, но в данном случае разработчики телевизора открыли его всем. Чтобы убедиться, что приём работает, система сначала получила корректный физический адрес через другой драйвер, а затем успешно прочитала и изменила данные по этому адресу. После этого осталось найти в памяти структуру, которая отвечает за права процесса.
Алгоритм просканировал память, нашёл данные текущего процесса браузера и изменил значения идентификаторов пользователя и группы на нули. В системах на базе Linux такие значения означают максимальные привилегии. После подмены прав браузер фактически стал администратором устройства.
Финальная проверка показала ожидаемый результат: процесс получил uid=0 и полный доступ к системе. Вся цепочка – от анализа исходников до эксплуатации – прошла автоматически, с несколькими корректировками со стороны человека, когда система уходила в сторону или выполняла команды не так, как ожидалось.
Автор подчёркивает, что речь шла не о поиске начальной уязвимости: доступ к браузеру уже был получен заранее. Задача звучала проще – сможет ли искусственный интеллект развить атаку до полного захвата устройства. Ответ оказался исчерпывающим.