Алгоритм генерации домена

редактировать

Алгоритмы генерации доменов (DGA) - это алгоритмы, встречающиеся в различных семействах вредоносных программ, которые используются для периодической генерации большого количества доменных имен, которые могут использоваться в качестве точек встречи с их серверами управления и контроля. Большое количество потенциальных точек встречи мешает правоохранительным органам эффективно отключать бот-сети, поскольку зараженные компьютеры будут пытаться связываться с некоторыми из этих доменных имен каждый день для получения обновлений или команд. Использование криптографии с открытым ключом в коде вредоносных программ делает невозможным для правоохранительных органов и других субъектов имитировать команды контроллеров вредоносных программ, поскольку некоторые черви автоматически отклоняют любые обновления, не подписанные контроллеры вредоносных программ.

Например, зараженный компьютер может создать тысячи доменных имен, таких как: www. .com, и будет пытаться связаться с частью из них с целью получения обновления или команд.

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

Этот метод был популяризирован семейством червей Conficker.a и.b, которые сначала генерировали 250 доменных имен в день. Начиная с Conficker.C, вредоносное ПО будет генерировать 50 000 доменных имен каждый день, из которых оно будет пытаться связаться с 500, давая зараженному компьютеру 1% вероятность ежедневного обновления, если контроллеры вредоносного ПО регистрируют только один домен в день. Чтобы предотвратить обновление вредоносного ПО на зараженных компьютерах, правоохранительным органам потребуется предварительно регистрировать 50 000 новых доменных имен каждый день. С точки зрения владельца ботнета, им нужно зарегистрировать только один или несколько доменов из нескольких доменов, которые каждый бот будет запрашивать каждый день.

Недавно этот метод был принят другими авторами вредоносных программ. По данным фирмы по сетевой безопасности Damballa, по состоянию на 2011 год в пятерку самых распространенных семейств криминального ПО на основе DGA входят Conficker, Murofet, BankPatch, Bonnana и Bobax.

DGA также может комбинировать слова из словаря для создания доменов. Эти словари могут быть жестко закодированы во вредоносном ПО или взяты из общедоступных источников. Домены, созданные DGA по словарю, как правило, труднее обнаружить из-за их сходства с легитимными доменами.

Содержание

  • 1 Пример
  • 2 Обнаружение
  • 3 См. Также
  • 4 Ссылки
  • 5 Дополнительная литература

Пример

def generate_domain (year: int, month: int, day : int) ->str: "" "Сгенерировать доменное имя для заданной даты." "" domain = "" для i в диапазоне (16): year = ((год ^ 8 * год)>>11) ^ ( (год 0xFFFFFFF0) << 17) month = ((month ^ 4 * month)>>25) ^ 16 * (месяц 0xFFFFFFF8) день = ((день ^ (день << 13))>>19) ^ ((день 0xFFFFFFFE) << 12) domain += chr(((year ^ month ^ day) % 25) + 97) return domain + ".com"

Например, 7 января 2014 г. этот метод сгенерирует доменное имя intgmxdeadnxuyla.com, а на следующий день вернет axwscwsslmiagfah.com. Этот простой пример фактически использовался вредоносным ПО, таким как CryptoLocker, прежде чем он переключился на более сложный вариант.

Обнаружение

Доменные имена DGA могут быть заблокированы с помощью черных списков, но охват этих черных списков либо недостаточен (общедоступные черные списки), либо дико противоречивые (черные списки коммерческих поставщиков). Методы обнаружения делятся на два основных класса: реактивные и в реальном времени. ion полагается на неконтролируемые методы кластеризации и контекстную информацию, такую ​​как ответы NXDOMAIN сети, информацию WHOIS и пассивный DNS, для оценки легитимности доменного имени. Недавние попытки обнаружения доменных имен DGA с помощью методов глубокого обучения оказались чрезвычайно успешными, с оценкой F1 более 99%. В этих методах глубокого обучения обычно используются архитектуры LSTM и CNN, хотя глубокие встраивания слов показали большие перспективы для обнаружения словарного DGA. Однако эти подходы к глубокому обучению могут быть уязвимы для состязательных методов.

См. Также

Ссылки

.

Дополнительная литература

Последняя правка сделана 2021-05-17 11:35:13
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте