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.