T1568.002: Алгоритмы генерирования доменных имен
Злоумышленники могут использовать алгоритмы генерирования доменных имен (DGA), чтобы динамически определять конечный домен для трафика командного сервера, не полагаясь на список статических IP-адресов или доменов. Это усложняет задачу специалистам по безопасности: им становится труднее блокировать, отслеживать или перехватывать канал связи с командным сервером, поскольку потенциально могут существовать тысячи доменов, от которых вредоносное ПО может получать инструкции.
DGA могут побуквенно генерировать доменные имена в виде случайных строк (например, istgmxdejdnxuyla.ru). Некоторые DGA случайным образом объединяют целые слова вместо букв (например, cityjulydish.net). Многие DGA основаны на времени и генерируют разные домены для каждого временного периода (например, часа, дня или месяца). Некоторые алгоритмы также используют начальное значение, чтобы затруднить специалистам по безопасности прогнозирование доменных имен, которые могут появиться в дальнейшем.
Злоумышленники могут использовать DGA в качестве резервных каналов. При потере связи с основным командным сервером вредоносное ПО может использовать DGA для возобновления управления.
Какие продукты Positive Technologies покрывают технику
Как обнаружить
PT NAD с помощью алгоритмов машинного обучения способен обнаруживать автоматически сгенерированные доменные имена (DGA), которые могут использоваться злоумышленниками для связи с командными серверами.
Примеры фильтров PT NAD
- rpt.cat == "dga"
Требуется эксперт. Техника обнаруживается только в связке «Продукт PT + эксперт»
Способы обнаружения
ID | DS0029 | Источник и компонент данных | Сетевой трафик: Поток сетевого трафика | Описание | Detecting dynamically generated domains can be challenging due to the number of different DGA algorithms, constantly evolving malware families, and the increasing complexity of the algorithms. There is a myriad of approaches for detecting a pseudo-randomly generated domain name, including using frequency analysis, Markov chains, entropy, proportion of dictionary words, ratio of vowels to other characters, and more. CDN domains may trigger these detections due to the format of their domain names. In addition to detecting a DGA domain based on the name, another more general approach for detecting a suspicious domain is to check for recently registered names or for rarely visited domains. Machine learning approaches to detecting DGA domains have been developed and have seen success in applications. One approach is to use N-Gram methods to determine a randomness score for strings used in the domain name. If the randomness score is high, and the domains are not whitelisted (CDN, etc), then it may be determined if a domain is related to a legitimate host or DGA. Another approach is to use deep learning to classify domains as DGA-generated] |
---|
Меры противодействия
ID | M1031 | Название | Предотвращение сетевых вторжений | Описание | Network intrusion detection and prevention systems that use network signatures to identify traffic for specific adversary malware can be used to mitigate activity at the network level. Malware researchers can reverse engineer malware variants that use DGAs and determine future domains that the malware will attempt to contact, but this is a time and resource intensive effort. Malware is also increasingly incorporating seed values that can be unique for each instance, which would then need to be determined to extract future generated domains. In some cases, the seed that a particular sample uses can be extracted from DNS traffic. Even so, there can be thousands of possible domains generated per day; this makes it impractical for defenders to preemptively register all possible C2 domains due to the cost. |
---|
ID | M1021 | Название | Ограничения для веб-контента | Описание | In some cases a local DNS sinkhole may be used to help prevent DGA-based command and control at a reduced cost. |
---|