O ransomware w polskich gminach, czyli historie z happy endem i bez

dodał 27 stycznia 2020 o 07:09 w kategorii Złośniki  z tagami:
O ransomware w polskich gminach, czyli historie z happy endem i bez

Co szyfruje komputery w polskich gminach i firmach? Dlaczego z reguły danych nie można odzyskać, czasem jednak można i dlaczego jest to takie trudne? Na te pytania odpowie dzisiaj przedstawiciel zespołu CERT Polska.

 

 

Czytacie Wpis Gościnny
Jego autorem jest Anonimowa Kaczka z CERT Polska (tak, taki podpis otrzymaliśmy).

Ransomware nie trzeba większości Czytelników przedstawiać. Oprogramowanie to szyfruje dane i wymusza okup – opłatę za odszyfrowanie. Z roku na rok coraz więcej osób zdaje sobie sprawę z zagrożenia i z konieczności obrony. Mimo tego sytuacja się nie poprawia. Coraz więcej osób pada ofiarą ataku. Sytuacja jest szczególnie dramatyczna w małych firmach lub organizacjach, które nie mają środków na zapewnienie bezpieczeństwa IT na odpowiednim poziomie.

Jako CERT Polska często się z tym spotykamy – np. w przypadku gmin, szpitali, szkół itp. W miarę możliwości staramy się takim organizacjom pomagać, ale zazwyczaj jedyne, co można zrobić, to przywrócenie backupu. Gorzej, jeśli go nie ma… albo został zaszyfrowany razem z danymi. W tym artykule skupimy się na tym, dlaczego danych nie można odzyskać, czemu czasami się da oraz w jaki sposób przygotować się na atak ransomware.

Założenia działania ransomware

Przede wszystkim należy podkreślić jedną rzecz: poprawne użycie kryptografii gwarantuje, że zaszyfrowane dane nie będą mogły zostać odszyfrowane bez klucza deszyfrującego, znajdującego się w posiadaniu przestępców. Stosowane algorytmy są w tym momencie w 100% bezpieczne i bez względu na przypadek użycia (czy to bezpieczne połączenia z serwerem, czy szyfrowanie dysków ofiar) są odporne na wszelkie próby złamania.

Zazwyczaj nawet posiadając wszelkie materiały w postaci oryginalnej próbki złośliwego oprogramowania, wykonanej analizy powłamaniowej oraz z błogosławieństwem Shamira nie będziemy w stanie odzyskać zaszyfrowanych plików.

Detale techniczne

Ransomware regularnie chwali się, że używa różnych “wojskowych” (military grade) algorytmów szyfrowania – najczęściej są to AES i RSA. Można się zastanawiać, czemu jeden nie wystarczy?

Odpowiedzią jest natura ich działania. AES (Advanced Encryption Standard) jest przykładem algorytmu szyfrującego symetrycznie. W skrócie, oznacza to, że szyfrowanie i deszyfrowanie danych odbywa się za pomocą tego samego klucza. Jeśli więc przestępca chce szyfrować pliki tylko za pomocą AES, to musi wysłać wygenerowane klucze na swój serwer, aby móc potem żądać za nie okupu. To problematyczne dla przestępcy, bo musi utrzymywać infrastrukturę, za którą trzeba płacić i która może być w każdym momencie zdjęta albo przejęta. Dodatkowo infekcja nie uda się w przypadku problemów sieciowych.

Z pomocą przychodzi RSA. W przeciwieństwie do AES jest to szyfr asymetryczny. Do szyfrowania i deszyfrowania wykorzystywane są dwa matematycznie powiązane klucze – publiczny i prywatny. Jak sama nazwa wskazuje, jeden z nich jest publicznie znany, a drugi zna tylko właściciel. Dzięki matematycznym czarom właściwościom za pomocą klucza publicznego możemy dowolnie szyfrować dane, ale deszyfrować możemy je tylko za pomocą klucza prywatnego

Tak naprawdę w przypadku RSA to, który klucz nazywamy publicznym, a który prywatnym, to trochę kwestia umowna. Można też np. szyfrować dane kluczem prywatnym, a deszyfrować kluczem publicznym. Ma to nawet zastosowania praktyczne, np. w przypadku podpisów kryptograficznych.

Dlaczego w takim razie używać dwóch algorytmów zamiast samego RSA? Odpowiedź jest prosta – kryptografia asymetryczna jest bardzo kosztowna obliczeniowo. Zaszyfrowanie całego dysku tym algorytmem zajęłoby dziesiątki godzin. Popularnym sposobem jest zatem szyfrowanie właściwych danych za pomocą AES z wygenerowanym losowo kluczem, a następnie zaszyfrowanie tego klucza za pomocą publicznego klucza RSA. Działa tak większość programów szyfrujących większe ilości danych, w tym na przykład GPG.

Case study 1: Szczęście sprzyja lepszym szczęśliwym

Z drugiej strony, poprawne użycie algorytmów kryptograficznych przez programistę nie jest takie proste, jak się wydaje. AES i RSA to tylko niskopoziomowe bloki, które trzeba umieć odpowiednio połączyć, aby stworzyć kompletny program. Na szczęście (dla nas) twórcy ransomware to też ludzie i zdarza im się pomylić. Dzięki temu czasami udaje się stworzyć narzędzie deszyfrujące pliki bez płacenia (tzw. dekryptor). Pokaźną kolekcją takich dekryptorów zarządza organizacja NoMoreRansom.

Kilka tygodni temu trafił nam się właśnie taki przypadek. Otrzymaliśmy z gminy Kościerzyna próbkę złośliwego oprogramowania i komplet zaszyfrowanych plików. W toku analizy okazało się, że ta próbka należy do mało znanej odmiany ransomware (rodzina Mapo). Był to pierwszy dobry znak – im starsza i bardziej popularna rodzina, tym większa szansa, że patrzyła na nią wcześniej już rzesza analityków i nasza kolejna analiza nic nie da. I odwrotnie – nowe i mało znane rodziny są wdzięcznym tematem do analizy i dają nadzieję na odzyskanie plików.

Tak też było w tym przypadku – udało się napisać dekryptor i odszyfrować gminę (a także parę innych prywatnych podmiotów, które się do nas zgłosiły – to niekoniecznie standard na świecie, ponieważ CERT-y poziomu krajowego często nie przyjmują zgłoszeń od prywatnych podmiotów). Trzeba jednak zaznaczyć, że to wyjątek, a nie reguła i zazwyczaj nie można liczyć na to, że komuś uda się napisać dekryptor.

Case study 2: Kiedy wyszło jak zwykle

Trochę inna sytuacja miała miejsce parę tygodni później (tym razem nie możemy niestety podać nazwy gminy). Był to ciekawy przypadek. Rodzina złośliwego oprogramowania, która zaszyfrowała zasoby, była już badaczom dobrze znana. Konkretna próbka użyta w ataku miała jednak dosyć dziwny sposób generowania klucza. Zamiast skorzystać z losowych danych dostarczanych przez system, autor postanowił opracować własny sposób generowania losowych kluczy do szyfrowania plików. Generowanie klucza zależało od stanu kilku różnych zegarów systemowych. Z pomocą dobrze przeprowadzonej analizy powłamaniowej istniałaby możliwość odzyskania kluczy do szyfrowania plików… Niestety podczas obsługi incydentu po stronie gminy wykonano kilka pochopnych działań. Najgorszym z nich było zrestartowanie komputera, przez co:

  • stracony został dokładny stan zegarów systemowych (które mogłyby pomóc w odzyskaniu klucza),
  • klucze szyfrujące, które ciągle mogły być w pamięci procesu, zostały wymazane,
  • ransomware zadbało o ponowne uruchomienie się przy restarcie systemu i zaczęło szyfrować kolejne pliki za pomocą nowo wygenerowanych kluczy.

Co zrobić lepiej

Oczywiście, jak w przypadku większości zagrożeń, najlepszą metodą jest atak profilaktyka. O wiele lepiej jest w ogóle nie doprowadzić do zaszyfrowania naszych dysków, niż liczyć na szczęście i szukać dziur w algorytmie szyfrowania.

Jak ustrzec się przed ransomware:

  1. Stale edukuj swoich użytkowników. Nawet najlepsze techniczne zabezpieczenia nie pomogą, jeśli Twoi użytkownicy nie będą przestrzegać podstawowych zasad bezpieczeństwa.
  2. Wykonuj regularnie kopię zapasową istotnych danych. Zadbaj o to, by co najmniej jedna kopia zapasowa była przechowywana na odizolowanym systemie, niedostępnym z maszyn, których kopie przechowuje.
  3. Zadbaj o odpowiednią architekturę sieci. Wyodrębnij odpowiednie segmenty, zwróć szczególną uwagę na to, jakie usługi dostępne są pomiędzy poszczególnymi maszynami oraz z internetu.
  4. Na bieżąco aktualizuj system operacyjny oraz oprogramowanie.
  5. Używaj aktualnego oprogramowania antywirusowego na serwerze poczty oraz stacjach roboczych.

Ratunku, zaszyfrowałem się

Zdarza się nawet najlepszym. Co zrobić, żeby zwiększyć szanse na odzyskanie danych?

W przypadku ataku ransomware:

  1. Jak najszybciej odizoluj zarażone maszyny od reszty sieci – odłącz je od wszelkich połączeń sieciowych (przewodowych i bezprzewodowych) oraz urządzeń do przechowywania plików (dyski przenośne i podobne).
  2. W celu zmaksymalizowania szans odzyskania danych nie wyłączaj komputera. Hibernacja systemu to też dobra (i ekologiczna) opcja.
  3. Zrób zdjęcie ekranu z komunikatem wyświetlanym przez ransomware. Upewnij się, że wszystkie informacje są na zdjęciu czytelne. Przegraj plik z notatką okupu (ransom note) i przykładowe zaszyfrowane pliki na czysty przenośny nośnik danych (np. pendrive) – będą jeszcze potrzebne. Jeśli jesteś biegły w obsłudze komputera, spróbuj też znaleźć próbkę złośliwego oprogramowania na dysku (wskazówka: ransomware bardzo często dopisuje się do autostartu).
  4. Odwiedź stronę nomoreransom.org, gdzie znajdziesz narzędzie pozwalające określić, do jakiej rodziny należy dany ransomware, a także dowiesz się, czy są znane metody odszyfrowania danych bez płacenia okupu. Prawdopodobnie przyda się tutaj ransom note albo zaszyfrowany plik.
  5. Jeżeli NoMoreRansom ma odpowiedni dekryptor, postępuj ściśle według instrukcji dla danego narzędzia. Jeśli się uda, gratulacje: trafiłeś na ten ułamek ransomware, który dało się zdeszyfrować. Jeśli nie, czytaj dalej.
  6. Rozważ zgłoszenie incydentu do CERT Polska – najlepiej zaraz po wykryciu zdarzenia. W tym celu skorzystaj z https://incydent.cert.pl. W zgłoszeniu przekaż informacje o podjętych do tej pory krokach oraz inne informacje, o które zostaniesz poproszony w formularzu, według najlepszej wiedzy na moment zgłoszenia.
  7. Jeśli dysponujesz kopią zapasową, sformatuj dysk, zainstaluj system od nowa i przywróć dane z backupu.
  8. Jeśli nie dysponujesz kopią zapasową i zgłosiłeś incydent do CERT Polska albo innego zespołu bezpieczeństwa, poczekaj na wynik analizy. Nie ma co robić sobie za dużych nadziei, w >95% przypadków ofierze nie da się pomóc. UWAGA: Większość „firm od odzyskiwania danych” to oszustwo. Danych zazwyczaj nie da się odzyskać bez płacenia, więc takie firmy działają tylko jako pośrednicy między przestępcami a ofiarami (negocjują zniżkę, a później biorą swoją prowizję). Nie warto się na to nabierać – jak już dawać się okraść, to tylko raz na infekcję ;)
  9. Po usunięciu skutków ataku spróbuj ustalić, w jaki sposób do niego doszło oraz podejmij działania zapobiegawcze, by uniemożliwić powtórzenie się sytuacji (edukacja użytkowników, zabezpieczenia fizyczne, aktualizacja oprogramowania).