Анонимные разработчики опубликовали исходный код двух необычных образцов программного обеспечения: руткита Jellyfish и кейлоггера Demon, которые работают на графическом процессоре и хранят код в видеопамяти. Это первые в своём роде образцы таких программ.

Исполнение на GPU даёт ряд очевидных преимуществ злоумышленнику. Не нужно преодолевать защиту ОС и делать привычные в таком случае модификации в системном ядре, что бывает затруднительно.

На данный момент не существует антивирусов или каких-либо средств анализа GPU-зловредов. Они же имеют полный доступ к системной памяти через DMA. Зловред остаётся в памяти GPU и после перезагрузки компьютера.

Ещё одно интересное преимущество GPU-малвари – то, что на GPU исключительно быстро выполняются некоторые математические операции, как XOR’инг, это можно использовать при работе с криптографическими данными, которые получены с компьютера жертвы.

Jellyfish может работать только на видеокартах AMD и Nvidia, но через AMDAPPSDK реализуется и поддержка карт Intel. Единственное требование для работы – наличие драйверов OpenCL.

Что касается кейлоггера Demon, то это реализация концепции, изложенной в научной работе 2013 года с описанием GPU-кейлоггера. В данном случае системный буфер клавиатуры просто отслеживается через DMA.



5 комментариев

  1. 12.05.2015 at 08:15

    Красавцы, чё….

  2. 12.05.2015 at 08:35

    мда молодцы! Теперь антивирусным компаниям надо напретчся.

  3. 12.05.2015 at 17:19

    Нихрееа не понимаю. Прочитал исходники -какая-то малопонятная мутотень. Что они делают -то? OpenCL ведь не даёт доступа к dma. А dma не позволяет читать произвольные участки памяти, только те, что выделены системой для этого (по кр. Мере так напискно в книге таннеебаума)

    • 12.05.2015 at 17:29

      Посмотрел исходник демона. Это писец. Там и разыменовывание нулевого указателя, и грубые логические ошибки, и такая же бесцельная мутотень как и в «рутките».

  4. 27.05.2015 at 09:15

    Антивирусы сами вирусы, а тем более операционная система. Что они делают никто не знает.

Оставить мнение