Содержание статьи
В новостях то и дело мелькает: «В результате таргетированной атаки преступникам удалось украсть два миллиарда долларов из 40 банков и финансовых организаций по всему миру…», «…Жертвами атаки, направленной на промышленные компании, стали более 500 энергетических, металлургических и строительных компаний более чем в 50 странах…», «…Эффективные и грамотно размещенные вредоносные программы, предназначенные для реализации атак на систему SWIFT, позволили киберпреступникам украсть миллионы…» и так далее, и так далее.
Таргетированные атаки (они же APT) — настоящий бич нашего времени, и на защите от них уже построен не один многомиллионный бизнес. Заглядываешь на любую выставку, посвященную ИБ, и видишь: для продающей стороны APT — это теперь важная часть предложения, а для покупающей — одна из насущных проблем. Причем актуальна она уже не только для крупного бизнеса, наученного горьким опытом, но и для среднего и даже малого. Если атакующий хочет добраться до корпорации, то мелкий подрядчик вполне может оказаться промежуточной целью.
Не просто слова
К сожалению, термины «таргетированная атака» и «целенаправленная атака» некорректны. Почему? Вспомним классическое определение компьютерной атаки: «Компьютерная атака — целенаправленное несанкционированное воздействие на…». Стоп, стоп, уже достаточно! Получается, что цель-то есть у любой атаки, а не только у «таргетированной».
Отличительная особенность целенаправленных атак заключается в том, что атакующий активно и интеллектуально подходит к выбору точки входа в конкретную инфраструктуру, достаточно долго анализирует циркулирующую в ее компонентах информацию и использует собранные данные для получения доступа к ценной информации.
Слышу возмущенные крики из зала: «Люди деньги теряют, а он к терминам цепляется!» Однако академическая точность описания проблемы чрезвычайно важна для создания той самой «серебряной пули», универсального решения, о котором писал Иван Новиков.
Исследователи обычно рассматривают отдельные аспекты атак и не проводят комплексный анализ проблемы. Поэтому несовершенны и методы выявления атак и борьбы с ними в уже скомпрометированной среде.
Например, многие методы и системы безопасности основаны на статических списках шаблонов, то есть на базах для эвристического анализа, «белых списках», базах сигнатур и так далее. Однако такие списки оказываются неэффективными для определения «нешаблонных» угроз, при которых злоумышленники стараются скрыть свое присутствие в скомпрометированной инфраструктуре.
Метод, который в соответствии с требованиями различных стандартов обеспечения ИБ гарантирует отсутствие в системе нарушителя, заключается в создании и поддержании замкнутых доверенных программно-аппаратных сред. Именно так «бумажная безопасность» исключает компрометацию на любом этапе.
Увы, с практической точки зрения этот метод неэффективен. Современные программно-аппаратные среды обычно построены на основе оборудования и софта разных производителей, которые используют разные подходы при разработке, разные методы обновления и поддержки. Исследовать все продукты, нет ли в них закладок, нереально, а без этого никаких доверенных сред не выйдет.
Другой метод защиты ценных ресурсов от целенаправленного несанкционированного доступа основан на физической изоляции защищаемых объектов. И он тоже неэффективен в реальных условиях. Даже если удастся закрыть все побочные каналы связи, которые могут быть использованы злоумышленниками для вывода данных, остается человеческий фактор. Нередко побочные каналы связи создают именно люди, взаимодействуя с системами, — непреднамеренно или же умышленно.
Проблема решения
Получается, что избежать риска компрометации фактически невозможно. Соответственно, нужны системы выявления неизвестных атак в уже скомпрометированной среде. Этот класс решений носит гордое название post-breach («после взлома») и чаще всего решает задачу response/mitigation, то есть реагирования и смягчения.
А вот методов и построенных на их основе решений для своевременного детекта угроз (post-breach detection) в действительности не так много. Например, один из них — это сети ловушек, которые широко известны как «ханипоты».
Правильно сделанная ловушка действительно может помочь обнаружить целенаправленную атаку на определенной стадии. Но при этом классический ханипот вряд ли чем-то поможет в выявлении других точек присутствия атакующего.
Известны способы адаптивного развертывания систем ловушек, а также поиска аномалий в функционировании компонентов системы. Гораздо сложнее найти рекомендации, как выбирать параметры развертывания ханипотов. Сколько нужно фейковых рабочих станций в сети? Какие фейковые аккаунты и на каких машинах создать? Еще сложнее проанализировать полученные таким способом данные. «Окей, Google, кто-то воспользовался фейковой учеткой на компьютере нашего бухгалтера. Что теперь делать?»
Неопознанное ≠ сверхъестественное
Чтобы не вносить терминологическую путаницу, будем использовать термин «неизвестная компьютерная атака». Она может включать в себя свойства целенаправленных атак, но не ограничиваться ими. Неизвестная компьютерная атака — это непрерывное целенаправленное несанкционированное воздействие при помощи программных или программно-аппаратных средств с такими параметрами функционирования, которые не позволяют защитным решениям его обнаружить в реальном времени.
Звучит сложно? На самом деле все сводится к трем ключевым особенностям: непрерывности, целенаправленности и нетривиальности.
Непрерывность — характеристика, определяющая временной интервал, в течение которого атакующий сохраняет несанкционированный доступ к ресурсу или воздействует на него. В частности, целенаправленные атаки отличаются продолжительным контролем точек присутствия в целевой информационной системе.
Целенаправленность — характеристика, которая определяет степень ручной работы со стороны атакующего для реализации несанкционированного доступа или воздействия и учитывает индивидуальные особенности целевой инфраструктуры.
Нетривиальность для систем обнаружения атак — это характеристика, определяющая сложность обнаружения этого класса атак защитными системами атакуемого объекта. Связана с целенаправленностью. Это ключевая характеристика для оценки эффективности методов и систем защиты.
Жизненный цикл атаки
Любую кибератаку можно поделить на стадии, названия которых пришли к нам из военной науки. Каждая стадия подразумевает набор стратегий и методов для их реализации. И для каждой из стадий существуют превентивные меры и стратегии ответных действий.
Давай на примерах разберем каждую стадию жизненного цикла атаки и проиллюстрируем стратегии реализации этапов. Назовем атакующего Василием.
Имей в виду, что эти сценарии лишь частный случай из многообразия тактик и средств, которые может использовать атакующий.
Разведка, подготовка
Во время разведки Василий пытается обнаружить точки входа в целевую инфраструктуру. Для этого он внимательно изучает отчет своего сканера веб-уязвимостей, который просканировал публичное веб-приложение, принадлежащее жертве.
Кроме того, Вася, анализируя выдачу поисковых систем, ищет эксплуатабельные ресурсы, IP которых входят в диапазон адресов целевой организации.
Василий нашел профили нескольких сотрудников организации в социальных сетях и их корпоративные email-адреса. На основе полученных данных Василий подготовил следующий план действий.
- Попытаться скомпрометировать рабочие станции обнаруженных сотрудников.
- Если это не удастся, Василий попробует использовать публичные эксплоиты, чтобы атаковать серверы организации, доступные из интернета, а также роутеры Wi-Fi в офисах компании.
- Параллельно с первыми двумя шагами Василий будет искать уязвимости в публичном веб-приложении в надежде, что скомпрометированное приложение предоставит ему доступ к внутренней инфраструктуре.
Чтобы реализовать все это, Василий готовит текст письма с вредоносным вложением сотрудникам, кастомизирует найденные эксплоиты, а также запускает перебор пароля для админки обнаруженного веб-ресурса.
Доставка, эксплуатация, закрепление
Как ты думаешь, какой из пунктов имеет больший шанс на успех? Быть может, ты видел отчеты консалтинговых компаний и скажешь, что это веб-приложение. Или вспомнишь про человеческий фактор и некомпетентность персонала в вопросах ИБ и предположишь, что победит фишинговое письмо с вложением. Но Васе все равно, что ты думаешь, потому что он уже сидит с ноутбуком в офисе компании и ждет подключений мобильных устройств ее сотрудников.
Так или иначе, итог этой стадии: отстук загруженного вредоносного кода на управляющий сервер Василия.
Действие
Вот тут начинается все самое интересное. На практике часто оказывается так, что злоумышленник вынужден проводить целую спецоперацию и создавать новые точки присутствия для того, чтобы обеспечить себе постоянный контроль (persistent). Ему придется проводить разведку внутри скомпрометированной инфраструктуры и перемещаться к ценным ресурсам. Это называется lateral movement: вряд ли полученный доступ к компьютеру бухгалтера удовлетворит заказчиков Василия — их скорее интересует интеллектуальная собственность компании. Ну и в конечном счете Васе нужно будет провести незаметный вывод данных (exfiltration).
Противодействие
Конечно, этап противодействия должен начинаться раньше, а не после всех описанных стадий. Но иногда бывает так, что Василия начинают искать уже после того, как он скрылся с ценными данными. И зачастую это происходит не только из-за некомпетентности защищающейся стороны. Просто Василий имел достаточно времени, чтобы изучить жертву, прежде чем начал какие-то активные действия, и хорошо знал обо всех защитных системах. Да и василиев зачастую много, а некоторые из них прячутся и среди внутренних сотрудников.
Именно по описанным выше причинам мы постараемся узнать о Васе и его намерениях еще до того, как он реализует все стадии своей атаки. Для этого нужно научиться вовремя определять его появление в нашей инфраструктуре. Тому, как это делать, я посвящу следующие выпуски моей колонки.