facebook LinkedIN LinkedIN - follow
IT SYSTEMS 4/2015 , IT Security

Wireshark - Paketová analýza pro všechny



Invea-TechKdyž se řekne monitoring, většina IT profesionálů si vybaví sledování dostupnosti serverů a služeb, vytížení CPU, zaplnění disku nebo paměti nebo stav jednotlivých síťových rozhraní a počet přenesených paketů. Tato tradiční představa odpovídá běžnému infrastrukturnímu monitoringu, obvykle na bázi SNMP (Simple Network Management Protocol), který poskytuje přehled o stavu IT infrastruktury a dostupnosti jednotlivých komponent. Takový monitoring lze dnes považovat za povinnou výbavu zodpovědného správce datové sítě.


Pokud dojde k anomálii provozu datové sítě a provoz výrazně vzroste, dozvíte se o nárůstu počtu paketů a objemu přenesených dat na síťových rozhraních. Ale co dál? O jakou anomálii se jedná? Která stanice je za nárůst provozu zodpovědná? O jaké přenosové protokoly a služby jde? Na tyto otázky Vám bohužel běžný infrastrukturní monitoring neodpoví, neboť vlastní provoz datové sítě nesleduje a nezná tak jeho strukturu.

Potřebujeme monitoring síťového provozu, často označovaný jako tzv. next-generation monitoring, který na tyto otázky odpoví. Monitoring síťového provozu vytváří agregované statistiky o veškerých datových přenosech, dochází k abstrakci od jednotlivých paketů a obsah komunikace není sledován. Tyto statistiky reprezentují datové toky v síti a zjednodušeně si je můžeme představit podobně jako výpis telefonních hovorů. Známe volající strany, čas, délku trvání, ale nevíme, co bylo předmětem rozhovoru. V prostředí datových sítí tedy sledujeme IP adresy, objemy dat, čas, porty, protokoly a další technické parametry TCP/IP komunikace na třetí a čtvrté síťové vrstvě. Nejčastěji se setkáváme se standardy NetFlow, IPFIX nebo jFlow.

No a co když ani to nestačí? Co když potřebujeme analyzovat vlastní obsah přenášených dat s cílem diagnostikovat příčiny provozních problémů nebo kompatibilitou mezi systémy? Co když, například, najednou přestanou být doručovány na náš e-mailový server maily z Gmailu? Pomocí datových toků ověříme, že síťová komunikace funguje normálně, spojení nejsou blokována a na úrovni datové sítě je všechno v pořádku? To je správný okamžik pro nasazení paketové analýzy.

Invea-Tech

Paketová analýza

Paketová analýza, jak už název naznačuje, se zabývá analýzou vlastních přenášených dat, tedy vlastního obsahu komunikace. Nedochází zde k žádné agregaci, kompresi nebo ořezání a data jsou ukládána v původním rozsahu. Z uvedeného vyplývá, že jde o metodu extrémně náročnou na výkon i diskovou kapacitu. Pro představu, plný záznam provozu podnikové sítě, kde je průměrně přenášeno 250 Mbps (běžná hodnota pro menší podniky) znamená datovou náročnost více než 31 MB dat za vteřinu, 1,8 GB za minutu, 108 GB za hodinu a 2,6 TB za den. V případě 10Gbps provozu se dostáváme už na těžko uvěřitelná čísla, za den by to bylo více než 100TB dat. Principiálním omezením paketové analýzy je šifrovaný provoz, kdy bez znalosti klíče nejsme schopni obsahu přenášených dat porozumět a často ani rozpoznat přenosový protokol nebo aplikaci. Přitom poměr šifrovaného provozu neustále narůstá. Problematická je rovněž analýza proprietárních protokolů, od kterých se naštěstí již ustupuje a dochází ke standardizaci podnikových aplikací.

K paketové analýze existují dva rozdílné přístupy. První přístup je kontinuální záznam provozu v plném rozsahu, který vyžaduje adekvátní technické vybavení, zejména vysokorychlostní disková pole s dostatečnou kapacitou. Tento přístup je vhodný pouze pro kritickou infrastrukturu a sítě zvláštního určení, neboť je velmi nákladný. Zároveň je třeba zdůraznit, že problém není pouze tato data uložit, ale zejména je efektivně analyzovat a získat z nich potřebné informace. Druhý přístup označujeme jako tzv. on-demand packet capture, kdy se provádí záchyt paketů pouze v případě potřeby. Typicky za účelem řešení problému se vzájemnou kompatibilitou systémů nebo zjištění ztrát či poškození paketů při přenosu apod. Záchyt paketů v případě potřeby je metoda velmi jednoduchá a dostupná prakticky pro všechny správce sítě. Omezením tohoto přístupu je fakt, že vždy definuji dopředu, jaký provoz chci ukládat. Nemám tak možnost v případě zjištění bezpečnostního incidentu sáhnout do archivu provozu a získat jeho plný záznam pro analýzu.

Nejznámějším nástrojem pro záchyt paketů je nástroj tcpdump v prostředí operačního systému Linux nebo speciální ovladač síťové karty s názvem WinPcap v prostředí Microsoft Windows. Správce sítě tak obvykle dorazí na příslušné místo se svým notebookem, připojí jej na tzv. mirror port (síťové rozhraní nakonfigurované tak, aby zrcadlilo vybraný provoz na daném aktivním prvku) nebo TAP (Test Access Point – speciální hardware, který slouží k pořízení kopie provozu datové linky) a pomocí některého z výše uvedených nástrojů provede záznam provozu datové sítě do souboru. Samozřejmě problém nastává v případě vzdálených lokalit, optických síťových rozhraní nebo 10Gbps infrastruktury, tedy omezení, která se na běžném notebooku obtížně překonávají. Alternativně lze záznam provozu provést přímo na dotčeném zařízení, ne vždy je to ale možné (např. specializované průmyslové systémy nebo servery, na které není žádoucí cokoliv instalovat apod.). V případě rozmístění síťových sond napříč infrastrukturou je možné tyto sondy využít rovněž jako platformu pro on-demand záchyt provozu. Je tak možné zadávat požadavky na záznam provozu vzdáleně a provoz zachytávat i v případě vysokorychlostní infrastruktury (10Gbps i vyšší rychlosti) a na různých typech rozhraní. Často možnost zaznamenat vybraný provoz v plném rozsahu do souboru nabízí i moderní firewally, zde jsme však typicky omezeni jen na perimetr datové sítě.

Wireshark prakticky

V okamžiku, kdy máme požadovaný provoz uložený v souboru, potřebujeme nástroj na jeho analýzu. Mimo komerčních nástrojů existuje i velmi populární nástroj Wireshark (www.wireshark.org), který je vyvíjen jako open source rozsáhlou komunitou. Wireshark umí rozpoznat a dekódovat stovky protokolů a zahrnuje nástroje pro filtrování na všech vrstvách, rekonstrukci TCP spojení nebo telefonních hovorů, dešifrování provozu při zadání privátního klíče, extrakci dat a obecně hloubkovou analýzu paketů. Jeho použití však vyžaduje určitou úroveň znalostí rodiny protokolů TCP/IP, principů fungování datových sítí a analytické myšlení. Na webu je možné najít řadu on-line kurzů a návod, stejně jako vzorové sady dat. Lze doporučit například publikace „Wireshark 101 Essential Skills for Network Analysis“ nebo „Wireshark Network Analysis“, případně české vydání „Analýza sítí a řešení problémů v programu Wireshark“.

Pojďme se vrátit k našemu příkladu paketové analýzy. Uživatelé si stěžují, že jim nejsou doručovány maily odesílané z Gmailu a žádají správce sítě o vyřešení problému. Správce sítě provede základní diagnostiku a ověří funkčnost síťové komunikace mezi servery Gmailu a vlastním poštovním serverem. Zjistí, že Gmail korektně naváže spojení s poštovním serverem, přenese 8 paketů a 640 bytů a spojení zase uzavře. Navíce všechna spojení vypadají stejně.

Invea-Tech

Z uvedeného je zřejmé, že něco není v pořádku. Objem komunikace je tak malý, že nemůže být žádný mail přenesen a zároveň je zřejmé, že na úrovni datové sítě není komunikace jakkoliv blokována. Problém bude na aplikační vrstvě, potřebujeme tedy analyzovat vlastní obsah přenášených dat.

V prvním kroku je nezbytné provést záznam provozu. Zaměříme se tedy na provoz serverů Gmail s poštovním serverem. IP adresa serveru je 172.16.1.36, protokol TCP, port 25. Na základě těchto informací provedeme nastavení filtru našeho záznamu provozu. Samozřejmě by bylo možné uložit veškerý provoz našeho serveru a příslušné pakety filtrovat až následně, nicméně zvolený přístup nám umožňuje snížit objem dat k následné analýze již v okamžiku jejich pořízení.

Vytvořený soubor ve formátu PCAP otevřeme v nástroji Wireshark, který automaticky rozpozná aplikační protokoly a provede dekódování jednotlivých paketů. Můžeme v praxi vidět, jak Gmail naváže TCP spojení (pakety 1-3). Následně server oznámí, že je připraven komunikovat protokolem SMTP a klient komunikaci naváže (pakety 4-8). V dalším kroku vyžaduje Gmail použití šifrování provozu (pakety 9 a 10) a zvolí šifrovací algoritmus, na který poštovní server reaguje chybou (pakety 11 a 12). Spojení je ukončeno standardním způsobem (pakety 13-15).

Invea-Tech

Pojďme se na chybu podívat podrobně. Gmail pro doručení mailu požaduje přechod na šifrovanou komunikaci, aby zajistil důvěrnost přenášené zprávy pro případ odposlechu síťové komunikace. Právě díky schopnosti Wiresharku dekódovat informace v paketech do srozumitelné podoby vidíme, že Gmail požaduje šifrování TLS verze 1.0. Na tento požadavek odpovídá poštovní server zprávou „Handshake failure“, protože tento šifrovací algoritmus nepodporuje. Výsledek analýzy je tedy jasný. Pro vyřešení problému je nezbytné povolit na poštovním serveru podporu šifrování algoritmem TLS 1.0 a e-maily budou opět doručovány.

Licencování a podpora

Ukázali jsme si na jednoduchém příkladu možnosti záznamu provozu v plném rozsahu a jeho následné analýzy prostřednictvím open source nástroje Wireshark. Wireshark je dostupný zdarma pod licencí GNU GPL. Jeho použití za libovolným účelem tak není nijak omezeno. Wireshark podporuje analýzu stovek protokolů a aplikací, což z něj dělá nejrozšířenější nástroj paketové analýzy. Neustále vychází nové verze a instalační balíčky jsou dostupné pro všechny rozšířené platformy (Windows, Linux, MAC OS). Instalace je velmi jednoduchá díky integrovanému průvodci instalací. Součástí instalace pro prostředí OS Windows je i WinPcap, který promění vaši síťovou kartu v nástroj pro nahrávání síťové komunikace. Můžete tak např. na svém notebooku nahrávat provoz a rovnou jej ve Wiresharku zobrazit a analyzovat. Stále častěji využívají Wireshark i IT profesionálové z komerční sféry, kteří dříve používali komerční nástroje. Není se čemu divit, držet krok s rozvojem populárního open source, za kterým stojí několik stovek vývojářů, není snadné.

RNDr. Pavel Minařík, PhD. RNDr. Pavel Minařík, PhD.
Autor článku se oblastí kybernetické bezpečnosti zabývá od roku 2006. Účastnil se řady výzkumných projektů v oblasti analýzy provozu datových sítí a detekci pokročilých hrozeb jako výzkumný pracovník Ústavu výpočetní techniky Masarykovy univerzity. Během posledních čtyř let se účastnil několika desítek projektů nasazení řešení pro monitorování provozu a detekci pokročilých hrozeb. V současné době pracuje jako technologický ředitel ve společnosti INVEA-TECH zodpovědný za návrh a vývoj produktů pro Flow Monitoring a Network Behavior Analysis.
Chcete získat časopis IT Systems s tímto a mnoha dalšími články z oblasti informačních systémů a řízení podnikové informatiky? Objednejte si předplatné nebo konkrétní vydání časopisu IT Systems z našeho archivu.

Inzerce

Ochrana dat a bezpečnost v éře DORA a NIS2

Klíčová role IBM Guardium a SIEM QRadar

Security AIS rostoucími nároky na ochranu citlivých dat a dodržování regulatorních požadavků se firmy stále více obrací k pokročilým nástrojům, které jim umožňují efektivně čelit výzvám moderního IT prostředí. Směrnice DORA a NIS2, které zdůrazňují operační odolnost a správu kybernetické bezpečnosti, stanovují jasné standardy pro ochranu dat a řízení přístupu. V tomto kontextu hrají zásadní roli řešení IBM Guardium a SIEM QRadar.