Blog: Cyberbezpieczenstwo

Obsługa incydentów bezpieczeństwa związanych z malware

Obsługa incydentów bezpieczeństwa związanych z malware
  • 953 views

Malware, czyli złośliwe oprogramowanie to najczęściej występujący środek cyber ataków wymierzonych w przedsiębiorstwa. Zajmujące się obsługą i reagowaniem na incydenty działy IT (IH&R) muszą być świadome kroków, które należy wykonać po takim zdarzeniu.

Udostępnij!

Obsługa incydentów bezpieczeństwa związanych z malware

 

Malware, czyli złośliwe oprogramowanie to najczęściej występujący środek cyber ataków wymierzonych w przedsiębiorstwa. Zajmujące się obsługą i reagowaniem na incydenty działy IT (IH&R) muszą być świadome kroków, które należy wykonać po takim zdarzeniu.

Reakcja na incydent jest zorganizowanym i usystematyzowanym procesem, stosowanym przez organizacje do reagowania i zwalczania infekcji, włamań lub naruszeń danych.

Każda nieautoryzowana ingerencja w integralność danych może mieć znaczący wpływ zarówno na wrażliwe dane klientów, jak i na własność intelektualną organizacji. Podczas takich zajść firma zawsze jest narażona na straty finansowe i/lub przestoje w produkcji; aby ograniczać potencjalne szkody,  musi zatem adekwatnie reagować i możliwie jak najszybciej odzyskać sprawność. Niestety bardzo wiele przedsiębiorstw nie posiada żadnych planów i procedur postępowania w takich sytuacjach. Stres, pośpiech i naciski kierownictwa narażają firmy na szereg błędnych decyzji i w konsekwencji  załamanie ciągłości procesów biznesowych. To właśnie jej utrzymanie oraz minimalizacja skutków ataków malware powinno mieć priorytetowe znaczenie. Przestrzegając właściwych schematów postępowania i planów reagowania, możemy usprawnić procesy odzyskiwania sprawności, tak aby przebiegały wydajniej i efektywniej. Przy okazji minimalizujemy ryzyko utraty naszej rynkowej reputacji. Ataki za pomocą złośliwego oprogramowania są najbardziej destrukcyjne ze wszystkich,  zespoły muszą więc być na nie bardzo dobrze przygotowane.

Jak zatem przygotować ekipę IH&R ?

Organizacje muszą wyposażyć zespoły w wiedzę na temat mechanizmów pracy malware, narzędzi, technik i zasad ochrony przed złośliwym oprogramowaniem. Każdy członek zespołu powinien gruntownie znać wszystkie jego kategorie, z jakimi może mieć do czynienia-orientować się w metodach propagacji i infekowania zasobów,  potrafić wyodrębniać kod z zaatakowanych urządzeń i być świadomym aktualnych trendów w malware. Personel powinien mieć  doświadczenie w obsłudze incydentów, dochodzeniach, gromadzeniu dowodów i analizowaniu incydentów związanych ze złośliwym oprogramowaniem. Konieczna jest również obecność menedżerów ds. podatności i bezpieczeństwa informacji, a także pentesterów. Równie dużą wagę ma doświadczenie w dogłębnej analizie software’u (reverse engineering) przy użyciu ręcznych i zautomatyzowanych metod. Dogłębna analiza złośliwego oprogramowania posiada kluczowe znaczenie dla poznawania zamiarów cyberprzestępców i wektorów, które mogą być przeciwko nam użyte-dzięki niej możemy zapobiec występowaniu takich incydentów w przyszłości. Zanim przeprowadzimy analizę złośliwego kodu, z zainfekowanymi plikami należy obchodzić się niezwykle ostrożnie; każdy błąd w obsłudze może poważnie uszkodzić system bądź sieć lub nawet doprowadzić do awarii sprzętu.

Co trzeba zrobić przed analizą malware? Oto najważniejsze kroki:

  1. Przygotowanie maszyny wirtualnej lub środowiska sanboxowego.
  2. Ścisła izolacja środowiska testowego od produkcji.
  3. Używanie bezpiecznych kanałów do przesyłania zainfekowanych plików.
  4. Przenoszenie złośliwego kodu wyłącznie za pomocą bezpiecznych pendrive’ów (Secure/Encrypted USB drive).
  5. Spakowanie zainfekowanych plików w chronionym hasłem archiwum.
  6. Modyfikacja rozszerzenia zainfekowanego pliku (lub dodanie nieprawidłowego rozszerzenia),  dla upewnienia się, że żadna aplikacja nie wejdzie w interakcję z infekcją przed  wykonaniem analizy.
  7. Wykluczenia ścieżek/plików w oprogramowaniu AV, tak by antywirus nie uszkodził badanej próbki.

 

Aby przeprowadzić analizę, środowisko testowe musi być wyposażone w szereg odpowiednich narzędzi. Sama maszyna wirtualna powinna być przygotowana w kilku różnych wersjach (z różnym poziomami wgranych aktualizacji oraz z różnym oprogramowaniem biurowym/produkcyjnym). Warto także dodatkowo wykonać snapshoty maszyn przed umieszczeniem zainfekowanej próbki.

Analizę malware można podzielić na dwie kategorie – statyczną i dynamiczną.

Analiza statyczna (obejmująca analizę zrzutu pamięci RAM) to proces analizowania podejrzanego pliku lub aplikacji w celu określenia jego funkcjonalności oraz wyodrębnienia szkodliwych instrukcji kodu, metadanych i innych szczegółów. Obejmuje ona również przechodzenie przez wykonywalny kod binarny wiersz po wierszu bez faktycznego wykonywania. Służy to lepszemu zrozumieniu oprogramowania i określeniu celów działania malware.  Badając wykonywalny plik bez faktycznego  uruchamiania lub instalowania, zachowujemy pełne bezpieczeństwo.

Proces ten obejmuje użycie różnych narzędzi i technik do wykrywania szkodliwych części programów lub plików, zbieranie informacji o funkcjonalności oraz wygenerowanych hashy plików lub prostych sygnatur. Analiza statyczna uwzględnia również dostęp do kodu źródłowego lub binarnego w celu znalezienia struktur danych, zależności, wywołań funkcji itp. reprezentujących złośliwe zachowanie.

 

Podstawowe techniki wykorzystywane w takich pracach to:

– badanie odcisków plików

– lokalne i online‘owe skanowanie malware (za pomocą AV)

– wyszukiwanie szczególnych ciągów znaków  (np. zaszytych adresów URL, informacji o płatnościach w BTC)

– identyfikowanie metod pakowania/zaciemniania kodu (obfuskacji)

– identyfikowanie zależności plików wykonywalnych i bibliotek

– dezasemblacja złośliwego oprogramowania

Analiza dynamiczna jest nazywana również „analizą behawioralną”, ponieważ ocenia malware na podstawie jego złośliwego zachowania.

Ten typ analizy wykrywa zmiany wprowadzane w systemach „na żywo” –  jest także bardziej niebezpieczny, gdyż dochodzi w nim do wykonania złośliwego kodu.

Malware jest uruchamiany w celu zebrania cennych informacji o jego aktywności, w tym utworzonych plikach i folderach, otwieranych portach i wywoływanych adresach URL.

Badane w tym przypadku są również takie aspekty jak wykorzystywane funkcje i biblioteki, odwołania do innych aplikacji/narzędzi, modyfikacje ustawień systemowych, uruchamiane procesy i usługi, zmiany w rejestrach, tworzone tunele komunikacyjne, wykorzystywane nowe wektory infekcji kolejnych ofiar itp.

Do przeprowadzenia obu rodzajów analizy malware istnieją setki rozmaitych narzędzi; nie sposób opisać wszystkich w jednym artykule, wypada jednak wymienić chociaż kilka najpopularniejszych.

1.TCPView

(https://docs.microsoft.com/en-us/sysinternals/downloads/tcpview) To program Windowsowy, który wyświetla szczegółowe listy wszystkich otwartych portów TCP i UDP, ustanowionych połączeń itp.


To proste narzędzie zapewnia też możliwość szybkiego „ubicia” podejrzanego procesu, zamknięcia sesji sieciowej, czy nawet sprawdzenia informacji o adresie w bazie WHOIS:

2. Process Monitor

(https://docs.microsoft.com/en-us/sysinternals/downloads/procmon) Jest zaawansowanym rozwiązaniem monitorującym dla systemów Windows, które w czasie rzeczywistym pokazuje operacje na systemie plików, rejestrze i aktywność procesów/wątków. Jego wyjątkowo obszerna funkcjonalność sprawiła, że stał się podstawowym narzędziem do rozwiązywania problemów z systemami Microsoft i polowania na złośliwe oprogramowanie.

3. Process Explorer

(https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer)  Rozbudowany menedżer zadań i oprogramowanie do monitorowania systemów operacyjnych Windows. Podobnie jak dwa wcześniej wymienione programy, jest częścią pakietu produktów SysInternals. Oferuje wiele funkcji, które nie występują w standardowym menedżerze zadań Windows –  pokazuje szczegółowe informacje o każdym procesie, śledzi wykorzystanie procesora (CPU) przez procesy, prezentuje relacje z wykorzystywanymi bibliotekami DLL, umożliwia zabicie lub zawieszenie procesu oraz interaktywne ustawienie priorytetów procesu.

 

4. Autoruns dla Windows

(https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns) Zawiera obszerną liczbę informacji na temat lokalizacji automatycznie uruchamianych programów, serwisów i sterowników.

5. Wireshark

(https://www.wireshark.org/) –  sniffer / analizator protokołów sieciowych – aplikacja, która przechwytuje pakiety z wybranych interface’ów  sieciowych i pozwala na dogłębne badanie ruchu komunikacji sieciowej. To narzędzie „rozumie” ponad 1300 różnych protokołów, nadaje się więc do zastosowania w praktycznie każdym środowisku.

6.HashMyFiles

(https://www.nirsoft.net/utils/hash_my_files.html) to małe narzędzie umożliwiające obliczanie skrótów MD5 i SHA1/256/512/etc.  jednego lub więcej plików w systemie. HashMyFiles można również uruchomić z menu kontekstowego Eksploratora Windows i wyświetlić skróty/hashe wybranego pliku lub folderu.

7. BinText

(https://www.aldeid.com/wiki/BinText) Jest małym, bardzo szybkim i potężnym ekstraktorem tekstu, który szczególnie zainteresuje programistów. Może wyodrębniać tekst z dowolnego rodzaju pliku i zawiera możliwość znalezienia zwykłego tekstu ASCII, tekstu Unicode (dwubajtowego ANSI) i ciągów zasobów, dostarczając przydatnych informacji dla każdego elementu w opcjonalnym „zaawansowanym” trybie widoku.

8. IDA

(https://hex-rays.com/ida-free/) Wieloplatformowy deasembler i debugger eksplorujący programy binarne w celu tworzenia map wykonania programu binarnego. IDA symbolicznie reprezentuje instrukcje w języku asemblera, w ten sam sposób, w jaki procesor je wykonuje – dzięki temu można łatwo znaleźć szkodliwe lub złośliwe procesy. Przy zastosowaniach  profesjonalnych/komercyjnych wskazana jest  wersja IDA Pro.