2. Systémy detekce narušení (IDS)

2.4. Běžná řešení a příklady systémů detekce narušení

V současné době je k dispozici mnoho řešení pro detekci narušení, některá z nich jsou placená a některá bezplatná. Také mnohá integrovaná řešení již přinášejí mechanismus detekce narušení v rámci svého softwaru, jsou však omezena místem jeho implementace.

V závislosti na typu IDS, který má být implementován, lze také použít různá řešení. Zde je možné upozornit na široce známé systémy SNORT IDS a Suricata IDS.

Pokud se zaměříme na první z nich, SNORT, jedná se o placené open-source řešení, které si mohou nainstalovat nejen jednotliví uživatelé, ale také firmy a organizace. Tento IDS se soustředí na sadu pravidel, která určují, který síťový provoz má být shromažďován a co je třeba udělat se zjištěnými škodlivými pakety. Pracuje na základě známých signatur zranitelností a útoků, na jejichž základě vytváří databázi pravidel IDS a identifikuje možná narušení v síti.

Z jeho funkcí je možné vyzdvihnout analýzu a monitorování v reálném čase, kdy má správce sítě možnost kontrolovat všechny výsledky monitorování IDS v reálném čase, identifikovat detekce narušení a jednat podle potřeb. Kromě toho zahrnuje také analýzu protokolů pro lepší identifikační výkon. Analyzuje protokoly pomocí procesu sniffingu, který zachycuje data ve vrstvách protokolu, což správcům umožňuje dále zkoumat potenciálně škodlivé pakety. SNORT navíc shromažďuje pravidla podle protokolů, jako jsou IP a TCP, dále podle portů a následně podle těch s obsahem nebo bez obsahu. Pravidla, která mají obsah, využívají vícevzorkový matcher, který zvyšuje výkon, zejména pokud jde o protokoly, jako je HTTP (Hypertext Transfer Protocol). Pravidla, která nemají obsah, se vyhodnocují vždy, a v důsledku toho se snižuje výkon.

SNORT je IDS, který dokáže kontrolovat a monitorovat nejen hlavičku paketu, ale také jeho užitečné zatížení, což umožňuje snížit míru falešně pozitivních detekcí. Je také schopen poskytovat výstrahy a flexibilní protokoly o paketech a jejich analýze, což správcům sítě poskytuje veškeré informace pro správnou analýzu a jednání. Jeho instalaci lze provést v systémech Unix, Windows a MacOSx, pokud umožňují kompilaci a instalaci knihovny lipcap, která slouží jako základ pro analýzu paketů. SNORT má také flexibilní architekturu, která umožňuje různé způsoby instalace a přizpůsobení potřebám sítě.

Podobně jako předchozí systém je i Suricata IDS open-source systém pro detekci síťových hrozeb, který je zdarma a poskytuje různé funkce, včetně detekce narušení a monitorování zabezpečení sítě, a to prostřednictvím hloubkové kontroly paketů a porovnávání vzorů.

Hlavním rozlišovacím znakem systému Suricata ve srovnání se systémem SNORT je, že systém Suricata obsahuje funkci dynamické ochrany protokolu, která je nezávislá na portu. To umožňuje systému IDS identifikovat některé z nejběžnějších protokolů aplikační vrstvy, včetně protokolů HTTP, DNS (Domain Name System), TLS (Transport Layer Security) a dalších, pokud tyto protokoly komunikují přes nestandardní porty. Zde použitý jazyk pravidel umožňuje správci sestavit podmínky shody v protokolu aplikační vrstvy, čímž se zvyšuje výkon a detekce IDS.

Suricata monitoruje síťový provoz pomocí rozsáhlé databáze pravidel, jako je SNORT, a svá pravidla zakládá také na známých signaturách zranitelností a útoků. Ačkoli byla Suricata vytvořena v jiné architektuře a je mnohem novější než SNORT, obě řešení mohou využívat signatury hrozeb. Klíčovým rozdílem je, že Suricata představuje vícevláknovou architekturu, která umožňuje využívat více jader procesoru najednou, a v důsledku toho přináší vyšší výkon ve srovnání s jinými řešeními. Použití více CPU umožňuje systému Suricata zpracovávat více událostí současně, aniž by musel přerušovat jiné požadavky nebo ohrožovat jiné analýzy, zatěžovat rovnováhu mezi CPU a zvyšovat výkon při analýze síťového provozu.

Toto řešení IDS lze použít ve třech různých rolích, přičemž nejjednodušší je nastavit jej jako hostitelský IDS, který monitoruje provoz jednotlivého počítače. Lze jej také implementovat jako pasivní IDS, který monitoruje veškerý provoz procházející sítí a upozorní správce sítě, pokud narazí na něco škodlivého. Třetí a poslední úloha spočívá v tom, že je Suricata implementována jako aktivní inline IDS a IPS (Intrusion Protection System), monitorující příchozí a odchozí provoz, což umožňuje blokovat škodlivý provoz ještě předtím, než vstoupí do sítě, a zároveň na tuto akci upozornit správce sítě.

Stejně jako SNORT je Suricata k dispozici také pro systémy UNIX, Windows a MacOSx.

Jak již bylo zmíněno, ne všechna řešení IDS jsou vhodná pro každý systém nebo síť, přičemž správce sítě musí zvolit to nejlepší řešení, které odpovídá potřebám a specifickým vlastnostem jeho sítě.

Předchozí příklady jsou většinou vhodné pro implementaci v běžné počítačové síti a jsou také nejběžnějšími řešeními, která dnes organizace a firmy používají. Pokud se však zaměříme na detekci narušení v kritických infrastrukturách, které jsou závislé na specifických síťových protokolech a kde pouhé přerušení komunikace může mít drastické následky, je třeba IDS pečlivě vybírat a implementovat.

Někteří vědci uvádějí, že specializované řešení je nutností a že IDS založené na státním systému spolu se systémem strojového učení mohou být budoucností pro ochranu kritických infrastruktur. Dobrým příkladem je řešení vyvinuté společností (Al-Malawi et al., 2016) které se zaměřuje na techniku shlukování založenou na datech pro extrakci stavových pravidel a detekci útoků v sítích Modbus/TCP bez předchozí znalosti specifikací systémů. Je však důležité zdůraznit, že citlivé a kritické systémy, jako je SCADA ve WDS (vodovodní distribuční systémy), mají vždy zcela podrobnou dokumentaci.