Przejdź do treści

CryptoGuard – ransomware może być nieznany. Szyfrowanie już nie.

Moje spostrzeżenia o jednym z mniej widocznych mechanizmów Sophos Endpoint Protection: jak CryptoGuard rozpoznaje szyfrowanie zamiast konkretnego ransomware.

Rafał Zieliński (Pre-Sales Cybersecurity Engineer, FEN)Opublikowano: Czas czytania: 13 min
Dokumenty chronione warstwą wykrywającą szyfrowanie, z hasłem: CryptoGuard — nie muszę znać ransomware, żeby zobaczyć szyfrowanie

Regularnie wracam do jednego pytania: co właściwie powinno wydarzyć się, kiedy wszystkie wcześniejsze warstwy ochrony zawiodą?

Antywirus nie rozpoznał pliku. Model machine learning nie sklasyfikował go jako zagrożenia. Atakujący zdobył konto, przeszedł przez sieć, znalazł serwer plików i właśnie rozpoczął szyfrowanie.

Czy w tym momencie pozostaje już tylko backup?

Niekoniecznie.

W Sophos Endpoint istnieje mechanizm, którego zadanie zaczyna się dokładnie tam, gdzie większość wcześniejszych mechanizmów ochrony powinna była już zakończyć swoją pracę. CryptoGuard nie musi wiedzieć, jaki ransomware właśnie zaatakował. Nie musi znać jego sygnatury. W określonych scenariuszach nie musi nawet widzieć procesu, który wykonuje szyfrowanie.

Patrzy na coś znacznie bardziej fundamentalnego — na to, co dzieje się z naszymi danymi.

I właśnie dlatego CryptoGuard wydaje mi się jednym z ciekawszych przykładów mechanizmu last line of defense w Sophos Endpoint.

1. Problem z ransomware: napastnik nie musi już wyglądać podejrzanie

Klasyczne zabezpieczenia bardzo często próbują odpowiedzieć na pytanie: „Czy to, co właśnie uruchamiamy, jest złośliwe?”

Można sprawdzić sygnaturę pliku, reputację, jego pochodzenie, strukturę, zachowanie procesu, wykonywane polecenia albo powiązać aktywność z wcześniejszymi elementami ataku.

Nowoczesny endpoint robi to oczywiście znacznie szerzej niż dawny antywirus. Sophos wykorzystuje między innymi Deep Learning, analizę behawioralną, ochronę przed exploitami, AMSI i mechanizmy ochrony procesów.

Problem zaczyna się wtedy, gdy napastnik dojdzie już bardzo daleko. Może korzystać z legalnych narzędzi administracyjnych, wstrzyknąć kod do zaufanego procesu, użyć DLL side-loading albo uruchomić ransomware na komputerze, którego nasze rozwiązanie endpoint w ogóle nie chroni.

W przypadku zdalnego szyfrowania na chronionym serwerze plików może wydarzyć się jeszcze coś bardziej przewrotnego: na serwerze, którego dane są niszczone, nie musi działać żaden złośliwy proces.

Ransomware działa gdzieś indziej i przez udział sieciowy otwiera kolejne dokumenty, modyfikuje ich zawartość i zapisuje je z powrotem.

Sophos opisuje CryptoGuard jako warstwę ochrony przeznaczoną na sytuację, w której wcześniejsze zabezpieczenia nie zatrzymały ataku przed rozpoczęciem szyfrowania. Mechanizm powstał w 2013 roku, a później został włączony do rodziny technologii Intercept X.

Uporządkowane dane dokumentu przechodzą w zaszyfrowany strumień o wysokiej entropii, a warstwa ochronna zatrzymuje tę zmianę — CryptoGuard obserwuje skutek

2. CryptoGuard nie szuka konkretnej rodziny ransomware. Patrzy na dane.

To jest element CryptoGuard, który uważam za najciekawszy. Sophos opisuje jego podejście jako asymetryczne.

Zamiast opierać ochronę wyłącznie na rozpoznaniu konkretnego napastnika lub próbki malware, CryptoGuard analizuje zawartość plików i sposób, w jaki ta zawartość się zmienia.

Na Windows wykorzystywany jest minifilter driver pracujący na poziomie jądra systemu. Kiedy proces wykonuje operacje na pliku, mechanizm może analizować bufory danych przekazywane przez system operacyjny.

Sophos opisuje wykorzystanie histogramów i modeli matematycznych oceniających m.in. entropię danych oraz charakter zawartości, aby rozpoznać transformację typową dla szyfrowania.

Dlaczego to ważne? Dokument, arkusz, baza danych czy plik projektu mają określoną strukturę. Po zaszyfrowaniu ich zawartość zaczyna przypominać znacznie bardziej losowy ciąg danych.

CryptoGuard obserwuje właśnie tę transformację.

„Nie tylko: czy znam ten program? Równie ważne jest: dlaczego ten proces zamienia kolejne poprawne dokumenty w zaszyfrowane dane?”

Ransomware może zmienić nazwę, hash, implementację, sposób dostarczenia albo wykorzystać legalne komponenty. Jeżeli jednak jego celem jest klasyczne crypto-ransomware, w końcu musi wykonać najważniejszą operację: zmienić użyteczne dane w dane zaszyfrowane. To właśnie ten skutek jest istotny dla CryptoGuard.

3. Ostatnia linia obrony, a nie zamiennik pozostałych

Łatwo byłoby wyciągnąć błędny wniosek: skoro CryptoGuard potrafi wykryć charakterystyczne szyfrowanie, po co cała reszta?

Właśnie odwrotnie. Najlepsze szyfrowanie ransomware to takie, do którego nigdy nie doszło.

Deep Learning powinien zatrzymać złośliwy plik wcześniej. Exploit Prevention powinien przerwać wykorzystanie podatności. Ochrona procesów powinna utrudnić techniki ingerujące w zaufane procesy. AMSI i pozostałe mechanizmy runtime mają zatrzymywać kolejne techniki ataku, zanim zagrożenie dotrze do danych.

CryptoGuard pełni inną rolę: jeżeli wcześniejsze warstwy zostały ominięte i rozpoczyna się rzeczywiste szyfrowanie danych, nadal istnieje mechanizm skoncentrowany właśnie na tym skutku.

Taka architektura jest dla mnie znacznie ciekawsza niż pojedynczy silnik próbujący rozwiązać każdy problem naraz.

Kolejne warstwy ochrony ustawione jedna za drugą — CryptoGuard jako ostatnia warstwa bezpośrednio przy danych (defense in depth)

4. CryptoGuard nie tylko zatrzymuje. Potrafi cofnąć pierwsze szkody.

Detekcja behawioralna ma fundamentalne ograniczenie: żeby rozpoznać zachowanie, trzeba zaobserwować przynajmniej część działania. W przypadku ransomware oznacza to, że pierwsze pliki mogą zostać zmodyfikowane zanim mechanizm uzyska wystarczającą pewność, aby zareagować.

CryptoGuard uwzględnia ten problem. Sophos opisuje tworzenie tymczasowych kopii modyfikowanych plików, dzięki którym po wykryciu charakterystycznego szyfrowania możliwe jest odtworzenie zmian dokonanych przed zatrzymaniem złośliwej aktywności.

Mechanizm nie sprowadza się więc do: wykryj → zatrzymaj. Bliżej mu do: obserwuj → rozpoznaj szyfrowanie → zatrzymaj → cofnij zmiany.

I tutaj warto podkreślić bardzo ważną rzecz: to nie jest backup.

Backup pozostaje niezbędny. CryptoGuard ma ograniczyć skutki aktywnego szyfrowania i pomóc odzyskać pliki zmienione do momentu zatrzymania procesu. Backup służy szerszemu odtwarzaniu danych po awarii, sabotażu, usunięciu danych, katastrofie infrastruktury czy pełnym kompromisie środowiska.

To dwie różne warstwy odporności. Jedna nie powinna zastępować drugiej.

5. Najciekawszy scenariusz: ransomware jest na innym komputerze

Wyobraźmy sobie prosty scenariusz: PC-01 → udział sieciowy → FILESERVER-01.

FILESERVER-01 jest chroniony przez Sophos. PC-01 nie jest.

Atakujący przejmuje PC-01, zdobywa poświadczenia użytkownika mającego prawo zapisu na udziale i uruchamia ransomware.

Co widzi FILESERVER-01? Nie musi widzieć procesu ransomware, złośliwego EXE ani payloadu uruchomionego lokalnie. Widzi przede wszystkim operacje wykonywane na przechowywanych plikach.

I tutaj CryptoGuard korzysta ze swojego punktu obserwacji: chroni dane w miejscu, w którym są przechowywane, a nie wyłącznie urządzenie, na którym działa malware.

Sophos opisuje scenariusz remote ransomware, w którym CryptoGuard na chronionym serwerze może wykryć charakterystyczne szyfrowanie plików wykonywane przez zdalny komputer, zablokować dalsze działania źródła i odtworzyć zmienione dane.

Dla mnie to jedna z najważniejszych właściwości CryptoGuard. Endpoint Protection zwykle kojarzymy z ochroną urządzenia, na którym działa agent. Tutaj agent na serwerze staje się również ostatnim punktem ochrony danych przed aktywnością pochodzącą z innych urządzeń w sieci.

Remote ransomware: skompromitowana stacja szyfruje pliki na udziale sieciowym, a CryptoGuard na serwerze plików blokuje źródło i przywraca pliki

6. Co dzieje się po wykryciu szyfrowania?

CryptoGuard nie funkcjonuje w próżni. Gdy mechanizm wykryje zachowanie charakterystyczne dla ransomware, jego reakcja staje się elementem szerszego systemu ochrony.

W przypadku lokalnego ataku może dojść do zatrzymania złośliwej aktywności i odtworzenia zmodyfikowanych danych. W scenariuszu remote ransomware chroniony serwer może zablokować dalsze szkodliwe operacje pochodzące ze zdalnego źródła.

Samo zdarzenie jest jednocześnie bardzo silnym sygnałem bezpieczeństwa. I tutaj zaczyna się współpraca z pozostałą częścią ekosystemu.

CryptoGuard + Sophos Endpoint

Endpoint dostarcza wcześniejsze warstwy prevention i runtime protection. CryptoGuard jest warstwą skierowaną bezpośrednio na konkretny skutek ransomware — szyfrowanie danych.

CryptoGuard + Tamper Protection

CryptoGuard działa tylko tak długo, jak długo sam mechanizm bezpieczeństwa pozostaje aktywny. Dlatego Tamper Protection jest jego naturalnym partnerem.

„CryptoGuard: nie pozwolę ci zaszyfrować danych. Tamper Protection: nie pozwolę ci łatwo wyłączyć mechanizmu, który ma cię zatrzymać.”

To dobry przykład defense-in-depth: skuteczność jednej warstwy jest wzmacniana przez odporność drugiej na próby manipulacji.

CryptoGuard + Adaptive Attack Protection

Adaptive Attack Protection może podczas aktywnego ataku zaostrzać politykę ochrony i utrudniać techniki używane do osłabiania zabezpieczeń, m.in. nadużycia Safe Mode czy wykorzystanie określonych podatnych sterowników. Ma to szczególne znaczenie w czasach EDR killerów i technik BYOVD.

CryptoGuard + XDR

Samo pytanie „czy szyfrowanie zostało zatrzymane?” nie wystarcza. Trzeba ustalić: skąd pojawił się atak, jakiego konta użyto, które urządzenie było źródłem, co wydarzyło się wcześniej i czy napastnik nadal znajduje się w środowisku. Tutaj zaczyna się rola telemetrii, korelacji i investigation w XDR.

CryptoGuard + MDR

W środowisku objętym MDR wykrycie przez CryptoGuard próby szyfrowania powinno być traktowane jako sygnał, że atak dotarł już do późnego i niebezpiecznego etapu. Zatrzymanie szyfrowania rozwiązuje bezpośredni problem niszczenia dostępności danych, ale nie dowodzi jeszcze, że napastnik został usunięty ze środowiska. To zadanie dla investigation, threat huntingu i response.

7. Czy ransomware może próbować ominąć CryptoGuard?

Każdy mechanizm behawioralny jest częścią wyścigu pomiędzy atakującym a obrońcą. Ransomware może próbować szyfrować tylko fragment każdego pliku, działać wolniej, zmieniać kolejność operacji, korzystać z wielu procesów, wykonywać szyfrowanie zdalnie albo używać legalnego oprogramowania jako elementu ataku.

Właśnie dlatego istotne jest, że CryptoGuard nie opiera się wyłącznie na nazwie procesu, hashu czy prostym liczniku zmian plików. Jego punkt obserwacji obejmuje samą transformację zawartości danych.

Można zmienić sposób przeprowadzenia ataku. Znacznie trudniej zmienić jego końcową konsekwencję: jeżeli celem jest zaszyfrowanie pliku, jego zawartość musi zostać przekształcona.

Nie oznacza to stuprocentowej gwarancji — w bezpieczeństwie jej nie ma. Oznacza natomiast, że mechanizm nie jest uzależniony wyłącznie od wcześniejszej znajomości konkretnej próbki ransomware.

8. Czy atakujący może po prostu wyłączyć CryptoGuard?

Może próbować — i współczesne grupy ransomware dokładnie tak podchodzą do ochrony endpoint. Jeżeli wiedzą, że przed szyfrowaniem czeka mechanizm antyransomware, logicznym krokiem staje się próba osłabienia albo wyłączenia zabezpieczeń.

Stąd rozwój EDR killerów, BYOVD, prób zatrzymywania usług ochronnych oraz nadużywania trybów diagnostycznych systemu.

CryptoGuard można administracyjnie skonfigurować w polityce Threat Protection. Sophos domyślnie włącza ochronę ransomware i rekomenduje pozostawienie jej aktywnej.

Dla atakującego działającego lokalnie istotna jest jednak kolejna warstwa: Tamper Protection ma utrudnić nieautoryzowane zatrzymywanie procesów i usług Sophos oraz zmianę chronionej konfiguracji. Adaptive Attack Protection może dodatkowo utrudniać część technik wykorzystywanych do osłabiania EDR.

Nie oznacza to jednak: „CryptoGuard jest niewyłączalny”.

Takiego założenia nie powinno się przyjmować wobec żadnego rozwiązania bezpieczeństwa. Kompromitacja odpowiednio uprzywilejowanego konta zarządzającego, podatność w produkcie lub skuteczny atak na poziomie systemu mogą zmienić sytuację.

Prawdziwa przewaga wynika więc nie z jednego „niezniszczalnego” komponentu, ale z kolejnych niezależnych warstw: prevention, runtime protection, Tamper Protection, Adaptive Attack Protection, CryptoGuard oraz późniejszej analizy w XDR/MDR. Każda kolejna operacja kosztuje napastnika czas i zwiększa szansę pozostawienia śladów.

9. Jedna rzecz, którą szczególnie warto zapamiętać

Im dłużej przyglądam się CryptoGuard, tym mniej postrzegam go jako zwykłą „funkcję antyransomware”. Takie określenie nie mówi, dlaczego ten mechanizm jest ciekawy.

Jego największą zaletą jest zmiana punktu odniesienia.

„Zamiast pytać wyłącznie: czy znam napastnika? — CryptoGuard patrzy na chroniony zasób i pyta: czy ktoś właśnie niszczy moje dane poprzez szyfrowanie?”

Nowy ransomware może mieć nowy hash, nieznaną sygnaturę i nową implementację. Może nawet działać na innym komputerze. Jeżeli jednak zaczyna zamieniać nasze dokumenty w zaszyfrowane dane, CryptoGuard nadal ma coś, czego może się uchwycić: efektu ataku.

10. Moje wnioski biznesowe

Po pierwsze — warto pytać dostawcę rozwiązania endpoint nie tylko o to, ile ransomware wykrywa, ale również na jakiej podstawie je wykrywa.

Sygnatura, model machine learning, analiza zachowania procesu oraz analiza skutków jego działania to różne mechanizmy. Największą wartość mają wtedy, gdy nie zastępują się wzajemnie, lecz tworzą kolejne warstwy ochrony.

Po drugie — ochronę udziałów sieciowych warto traktować również z perspektywy miejsca przechowywania danych, a nie wyłącznie urządzenia, na którym uruchomiono ransomware.

Złośliwy proces nie musi działać na serwerze plików, żeby zaszyfrować znajdujące się na nim dane. Wystarczy skompromitowana stacja robocza, odpowiednie uprawnienia użytkownika i dostęp do udziału sieciowego. To właśnie tutaj szczególnie interesująca staje się ochrona przed remote ransomware.

Po trzecie — rollback to nie backup.

CryptoGuard może ograniczyć skutki aktywnego szyfrowania i umożliwić odtworzenie plików zmienionych przed zatrzymaniem złośliwej aktywności. Nie zwalnia to organizacji z posiadania poprawnie zaprojektowanego, odseparowanego i regularnie testowanego systemu backupu.

Po czwarte — CryptoGuard jest znacznie bardziej wartościowy jako element całego systemu ochrony niż jako samodzielna funkcja antyransomware.

Deep Learning, Exploit Prevention i pozostałe mechanizmy prewencyjne próbują nie dopuścić do rozpoczęcia ataku. CryptoGuard koncentruje się na jego bardzo konkretnym skutku — szyfrowaniu danych. Tamper Protection utrudnia napastnikowi wyłączenie mechanizmów bezpieczeństwa, a Adaptive Attack Protection może dodatkowo zaostrzyć ochronę podczas aktywnego ataku.

Po piąte — wykrycie przez CryptoGuard próby szyfrowania danych należy traktować jak poważny incydent bezpieczeństwa, nawet jeżeli mechanizm zatrzymał atak i odzyskał zmodyfikowane pliki.

Komunikat „ransomware blocked” nie oznacza „problem rozwiązany”. Jeżeli CryptoGuard musiał zareagować na faktyczne szyfrowanie plików, oznacza to, że atakujący lub jego narzędzie dotarli już do bardzo późnego etapu ataku. Wcześniej mogło dojść do przejęcia konta, eskalacji uprawnień, rozpoznania środowiska, lateral movement czy uzyskania dostępu do serwerów i udziałów sieciowych.

Dlatego po detekcji szyfrowania przez CryptoGuard pytanie nie powinno brzmieć wyłącznie: „Czy pliki zostały odzyskane?”. Powinniśmy również ustalić: skąd rozpoczęło się szyfrowanie, jak napastnik dostał się do środowiska, jakich poświadczeń użył, do jakich innych systemów uzyskał dostęp oraz czy nadal znajduje się w infrastrukturze.

Zatrzymane szyfrowanie oznacza, że jedna z najgroźniejszych konsekwencji ataku została powstrzymana. Nie oznacza jeszcze, że powstrzymany został cały atak.

Zatrzymanie szyfrowania to nie koniec incydentu — CryptoGuard jako element szerszego systemu Cyber Defense

Na koniec

Przy Tamper Protection doszedłem do wniosku, że nawet najlepsza ochrona nie pomoże, jeśli napastnik wcześniej ją wyłączy.

CryptoGuard prowadzi mnie do bardzo podobnego wniosku z drugiej strony: nawet jeśli wcześniejsze zabezpieczenia czegoś nie rozpoznały, nie oznacza to jeszcze, że musimy pozwolić napastnikowi zaszyfrować dane.

I chyba właśnie w tym najlepiej widać sens podejścia warstwowego.

„Nie chodzi o zbudowanie jednej idealnej technologii. Chodzi o stworzenie systemu, w którym błąd jednej warstwy nie kończy całej gry.”

Źródła

Baza wiedzy

Powiązane artykuły techniczne

Sophos Endpoint8 min

Seria · część 2

Ransomware bez sygnatury: jak działa CryptoGuard

Rozpoznawanie narzędzia wymaga wcześniejszej wiedzy o zagrożeniu. Rozpoznawanie szyfrowania — nie. Ta różnica decyduje między innymi o tym, czy ochrona obejmuje ataki prowadzone z urządzeń, których w ogóle nie widzisz.