Антивирус ничего не нашел: как хакеры прячут атаки в «глубоких слоях» системы

Переключиться • 31 января 2026

Антивирус ничего не нашел: как хакеры прячут атаки в «глубоких слоях» системы

Антивирус ничего не нашел: как хакеры прячут атаки в «глубоких слоях» системы

В отличие от фильмов, в жизни кибервойны редко выглядят эффектно. Чаще всего это тихая и кропотливая работа с логами, странными аномалиями и кодом, который умеет скрывать само свое существование. Об этом, в частности, рассказывается в книге «Вирьё моё! Хроники невидимых хакерских войн от Сыктывкара до Сингапура», написанной экспертами «Лаборатории Касперского» и изданной «Эксмо». «Инк» публикует отрывок из главы о «принципе луковицы» — о том, как вредоносные программы прячутся в глубинных слоях системы и почему их не видят даже антивирусы.

В отличие от фильмов, в жизни кибервойны редко выглядят эффектно. Чаще всего это тихая и кропотливая работа с логами, странными аномалиями и кодом, который умеет скрывать само свое существование. Об этом, в частности, рассказывается в книге «Вирьё моё! Хроники невидимых хакерских войн от Сыктывкара до Сингапура», написанной экспертами «Лаборатории Касперского» и изданной «Эксмо». «Инк» публикует отрывок из главы о «принципе луковицы» — о том, как вредоносные программы прячутся в глубинных слоях системы и почему их не видят даже антивирусы.

Доводилось ли вам видеть на двери своего подъезда бумажное объявление, предлагающее услуги «компьютерного мастера»? Мастер обещает вылечить ваш комп от любых вирусов и поставить все нужные программы. Ниже написан телефон или еще какой контакт.

Не советуем пользоваться этими контактами: известно много мошеннических схем вокруг таких объявлений. Ради навязывания дополнительных услуг подобный мастер может нарочно «залечить» ваш комп до состояния полной тыквы. Обращайтесь лучше к проверенным людям.

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

«Но мне-то зачем такой мастер? — спросит иной читатель. — Могу же сам поставить антивирус, он и поймает всю заразу. А в суды я вообще не люблю ходить…»

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

Но так работало не всегда. Весной 2005 года служба безопасности крупного банка обратилась в вирлаб с необычной просьбой: приехать и посмотреть кое-что. Аналитики в ответ попросили прислать подозрительные файлы для исследования. «Никаких файлов нет», — сказали в банке.

Делать нечего — Саша и еще один аналитик, Алексей, отправились в московское отделение пострадавшего банка, захватив с собой некоторые программки-утилиты, которые использовали на работе.

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

Это и насторожило безопасников, проверявших ночные логи. Однако на жестких дисках компьютеров, с которых совершалась операция, они ничего не нашли. Антивирус тоже молчал. Компы привезли в центральное московское отделение банка и оставили Сашу и Алексея в одной комнате с этими машинами.

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

Но логи не показывают никаких необычных процессов, либо они просто подчищены. И новых файлов нет: все системные файлы как будто созданы в одно время, когда установили операционную систему.

Следующая идея — взять весь список файлов и сравнить со стандартным списком того, что должно быть установлено в чистой системе. Эта проверка занимает целый день… и все же удается найти подозрительный драйвер, с которым что-то не то. Файл отправляют электронной почтой в вирлаб, чтобы там посмотрели на него повнимательнее.

Когда Саша и Алексей возвращаются на работу, дежурный аналитик Алиса сообщает им результаты — это руткит. Программа, которая умеет скрывать свою работу от операционной системы. Запустив подозрительный драйвер, коллеги видят это воочию через файловый менеджер FAR: файл исчез из каталога.

# # #

Чтобы пояснить, как работает такая зараза, придется немного углубиться в общую архитектуру программного обеспечения на популярных в то время персоналках. Сильно усложнять не будем. Лишь вспомним, как в известном мультфильме Шрек сообщил Ослу, что тролли — парни непростые. «Тролль как луковица, у него есть слои!» — говорил тогда Шрек.

Примерно так и с программами на компе. Самый глубинный, самый низкий уровень — прошивка. Это встроенное программное обеспечение, которое обычно записывается в постоянную память устройства при изготовлении. Самый простой машинный язык, управляющий «железом».

Дальше идет BIOS, базовая система ввода-вывода. Это набор более продвинутых микропрограмм, которые процессор достает из постоянной памяти и записывает в оперативную, после чего передает управление этой системе.

Получив управление, BIOS проделывает ряд процедур начальной загрузки: тестирует подсистемы компьютера, применяет всякие настройки, а затем загружает в оперативную память код загрузчика операционной системы и передает управление ему.

Дальше загружается более высокий слой: собственно операционная система, куда входит множество разнообразных программ для управления устройствами — драйверы. Операционка дает вам понятный интерфейс, то есть абстрактный язык, позволяющий работать с файлами и прикладными программами. Вы всего лишь двигаете иконку файла на экране, а операционка переводит это на более конкретный язык своего драйвера, типа «возьми данные по такому-то адресу на диске и запиши их по другому адресу на другом диске». Ну, а этот машинный язык переводится в самые низкоуровневые команды для процессора. Как-то так в общих чертах устроена многослойная душа нашего Шрека.

После загрузки в память руткит работает на уровне ядра операционной системы (kernel level). Он маскируется под легальный драйвер Windows и имеет такие же высокие привилегии, то есть может перехватывать управление программами, которые работают в более высоких слоях луковицы.

Это и дает руткиту возможность «подчистить» файловую систему, скрывая определенные файлы. По той же причине увидеть работу руткита не позволяли инструменты, которыми пользовались Саша и Алексей. Ведь эти утилиты работали на достаточно высоком уровне.

О методе руткита знали еще с 80-х годов. Уже тогда архитектура программного обеспечения позволяла проводить эксперименты с запуском «нестандартных» программ, имеющих слишком большие права. Такие утилиты вначале появились в UNIX-системах, откуда и пошло их название (root — администратор UNIX-системы, kit — набор инструментов).

Но той весной 2005-го вирусные аналитики столкнулись с первым боевым применением этой техники под Windows. И тут же выяснилось, что такая малвара попала в вирлаб не впервые.

— Я такое уже видела, — говорит Алиса, глядя на код.

Парни с удивлением смотрят на нее — ну, примерно как смотрел тот парень, которого Анджелина Джоли доводила в сами-знаете-каком фильме. Алиса и выглядит соответствующе: коротко стриженная, в джинсах и кожанке, в крепких мужских ботинках, с микросхемами на рюкзаке и татуировкой-иероглифом на руке. Она выучила ассемблер в 15 лет и бросила учебу в двух технических вузах.

— Когда, где ты это видела?

— Кажется, месяцев семь назад присылали…

Как можно вспомнить подобную вещь, разглядывая массив бинарного кода? На самом деле, это и есть главная профессиональная фича вирусных аналитиков. После нескольких месяцев работы наметанный глаз начинает распознавать паттерны в том, что кажется другим людям просто хаосом символов и цифр на экране.

В вирлабе даже устраивают конкурсы на скорость распознавания вредоносов по коду. Победитель получает право выбрать пиццу, а это очень серьезный приз. Ведь обычно решение о выборе пиццы принимает Главный. Его любимая — неизменно гавайская, с ананасами. Все остальные уже терпеть не могут эти ананасы.

Поэтому борьба за право выбрать пиццу идет нешуточная. По команде каждый аналитик берет файл из потока — и кто быстрей разберется. Рекорд на вынесение вердикта — девять секунд, а на создание детектирующей записи — 43 секунды.

Так что после слов Алисы о том, что код руткита ей уже знаком, коллеги бросаются его искать. И находят в архивах прошлого года раннюю версию той же программы. Кажется, на тот момент никто полностью не осознал, что это такое.

Этот образец прислал не агент вирлаба, как предположили вначале. Письмо пришло с анонимного адреса. Скорее всего, это сделал сам автор заразы — хотел проверить, выйдет ли обновление антивируса, после которого руткит будет детектироваться. Ведь если бы такое случилось, попытку скрытных банковских переводов сразу бы пресекли.

Но именно это и выдало автора. Аналитики передали в банк результаты своей экспертизы, включая то самое письмо с первой версией руткита. А служба безопасности банка выяснила, что письмо пришло с IP-адреса в том же городке, где случилась электронная кража денег. Автор руткита явно имел доступ в местное отделение банка. И не просто доступ, а должность сотрудника, плотно работавшего с компьютерами: ведь загрузить на них руткит мог только человек с правами админа. В общем, круг подозреваемых сильно сузился.