Selhání logování a monitorování
- Cílem logování a monitorování je odhalení, eskalace a reakce na narušení systému.
- Bez logování a monitorování nelze narušení odhalit.
- K nedostatečnému logování, detekci, monitorování a aktivní reakci dochází kdykoli, když
- se události podléhající auditu (např. přihlášení, neúspěšná přihlášení, high-value transakce) nezaznamenávají,
- výstrahy a chyby negenerují žádné, nedostatečné nebo nejasné zprávy do logů,
- logy aplikací a API nejsou monitorovány z hlediska podezřelých aktivit,
- jsou logy ukládány pouze lokálně,
- nejsou zavedeny vhodné prahové hodnoty pro upozornění a procesy eskalace reakce, nebo nejsou účinné,
- penetrační testy a skenování pomocí nástrojů pro dynamické testování bezpečnosti aplikací (DAST), například OWASP ZAP, nevyvolávají výstrahy,
- aplikace nemůže detekovat, eskalovat nebo upozorňovat na aktivní útoky v reálném čase.
- Zranitelnosti mohou mít velký dopad na odpovědnost, viditelnost, upozorňování na incidenty a forenzní analýzu.
- Zobrazování logů uživateli může vést k úniku dat (viz porušení access controls).
Nejčastější zranitelnosti
- Nedostatečné logování.
- Nesprávná neutralizace logů.
- Vynechání bezpečnostně relevantních informací.
- Zapsání citlivých informací do logů.
Jak zranitelnosti předcházet
🔴 Zajistěte, aby všechna selhání přihlášení, řízení přístupu a ověřování vstupů na straně serveru mohla být zaznamenána s dostatečným uživatelským kontextem pro identifikaci podezřelých nebo škodlivých účtů a uchována po dostatečně dlouhou dobu, aby bylo možné provést opožděnou forenzní analýzu.
🔴 Zajistěte, aby byly logy generovány ve formátu, který mohou řešení pro správu logů snadno používat.
🔴 Zajistěte správné kódování dat logů, abyste zabránili injection nebo útokům na logovací a monitorovací systémy.
🔴 Zajistěte, aby high-value transakce měly auditní stopu s kontrolou integrity, která zabrání neoprávněné manipulaci nebo vymazání, například append-only databázové tabulky atp.
🔴 Zaveďte účinné monitorování a upozorňování, aby byly podezřelé aktivity odhaleny a bylo na ně rychle reagováno.
🔴 Vypracujte, nebo přijměte plán reakce na incidenty a obnovy, například podle normy NIST 800-61r2 nebo novější.
- Existují proprietární a open source nástroje pro ochranu aplikací jako je například OWASP ModSecurity Core Rule Set a open source pro korelaci logů jako je například Elasticsearch, Logstash, Kibana, které nabízejí vlastní ovládací panely a upozornění.
Příklad zneužití zranitelnosti
- Provozovatel webových stránek poskytovatele zdravotního pojištění pro děti nemohl odhalit narušení kvůli nedostatečnému monitorování a logování. Externí strana informovala poskytovatele, že útočník získal přístup k tisícům citlivých zdravotních záznamů více než 3,5 milionu dětí a upravil je. Při kontrole po incidentu bylo zjištěno, že tvůrci webových stránek neřešili významné zranitelnosti. Jelikož nebylo prováděno žádné logování ani monitorování systému, mohlo narušení bezpečnostních údajů probíhat již od roku 2013.
- U jedné z velkých indických leteckých společností došlo k úniku dat, který zahrnoval osobní údaje milionů cestujících za více než deset let, včetně údajů o cestovních pasech a kreditních kartách. K narušení došlo u poskytovatele cloudového hostingu třetí strany, který leteckou společnost o narušení po nějaké době informoval.
- U jedné z velkých evropských leteckých společností došlo k porušení GDPR, které je třeba nahlásit. Narušení bylo údajně způsobeno bezpečnostními chybami v platební aplikaci, kde útočníci zneužili a získali více než 400.000 záznamů o platbách zákazníků. Letecká společnost v důsledku toho dostala od regulátora ochrany osobních údajů pokutu ve výši 20 milionů liber.