Algorytmy generowania domen

Wiele nowych przykładów złośliwego oprogramowania wymaga kontaktu z serwerem sterującym C&C w sieci w celu uzyskania instrukcji lub przeniesienia wykradzionych danych. A jak to wygląda w praktyce? O tym przeczytać można w poniższym artykule.

Konieczność kontaktu z serwerem sterującym charakteryzuje w szczególności botnety oraz złośliwe oprogramowanie atakujące systemy bankowości (np.ZeuS czy ZeuS Panda). Adresy tego typu serwerów sterujących zostały często zakodowane w złośliwym oprogramowaniu, wskutek czego przy każdej instalacji złośliwego oprogramowania dochodzi do kontaktu z adresem. Strategia ta ma jeden oczywisty słaby punkt, przynajmniej z perspektywy atakującego: gdy tylko serwer sterujący lub jego domena zostaną usunięte lub przechwycone przez władze, atakujący straci kontrolę nad zainfekowanym sprzętem. Czy nie lepiej (z punktu widzenia przestępców) byłoby, gdyby nie musieli już więcej martwić się kwestią przejmowania ich serwerów sterujących? Okazuje się, że w pewnych sytuacjach nie muszą się martwić. W przypadku, gdy nikt nie wie, z którym serwerem ma zamiar skontaktować się złośliwe oprogramowania, bardzo trudno jest go zamknąć. W tym miejscu do gry wchodzą algorytmy generujące domenę DGA (Domain Generation Algorithm).

W uproszczeniu, algorytmy DGA tworzą mniej lub bardziej przypadkowy adres internetowy. Może do tego dochodzić raz dziennie lub nawet kilka razy na godzinę. Złośliwe oprogramowanie kontaktuje się następnie z wygenerowanymi domenami o wcześniej ustalonej porze.

Przestępca musi jedynie zarejestrować te losowo wygenerowane domeny, powiązać je ze swoją infrastrukturą sterującą i jest „w domu”. Atakujący musi oczywiście wiedzieć, z którymi domenami jego “twór” ma zamiar się skontaktować w danym momencie tak, by mógł wcześniej te domeny zarejestrować. I jako że wie już, w jaki sposób działa algorytm, może z wyprzedzeniem opracować i zarejestrować setki domen i nie martwić się już więcej o to, jaki wpływ będzie miało usunięcie jednej z nich. Dla badaczy i władz powstaje w tym miejscu błędne koło – usuwając jeden serwer mogą zorientować się, że ich cel przeniósł się już na kolejny. Przestępca może spać spokojnie – wkrótce zainfekowany komputer skontaktuje się z nowym adresem, który pozostaje pod jego kontrolą.

Nie wszystko jeszcze jednak stracone. Sposób, w jaki domeny są tworzone przy pomocy algorytmu zdaje się opierać na konkretnych wzorach, a tam, gdzie mamy wzory, możemy znaleźć sposób na ich rozszyfrowanie. Skoro badacze potrafią przeanalizować ruch w sieci generowany przez podejrzane oprogramowanie, mogą z dużą dozą prawdopodobieństwa dowiedzieć się, czy domena, z którą został nawiązany kontakt powstała przy pomocy DGA, czy też nie. Nadal pozostaje ryzyko wykrycia fałszywie dodatnich przypadków, mimo że bardzo niewiele legalnych aplikacji korzysta z DGA (o ile w ogóle takowe istnieją). Niektóre algorytmy sprawiają wrażenie, że uzyskano dostęp do legalnej domeny, np. Google (jednak w adresie występują literówki, np. „goolge.com”). Dodatkowo pomiędzy różnymi grupami złośliwego oprogramowania mogą tworzyć się połączenia w oparciu o to, w jaki sposób ustalają one swoje domeny C&C.

– Adresami internetowymi (określanymi również jako URL od Uniform Resource Locators) posługuje się na co dzień większość ludzi, są one więc łatwe do zapamiętania, by przyciągnąć jak największą liczbę odwiedzających– mówi Robert Dziemianko z G DATA. – Dlatego nasz adres to gdata.pl, a nie na przykład www.kfualh85gdgiwe.pl -dodaje. Jako że serwer C&C nie zostanie nigdy świadomie odwiedzony przez przeciętnego internautę, algorytmy DGA mogą cieszyć się dużo większą wolnością przy tworzeniu adresów URL.

Przy analizowaniu generowanych domen swój udział ma, co ciekawe, także lingwistyka: sensowne słowo, które może zostać wykorzystane jako część adresu internetowego najprawdopodobniej nie będzie zawierało określonych kombinacji liter. Każdy język na świecie opiera się na pewnych regułach tworzenia słów niosących znaczenie. Zgodnie z nimi sekwencja przytoczona powyżej nigdy nie będzie stanowiła sensownego słowa w jakimkolwiek języku (może poza Klingon). Dlatego najprawdopodobniej taka strona nie jest legalna, a więc należałoby uważniej przyjrzeć się procesowi nawiązywania połączenia. Jest to tylko jedno z kryteriów mających na celu ustalenie, czy mamy do czynienia z podejrzaną działalnością; wśród innych metod znaleźć możemy mechanizmy wykrywające losowe kojarzenie słów.

Po ustaleniu, w jaki dokładnie sposób tworzone są adresy URL, jednym z możliwych (lecz również kontrowersyjnych) scenariuszy jest zastrzeżenie domen przez organy państwowe tak, by nie były one dostępne dla atakujących. Eksperci nazywają ten proces również „sinkholingiem”. Skutkuje on jednak ostrzeżeniem przestępców i poinformowaniem, że ktoś trafił na ich trop. Wtedy z reguły algorytm DGA tworzony jest na nowo i koło się zamyka.

Nieudana wstępna rejestracja domeny przyczyniła się również do złagodzenia skutków ataku niszczycielskiego złośliwego programowania WannaCry: Marcus Hutchins, zajmujący się badaniem tego zagadnienia, odkrył, że domena nie została zarejestrowana i sam podjął się tego zadania. W trakcie jego wykonywania przypadkowo natknął się na osławiony wyłącznik awaryjny WannaCry i dla wielu firm na całym świecie stał się bohaterem. Jednak nie było dane cieszyć mu się sławą, bowiem okazało się, że po jakimś czasie został zatrzymany przez FBI za udział w tworzeniu innego złośliwego oprogramowania o nazwie “Kronos”.

Więcej informacji na temat zasady działania algorytmów DGA oraz tego, w jaki sposób ekstrakcja DGA może zostać wykorzystana do zwiększenia skuteczności wykrywania można znaleźć w poście Emanuela Durmaza na blogu G DATA Advanced Analytics

Michał Łabęcki | P.o. Kierownika marketingu

Michał Łabęcki
P.o. kierownika marketingu
E-mail: [email protected]

Przeczytaj również ...