Алгоритм генерации домена - Domain generation algorithm

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

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

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

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

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

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

Пример

def generate_domain(год: int, месяц: int, день: int) -> ул:    "" "Сгенерировать доменное имя на указанную дату." ""    домен = ""    за я в классифицировать(16):        год = ((год ^ 8 * год) >> 11) ^ ((год & 0xFFFFFFF0) << 17)        месяц = ((месяц ^ 4 * месяц) >> 25) ^ 16 * (месяц & 0xFFFFFFF8)        день = ((день ^ (день << 13)) >> 19) ^ ((день & 0xFFFFFFFE) << 12)        домен += chr(((год ^ месяц ^ день) % 25) + 97)    возвращаться домен + ".com"

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

Обнаружение

Домен DGA[3] имена могут быть заблокированы с помощью черных списков, но охват этих черных списков либо плох (общедоступные черные списки), либо совершенно непоследователен (черные списки коммерческих поставщиков).[4] Методы обнаружения делятся на два основных класса: реактивные и методы обнаружения в реальном времени. Реагирующее обнаружение полагается на неконтролируемое методы кластеризации и контекстная информация, такая как ответы NXDOMAIN сети,[5] КТО Информация,[6] и пассивный DNS[7] для оценки легитимности доменного имени. Недавние попытки обнаружения доменных имен DGA с глубокое обучение техники были чрезвычайно успешными, с Результаты F1 более 99%.[8] Эти методы глубокого обучения обычно используют LSTM и CNN архитектуры,[9] хотя глубоко вложения слов показали большие перспективы для обнаружения словарного DGA.[10] Однако эти подходы к глубокому обучению могут быть уязвимы для состязательные методы.[11][12]

Смотрите также

Рекомендации

  1. ^ "Топ-5 наиболее распространенных семейств преступного ПО на основе DGA" (PDF). Дамбалла. п. 4. Архивировано из оригинал (PDF) на 2016-04-03.
  2. ^ Плохманн, Даниэль; Якдан, Халед; Клатт, Майкл; Бадер, Йоханнес; Герхардс-Падилья, Эльмар (2016). «Комплексное исследование вредоносного ПО, генерирующего домен» (PDF). 25-й симпозиум по безопасности USENIX: 263–278.
  3. ^ Шатил А. Чоудхури, «АЛГОРИТМ ГЕНЕРАЦИИ ДОМЕНА - DGA В ВРЕДОНОСНОМ ПО», 30 августа 2019 г.
  4. ^ Кюрер, Марк; Россоу, Кристиан; Хольц, Торстен (2014), Ставру, Ангелос; Бос, Герберт; Портокалидис, Георгиос (ред.), «Раскрась в черный цвет: оценка эффективности черных списков вредоносных программ» (PDF), Исследования атак, вторжений и защиты, Springer International Publishing, 8688, стр. 1–21, Дои:10.1007/978-3-319-11379-1_1, ISBN  9783319113784, получено 2019-03-15
  5. ^ Антонакакис, Манос; и другие. (2012). «От случайного трафика к ботам: обнаружение роста вредоносного ПО на основе DGA». 21-й симпозиум по безопасности USENIX: 491–506.
  6. ^ Куртин, Райан; Гарднер, Эндрю; Гжонковский, Славомир; Клейменов Алексей; Москера, Алехандро (2018). «Обнаружение доменов DGA с повторяющимися нейронными сетями и дополнительной информацией». arXiv:1810.02023 [cs.CR ]. Cite имеет пустые неизвестные параметры: | via = и | объем = (помощь)
  7. ^ Перейра, Майана; Коулман, Шон; Ю, Бин; Де Кок, Мартина; Насименто, Андерсон (2018), «Извлечение словаря и обнаружение алгоритмически сгенерированных доменных имен в пассивном DNS-трафике» (PDF), Исследования атак, вторжений и защит, Конспект лекций по информатике, 11050, Springer International Publishing, стр. 295–314, Дои:10.1007/978-3-030-00470-5_14, ISBN  978-3-030-00469-9, получено 2019-03-15
  8. ^ Вудбридж, Джонатан; Андерсон, Хайрам; Ахуджа, Анджум; Грант, Дэниел (2016). «Прогнозирование алгоритмов генерации доменов с помощью сетей с долговременной краткосрочной памятью». arXiv:1611.00791 [cs.CR ]. Cite имеет пустые неизвестные параметры: | via = и | объем = (помощь)
  9. ^ Ю, Бин; Пан, Джи; Ху, Цзяминь; Насименто, Андерсон; Де Кок, Мартина (2018). «Обнаружение доменных имен DGA на основе уровня символов» (PDF). 2018 Международная совместная конференция по нейронным сетям (IJCNN). Рио-де-Жанейро: IEEE: 1–8. Дои:10.1109 / IJCNN.2018.8489147. ISBN  978-1-5090-6014-6.
  10. ^ Ко, Джоуи Дж .; Родос, Бартон (2018). «Встроенное обнаружение алгоритмов генерации доменов с контекстно-зависимыми вложениями слов». Международная конференция IEEE 2018 по большим данным (Big Data). Сиэтл, Вашингтон, США: IEEE: 2966–2971. arXiv:1811.08705. Дои:10.1109 / BigData.2018.8622066. ISBN  978-1-5386-5035-6.
  11. ^ Андерсон, Хайрам; Вудбридж, Джонатан; Бобби, Филар (2016). «DeepDGA: создание и обнаружение доменов, настроенных противоборством». arXiv:1610.01969 [cs.CR ]. Cite имеет пустые неизвестные параметры: | объем = и | via = (помощь)
  12. ^ Сиди, Лиор; Надлер, Асаф; Шабтай, Асаф (2019). "MaskDGA: Техника уклонения от черного ящика против классификаторов DGA и состязательных защит". arXiv:1902.08909 [cs.CR ]. Cite имеет пустые неизвестные параметры: | объем = и | via = (помощь)


дальнейшее чтение