2.5 Obrana, mitigace a nástroje (Wireshark)
Možnosti obrany proti sniffingu a spoofingu
Ochrana před popsanými L2 a L3 útoky vyžaduje vícevrstvý přístup: od fyzické vrstvy až po tu aplikační.
- Šifrování: Nezabrání sice samotnému zachycení paketů (sniffing), ale zajistí, že data zůstanou pro případného útočníka nečitelná a soukromá (např. používání TLS místo prostého HTTP, SSH místo Telnetu).
- Detekce (sniffdet): Možnost monitorovat síť a detekovat přítomnost síťových karet, které jsou přepnuty do promiskuitního režimu.
- Statická ARP tabulka: Trvalé manuální přidání spolehlivé MAC adresy gateway do lokální ARP tabulky, čímž se zamezí podvržení pomocí klasického ARP Spoofingu. Udržování tohoto opatření je však ve větších sítích nepraktické.
- ARP filtrování (arptables): Nástroj pro filtrování a restrikce, který umožňuje specifikovat politiku pro zpracování ARP zpráv na úrovni síťových rozhraní.
- Port-based Security na switchi: Omezení počtu povolených MAC adres, které mohou komunikovat skrz určitý port na switchi (obvykle jen jedna povolená MAC adresa). Switch si často umí dynamicky svázat danou IP, MAC a fyzický port (tzv. DHCP snooping a Dynamic ARP Inspection - DAI), čímž přímo eliminuje ARP cache poisoning a MAC flooding.
- Protokol 802.1x: Slouží k prevenci a řízení neoprávněného přístupu k síti. Vyžaduje bezpečné ověření zařízení (nebo uživatele) dříve, než switch povolí port pro komunikaci (eliminace přímých útočníků s nezabezpečeným přístupem do zásuvky na zdi).
Nástroj Wireshark
Wireshark (původně známý jako Ethereal) je průmyslovým standardem pro analýzu síťových paketů. Je dostupný pro systémy UNIX a Windows.
Klíčové vlastnosti Wiresharku
- Může zachytávat živý provoz ze síťového rozhraní i číst ze souborů (formáty vytvořené nástroji jako
tcpdump,WinDumpatd.). - Lze do něj dokonce importovat textové soubory s hexadecimálním výpisem dat.
- Disponuje pokročilým filtrováním, umí paket vyhledávat podle mnoha kritérií a barevně odlišovat záznamy v závislosti na zadaných filtrech.
- Zobrazuje velmi detailní informace o jednotlivých vrstvách a protokolech strukturovaným a čitelným způsobem.
- Nabízí širokou škálu vestavěných statistik.
Architektura a hinty k používání
V praxi se setkáváme s řadou klíčových pojmů:
Capture filter vs. Display filter
Capture filter: Omezený filter, který běží na velmi nízké úrovni už při samotném zachytávání paketů (typicky na úrovni knihovny libpcap). Omezuje objem surových dat uložených do souboru. Nelze jej měnit během probíhajícího odposlechu.
Display filter: Filtr aplikovaný až na již zachycená (nebo živá) data. Je výrazně komplexnější a silnější, umožňuje filtrovat až do hloubky jednotlivých protokolů a lze jej kdykoliv za chodu upravovat či odstraňovat bez ztráty zachycených dat.
Display filter: Filtr aplikovaný až na již zachycená (nebo živá) data. Je výrazně komplexnější a silnější, umožňuje filtrovat až do hloubky jednotlivých protokolů a lze jej kdykoliv za chodu upravovat či odstraňovat bez ztráty zachycených dat.
- Dissector: Interní funkce programu, která zpracovává surová data a na základě logiky dekóduje konkrétní protokol (proto vidíme obsah HTTP nebo DNS namísto samotných bytů).
- Follow stream: Velmi užitečná funkce, která poskládá veškerá datová pole roztříštěná přes více paketů (typicky TCP stream) a zobrazí celkovou textovou konverzaci jako jeden souvislý proud dat.
- Export value: Vyjmutí konkrétních datových polí z protokolu.
- Export objects: Dokáže sestavit přenesené aplikační soubory jako jsou obrázky, archivy či spustitelné binárky a přímo je z PCAP záznamu extrahovat a uložit na disk.
- User column: Možnost zobrazení vlastních dynamických sloupců v grafickém rozhraní s informacemi z libovolných políček.