Группа исследователей из Греции и США создала прототип вредоносной программы, которая для усиления самозащиты использует возможности графического процессора, взаимодействующего с ЦП.
Концептуальный образец зловреда был разработан с применением таких типовых способов обфускации, как автораспаковка и динамическая генерация кода. Технология автоматической распаковки позволяет вирусописателю вносить незначительные изменения в процедуру сжатия или шифрования, чтобы обойти антивирусные сканеры. Фрагментация рабочего цикла программы с поэтапной расшифровкой составляющих кода затрудняет его анализ, так как каждый сегмент вызывается в строгой очередности и, отработав, вновь подвергается шифрованию. Однако на сей раз немудрящие механизмы самозащиты были реализованы в среде GPU, что серьезно повысило их шансы на успех.
Современные графические процессоры (GPU) обладают высоким быстродействием и умеют выполнять многие из тех задач, которые до недавнего времени были исключительной привилегией ЦП. Благодаря конвейерной архитектуре и ограниченному набору команд GPU способны с большой эффективностью производить ресурсоемкие вычисления, разгружая ЦП, работающие с ними в одной упряжке. Объединенной команде исследователей удалось доказать, что перенос функции самораспаковки исполняемого кода на GPU позволит злоумышленникам применять сложные схемы шифрования, не беспокоясь о таких внешних проявлениях, как снижение производительности ЦП. Кроме того, при таком разделении труда длину кода, подлежащего исполнению в среде x86, можно значительно сократить, чтобы после распаковки и записи в память он затерялся среди стандартных файлов.
Включение GPU в процесс динамической генерации исполняемого кода также продемонстрировало высокую эффективность, так как позволяет хранить все ключи шифрования в памяти графического процессора, недоступной для ЦП. Зашифрованные фрагменты кода при этом содержатся в области, совместно используемой GPU и ЦП, поэтому процесс расшифровки и повторного шифрования при прогоне программы сопровождается интенсивным обменом между устройствами. Каждый фрагмент кода после отработки зашифровывается произвольным ключом, поэтому сам зловред постоянно видоизменяется самым непредсказуемым образом.
Прототип ориентирован на GPU, совместимые с архитектурой CUDA, и в октябре будет представлен на 5-й международной конференции IEEE по интернет-угрозам (Malware 2010). По мнению экспертов ЛК, адекватной защитой от кибератак с использованием аналогичных инструментов являются HIPS. Однако разработчики РоС зловреда предупреждают, что рост популярности GPU как ускорителей специфических вычислений не пройдет незамеченным в криминальной среде. Вполне вероятно, что в скором времени злоумышленники начнут использовать их, например, для взлома паролей и ключей шифрования.
GPU — новый помощник вирусописателей?