Virtual-IT.pl - wirtualizacja cloud computing storage SDx data center

Artykuły

Cryptojacking - jak się przed nim chronić?

CryptojackingNowe formy ataku znane również jako cryptojacking są ukierunkowane zarówno na urządzenia końcowe, jak i serwery (te lokalnie, jak i te dostępne z chmury). Cel jest jeden: przejąć sieć urządzeń (botnet) i wykorzystać ich procesory (CPU) do kopania kryptowaluty przy zminimalizowaniu kosztów  własnych i inwestycji w sprzęt.

Prymitywne organizmy zakaźne zabijają gospodarza, zyskując jednorazową korzyść: podtrzymanie gatunku. Te bardziej zaawansowane żerują na swoich nosicielach, żyją w organizmie gospodarza lub na nim i pobierają składniki odżywcze jego kosztem. Ich głównym celem jest wykorzystywanie żywiciela, a nie niszczenie go. Podobna sytuacja występuje w świecie cyfrowym, pasożyty - najczęściej niewykryte - nie usuwają, nie szyfrują danych ani nie żądają za nie okupu, za to wykorzystują moc obliczeniową „nosiciela”, która jest cennym towarem w świecie wydobywania kryptowalut. Osoby wykorzystujące ten proceder, napędzane szansą zysku, tworzą narzędzia do wydobywania kryptowalut, by wykorzystać obecny boom.

To zjawisko ukrytego złośliwego oprogramowania, staje się coraz popularniejsze, ponieważ jest skutecznym sposobem generowania przychodów przy mniejszej szansie wykrycia. Celem jest kradzież mocy obliczeniowej procesora (CPU), przez co oprogramowanie w istocie staje się czymś w rodzaju cyfrowego pasożyta.

Cyfrowa gorączka złota
Cryptomining częściej nazywany kopaniem kryptowalut jest procesem intensywnym - konsekwentnie realizuje obliczenia matematyczne, które potrafią wykorzystać 100% mocy obliczeniowej procesora. Osoby zajmujące się tym procederem na dużą skalę dokonują sporych inwestycji w specjalistyczny sprzęt i infrastrukturę (hosting, chłodzenie, energię elektryczną itp.), by uzyskać późniejszy zwrot i stać się rentownym. Korzystniejsze jest jednak kopanie kryptowalut poprzez wykorzystanie sieci zainfekowanych komputerów, kradzież cyklu procesora i pozostawienie użytkownikom końcowym obniżonej wydajności, przy jednoczesnym zwiększeniu ponoszonych przez nich kosztów energii. Dotyczy to zarówno infrastruktury on-premise, ale też chmury, której koszty określane są na podstawie jej faktycznego wykorzystania.
 
W przypadku Bitcoina, jego uzyskanie z wykorzystaniem procesorów GPU lub nawet starszych specjalizowanych układów scalonych (ASIC) nie jest w stanie dać wymaganego zwrotu z inwestycji - koszt zużycia energii jest większy niż zyski. Z wyjątkami, wydobycie Bitcoin jest zwykle ograniczone do większych operacji, w których koszt energii jest niższy i dotyczy wykorzystania energii wodnej lub energii subsydiowanej (dotowanej). Stąd też duża liczba "altcoinów" (walut alternatywnych dla Bitcoina, które wykorzystują inne algorytmy o niższych poziomach trudności) zyskała na popularności. Należą do nich np. Ethereum i Monero. Podczas, gdy niektóre ‘alty’ mają unikalną użyteczność czy funkcjonalność, to przede wszystkim same w sobie zapewniają możliwość czerpania sporych zysków, gdyż mogą być wymieniane na Bitcoiny. Monero jest popularnym botnetem, w którym kilka tysięcy zainfekowanych systemów może przynosić setki tysięcy dolarów rocznie.

Cyfrowe pasożyty
Urządzenia końcowe często są wykorzystywane za pośrednictwem przeglądarki internetowej. Objawem zainfekowania jest zwykle powolne działanie, wysokie użycie procesora i maksymalne obroty wentylatorów. Przeprowadzone przez niezależnego specjalistę ds. bezpieczeństwa Williama DeGroota badanie wskazuje, że wszystkie z 2496 przeanalizowanych przez niego witryn, zawierało nieaktualne oprogramowanie ze znanymi lukami w zabezpieczeniach, które to luki zostały wykorzystane do przejęcia kontroli przez napastników. Atakujący uzyskali dostęp do środowiska, by dodać kod, który niejawnie korzystał z procesorów i energii elektrycznej osób odwiedzających strony, by wygenerować cyfrową walutę znaną jako Monero. Innym wariantem jest "drive-by”, gdzie ukryte i trwale otwarte okienko przeglądarki wisi nawet po zamknięciu strony www.

Na ataki podatne są również urządzenia mobilne, tym bardziej, że skrypty wyszukujące kryptowaluty  mogą działać w tle, przez co trudniej je zidentyfikować. Jednym z przykładów jest wariant Androida o nazwie ADB.Miner. Zwykle działa na zrootowanych urządzeniach, używających tego samego kodu skanowania, co botnet Mirai i tych samych technik, które pomagają zidentyfikować ‘otwarte’ i dostępne urządzenia. Gdy uda mu się takie urządzenie zidentyfikować, złośliwy program zaczyna je infekować i kopać kryptowalutę Monero jednocześnie rozprzestrzeniając się na inne urządzenia. Aplikacje mobilne takie jak Minergate Mobile do wyszukiwania kryptowalut, oraz dziesiątki innych, dostępne są od 2016 roku do pobrania bezpośrednio z Internetu. Ich wersje są zwykle instalowane na urządzeniach zrootowanych lub z jailbreakiem.

W przypadku ataków na serwery nie mamy już do czynienia np. ze spamem farmaceutycznym, oprogramowaniem typu "ransomware" lub DDoS. Boty hostują aplikacje takie jak Minergate i Smominru. Aplikacje działają dyskretnie i regularnie kontaktują się z pulą hostów kontrolujących ich funkcjonowanie w celu przesłania obliczeń i odebrania kolejnych bloków zadań. Mogą one zostać przesłane za pośrednictwem spamu zawierającego takie załączniki, jak np. złośliwe dokumenty Word. Częstym celem są systemy podłączone bezpośrednio do internetu oferujące dostęp za pomocą protokołu RDP, ze słabymi hasłami i bez uwierzytelniania wieloskładnikowego. Atakujący używają brutalnych ataków słownikowych i pozostaje kwestią czasu, gdy hasła zostaną złamane. Gdy tak się stanie, należy liczyć się z założeniem kont backdoor i próbami stworzenia zapasowych form dostępu. Podobnie jak w przypadku innych ataków, cryptojacking po stronie serwera może stać się bardziej złożony i skomplikowany po tym, jak się rozprzestrzeni.

Jednym z najnowszych zagrożeń typu cryptojacking jest robak WannaMine, który stosuje między innymi takie techniki jak stałe subskrypcje usługi Windows Management Instrumentation (WMI). Rozprzestrzenia się również poprzez exploit EternalBlue. Korzysta on z oprogramowania systemowego, takiego jak WMI i PowerShell, co utrudnia lub uniemożliwia organizacjom blokowanie go bez oprogramowania antywirusowego nowej generacji.

Jak się chronić?
Obrona przed atakami typu cryptojacking wymaga holistycznego podejścia i budowy odpowiedniej architektury bezpieczeństwa. Podejście to musi koncentrować się na zapobieganiu, a także na wykrywaniu potencjalnych zagrożeń. Kompleksowa ochrona zarówno różnych punktów końcowych, sieci, serwerów czy środowisk chmurowych często wymaga połączenia kilku technologii naraz.  Należy chronić przeglądarki, uniemożliwiając dostęp do złośliwych stron internetowych i złośliwego oprogramowania, a także poddawać analizie przychodzące dane i w razie potrzeby blokować do nich dostęp.

Zarządzanie urządzeniami końcowymi przy pomocy odpowiedniego oprogramowania EMM pozwala wykrywać zrootowane urządzenia, a następnie podejmować różnorodne działania prewencyjne, takie jak m.in. powiadamianie administratora, blokowanie aplikacji, czy selektywne wymazywanie urządzenia. Jeśli korzystamy tylko z rozwiązania typu MAM, aplikacje zawierające framework MDX, takie jak np. bezpieczna przeglądarka www (Secure Web), mogą sprawdzać i blokować uruchamianie podejrzanych stron. Aplikacja Secure Web może być skonfigurowana tak, aby blokować strony znane z rozprzestrzeniania szkodliwego oprogramowania, zezwalając tylko na uruchamianie bezpiecznych domen internetowych, określonych w ramach tzw. białej listy adresów URL.

Oddzielną rekomendacją odnośnie bezpieczeństwa przeglądarek jest wyłączanie wykonywania skryptów javascript, flash, java i innych aktywnych treści, za każdym razem gdy jest to tylko możliwe. Dla firm korzystanie z Secure Browser jako usługi może skutkować zmniejszeniem obszaru ewentualnego ataku, poprzez blokowanie skryptów wydobywczych, a także blokowanie okresowych wywołań zwrotnych do hostów kontrolujących działanie koparek kryptowalut.

W przypadku serwerów i środowisk chmurowych warto skupić się na ograniczeniu ekspozycji i ochronie haseł administratorów. W momencie, gdy atakujący uzyska dostęp na takim poziomie, może pominąć oprogramowanie zabezpieczające i np. białe listy zdefiniowane w organizacji. Złożone hasła i uwierzytelnianie wieloskładnikowe stanowią fundament bezpieczeństwa, ale często ich znaczenie jest deprecjonowane. Znajduje to odzwierciedlenie w badaniu Verizon DBIR z 2017 roku, gdzie czytamy, że "81% naruszeń związanych z włamaniami wykorzystało skradzione i / lub słabe hasła." Aby ograniczyć ryzyko naruszeń warto rozważyć zastosowanie bramki RDP, która pozwala zastosować nie tylko uwierzytelnianie wieloczynnikowe, ale także funkcję SmartAccess wykonującą analizę punktu końcowego. Tym samym można skanować punkty / urządzenia końcowe np. pod kątem posiadanego certyfikatu, włączonego firewalla, obecności oprogramowania anty maleware, itp. by wykazać, że urządzenia są zarządzanym punktem końcowym, a tym samym bezpiecznym i z wyższym poziomem zaufania.

Kluczowym elementem w zakresie bezpieczeństwa jest również wczesne wykrywanie anomalii, takich jak pliki w utylizacji procesora, przekraczające normalny zdefiniowany próg (thresold) typowy dla jego normalnej pracy. Dział IT powinien mieć zdefiniowane progi określające normalną pracę procesora wraz ze zdefiniowanymi alertami wysyłanymi do administratorów, gdy jego użycie wzrośnie powyżej wyznaczonego poziomu. Kilka uwag dodatkowych dotyczy tego, by alerty ignorowały nazwy procesów - cyfrowy pasożyt zwykle chce pozostać niewykryty i może być zamaskowany jako usługa systemowa. Osoby odpowiedzialne za ataki są w stanie zestroić proces tak, by ten się zbytnio nie wyróżniał i nie wzbudzał uwagi jednocześnie skutecznie wykorzystując go do swoich celów. Stąd tak istotne jest ustalenie wartości bazowych i szybkie wykrycie anomalii.

Po wykryciu - przywrócenie serwera do tzw. złotego obrazu, czyli powrót do ustawień bazowych ułatwia proces - zmiany mogą zostać szybko cofnięte. Należy zwrócić szczególną uwagę na to, czy naruszono konta użytkowników i administratorów, gdyż w sytuacji, gdy ma to miejsce, atakujący może wprowadzić złośliwe oprogramowanie bezpośrednio do złotego obrazu. Zarówno w infrastrukturze on-premise czy w chmurze ważne jest regularne, zautomatyzowane sprawdzanie stanu zasobów. Należy szukać nietypowych maszyn, szczególnie tych, z dużą liczbą procesów i wysoką utylizacją CPU.

Ochrona przed atakami typu cryptojacking jest bardzo podobna do ochrony przed innym złośliwym oprogramowaniem - szukamy różnych symptomów i długotrwałych skutków użycia sprzętu, spadku wydajności użytkownika czy utraty skalowalności. Wyższe koszty zużycia energii lub wykorzystania usług z chmury są pośrednimi wskazówkami, na które należy zwrócić uwagę. Warto jednak być czujnym na wszelkie odstępstwa od reguły, by w odpowiednim czasie móc na nie właściwie zareagować.


Sebastian KisielAutor: Sebastian Kisiel, Citrix Systems Poland