Представлены работающие на GPU протитипы руткита и кейлоггера для Linux

Представлены работающие на GPU протитипы руткита и кейлоггера для Linux

Исследователи безопасности из команды Team Jellyfish воплотили в жизнь теоретический метод применения GPU для отслеживания активности в системе и подготовили рабочие прототипы руткита и кейлоггера, выполняемые на GPU для скрытия своего присутствия в системе.

Руткит и кейлоггер примечательны тем, что получив доступ к GPU, они обходятся без традиционных привязок и изменений кода ядра операционной системы. Отслеживание буфера, содержащего данные о нажатых клавишах, производится непосредственно из GPU при помощи DMA. На CPU выполняется только инициализация, после чего вся активность руткита ограничивается GPU, пишет opennet.ru.

В настоящее время реализована только работа на системах с отдельными видеокартами (GPU, интегрированные с CPU, пока не поддерживаются) AMD и NVIDIA. Прототип руткита реализован в пространстве пользователя и загружается при помощи LD_PRELOAD. Для организации выполнения кода на GPU применяется OpenCL API, что требует наличия драйверов с поддержкой OpenCL.

После загрузки все данные размещаются в видеопамяти, что затрудняет обнаружение руткита. Перехват содержимого памяти CPU производится через DMA. Выполнение на стороне GPU также позволяет задействовать средства GPU для выполнения сложных вычислений. 

Компьютер без RAM всё же запустили, но результат получился показательным

Рост цен на оперативную память уже дошёл до того, что люди начали задаваться почти философским вопросом: а можно ли вообще запустить компьютер без RAM? Именно это решил проверить YouTube-блогер PortalRunner. Интересно, что ответ оказался не совсем отрицательным.

Компьютер без оперативной памяти действительно можно заставить работать, но радоваться тут особенно нечему: пользоваться такой машиной в реальной жизни почти невозможно.

По сути, весь эксперимент быстро превращается в наглядное объяснение, зачем вообще нужна RAM и почему без неё современный десктоп моментально откатывается куда-то в далёкое прошлое.

Для начала PortalRunner попробовал обойтись минимальным объёмом памяти и переложить нагрузку на своп-файл. Другими, словами заставить систему активнее использовать накопитель вместо оперативки. Формально такой сценарий и так знаком любому компьютеру, когда RAM заканчивается, но на практике это работает мучительно медленно.

Была и ещё одна попытка — использовать вместо обычной RAM видеопамять со старых видеокарт. Звучит изобретательно, но итог примерно тот же: скорость всё равно не та, а полноценной заменой оперативной памяти такой подход не становится.

Самая забавное начинается позже, когда автор эксперимента решает зайти с другой стороны и использовать только кеш процессора. Он действительно намного быстрее обычной оперативки, но его катастрофически мало по современным меркам. Речь тут идёт не о гигабайтах, а о десятках мегабайт — объёме, который для 2026 года выглядит почти музейным.

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

И да, в финале всё это всё-таки заработало. После долгих манипуляций со старой материнской платой, BIOS и кучей низкоуровневой магии PortalRunner сумел запустить программу, работающую исключительно в кеше процессора. Этой программой оказалась Snake, что, в общем, довольно символично. Не Photoshop, не браузер, не Windows, а старая добрая «змейка».

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

RSS: Новости на портале Anti-Malware.ru