По словам исследователей Якуба Бречки (Jakub Břečka) и Давида Матушека (David Matoušek) из команды веб-ресурса Matousek.com, им удалось создать способ обхода защиты, встроенной в большинство популярных настольных антивирусных продуктов. Уязвимы продукты «Лаборатории Касперского», Dr.Web, Avast!, Sophos, ESET, McAffee, Symantec, Panda и т. д.
Методика такова: на вход антивируса посылается безвредный код, проходящий все защитные барьеры, но, прежде чем он начнет исполняться, производится его подмена на вредоносную составляющую. Понятно, замена должна произойти строго в нужный момент, но на практике всё упрощается благодаря тому, что современные системы располагают многоядерным окружением, когда один поток не в состоянии отследить действия параллельных потоков. В итоге может быть обманут буквально любой Windows-антивирус.
Руткит функционирует в том случае, если антивирусное ПО использует таблицу дескрипторов системных служб (System Service Descriptor Table, SSDT) для внесения изменений в участки ядра операционной системы. Поскольку все современные защитные средства оперируют на уровне ядра, атака работает на 100%, причем даже в том случае, если Windows запущена под учётной записью с ограниченными полномочиями.
Вместе с тем руткит требует загрузки большого объёма кода на атакуемую машину, поэтому он не применим, когда требуется сохранить скорость и незаметность атаки. Кроме того, злоумышленник должен располагать возможностью выполнения двоичного файла на целевом компьютере.
Методика может быть скомбинирована с традиционной атакой на уязвимую версию Acrobat Reader или Sun Java Virtual Machine, не пробуждая подозрений у антивируса в истинности намерений. Ну а затем хакер волен и вовсе уничтожить все защитные барьеры, полностью удалив из системы мешающий антивирус.
Любопытно, а код, который будет производить подмену на вредоносную составляющую как предполагается скрыть от антивируса? :)