Algorytm generowania domeny
Algorytmy generowania domen (DGA) to algorytmy występujące w różnych rodzinach złośliwego oprogramowania , które są używane do okresowego generowania dużej liczby nazw domen , które mogą być używane jako punkty spotkania z ich serwerami dowodzenia i kontroli . Duża liczba potencjalnych punktów spotkania utrudnia organom ścigania skuteczne zamykanie botnetów , ponieważ zainfekowane komputery będą codziennie próbowały kontaktować się z niektórymi z tych nazw domen w celu otrzymania aktualizacji lub poleceń. Użycie kryptografii z kluczem publicznym w kodzie złośliwego oprogramowania uniemożliwia organom ścigania i innym podmiotom naśladowanie poleceń kontrolerów złośliwego oprogramowania, ponieważ niektóre robaki automatycznie odrzucają wszelkie aktualizacje, które nie zostały podpisane przez kontrolery złośliwego oprogramowania.
Na przykład zainfekowany komputer mógłby utworzyć tysiące nazw domen, takich jak: www.<bełkot>.com i próbowałby skontaktować się z częścią z nich w celu otrzymania aktualizacji lub poleceń.
Osadzanie DGA zamiast listy wcześniej wygenerowanych (przez serwery dowodzenia i kontroli) domen w niezaciemnionym pliku binarnym złośliwego oprogramowania chroni przed zrzutem ciągów znaków, który mógłby zostać wprowadzony do sieciowego urządzenia z czarną listą prewencyjnie w celu ograniczenia komunikacji wychodzącej z zainfekowanych hosty w przedsiębiorstwie.
Technika ta została spopularyzowana przez rodzinę robaków Conficker .a i .b, które początkowo generowały 250 nazw domen dziennie. Począwszy od Conficker.C, złośliwe oprogramowanie generowałoby codziennie 50 000 nazw domen, z których próbowałoby się skontaktować z 500, dając zainfekowanej maszynie 1% możliwości aktualizacji każdego dnia, gdyby kontrolery złośliwego oprogramowania rejestrowały tylko jedną domenę dziennie. Aby zapobiec aktualizowaniu złośliwego oprogramowania przez zainfekowane komputery, organy ścigania musiałyby codziennie rejestrować wstępnie 50 000 nowych nazw domen. Z punktu widzenia właściciela botnetu wystarczy zarejestrować jedną lub kilka domen z kilku domen, o które każdy bot będzie codziennie pytał.
Ostatnio technika ta została przyjęta przez innych autorów szkodliwego oprogramowania. Według firmy Damballa zajmującej się bezpieczeństwem sieci , pięć najbardziej rozpowszechnionych rodzin oprogramowania przestępczego opartego na DGA to Conficker, Murofet, BankPatch, Bonnana i Bobax (od 2011 r.).
DGA może również łączyć słowa ze słownika w celu generowania domen. Te słowniki mogą być zakodowane na stałe w złośliwym oprogramowaniu lub zaczerpnięte z publicznie dostępnego źródła. Domeny generowane przez słownik DGA są zwykle trudniejsze do wykrycia ze względu na podobieństwo do legalnych domen.
Przykład
def wygeneruj domenę ( rok : int , miesiąc : int , dzień : int ) -> str : """Wygeneruj nazwę domeny dla podanej daty.""" domena = "" dla i w zakresie ( 16 ): rok = (( rok ^ 8 * rok ) >> 11 ) ^ (( rok & 0xFFFFFFF0 ) << 17 ) miesiąc = (( miesiąc ^ 4 * miesiąc ) >> 25 ) ^ 16 * ( miesiąc & 0xFFFFFF8 ) dzień = (( dzień ^ ( dzień << 13 )) >> 19 ) ^ (( dzień & 0xFFFFFFFE ) << 12 ) domena += chr ((( rok ^ miesiąc ^ dzień ) % 25 ) + 97 ) powrót domena + ".com"
Na przykład 7 stycznia 2014 r. ta metoda wygenerowałaby nazwę domeny intgmxdeadnxuyla.com
, a następnego dnia zwróciłaby axwscwsslmiagfah.com
. Ten prosty przykład był w rzeczywistości używany przez złośliwe oprogramowanie, takie jak CryptoLocker , zanim przekształciło się w bardziej wyrafinowany wariant.
Wykrycie
Nazwy domen DGA można blokować za pomocą czarnych list, ale zasięg tych czarnych list jest albo słaby (publiczne czarne listy), albo bardzo niespójny (czarne listy dostawców komercyjnych). Techniki wykrywania należą do dwóch głównych klas: reakcyjne i działające w czasie rzeczywistym. Wykrywanie reakcyjne opiera się na nienadzorowanych technikach klastrowania i informacjach kontekstowych, takich jak odpowiedzi sieciowe NXDOMAIN, informacje WHOIS i pasywny DNS, aby dokonać oceny legalności nazwy domeny. Niedawne próby wykrycia nazw domen DGA za pomocą głębokiego uczenia się zakończyły się ogromnym sukcesem, z wynikami F1 przekraczającymi 99%. Te metody głębokiego uczenia zazwyczaj wykorzystują LSTM i CNN , chociaż głębokie osadzenie słów okazało się bardzo obiecujące w wykrywaniu słownikowego DGA. Jednak te podejścia do głębokiego uczenia się mogą być podatne na techniki kontradyktoryjności .
Zobacz też
Dalsza lektura
- Filipa Porrasa ; Hassen Saidi; Vinod Yegneswaran (2009-03-19). „Analiza logiki Confickera i punktów spotkania” . Centrum zagrożeń złośliwym oprogramowaniem . Międzynarodowe Laboratorium Informatyki SRI . Zarchiwizowane od oryginału w dniu 2013-02-03 . Źródło 2013-06-14 .
- Lucian Constantin (2012-02-27). „Autorzy złośliwego oprogramowania rozszerzają wykorzystanie algorytmów generowania domen, aby uniknąć wykrycia” . Świat PC . Źródło 2013-06-14 .
- Hongliang Liu, Yuriy Yuzifovich (2017-12-29). „Death Match algorytmów generowania domen” . Technologie Akamai . Źródło 2019-03-15 .
- DGA w rękach cyberprzestępców — badanie najnowocześniejszych technik unikania złośliwego oprogramowania
- DGA i cyberprzestępcy: studium przypadku
- Jak przestępcy bronią swoich nieuczciwych sieci, Abuse.ch