Алиса Шевченко
ЗАЩИТАИ ПРЕДОТВРАЩЕНИЕ
Всилу специфики проблемы никакие программно-технические средства не гарантируютзащиту от данной угрозы. Существенно усложнить задачу злоумышленника способныклассические, грамотно спланированные меры обеспечения ИБ: защита внешнегопериметра, шифрование информации, продуманные внутренние политики и плановыевнешние тесты безопасности. Чрезвычайно важна осведомленность сотрудников ввопросах безопасности, так как наиболее эффективным и плохо поддающимсяконтролю вектором внедрения вредоносного кода является социотехнический вектор.
СЕГОДНЯвредоносные программы – троянцы, вирусы, бэкдоры и шпионы – постоянная темановостных колонок, посвященных информационной безопасности. Они представляютсячем-то очень распространенным, но относительно безопасным – по крайней мере,для тех, у кого установлен антивирус.
Нестоит забывать о том, что программышпионы по-прежнему с успехом используются впрофессиональном промышленном и финансовом шпионаже – с целью обеспеченияскрытного доступа к внутренней сети организации, ее конфиденциальным ресурсам либов качестве автоматизированного инструмента для снятия информации. Чтонеудивительно: внедрить незаметную программу через одного из сотрудников(ничего об этом не подозревающего) безопаснее и дешевле, чем использовать с тойже целью инсайдера.
ОБЗОРПРОБЛЕМЫ
Публичныеисточники информации не дают оснований судить о роли вредоносных программ винцидентах, связанных с компрометацией ИБ. Тому имеется ряд причин. 1.Инциденты утечки информации и тем более результаты их расследования редкопредаются огласке, так как это способно повредить репутации компании. 2.Техническое расследование необходимой глубины не может быть произведено, если уследователя недостаточно компетенций для выявления профессионального руткитаили же если подозреваемые серверы были скоропалительно «пущены подснос».
Еслипрограмма-шпион грамотно разработана, то в процессе ее работы пострадавшаясторона никогда не заподозрит неладное, а к моменту раскрытия факта утечкиатакующий успевает «замести следы» – удалить шпионскую программу иочистить системные логи 3. Об эффективности использования программных средств сцелью получения доступа к внутренним IT-ресурсам организации и необходимыхпривилегий можно судить по тому факту, что в арсенале любой серьезнойорганизации, проводящей «Тесты на проникновение» (Penetrationtesting), обязательно имеется тест на внедрение постороннего кода1. По даннымпредставителей нескольких подобных организаций, указанный способ проникновенияв сеть является одним из наиболее эффективных в ходе выполнения «Тестов напроникновение». Существует ли надежная защита от таких вредоносныхпрограмм? Проблема в том, что целевые шпионские программы крайне редко попадаютв антивирусные лаборатории по причинам, перечисленным выше. Антивирус противних бессилен и еще по одной причине: бюджеты на разработку инструментов дляпромышленного шпионажа вполне покрывают расходы разработчика на решение задачиобхода всех существующих на рынке защитных средств2. Что касается современныхDLP-решений: они предназначены в первую очередь для защиты от непреднамеренныхили дилетантских утечек информации и не способны обеспечить надежную защиту отпрофессионально спланированной кампании.
СОВРЕМЕННЫЕЦЕЛЕВЫЕ ШПИОНСКИЕ ПРОГРАММЫ
Стоитвыделить три разновидности шпионских программ, применяемых в качествеинструментов для промышленного шпионажа и финансового мошенничества.
1.Руткит – вредоносная программа, скрывающая свое присутствие в системе отпользователя и утилит.
2.Троянец – обыкновенная шпионская программа, не скрывающаяся в системе.
3.Закладка – шпионский код, встроенный в легитимное ПО. Большинство подобныхпрограмм являются целевыми, т.е. разработанными на заказ с учетомIT-инфраструктуры конкретной организации.
Сцелью сбора информации шпионская программа устанавливается на ключевой сервер всети организации или на рабочую станцию ответственного сотрудника.
Перечислимосновные векторы внедрения шпионской программы в целевую систему. 1. Программаинсталлируется при помощи инсайдера. 2. Программа внедряется через одного изсотрудников (без его согласия) при помощи методов социальной инженерии. Этоможет быть присланная по каналам e-mail, IM, социальных сетей ссылка напрограмму (якобы от имени знакомого сотрудника или администратора организации)или подброшенный диск с презентациями.
3.Программа внедряется «снаружи», после взлома сетевого периметра.
Необходимостьв проведении анализа серверов организации на предмет шпионских программвозникает в следующих случаях.
1.Профилактика: в составе комплекса мер по внедрению ПО для защиты от утечек илив ходе проведения плановых тестов ИБ. 2. Диагностика: зафиксировано аномальноеповедение компьютерных систем – «лишние» процессы,несанкционированные сетевые соединения, ненормальный объем трафика илипотребляемых процессорных ресурсов.
3.Инцидент: в составе комплекса мер по техническому расследованию инцидентаутечки данных или финансового мошенничества.
Наэтапе анализа обнаруженной шпионской программы возможно получение ценнойинформации об инциденте, такой как сетевой адрес атакующего, свидетельствауровня его осведомленности о внутренней инфраструктуре целевой организации,точный перечень переданных злоумышленнику данных.
Методикавыявления шпионских программ В ходе поиска шпионских программ необходимоучитывать два возможных варианта компрометации системы, так как для каждого изних используется своя методика анализа.
1.Шпионская программа скрывается в системе – целевой руткит.
Врамках этого случая решение задачи сводится к выявлению и анализу системныханомалий, косвенно свидетельствующих о наличии скрытой программы. Такимианомалиями считаются расхождения в системных данных, полученных из разныхисточников, несанкционированные модификации кода ядра, несанкционированныесистемные «ловушки» (hooks, callbacks). 2. Шпионская программа нескрывается, но маскируется – троянец или закладка.
Вданном случае для полного решения задачи достаточно глубокого анализа системнойконфигурации и проверки целостности системных файлов и исполняемых файловприложений. Комплекс мер по выявлению шпионских программ должен учитывать обавышеописанных случая. Таким образом, он включает в себя следующие этапы. 1.Анализ конфигурации системы.
Производитсяэкспертное обследование списков объектов автозапуска, в том числе различныхветок системного реестра, списков сервисов, зарегистрированных драйверов идругих точек. В ходе анализа должны быть рассмотрены все возможные источникипрямой и косвенной загрузки исполняемого модуля при старте операционнойсистемы. 2. Выявление и анализ системных аномалий.
Во-первых,при помощи специализированных утилит производится серия тестов и сопоставленийсистемной информации, полученной разными способами: с помощью вызовастандартных системных API, вызова функций ядра, внешнего сканирования системы.Таким образом может быть диагностировано наличие в системе агента, искажающеговыводимую информацию.
Во-вторых,анализируются на предмет аномалий – несанкционированных модификаций инесоответствий стандартам – различные системные структуры, считанные при помощинизкоуровневых механизмов (таких как отладчик ядра или прямое чтение с диска).
Переченьобъектов, подлежащих такому анализу, включает в себя: списки файлов, спискиоткрытых портов, сетевых соединений, дампы сетевого трафика, системные логи илоги приложений, списки зарегистрированных в системе и загруженных в памятьмодулей ядра, таблицы указателей и код функций ядра и многое другое. 3.Проверка целостности исполняемых файлов.
Дляконтроля отсутствия нежелательных модификаций в исполняемых модуляхпроизводится проверка контрольных сумм файлов в соответствии с дистрибутивамисоответствующего ПО и верификация цифровой подписи файлов.
4.Анализ выявленных шпионских программ.
Производитсяreverse engineering и детальный анализ кода обнаруженного руткита или закладкис целью извлечения дополнительной информации об инциденте. 5. Восстановлениечистоты системы.
Серверможет быть надежно «вылечен» без необходимости переустановкиоперационной системы.
Всилу значительной трудоемкости данной методики она применяется с цельювыявления шпионских программ только на серверах. Решение аналогичной задачи длябольшого количества рабочих станций производится по упрощенной схеме и с болееобширным использованием средств автоматизации анализа.
Следуетзаметить, что приведенный базовый алгоритм не полностью покрывает одиндостаточно редкий и специфический кейс, а именно: случай, когда шпионский кодвнедрен в легитимное ПО в виде недекларированных возможностей (НДВ), на уровнедистрибутива. В таком случае проверка целостности исполняемых файлов иконфигурации системы рискует не выявить никаких аномалий. Покрытие данногокейса требует глубокого анализа подозрительного программного обеспечения.
1Хотелось бы подчеркнуть, что в ходе «Тестов на проникновение»используются эмуляторы, то есть программы, имитирующие отдельные особенностивредоносного ПО (такие, как обход защиты и повышение уровня привилегий всистеме), полностью подконтрольные специалисту и не содержащие вредоносныхфункций.
2На черном рынке (см. хакерские Web-форумы) открыто котируются только простыетроянцы, нацеленные на массовое заражение пользователей, преимущественно сцелью создания ботнетов. О ценах на целевые руткиты можно судить, умножаясоответствующие котировки в десятки раз.
КОММЕНТАРИЙЭКСПЕРТА
ИльяСачков, руководитель направления, группа информационной безопасности Group-IB
Ксожалению, в последнее время специалисты по информационной безопасности сталиотноситься к вредоносному коду очень несерьезно, как к самой банальной угрозеинформационной безопасности, про которую все известно. На практике жевредоносное ПО, а в особенности программы-шпионы, до сих пор являются одними изсамых эффективных методов проведения несанкционированного съема информации. Этоне миф, не сказка для студентов и не банальный маркетинговый ход антивирусныхкомпаний.
Внашей практике мы часто сталкиваемся с двумя основными инцидентами, инструментпроведения которых – программы-шпионы: утечка информации и финансовоемошенничество. Промышленный шпионаж, как и корпоративная разведка, – этодействительность. Правда, по отношениюко второму типу инцидентов – событиеменее распространенное. В основном программы-шпионы сейчас используются вроссийских корпоративных ИТ-средах для кражи ключевых элементов системИнтернет-банкинга и перевода денег со счетов юридических лиц на пластиковыекарты физических лиц (это позволяет преступникам в день перевода обналичитьденежные средства).
Благодаряуникальным, хорошо написанным программам, стоимость которых может достигатьдесятков тысяч долларов, злоумышленнику реально обойти эшелонированную защиту иполучить необходимую информацию. Следы вредоносного кода можно найтипостфактум, используя довольно сложные методы компьютерной криминалистики, и, ксожалению, не всегда данная работа оканчивается положительным результатом.Многие такие программы не определяются антивирусными пакетами даже спустя годы.Тема, поднятая автором, должна заставить специалистов нашей отраслипересмотреть и обновить политики обеспечения информационной безопасности ипредотвращения инцидентов.
АлисаШевченко, руководитель компании eSage Lab
Список литературы
Информационнаябезопасность" № 6, октябрь–ноябрь 2009