Вирусы научились жить в видеокартах

    Группа анонимных исследователей разработала руткит, который использует память ускорителя GPU, чтобы оставаться невидимым для стандартных антивирусных программ. Эта техника позволяет выполнять очень опасных атак на компьютеры с системами Windows, Linux и OS X.

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

    Rootkit в видеокарте

    Исследователи компьютерной безопасности указывают на то, что память и процессоры GPU можно использовать для реализации невидимого для стандартных защитных инструментов руткита. Такое вредоносное ПО может оставаться незамеченным очень долгое время и потенциально представляет серьезную угрозу для многих рабочих станций . В отличие от обычных троянов, такой руткит будет работать только на компьютерах с графическими процессорами, притом будучи полностью невидимым для  используемого антивирусного программного обеспечения. В то же время зловред будет иметь гораздо более широкие возможности, чем в случае грубого проникновения в операционною систему. Первый экспериментальный руткит под названием Jellyfish был представлен на прошлой неделе. Исследователи разработали  две версии для Linux и Windows, кроме того, таким же образом можно запускать вредоносные программы на компьютерах с операционной системой OSX. Использование вычислительной мощности GPU не является чем-то новым в мире вредоносных программ, но Jellyfish первый хранит свои данные полностью в памяти GPU.

    Новая угроза

    Хотя пока подобные руткиты представляют только научный интерес в стенах лаборатории и не выходят за пределы стадии proof-of-concept, можно ожидать, что в очень близком будущем возникнет коммерческие вредоносных программ, предназначенных для заражения компьютеров и поддержания контроля над ними. Типичными примерами использования были бы атак класса APT (Advanced Persistent Threat), их цель например рабочие станции с инженерным программным обеспечением или ноутбуки высшего класса, особенно часто выбирают должностных лиц, администраторов и политиков.

    Rootkit в GPU будет очень серьезной угрозой для компаний, работающих в текущей модели безопасности, потому что вредоносные программы, размещенные за пределами процесса будут ускользать от традиционного анализа. Пока на рынке нет инструментов для анализа зловредов внутри GPU, поэтому специалисты по безопасности должны в настоящее время работать вручную над таким кодом. Кроме того, подобный rootkit имеет полный доступ к основной оперативной памяти компьютера с помощью механизма DMA (Direct Memory Access). Механизм DMA обеспечивает доступ устройств без необходимости выполнения операций с использованием центрального процессора. Как утверждают создатели руткита Медузы, такие программы остается в памяти GPU, даже после выключения операционной системы, что позволяет получить контроль над операционной системой в любой момент.

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

    API OpenCL
    API OpenCL

    Что может такой руткит

    Руткит “Медуза” использует интерфейс API OpenCL, разработанный консорциумом Кронос, объединяющие поставщиков GPU и другие компании, которые разрабатывают открытые стандарты. Чтобы руткит мог работать, необходимы драйверы OpenCL. Они, как правило, уже установлены, если рабочая станция использует аппаратное ускорение. В настоящее время “Медуза” работает изначально на картах AMD и Nvidia, но карты Intel, также поддерживаются при помощи API AMD APP SDK. Благодаря возможности доступа к оперативной памяти компьютера, руткит, основанный на поддерживаемых GPU может взять на себя контроль над всей операционной системой. Чтобы доказать, что это возможно, исследователи разработали полностью функциональный кейлоггер под названием Демон. Первые попытки разработки такого программного обеспечения были начаты еще в 2013 году.

    Предыдущая статьяРешаем проблему BSOD ntoskrnl.exe
    Следующая статьяПочему Java такая популярная
    Александр Владимирович
    Главный редактор издания ITBusiness. Эксперт по SDN, Cloud Computing, авиабезопасности и BigData