«Алло, это хакер? Нет, это ваш телевизор». OpenAI научила алгоритмы взламывать электронику

leer en español

6236
«Алло, это хакер? Нет, это ваш телевизор». OpenAI научила алгоритмы взламывать электронику

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

image

Телевизор стал неожиданной мишенью для эксперимента с искусственным интеллектом. Разработчики дали системе OpenAI Codex ограниченный доступ к браузеру на Samsung Smart TV и предложили проверить, сможет ли она самостоятельно взломать устройство и получить полный контроль. В итоге алгоритм не только нашёл уязвимость, но и добрался до уровня root.

Эксперимент начался с уже взломанного браузера. Код выполнялся внутри его ограниченной среды, а дальше всё зависело от возможностей системы: нужно было изучить устройство, понять, какие интерфейсы доступны, найти слабое место и обойти защиту. Разработчики не подсказывали, где искать ошибку, и не давали готовых сценариев атаки.

Алгоритм получил доступ к исходному коду прошивки и к самому телевизору. Он анализировал журналы, отправлял команды в систему и проверял результат. При необходимости собирал вспомогательные программы и запускал их прямо в памяти, обходя встроенную защиту Tizen, которая блокирует запуск неподписанных файлов.

Довольно быстро система обратила внимание на драйверы с именами ntk*. Эти устройства оказались доступны для записи любому процессу, включая браузер. В исходниках нашлась ключевая проблема: драйвер позволял указать произвольный физический адрес памяти и отобразить его в пространство пользователя без проверки прав.

Проще говоря, программа могла читать и изменять содержимое оперативной памяти напрямую. Такой доступ редко оставляют без ограничений, но в данном случае разработчики телевизора открыли его всем. Чтобы убедиться, что приём работает, система сначала получила корректный физический адрес через другой драйвер, а затем успешно прочитала и изменила данные по этому адресу. После этого осталось найти в памяти структуру, которая отвечает за права процесса.

Алгоритм просканировал память, нашёл данные текущего процесса браузера и изменил значения идентификаторов пользователя и группы на нули. В системах на базе Linux такие значения означают максимальные привилегии. После подмены прав браузер фактически стал администратором устройства.

Финальная проверка показала ожидаемый результат: процесс получил uid=0 и полный доступ к системе. Вся цепочка – от анализа исходников до эксплуатации – прошла автоматически, с несколькими корректировками со стороны человека, когда система уходила в сторону или выполняла команды не так, как ожидалось.

Автор подчёркивает, что речь шла не о поиске начальной уязвимости: доступ к браузеру уже был получен заранее. Задача звучала проще – сможет ли искусственный интеллект развить атаку до полного захвата устройства. Ответ оказался исчерпывающим.