Алгоритм генерации доменов - DGA во вредоносном ПО

Традиционно вредоносные программы использовали жестко закодированные доменные имена или IP-адреса C&C-сервера в бинарном файле вредоносной программы для прямого соединения с C&C-сервером. Однако аналитики вредоносных программ могут легко обнаружить эти жестко закодированные доменные имена или IP-адреса путем обратной разработки и внести их в черный список. Алгоритм генерации доменов (DGA) - это техника, используемая авторами вредоносных программ для предотвращения попыток захвата или внесения в черный список доменов C&C. DGA используется для генерации большого количества доменных имен для C&C-сервера. Постоянная смена доменных имен для C&C-сервера с помощью DGA известна как Domain-Fluxing. Среди известных вредоносных программ, основанных на DGA, можно назвать Zeus GameOver, Cryptolocker, PushDo, Conficker и Ramdo.

Domain Generation Algorithm (Алгоритм генерации доменов, DGA)

Алгоритм генерации доменов (DGA) - это техника, которую злоумышленник внедряет в двоичный файл вредоносной программы для периодической генерации большого количества псевдослучайных несуществующих доменных имен для командно-контрольного (C&C) сервера. Затем вредоносная программа пытается разрешить эти сгенерированные доменные имена, посылая DNS-запросы, пока один из доменов не разрешится до IP-адреса сервера C&C. Генерируемые DGA доменные имена служат точками "рандеву" для вредоносной программы и ее сервера C&C. Доменные имена, генерируемые DGA, также известны как алгоритмически генерируемые домены (AGD). DGA используется для того, чтобы предотвратить уничтожение сервера C&C и препятствовать попыткам внесения в черный список.

Владение алгоритмом DGA и знание семян (seed) DGA позволяет злоумышленнику заранее предсказать домены DGA. В результате владелец может сгенерировать точно такой же список доменных имен, который может сгенерировать вредоносное ПО. Знание семени и алгоритма DGA позволяет владельцу ботнета предсказать, какие доменные имена будут пытаться запросить зараженные машины (вредоносные программы) в определенную дату и время, а затем злоумышленник заранее регистрирует одно из доменных имен, которые, как ожидается, будут сгенерированы встроенными вредоносными программами DGA.

Вредоносная программа DGA периодически генерирует большое количество доменных имен-кандидатов для сервера C&C и запрашивает все эти алгоритмически сгенерированные домены (AGD), чтобы определить IP-адрес сервера C&C. Злоумышленник заранее регистрирует одно из этих созданных DGA доменных имен для C&C-сервера, используя тот же алгоритм, встроенный во вредоносную программу. В конце концов, вредоносная программа запрашивает заранее зарегистрированное доменное имя и определяет IP-адрес сервера C&C. Затем вредоносная программа начинает общаться с C&C-сервером и получает новые команды и обновления. Если вредоносная программа не может найти C&C-сервер по предыдущему доменному имени, она обращается к следующему набору доменных имен, сгенерированных DGA, пока не найдет подходящее. Злоумышленник регистрирует доменное имя за 1 час до атаки и избавляется от него в течение 24 часов.

Domain Generation-Algorithm (DGA)

Как работает алгоритм генерации доменов (DGA)

Семя (seed) является базовым элементом DGA и служит общим секретом между противником и вредоносным ПО. Seed - это совокупность параметров, заданных противником для генерации псевдослучайного доменного имени, что является основным требованием алгоритма генерации доменов (DGA). Семя доступно как противнику, так и вредоносному ПО.

  • Семя ( Seed , общий секрет)
    • Статический посевной материал
    • Динамический посевной материал

Семя необходимо для расчета алгоритмически генерируемых доменов (AGD). Алгоритм генерации доменов (DGA) принимает значение семени в качестве входного параметра для генерации псевдослучайных строк и алгоритмически добавляет домен вехренего уровня (.com, .org, .ca, .ru, .ws) к строке для вывода возможных доменных имен.

b037a2f08cfc266948d5faec8b31cf5cfc.ws - Алгоритмически генерируемый домен (AGD)

Статические семена могут быть словарем слов, конкатенацией случайных строк и чисел или чем угодно, что злоумышленник может изменить по своему усмотрению. Динамические семена зависят от времени, семя меняется со временем. Ежедневный трендовый хэштег в Twitter, незначительные цифры валютного курса, погодная температура также могут быть использованы в качестве динамического семени. Часто текущая дата и время используются в качестве посевного значения в DGA для генерации доменных имен. Статические и динамические начальные элементы объединяются в алгоритм для генерации псевдослучайных строк, затем к этим строкам добавляются TLD, такие как .com, .ru, .ca, чтобы создать доменные имена.

Владелец ботнета использует алгоритмы генерации доменов (DGA) для генерации большого количества псевдослучайных доменных имен и выбора небольшой части для фактического использования C&C. DGA обеспечивает удивительный уровень гибкости и устойчивости инфраструктуры C&C противника и затрудняет уничтожение сервера C&C. Если доменные имена или IP-адреса C&C идентифицированы и уничтожены, вредоносная программа в конечном итоге получит IP-адрес перемещенного C&C-сервера через DNS-запросы к следующему набору доменных имен, сгенерированных DGA. Даже некоторые вредоносные программы используют DGA и технику Fast-Flux одновременно для защиты C&C-сервера, что значительно затрудняет обнаружение и уничтожение C&C-сервера.

DGA Семейства:

bamital banjori blackhole ccleaner chinad
conficker cryptolocker dircrypt dyre emotet
feodo fobber gameover gspy locky
madmax matsnu mirai murofet mydoom
necurs nymaim omexo padcrypt proslikefan
pykspa qadars ramnit ranbyus rovnix
shifu shiotob simda suppobox symmi
tempedreve tinba tinynuke tofsee vawtrak
vidro virut xshellghost

Список доменов DGA:

DGA Feed SEC-1275-1: https://1275.ru/spisok-aktivnyh-dga-domain-generation-algorithm-domenov/

 

Понравилась статья? Поделиться с друзьями:
Добавить комментарий