13. Malware a jeho analýza
Co se po vás bude chtít?
Malware obecně
- Definice malware
- Základní typy malware a přídružené termíny (umět popsat jejich fungování):
- backdoor - skrytý přístup do systému
- botnet - síť kompromitovaných zařízení
- rootkit - skrývá přítomnost malware v systému
- worm / virus - samoreplikující se malware
- ransomware - šifrování dat s výkupným
- spyware - sledování aktivity uživatele
- adware - nechtěné reklamy
- scam - podvodné schéma
- spam - nevyžádaná komunikace
- phishing - vylákání citlivých informací
Virtualizace pro bezpečnou analýzu malware
Důvody použití VM pro analýzu
- Izolace - oddělení od hostitelského systému
- Snapshoty - možnost vrácení do čistého stavu
- Opakovatelnost - konzistentní prostředí pro analýzu
- Kontrolované prostředí - možnost monitorovat veškerou aktivitu
Základní nastavení VM pro analýzu potenciálně škodlivého SW
- Síťová izolace:
- Host-only network / Internal network / No network
- Odpojení od internetu nebo kontrolovaný přístup přes izolovanou síť
- Fake network services pro simulaci internetového připojení
- Snapshot před analýzou:
- Vytvoření čistého snapshotu systému před spuštěním malware
- Možnost rychlého návratu do bezpečného stavu
- Základní bezpečnostní opatření:
- Vypnutí shared folders mezi hostem a VM
- Vypnutí clipboard sharing
- Vypnutí drag & drop funkcí
- Příprava monitorovacích nástrojů:
- Nainstalované nástroje pro monitoring (Process Monitor, Wireshark, atd.)
- Připravené skripty pro sběr dat
Rizika při analýze ve VM a ochrana
- Detekce VM malwarem:
- Malware může detekovat virtualizované prostředí a změnit chování
- Anti-VM techniky: kontrola hardware, časování, artefakty virtualizace
- Obrana: modifikace VM pro utajení virtualizace
- VM escape (escapování z VM):
- Zneužití zranitelností hypervizoru k úniku z VM
- Potenciální kompromitace hostitelského systému
- Obrana: aktualizace hypervizoru, síťová izolace
- Šíření po síti:
- Malware může útočit na další systémy v síti
- Obrana: správná síťová izolace
- Exploit kernelových zranitelností:
- Zneužití shared resources (filesystem, kernel)
- Obrana: aktualizovaný hypervisor a guest OS
Hypervisory vhodné pro malware analýzu
- VirtualBox - open-source, uživatelsky přívětivý
- VMware - profesionální řešení, také uživatelsky přívětivý
- QEMU/KVM - výkonné Linux řešení, komplikovanější použití
- Specializované sandbox prostředí (Cuckoo Sandbox)
Analýza spustitelných souborů
Statická analýza
- Výpočet otisku binárky a konzultace online malware databází:
- Hash (MD5, SHA-256) pro identifikaci
- VirusTotal, malware bazaar, hybridanalysis
- Strings - proč & jak?
- Hledání textových řetězců v binárce
- Odhalení IP adres, URL, příkazů, klíčů
- Nástroj:
strings(Linux), Sysinternals Strings (Windows)
- Packery:
- Komprese/obfuskace malware pro ztížení analýzy
- Detekce: entropy analýza, signatury packerů
- Nástroje: Detect It Easy (DIE), PEiD
- Analýza použitých knihoven:
- Staticky linkované knihovny - součást binárky
- Dynamicky linkované knihovny - načítané při startu
- Runtime linkované knihovny - načítané za běhu (dlopen)
- Proč: odhalení funkcí, které malware používá
- Jak:
ldd(Linux), Dependency Walker (Windows)
- Exportované a importované funkce:
- Import table - funkce, které malware využívá z jiných knihoven
- Export table - funkce, které malware poskytuje
- Nástroje:
objdump,readelf(Linux), PE Explorer (Windows)
- Struktura spustitelných souborů:
- PE (Portable Executable) - Windows:
- Header: DOS header, PE header, Optional header
- Sekce:
.text(kód),.data(data),.rdata(read-only data),.rsrc(resources)
- ELF (Executable and Linkable Format) - Linux:
- Header: ELF header, Program headers, Section headers
- Sekce:
.text(kód),.data(data),.bss(neinicializovaná data),.rodata(read-only)
- PE (Portable Executable) - Windows:
- Binwalk - k čemu slouží:
- Vyhledání embedded souborů a dat v binárce
- Extrakce nalezených souborů
- Použití:
binwalk -e soubor(extrakce),binwalk soubor(vyhledání)
Dynamická analýza
- Spouštění programů ve VM:
- Setup: izolovaná VM s monitoring nástroji
- Snapshot před spuštěním
- Rizika: viz sekce o virtualizaci výše
- Monitorování chování spuštěného programu:
- Sledování: síť, systémová volání, filesystém I/O, registry
- Process Monitor (procmon):
- Monitoring registry, file system, network, process, thread aktivit
- Kombinuje FileMon a RegMon
- Real-time sledování operací
- Process Explorer:
- Pokročilý task manager
- Zobrazení procesů, DLL, handlů, síťových spojení
- Analýza running procesů
- RegShot:
- Porovnání registrů OS před a po spuštění
- Odhalení změn provedených malwarem
- Identifikace persistence mechanismů
- strace:
- Sledování systémových volání
- Zobrazení parametrů a návratových hodnot
- Použití:
strace ./program
- ptrace:
- System call pro debugging a tracing
- Základ pro debuggery a monitoring nástroje
- Umožňuje kontrolu a modifikaci běhu procesu
Odkazy na zdroje informací
Malware analýza
-
Practical Malware Analysis / mirror - Kniha popisující základní techniky používané při analýze malware
Chapter 1 - Basic Static Techniques teaches ways to get information from an executable without running it.
Chapter 2 - Malware Analysis in Virtual Machines walks you through setting up virtual machines to use as a safe environment for running malware.
Chapter 3 - Basic Dynamic Analysis teaches easy-to-use but effective techniques for analyzing a malicious program by running it.
Virtualizace
- LiveOverflow youtube - LiveOverflow: How Docker works
- IBM Cloud youtube - IBM cloud: Virtualization explained
- IBM cloud youtube - IBM cloud: Containers vs VMs: what’s the difference?
- Arch - Arch wiki KVM
- Arch - Arch wiki QEMU
- KVM - KVM FAQ
Nástroje a sandbox prostředí
- Cuckoo Sandbox - Automatizovaný malware analysis systém
- Any.run - Interaktivní online malware sandbox
- Joe Sandbox - Pokročilá malware analýza
Připrav se na HAXAGONu
Docker:
- Docker - Úvod
- Docker - První kontejner
- Docker - Images
- Docker - Dockerfile
- Docker - Volumes
- Docker - Network
Nebezpečný internet:
- Nebezpečný internet (úvod)
- Phishing
- Jak chránit svá zařízení
- Bezpečný internet
Kryptografie:
- OSINT úvod (sběr informací o malware)