V předchozích částech tohoto seriálu jsme se zaměřovali na obranu před útoky cílenými na uživatele a útoky typu insider threat. Řešení pro správu přístupů, analýzu chování uživatelů, různé endpoint řešení, vše toto je zaměřeno hlavně na to, abychom byli chráněni proti útokům, kde “vstupní branou” je uživatel.
Útočníka však nemusí uživatel zajímat, může se naopak soustředit spíše na infrastrukturu. Veřejně (z internetu) dostupné webové stránky, databázové či aplikační servery mohou být zneužity několika způsoby. Vstupní brána do vnitřní sítě, šíření malwaru, zapojení do botnetu nebo únik citlivých dat – vše toto může být výsledkem nedostatečného zabezpečení infrastruktury. Jak se dá proti takovým útokům bránit?
Aplikační firewally, WAF
Pravděpodobně nejdůležitějším obranným prostředkem je pravidelné a včasné záplatování. Jak jsme však již minule zmínili, záplatování nemusí být vždy jednoduché a je možné, že na některé zranitelnosti nemusí existovat záplata, případně není možné záplatovat z jiných důvodů. Musíme se tak poohlédnout po jiných obranných prostředcích.
Dalším standardním prostředkem jsou firewally. Můžeme omezit přístup na daný prvek infrastruktury podle IP adres, podle portů apod. Co však, když klasický firewall nestačí? Právě zde přicházejí na scénu tzv. aplikační firewally.
Princip je stejný jako u klasického firewallu, ale zatímco klasický firewall operuje s IP adresami, porty či stavem spojení, aplikační firewall dokáže pracovat s vlastnostmi paketů daného aplikačního protokolu. Jedním z nejrozšířenějších aplikačních firewallů je webový aplikační firewall (WAF – Web Application Firewall), který pracuje s webovými protokoly.
Takový firewall je obvykle umístěn mezi webovou stránkou a internetem a umožňuje filtrovat komunikaci směřující na daný web. Použití WAF nám umožňuje filtrovat komunikaci na základě tvaru požadavky původu požadavky slabých šifer při HTTPS a podobně. Široké možnosti filtrování nám umožňují zablokovat požadavky, které se snaží zneužít běžně rozšířené webové zranitelnosti, například SQL injection nebo XSS.
V případě již zmíněného Drupalgeddonu by nám právě filtrování komunikace pomohlo, protože zranitelnost v CMS Drupal byla zneužitelná požadavkem, která měla specifický stálý tvar a tudíž by se dala jednoduše zablokovat.
Pomocí WAF můžeme omezit počet požadavků, na které web odpovídá, čímž můžeme zabránit DoS útoku, nebo zpomalit útočníka, který zkouší hádat hesla. Případně můžeme filtrovat přístupy na jednotlivé podstránky daného webu, filtrovat přístupy na základě země, ze které přicházejí a podobně. Možností, jak využít WAF či jiný aplikační firewall je mnoho a záleží jen na nás, jak efektivně dokážeme danou technologii použít.
Monitorování síťového provozu
Pod monitorováním síťového provozu si můžeme představit 2 typy monitorování, a to sledování toků (flow-based monitoring) nebo monitorování paketů (full packet capture). Hlavním rozdílem je poměr viditelnosti do obsahu komunikace a hardwarové náročnosti (výkonnostně ale také z hlediska potřebného úložného prostoru).
Flow-based monitoring funguje na principu zaznamenávání metadat paketů, což znamená, že se neukládají celé pakety, ale pouze informace o zdrojové / cílové IP adrese, zdrojovém / cílem portu, TCP příznacích, časových známkách apod. Tato data jsou často obohacovány o obsah HTTP hlaviček, URL adresy, DNS požadavky a další doplňkové data, která se dají získat z paketů. Flow záznam však neobsahuje všechna data z paketu. Nevýhodou je tedy snížena viditelnost do provozu. Výhodou jsou zas ne až tak velké požadavky na hardwarový výkon a úložný prostor.
Při full packet capture naopak dochází k zaznamenávání kompletních paketů včetně všech dat v nich obsažených, což si samozřejmě vyžaduje úložný prostor a hardwarový výkon. Výrazným benefitem však je možnost pracovat s kompletními daty. To nám umožňuje například důkladně identifikovat malwarové komunikaci a to nejen na základě IP adres nebo použitých domén, ale na základě samotných požadavků uložených v paketech.
Standardně tato řešení, nezávisle na principu fungování, obsahují vlastní sadu detekčních metod založených na hledání vzorů, odměrných a statistických metodách nebo v poslední době založených na použití metod strojového učení a umělé inteligence při hledání komunikačních anomálii. Typickým příkladem může být například detekce bruteforce útoků na SSH protokol, která je založena na rozdílných velikostech paketů při úspěšném a neúspěšném přihlášení přes SSH a na počtech těchto paketů za daný čas.
SIEM
Jak už název Security Information and Event Management napovídá, jde o nástroje určené pro správu bezpečnostních událostí. Zjednodušeně můžeme říci, že v Siem se setkávají záznamy (logy) ze všech našich systémů.
Nad těmito záznamy nám SIEM umožňuje vytvářet tzv. korelace, což je něco podobného jako detekční metody ale nad záznamy z více zdrojů. Můžeme vytvářet korelace nad logy z endpoint řešení, WAF, firewallu či nad logy ze zprávy přístupu (i fyzického přístupu). Může se jednat o korelace v čase (nastane událost a do nějakého času nastane další), volumetrické (x logů za nějaký čas) a jiné typy korelaci.
SIEM nám tedy umožňuje provádět pokročilou analýzu, detekci a hlášení komplexních bezpečnostních událostí z více zdrojů. Hlavní výhodou při využití SIEM je, že máme na jednom místě viditelnost do všech obranných prostředků, což nam umožní nejen ušetřit čas a prostředky ale zejména dosáhnout lepší znalosti o úrovni zabezpečení naší infrastruktury a dat. Díky tomu může být kvalitní SIEM, který obsahuje kvalitní data ze špičkových nástrojů a je obsluhován vzdělanými lidmi tím dokonalým obranným prostředkem nejen v roce 2019.
Dávid Kosť, Lead SOC Analyst, Axenta a.s.