V predchádzajúcich častiach tohto seriálu sme sa zameriavali na obranu pred útokmi cielenými na užívateľa a útokmi typu insider threat. Riešenia na správu prístupov, analýzu správania užívateľov, rôzne endpoint riešenia, všetko toto je zamerané hlavne na to, aby sme boli chránení proti útokom, kde „vstupnou bránou“ je užívateľ.
Útočníka však nemusí užívateľ zaujímať, môže sa naopak sústrediť skôr na infraštruktúru. Verejne(z internetu) dostupné webové stránky, databázové či aplikačné servery môžu byť zneužité viacerými spôsobmi. Vstupná brána do vnútornej siete, šírenie malwaru, zapojenie do botnetu alebo únik citlivých dát – všetko toto môže byť výsledkom nedostatočného zabezpečenia infraštruktúry. Ako sa dá proti takýmto útokom brániť?
Aplikačné firewally, WAF
Pravdepodobne najdôležitejším obranným prostriedkom je pravidelné a včasné záplatovanie. Ako sme však už minule spomínali, záplatovanie nemusí byť vždy jednoduché a je možné, že na niektoré zraniteľnosti nemusí existovať záplata, prípadne nie je možné zaplátovať z iných dôvodov. Musíme sa tak poobzerať po iných obranných prostriedkoch.
Ďalšim štandardným prostriedkom sú firewally. Môžeme obmedziť prístup na daný prvok infraštruktúry podľa IP adries, podľa portov a pod. Čo však, ak klasický firewall nestačí? Práve tu prichádzajú na scénu tzv. aplikačné firewally.
Princíp je rovnaký ako u klasického firewallu, no zatiaľčo klasický firewall operuje s IP adresami, portami či stavom spojenia, aplikačný firewall dokáže pracovať s vlastnosťami paketov daného aplikačného protokolu. Jedným z najrozšírenejších aplikačných firewallov je webový aplikačný firewall (WAF – Web Application Firewall), ktorý pracuje s webovými protokolmi.
Takýto firewall je zvyčajne umiestnený medzi webovou stránkou a internetom a umožňuje filtrovať komunikáciu smerujúcu na daný web. Použitie WAF nám umožňuje filtrovať komunikáciu na základe tvaru požiadavky, pôvodu požiadavky, slabých šifier pri HTTPS a podobne. Široké možnosti filtrovania nám umožňujú zablokvoať požiadavky, ktoré sa snažia zneužiť bežne rozšírené webové zraniteľnosti, napríklad SQL injection alebo XSS.
V prípade už spomínaného Drupalgeddonu by nám práve filtrovanie komunikácie pomohlo, keďže zraniteľnosť v CMS Drupal bola zneužiteľná požiadavkou, ktorá mala špecifický stály tvar a teda by sa dala jednoducho zablokovať.
Pomocou WAF môžeme obmedziť počet požiadavok, na ktoré web odpovedá, čím môžeme zabrániť DoS útoku, alebo spomaliť útočníka, ktorý skúša hádať heslá. Prípadne môžeme filtrovať prístupy na jednotlivé podstránky daného webu, filtrovať prístupy na základe krajiny, z ktorej prichádzajú a podobne. Možností, ako využiť WAF či iný aplikačný firewall je veľa a záleží len na nás, ako efektívne dokážeme danú technológiu použiť.
Monitorovanie sieťového provozu
Pod monitorovaním sieťového provozu si môžeme predstaviť 2 typy monitorovania, a to monitorovanie tokov (flow-based monitoring) alebo monitorovanie paketov (full packet capture). Hlavným rozdielom je pomer viditeľnosti do obsahu komunikácie a hardvérovej náročnosti (výkonnostne ale aj z hľadiska potrebného úložného priestoru).
Flow-based monitoring funguje na princípe zaznamenávania metadát paketov, čo znamená, že sa neukladajú celé pakety, ale iba informácie o zdrojovej/cieľovej IP adrese, zdrojovom/cieľom porte, TCP príznakoch, časových známkach a pod. Tieto dáta sú často obohacované o obsah HTTP hlavičiek, URL adresy, DNS požiadavky a ďalšie doplnkové dáta, ktoré sa dajú získať z paketov. Flow záznam však neobsahuje všetky dáta z paketu. Nevýhodou je teda znížená viditeľnosť do provozu. Výhodou sú zas nie až tak veľké požiadavky na hardvérový výkon a úložný priestor.
Pri full packet capture naopak dochádza k zaznamenávaniu kompletných paketov vrátane všetkých dát v nich obsiahnutých, čo si samozrejme vyžaduje úložný priestor a hardvérový výkon. Výrazným benefitom však je možnosť pracovať s kompletnými dátami. To nám umožňuje napríklad dôkladne identifikovať malvérovú komunikáciu a to nielen na základe IP adries alebo použitých domén, ale na základe samotných požiadaviek uložených v paketoch.
Štandardne tieto riešenia, nezávisle od princípu fungovania, obsahujú vlastnú sadu detekčných metód založených na hľadaní vzorov, volumetrických a štatistických metódach alebo v poslednej dobe založených na použití metód strojového učenia a umelej inteligencie pri hľadaní komunikačných anomálii. Typickým príkladom môže byť napríklad detekcia bruteforce útokov na SSH protokol, ktorá je založená na rozdielnych veľkostiach paketov pri úspešnom a neúspešnom prihlásení cez SSH a na počtoch týchto paketov za daný čas.
SIEM
Ako už názov Security Information and Event Management napovedá, ide o nástroje určené na správu bezpečnostných udalostí. Zjednodušene môžeme povedať, že v SIEMe sa stretávajú záznamy(logy) zo všetkých našich systémov.
Nad týmito záznamami nám SIEM umožňuje vytvárať tzv. korelácie, čo je niečo podobné ako detekčné metódy ale nad záznamami z viacerých zdrojov. Môžeme vytvárať korelácie nad logmi z endpoint riešení, WAF, firewallu či nad logmi zo správy prístupu (aj fyzického prístupu). Môže sa jednať o korelácie v čase (nastane udalosť a do nejakého času nastane ďalšia), volumetrické(x logov za nejaký čas) a iné typy korelácii.
SIEM nám teda umožňuje vykonávať pokročilú analýzu, detekciu a hlásenie komplexných bezpečnostných udalostí z viacerých zdrojov. Hlavnou výhodou pri využití SIEMu je, že máme na jednom mieste viditeľnosť do všetkých obranných prostriedkov, čo nam umožní nielen ušetriť čas a prostriedky ale najmä dosiahnuť lepšie znalosti o úrovni zabezpečenia našej infraštruktúry a dát. Vďaka tomu môže byť kvalitný SIEM, ktorý obsahuje kvalitné dáta zo špičkových nástrojov a je obsluhovaný vzdelanými ľuďmi tým dokonalým obranným prostriedkom nielen v roku 2019.
Dávid Kosť, Lead SOC Analyst, Axenta a.s.