В рубрику "Оборудование и технологии" | К списку рубрик | К списку авторов | К списку публикаций
Алиса Шевченко
Руководитель компании eSage Lab
Сегодня вредоносные программы - троянцы, вирусы, бэкдоры и шпионы - постоянная тема новостных колонок, посвященных информационной безопасности. Они представляются чем-то очень распространенным, но относительно безопасным - по крайней мере, для тех, у кого установлен антивирус.
Не стоит забывать о том, что программы-шпионы по-прежнему с успехом используются в профессиональном промышленном и финансовом шпионаже - с целью обеспечения скрытного доступа к внутренней сети организации, ее конфиденциальным ресурсам либо в качестве автоматизированного инструмента для снятия информации. Что неудивительно: внедрить незаметную программу через одного из сотрудников (ничего об этом не подозревающего) безопаснее и дешевле, чем использовать с той же целью инсайдера.
Публичные источники информации не дают оснований судить о роли вредоносных программ в инцидентах, связанных с компрометацией ИБ.
Тому имеется ряд причин.
Если программа-шпион грамотно разработана, то в процессе ее работы пострадавшая сторона никогда не заподозрит неладное, а к моменту раскрытия факта утечки атакующий успевает "замести следы" - удалить шпионскую программу и очистить системные логи 3.
Об эффективности использования программных средств с целью получения доступа к внутренним IT-ресурсам организации и необходимых привилегий можно судить по тому факту, что в арсенале любой серьезной организации, проводящей "Тесты на проникновение" (Penetration testing), обязательно имеется тест на внедрение постороннего кода1. По данным представителей нескольких подобных организаций, указанный способ проникновения в сеть является одним из наиболее эффективных в ходе выполнения "Тестов на проникновение".
Существует ли надежная защита от таких вредоносных программ? Проблема в том, что целевые шпионские программы крайне редко попадают в антивирусные лаборатории по причинам, перечисленным выше. Антивирус против них бессилен и еще по одной причине: бюджеты на разработку инструментов для промышленного шпионажа вполне покрывают расходы разработчика на решение задачи обхода всех существующих на рынке защитных средств2.
Что касается современных DLP-решений: они предназначены в первую очередь для защиты от непреднамеренных или дилетантских утечек информации и не способны обеспечить надежную защиту от профессионально спланированной кампании.
Стоит выделить три разновидности шпионских программ, применяемых в качестве инструментов для промышленного шпионажа и финансового мошенничества.
Большинство подобных программ являются целевыми, т.е. разработанными на заказ с учетом IT-инфраструктуры конкретной организации.
С целью сбора информации шпионская программа устанавливается на ключевой сервер в сети организации или на рабочую станцию ответственного сотрудника.
Перечислим основные векторы внедрения шпионской программы в целевую систему.
Необходимость в проведении анализа серверов организации на предмет шпионских программ возникает в следующих случаях.
На этапе анализа обнаруженной шпионской программы возможно получение ценной информации об инциденте, такой как сетевой адрес атакующего, свидетельства уровня его осведомленности о внутренней инфраструктуре целевой организации, точный перечень переданных злоумышленнику данных.
В ходе поиска шпионских программ необходимо учитывать два возможных варианта компрометации системы, так как для каждого из них используется своя методика анализа.
1. Шпионская программа скрывается в системе - целевой руткит.
В рамках этого случая решение задачи сводится к выявлению и анализу системных аномалий, косвенно свидетельствующих о наличии скрытой программы. Такими аномалиями считаются расхождения в системных данных, полученных из разных источников, несанкционированные модификации кода ядра, несанкционированные системные "ловушки" (hooks, callbacks).
2. Шпионская программа не скрывается, но маскируется - троянец или закладка.
В данном случае для полного решения задачи достаточно глубокого анализа системной конфигурации и проверки целостности системных файлов и исполняемых файлов приложений.
Комплекс мер по выявлению шпионских программ должен учитывать оба вышеописанных случая. Таким образом, он включает в себя следующие этапы.
1. Анализ конфигурации системы.
Производится экспертное обследование списков объектов автозапуска, в том числе различных веток системного реестра, списков сервисов, зарегистрированных драйверов и других точек. В ходе анализа должны быть рассмотрены все возможные источники прямой и косвенной загрузки исполняемого модуля при старте операционной системы.
2. Выявление и анализ системных аномалий.
Во-первых, при помощи специализированных утилит производится серия тестов и сопоставлений системной информации, полученной разными способами: с помощью вызова стандартных системных API, вызова функций ядра, внешнего сканирования системы. Таким образом может быть диагностировано наличие в системе агента, искажающего выводимую информацию.
Во-вторых, анализируются на предмет аномалий - несанкционированных модификаций и несоответствий стандартам -различные системные структуры, считанные при помощи низкоуровневых механизмов (таких как отладчик ядра или прямое чтение с диска).
Перечень объектов, подлежащих такому анализу, включает в себя: списки файлов, списки открытых портов, сетевых соединений, дампы сетевого трафика, системные логи и логи приложений, списки зарегистрированных в системе и загруженных в память модулей ядра, таблицы указателей и код функций ядра и многое другое.
3. Проверка целостности исполняемых файлов.
Для контроля отсутствия нежелательных модификаций в исполняемых модулях производится проверка контрольных сумм файлов в соответствии с дистрибутивами соответствующего ПО и верификация цифровой подписи файлов.
4. Анализ выявленных шпионских программ.
Производится reverse engineering и детальный анализ кода обнаруженного руткита или закладки с целью извлечения дополнительной информации об инциденте.
5. Восстановление чистоты системы.
Сервер может быть надежно "вылечен" без необходимости переустановки операционной системы.
В силу значительной трудоемкости данной методики она применяется с целью выявления шпионских программ только на серверах. Решение аналогичной задачи для большого количества рабочих станций производится по упрощенной схеме и с более обширным использованием средств автоматизации анализа.
Следует заметить, что приведенный базовый алгоритм не полностью покрывает один достаточно редкий и специфический кейс, а именно: случай, когда шпионский код внедрен в легитимное ПО в виде недекларированных возможностей (НДВ), на уровне дистрибутива. В таком случае проверка целостности исполняемых файлов и конфигурации системы рискует не выявить никаких аномалий. Покрытие данного кейса требует глубокого анализа подозрительного программного обеспечения.
2 На черном рынке (см. хакерские Web-форумы) открыто котируются только простые троянцы, нацеленные на массовое заражение пользователей, преимущественно с целью создания ботнетов. О ценах на целевые рут-киты можно судить, умножая соответствующие котировки в десятки раз.
Илья Сачков
Руководитель
направления,
группа
информационной
безопасности
Group-IB
К сожалению, в последнее время специалисты по информационной безопасности стали относиться к вредоносному коду очень несерьезно, как к самой банальной угрозе информационной безопасности, про которую все известно. На практике же вредоносное ПО, а в особенности программы-шпионы, до сих пор являются одними из самых эффективных методов проведения несанкционированного съема информации. Это не миф, не сказка для студентов и не банальный маркетинговый ход антивирусных компаний.
В нашей практике мы часто сталкиваемся с двумя основными инцидентами, инструмент проведения которых - программы-шпионы: утечка информации и финансовое мошенничество.
Промышленный шпионаж, как и корпоративная разведка, - это действительность. Правда, по отношению ко второму типу инцидентов - событие менее распространенное. В основном программы-шпионы сейчас используются в российских корпоративных ИТ-средах для кражи ключевых элементов систем Интернет-банкинга и перевода денег со счетов юридических лиц на пластиковые карты физических лиц (это позволяет преступникам в день перевода обналичить денежные средства).
Благодаря уникальным, хорошо написанным программам, стоимость которых может достигать десятков тысяч долларов, злоумышленнику реально обойти эшелонированную защиту и получить необходимую информацию. Следы вредоносного кода можно найти постфактум, используя довольно сложные методы компьютерной криминалистики, и, к сожалению, не всегда данная работа оканчивается положительным результатом. Многие такие программы не определяются антивирусными пакетами даже спустя годы.
Тема, поднятая автором, должна заставить специалистов нашей отрасли пересмотреть и обновить политики обеспечения информационной безопасности и предотвращения инцидентов.
Опубликовано: Журнал "Information Security/ Информационная безопасность" #6, 2009