Domain Generation Algorithm (Алгоритм генерации доменов, 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 Семейства:

bamitalbanjoriblackholeccleanerchinad
confickercryptolockerdircryptdyreemotet
feodofobbergameovergspylocky
madmaxmatsnumiraimurofetmydoom
necursnymaimomexopadcryptproslikefan
pykspaqadarsramnitranbyusrovnix
shifushiotobsimdasuppoboxsymmi
tempedrevetinbatinynuketofseevawtrak
vidrovirutxshellghost

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

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