Алгоритм генерации домена
Алгоритмы генерации доменов (DGA) — это алгоритмы, встречающиеся в различных семействах вредоносных программ , которые используются для периодической генерации большого количества доменных имен , которые можно использовать в качестве точек встречи с их серверами управления и контроля . Большое количество потенциальных точек встречи затрудняет эффективное закрытие ботнетов правоохранительными органами , поскольку зараженные компьютеры будут каждый день пытаться связаться с некоторыми из этих доменных имен для получения обновлений или команд. Использование криптографии с открытым ключом в коде вредоносного ПО делает невозможным для правоохранительных органов и других субъектов имитировать команды контроллеров вредоносного ПО, поскольку некоторые черви автоматически отклоняют любые обновления, не подписанные контроллерами вредоносного ПО.
Например, зараженный компьютер может создать тысячи доменных имен, таких как: www.<gibberish>.com , и попытаться связаться с частью из них с целью получения обновлений или команд.
Встраивание DGA вместо списка ранее созданных (серверами управления и контроля) доменов в незашифрованный двоичный файл вредоносного ПО защищает от дампа строк, который может быть заранее передан в устройство черного списка сети, чтобы попытаться ограничить исходящие соединения от зараженных. хосты внутри предприятия.
Этот метод был популяризирован семейством червей Conficker .a и .b, которые сначала генерировали 250 доменных имен в день. Начиная с Conficker.C, вредоносное ПО будет генерировать 50 000 доменных имен каждый день, из которых оно будет пытаться связаться с 500, что дает зараженной машине 1%-ную вероятность ежедневного обновления, если контроллеры вредоносного ПО регистрируют только один домен в день. Чтобы предотвратить обновление вредоносного ПО на зараженных компьютерах, правоохранительным органам пришлось бы ежедневно предварительно регистрировать 50 000 новых доменных имен. С точки зрения владельца ботнета, ему нужно зарегистрировать только один или несколько доменов из нескольких доменов, которые каждый бот будет запрашивать каждый день.
Недавно эту технику переняли и другие авторы вредоносных программ. По данным компании сетевой безопасности Damballa в пятерку наиболее распространенных семейств криминального ПО на основе DGA входят Conficker, Murofet, BankPatch, Bonnana и Bobax. , по состоянию на 2011 год [1]
DGA также может комбинировать слова из словаря для создания доменов. Эти словари могут быть жестко запрограммированы во вредоносном ПО или взяты из общедоступного источника. [2] Домены, созданные с помощью словаря DGA, как правило, труднее обнаружить из-за их сходства с законными доменами.
Пример
[ редактировать ]def generate_domain(year: int, month: int, day: int) -> str:
"""Generate a domain name for the given date."""
domain = ""
for i in range(16):
year = ((year ^ 8 * year) >> 11) ^ ((year & 0xFFFFFFF0) << 17)
month = ((month ^ 4 * month) >> 25) ^ 16 * (month & 0xFFFFFFF8)
day = ((day ^ (day << 13)) >> 19) ^ ((day & 0xFFFFFFFE) << 12)
domain += chr(((year ^ month ^ day) % 25) + 97)
return domain + ".com"
Например, 7 января 2014 г. этот метод сгенерирует доменное имя. intgmxdeadnxuyla.com
, а на следующий день он вернется axwscwsslmiagfah.com
. Этот простой пример на самом деле использовался вредоносным ПО, таким как CryptoLocker , прежде чем он перешел на более сложный вариант.
Обнаружение
[ редактировать ]Домен DGA [3] имена можно заблокировать с помощью черных списков, но покрытие этих черных списков либо плохое (публичные черные списки), либо крайне непоследовательное (черные списки коммерческих поставщиков). [4] Методы обнаружения делятся на два основных класса: реакционные и методы реального времени. неконтролируемой Реакционное обнаружение основано на методах кластеризации и контекстной информации, такой как сетевые ответы NXDOMAIN, [5] WHOIS- информация, [6] и пассивный DNS [7] провести оценку легитимности доменного имени. Недавние попытки обнаружить доменные имена DGA с помощью методов глубокого обучения оказались чрезвычайно успешными: показатель F1 превысил 99%. [8] Эти методы глубокого обучения обычно используют LSTM и CNN . архитектуры [9] хотя глубокие встраивания слов показали большие перспективы для обнаружения словарного DGA. [10] Однако эти подходы к глубокому обучению могут быть уязвимы для состязательных методов . [11] [12]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Топ-5 наиболее распространенных семейств преступного ПО на основе DGA» (PDF) . Дамбала . п. 4. Архивировано из оригинала (PDF) 3 апреля 2016 г.
- ^ Пломанн, Дэниел; Якдан, Халед; Клатт, Майкл; Бадер, Джон; Герхардс-Падилья, Эльмар (2016). «Комплексное исследование вредоносных программ, генерирующих домены» (PDF) . 25-й симпозиум по безопасности USENIX : 263–278.
- ↑ Шатель А. Чоудхури, «АЛГОРИТМ ГЕНЕРАЦИИ ДОМЕНА – DGA В ВРЕДОНОСНОМ ПО» , 30 августа 2019 г.
- ^ Кюрер, Марк; Россов, Кристиан; Хольц, Торстен (2014), Ставру, Ангелос; Бос, Герберт; Портокалидис, Георгиос (ред.), «Закрасьте его черным: оценка эффективности черных списков вредоносных программ» (PDF) , Исследования в области атак, вторжений и защиты , том. 8688, Springer International Publishing, стр. 1–21, номер номера : 10.1007/978-3-319-11379-1_1 , ISBN. 9783319113784 , получено 15 марта 2019 г.
- ^ Антонакакис, Манос; и др. (2012). «От выброшенного трафика к ботам: обнаружение роста вредоносного ПО на основе DGA» . 21-й симпозиум по безопасности USENIX : 491–506.
- ^ Кертин, Райан; Гарднер, Эндрю; Гржонковский, Славомир; Клейменов Алексей; Москера, Алехандро (2018). «Обнаружение доменов DGA с помощью рекуррентных нейронных сетей и дополнительной информации». arXiv : 1810.02023 [ cs.CR ].
- ^ Перейра, Майана; Коулман, Шон; Ю, Бин; Де Кок, Мартина; Насименто, Андерсон (2018), «Извлечение по словарю и обнаружение алгоритмически сгенерированных доменных имен в пассивном DNS-трафике» (PDF) , Исследования в области атак, вторжений и защиты , Конспекты лекций по информатике, том. 11050, Springer International Publishing, стр. 295–314, номер doi : 10.1007/978-3-030-00470-5_14 , ISBN. 978-3-030-00469-9 , получено 15 марта 2019 г.
- ^ Вудбридж, Джонатан; Андерсон, Хайрам; Ахуджа, Анджум; Грант, Дэниел (2016). «Прогнозирование алгоритмов генерации доменов с помощью сетей с длинной краткосрочной памятью». arXiv : 1611.00791 [ cs.CR ].
- ^ Ю, Бин; Пан, Цзе; Ху, Цзямин; Насименто, Андерсон; Де Кок, Мартина (2018). «Обнаружение доменных имен DGA на уровне символов» (PDF) . Международная совместная конференция по нейронным сетям 2018 (IJCNN) . Рио-де-Жанейро: IEEE. стр. 1–8. дои : 10.1109/IJCNN.2018.8489147 . ISBN 978-1-5090-6014-6 . S2CID 52398612 .
- ^ Кох, Джоуи Дж.; Роудс, Бартон (2018). «Встроенное обнаружение алгоритмов генерации доменов с помощью контекстно-зависимых вложений слов». Международная конференция IEEE по большим данным (Big Data) 2018 . Сиэтл, Вашингтон, США: IEEE. стр. 2966–2971. arXiv : 1811.08705 . дои : 10.1109/BigData.2018.8622066 . ISBN 978-1-5386-5035-6 . S2CID 53793204 .
- ^ Андерсон, Хайрам; Вудбридж, Джонатан; Бобби, Филар (2016). «DeepDGA: генерация и обнаружение доменов с состязательной настройкой». arXiv : 1610.01969 [ cs.CR ].
- ^ Сиди, Лиор; Надлер, Асаф; Шабтай, Асаф (2019). «MaskDGA: метод обхода черного ящика против классификаторов DGA и состязательной защиты». arXiv : 1902.08909 [ cs.CR ].
Дальнейшее чтение
[ редактировать ]- Филипп Поррас ; Хассен Саиди; Винод Йегнесваран (19 марта 2009 г.). «Анализ логики Конфикера и точек встречи» . Центр угроз вредоносного ПО . НИИ Международная лаборатория компьютерных наук . Архивировано из оригинала 3 февраля 2013 г. Проверено 14 июня 2013 г.
- Лучиан Константин (27 февраля 2012 г.). «Авторы вредоносных программ расширяют использование алгоритмов генерации доменов, чтобы избежать обнаружения» . Мир ПК . Проверено 14 июня 2013 г.
- Хунлян Лю, Юрий Юзифович (29 декабря 2017 г.). «Смертельный матч алгоритмов генерации доменов» . Акамай Технологии . Проверено 15 марта 2019 г.
- DGA в руках киберпреступников: изучение современных методов уклонения от вредоносных программ
- DGA и киберпреступники: практический пример
- Как преступники защищают свои мошеннические сети, Abuse.ch