Domain Generation Algorithms (DGA)
Одним из наиболее важных «нововведений» в области вредоносных программ за последнее десятилетие является так называемый алгоритм генерации доменов (DGA). DGA - это техника автоматизации, которую злоумышленники используют для защиты от защитников защищающих сотрудников от атак. Хотя DGA используется уже более 10 лет, он все еще является мощной техникой, с которой безопасникам приходится сталкиваться. К счастью, сейчас появляются новые технологии, которые могут лучше противостоять DGA.
Злоумышленники разработали DGA, чтобы вредоносная программа могла быстро создать список доменов, которые она может использовать для сайтов, которые дают ей инструкции и получают информацию от вредоносной программы (обычно называемую «command & control» или C2 или система управления бот-сетями).
Злоумышленники используют DGA, чтобы быстро переходить на новые домены, которые они используют для работы своих вредоносных программ. Злоумышленники делают это, потому что программное обеспечение для обеспечения безопасности и поставщики действуют быстро, чтобы блокировать и уничтожать вредоносные домены, которые использует вредоносное ПО. Злоумышленники разработали DGA специально для противодействия этим действиям, чтобы стать еще быстрее.
В прошлом злоумышленники вели постоянный список вредоносных доменов. Безопасники могут легко взять этот список и начать блокировать и даже уничтожать эти сайты. Используя алгоритм для построения постоянного нового списка доменов, безопасникам становится сложнее знать или предсказать, какие домены будут использоваться, чем если бы у них был простой список доменов. Чтобы получить список доменов, которые будут использовать вредоносные программы, защитники должны изучить алгоритм, который может быть сложным.
Удаление сайтов, на которых работает вредоносное ПО использующее DGA, сложно осуществить, поскольку безопасникам приходится проходить через процесс работы с интернет-провайдерами, чтобы уничтожить эти вредоносные домены один за другим. Многие DGA созданы для использования сотен или даже тысяч доменов. И эти домены часто работают только в течение ограниченного периода времени. В этой ситуации блокирование и удаление доменов, связанных с DGA, быстро превращается в игру «ударить крота», которая иногда бесполезна.
Почему я должен переживать, что это может сделать с моей компанией?
DGA сама по себе не может навредить вам. Но это важная часть, которая позволяет современным вредоносным программам пытаться избежать блокировки и контрмер безопасности. Важность и полезность DGA для хакеров лучше всего подтверждается тем фактом, что техника регулярно и постоянно используется по крайней мере с 2008 года. DGA был ключевым компонентом атак Conficker в 2008 и 2009 годах и частью его успеха.
Я делаю много пилотов NGFW и исследую трафик и атаки в нем. Почти в любой сети я вижу массу таких запросов к DGA доменам и их никто не контролирует. Хотя это верный признак того, что на рабочих станция и серверах ведется несанкционированная активность.
Я делаю много пилотов NGFW и исследую трафик и атаки в нем. Почти в любой сети я вижу массу таких запросов к DGA доменам и их никто не контролирует. Хотя это верный признак того, что на рабочих станция и серверах ведется несанкционированная активность.
Что я могу с этим поделать?
Поскольку DGA - это метод, который гарантирует успешность атак вредоносных программ, то, вы можете начать участвовать в программе нахождения доменов DGA: начать отправлять ваши DNS запросы в специализированные ЦОД, которые обрабатывают big data и используют machine learning. Сервер анализирует DNS запросы в реальном времени и принимает решение несет ли этот неизвестный или новый домен пользу или вред.
Новые технологии анти-DGA, которые используют машинное обучение и big data, способны противостоять автоматизации DGA с помощью собственного автоматического прогнозирования, которое может предвидеть, блокировать, помогать в удалении вредоносных сайтов или даже, в некоторых случаях, предотвращать использование этих вредоносных сайтов в первое место.
А что на практике?
Итак в современные NGFW были встроены две новые техники защиты DNS и они служат одной цели, но появились в разное время: DNS Sinkholing и Anti-DGA. Давайте разберем это.
- Во-первых сама техника защиты DNS Sinkholing существует уже давно и хакеры про нее в курсе. Вредоносный код использует подключения по DNS и безопасники блокируют эти подключения, изучая вредоносный код и забирая из него эти DNS адреса, получая в итоге индикаторы компрометации и пополняя базы Threat Intelligence. То есть DNS Sinkholing это по сути база DNS адресов и метод обнаружения и реагирования DNS запросов в сети.
- Во-вторых пришлось создать специальные мощные сервера для анализа новых DNS запросов к еще неизвестным ранее доменам в реальном времени. Почему? Хакеры в ответ на создание DNS Sinkholing стали генерировать себе DNS домены так часто, что системы сбора и анализа перестали успевать собирать их из вредоносного кода. И мало того текущие системы анализа (например песочницы) и не могут создать список всех доменов, которыми будет пользоваться хакер, потому что в генератор заложено бесконечное число вариантов. И тут уже требуется специальный machine learning, чтобы отличить "человеческий" домен от "нечеловеческого" в реальном времени.
- В-третьих DNS запросы не просто блокируются, а подменяются, потому что запросы приходят от DNS сервера, а не от зараженных станций. И просто блокировать запросы неинтересно. Когда мы подменяем ответ DNS серверу, то видим потом соединения к адресу, который мы использовали в ответе, например, это может быть адрес sinkhole.paloaltonetworks.com
У Palo Alto Networks механизм anti-DGA реализован и называется DNS Security.
На картинке видно журнал, где показано что видит DNS Security в Palo Alto Networks, и подобнее уже было описано тут. Посмотрите какие в журнале идут имена доменов! Чтобы определить программа ли этот адрес сгенерировала или человек и используется machine learning и big data.