Pod pojęciem malware, kryje się wiele typów złośliwego oprogramowania. W tym artykule postaraliśmy się zebrać i w skrócie opisać różne rodzaje malware, jakie spotykamy we współczesnym świecie IT. Pod koniec artykułu zamieściliśmy sposoby na ich wykrycie i listę rodzajów systemów z ich funkcjami oraz listę darmowego oprogramowania pozwalającego wzbogacić analizę i detekcję malware.
Rodzaje malware
BUGS (błędy oprogramowania) – typ błędu, usterki lub awarii, która prowadzi do nieprzewidzianego i niechcianego rezultatu działania oprogramowania. Bugi zazwyczaj pochodzą od kodu źródłowego aplikacji i mogą być wykorzystane do uszkodzenia lub przejęcia systemu.
VIRUS (wirus) – kawałek kodu, który został załadowany do systemu bez wiedzy użytkownika. Może łatwo rozprzestrzenić się na inne systemy.
TROJAN HORSE (koń trojański) – tak jak w znanym micie, trojan oszukuje użytkownika, że jest zwykłym, niegroźnym plikiem. W rzeczywistości pobiera i instaluje na komputerze ofiary malware. Za pomocą trojana cyberprzestępca może zdalnie wykonywać dowolne komendy lokalnie na komputerze ofiary, pobierać pliki itp.
ADWARE – malware, który automatycznie wyświetla niechciane treści reklamowe. Po kliknięciu w nie użytkownik zostaje przekierowany na niebezpieczną stronę ze złośliwym oprogramowaniem.
WORMS – robaki wykorzystują znane luki i podatności w niezaktualizowanych systemach. Są w stanie rozmnażać się i zarażać komputery w sieci. Często ukrywają się w załącznikach, zużywają przepustowość łącza oraz przeciążają serwery.
BOTS – niezależny program stworzony do wykonania konkretnego zadania. Boty często wykorzystywane są do wysyłania spamu lub udziału w atakach DDoS prowadzących do zatrzymania usługi całej strony internetowej.
RANSOMWARE – złośliwe oprogramowanie, które szyfruje pliki i dane na komputerze ofiary i żąda wpłacenia okupu w zamian za odszyfrowanie plików.
SPYWARE – typ złośliwego oprogramowania, które szpieguje użytkownika. Monitoruje jego aktywność na komputerze, rejestruje naciśnięte klawisze i wykonane akcje.
Metody wykrycia malware
Poniżej zamieściliśmy sposoby i techniki wykrywania poszczególnych typów malware w infrastrukturze informatycznej.
Sygnatury
Podejście: porównanie hasha programu lub pliku z bazą danych znanych, złośliwych hashy
Wykrycie: pliki, które są takie same jak znany malware
Heurystyka
Podejście: badanie procesu w celu dopasowanie złego zachowania
Wykrycie: zmodyfikowany malware, które dokonuje pewne znane zmiany w systemie
Wskaźniki
Podejście: szukanie zmian w całym systemie, które wskazują na obecność złośliwego oprogramowania
Wykrycie: malware, który może być określony poprzez wskaźniki (DNS, pamięć, plik)
Exploity
Podejście: badanie czy proces nie korzysta z technik jakie wykorzystywane są przez znane na rynku eksploity
Wykrycie: złośliwe procesy, które wykorzystują exploity w celu przejęcia innych procesów
Sztuczna inteligencja
Podejście: badanie „nieznanego” przy użyciu sztucznej inteligencji i uczenia maszynowego z wykorzystaniem probabilistycznego podejścia do analizy zachowań użytkowników i maszyn
Wykrycie: końcówki (komputery) komunikujące się w nietypowy dotychczas sposób z innymi komputerami w sieci lub w Internecie, podejrzane zachowanie oprogramowania/użytkownika.
Sposoby zapobiegania przed malware
Poniżej zamieściliśmy listę 5 klas systemów oferujących funkcjonalności wykrywania malware. Głowna różnica pomiędzy nimi to podejście w sposobie detekcji poszczególnych typów złośliwego oprogramowania.
System EPP (Endpoint Protection Platform)
Sposób działania systemu: programy uruchamiane poprzez proces, których badane są sygnatury oraz heurystyka
Co może wykryć?: końcówki (komputery) komunikujące się w nietypowy dotychczas sposób z innymi komputerami w sieci lub w Internecie, podejrzane zachowanie oprogramowania/użytkownika.
System EDR (Endpoint Detection and Response)
Sposób działania systemu: programy uruchamiane są poprzez proces, który bada wskaźniki zmiany
Co może wykryć?: znany i nieznany malware wykonujący znane zmiany w systemie
MICRO VM
Sposób działania systemu: uruchamia każdy plik w swoim własnym OS, tak aby kompromitacja systemu nie wyszła na zewnątrz
Co może wykryć?: brak detekcji, po prostu odizolowane środowisko sandbox
GATEWAY
Sposób działania systemu: blokowanie pliku bądź procesu w komunikowaniu się w sieci
Co może wykryć?: CNC, pliki sygnaturowe
AI (Artificial Intelligence)
Sposób działania systemu: analiza zachowania aktywności procesów/użytkowników/urządzeń w komunikowaniu się w sieci
Co może wykryć?: CNC, KILL CHAIN, Sinkhole, DNS, podejrzane transfery danych
Darmowe oprogramowanie do wykrywania malware
Poniżej zamieściliśmy w tabeli listę darmowego oprogramowania dostępnego w sieci do wykrywania malware.
NARZĘDZIE | URL | ZASTOSOWANIE |
Virustotal | virustotal.com | Szybka analiza plików i adresów URL wykorzystująca ponad 60 rozwiązań antywirusowych AV dostępnych na rynku |
SysMON | docs.microsoft.com/en-us/sysinternals/downloads/sysmon | Zaawansowane audytowanie procesów w systemie operacyjnym Windows. Rejestrowania hashy plików, komunikacji sieciowej, załadowanie w systemie bibliotek DLL, surowej aktywności systemu plików, zdalnego tworzenia wątków np. przy wstrzykiwaniu kodu do procesów. |
OSQuery | Osquery.io | Darmowe oprogramowanie/framework dla platform Windows, OS X, Linux do analizy malware |
Hybrid-Analysis | hybrid-analysis.com | Behawioralna analiza, OSINT, AV, analiza binarek |
OSSEC | ossec.net | Darmowe narzędzie do wykrywania włamań na końcówkach |
Packettotal | Packettotal.com | Proste i dobrej klasy narzędzie do analizy plików PCAP |
ELK | elastic.co | Narzędzie do wizualizacji i analizy danych oparte na darmowych technologiach wykorzystujące Elasticsearch, Logstash oraz Kibanę |
OTX | otx.alienvault.com | Darmowe narzędzie do analizy zagrożeń pochodzących z IBM |
OSSIM | alienvault.com/products/ossim | Narzedzie opensource od firmy AlienVault do zarzadzania zdarzeniami (darmowy SIEM) |
Datasploit | datasploit.readthedocs.io | Narzędzie do wykonywania zautomatyzowanych testów OSINT na domenie/poczcie/użytkownikach/telefonach oraz do wyszukiwania interesujących informacji z różnych źródeł |
Spiderfoot | spiderfoot.net | Automatyzuje OSINT w celu znalezienia wszystkich możliwych informacji na temat docelowego źródła |
Shodan | shodan.io | Największa na Świecie baza z mechanizmem wyszukiwania podatności w urządzeniach IoT podpiętych do Internetu |
Maltego | paterva.com/web7/buy/maltego-clients | Interaktywne narzędzie do eksploracji danych, które renderuje ukierunkowane wykresy do analizy linków. Narzędzie służy do wyszukiwania w Internecie w celu znalezienia relacji między informacjami z różnych źródeł zlokalizowanych w Internecie |
Paloalto Minemeld | paloaltonetworks.com | MineMeld umożliwia agregowanie informacji o zagrożeniach występujących w publicznych, prywatnych i komercyjnych źródłach danych na temat zagrożeń, w tym między instytucjami rządowymi i komercyjnymi |
SoltraEdge | Soltra.com | Oprogramowanie dla urządzeń przemysłowych, które automatyzuje procesy udostępniania, otrzymywania, potwierdzania i działań w zakresie cyberprzestępczości. |
IBM X-Force | exchange.xforce.ibmcloud.com | Narzędzie opensource od AlienVault do analizy zadrożeń |
Suricata | Suricata-ids.org | Narzędzie opensource do wykrywania zagrożeń w sieci. |
Graylog | graylog.org | Oparte na ogólnodostępnych standardach narzędzie do kolekcjonowania, przechowywania i analizy logów |
Snort | snort.org | Narzędzie opensource do wykrywania i zapobiegania przez zagrożeniami w sieci |
Cuckoo Sandbox | cuckoosandbox.org | Wiodący na rynku, darmowy system do analizy malware – piaskownica (sandbox) |
Kilka ciekawych narzędzi na GitHUB | github.com/topics/threat-hunting | Kilka ciekawych narzędzi do wykrywania zagrożeń bezpieczeństwa. |
SNDBOX Sandbox | app.sndbox.com | Darmowe, działające w chmurze i dostępne online przez każdą przeglądarkę. Korzysta z algorytmów sztucznej inteligencji i analizy behawioralnej. Nie wymaga żadnej konfiguracji, poza założeniem darmowego konta. Określa się jako kompleksowe, 1-klikowe rozwiązanie do analizy malware. Wiecej o narzędziu SNDBOX pisaliśmy tutaj. |