Jak zvládnout bezpečnostní incident, PCI-DSS compliance, vánoční dárek, a další
Jak se připravit na bezpečnostní incident, jak ho řešit a jak ho uzavřít. Musím být PCI-DSS compliant, když používám Stripe? čTečka v rozporu se zákonem. Jak najít a opravit zranitelnosti.
🏆 Téma: Příprava na bezpečnostní incident
- Je jen otázkou času, kdy aplikace zaznamená nějaký bezpečnostní incident / útok.
- V dnešní době je zahájit útok na vybraný cíl otázka několika minut.
- Existuje řada hacking nástrojů a frameworků.
- Spousta činností je automatizovaná.
- Návody a tutoriály jsou veřejně dostupné.
- Abyste mohli útoky odhalit, potřebujete jednotlivé funkce aplikace vhodně logovat.
- Logujte kdo (identifikátor uživatele), kdy (timestamp), co (funkce) a jak (kontext) použil.
- Logujte minimálně citlivé operace (změna hesla), high value transakce (platby, velké objednávky), admin funkce, manipulace s osobními / citlivými údaji a další citlivé akce v kontextu vaší aplikace.
- Doporučuju však logovat veškerou aplikační funkcionalitu.
- Díky logům můžete aplikaci vhodně monitorovat.
- Existují monitorovací nástroje v rámci cloudových služeb nebo samostatné nástroje, jako je Grafana a další.
- Monitoring nástroje umožňují nastavit pravidla pro jednotlivé funkce.
- Např. “Pokud uživatel zadá heslo špatně 5x za sebou, vytvoř varování.” apod.
- Tato pravidla mohou být propojena s alerting nástroji typu PagerDuty - v případě varování nebo jiné chyby tento nástroj zavolá příslušnému adminovi nebo vývojáři, který bude danou situaci řešit.
- Například uživatele ručně zablokuje nebo na základě dalších logů a chování uživatele zváží další kroky.
- Předcházet některým typům útoků můžete i pomocí tzv. WAF, web server pluginů a filtrů, jako je ModSecurity a další.
- WAF = Web Application Firewall - chrání zejména proti botům nebo DoS, např. Cloudflare.
- IPS = Intrusion Prevention System - hlídá síť před narušením a známými zranitelnostmi, např. CrowdSec.
- Výše zmíněné aplikace a nástroje vám pomůžou nejen se zabezpečením aplikace, ale také se díky nim dozvíte, že aplikace čelí útoku.
- Některé firmy, případně větší eshopy a další služby, mají povinnost tuto informaci hlásit NÚKIBu (v rámci kybernetického zákona).
Jak se připravit na útok
- Řešení incidentu se dá rozdělit na tři kroky.
- Příprava před útokem.
- Samotný útok.
- Uzavření incidentu.
Příprava před útokem
- Do této fáze patří všechny výše zmíněné kroky - logování, monitoring, nastavení WAF a další.
- Už v rámci vývoje aplikace se pomocí těchto činností připravujete na potenciální útok.
- Jako vývojář nebo administrátor, který bude budoucí incident řešit, potřebuju mnohem víc.
- Mít dostatečná oprávnění do služeb, které můžu při řešení incidentu potřebovat.
- Např. Sentry, Google Cloud, Grafana, Cloudflare, GitHub…
- Bez dostatečných oprávnění si nic neověřím, nedokážu zapnout další vrstvu ochrany atd.
- Přístupy je potřeba vyřešit ještě před útokem.
- Předcházíte tím dalším problémům - šéf je na dovolené (nemůže přidělit přístup), útok se koná v noci (musel bych vzbudit půlku týmu)…
- Znát kontext, funkce aplikace, vyznat se v používaných službách a nástrojích.
- Pokud má někdo řešit incident, je potřeba, aby efektivně ovládal a znal použité technologie, včetně nástrojů.
- Znalost samotné aplikace a všech funkcí je nutností, jinak bude řešení incidentu pomalé, v horším případě úplně nemožné.
- Buddy na telefonu.
- Každý pracovník by měl mít seznam kontaktů, komu a v jakém případě zavolat.
- Incident se ne vždy týká jen samotné aplikace a je potřeba informovat i další týmy.
- Pokud si pracovník neví rady / onemocní / nedostane hlášení o incidentu, měl by existovat zástupce.
- Mít dostatečná oprávnění do služeb, které můžu při řešení incidentu potřebovat.
Samotný útok
- Tato část je velmi individuální (závisí na typu útoku) a celé aplikaci.
- Pracovník sleduje logy a vyhodnocuje samotný útok.
Uzavření incidentu
- Mimo zákonné požadavky by se měl sepsat post-mortem - dokument, který vysvětluje, co se stalo a jak se problém řešil.
- Shrnuje veškeré kroky a opatření, ale také procesní nedostatky, které se na jeho základě napraví.
- S dokumentem je potřeba seznámit všechny relevantní lidi z týmu / oddělení / firmy.
- Post-mortem často slouží jako reference pro řešení dalších podobných incidentů, nebo jako onboarding dokument pro nové zaměstnance - jde o takovou znalostní bázi / dokumentaci.
🎓 Učíme se společně
Co jsme se dozvěděli z přednášek, školení, čtení knih a dalších aktivit?
PCI-DSS 4.0 pro bezpečnost API
- online přednáška a workshop (bez záznamu)
- Cílem PCI-DSS je zamezit úniku citlivých dat o držitelích platebních karet.
- Jde o soubor mezinárodních bezpečnostních standardů.
- Týká se každého, kdo pracuje s daty kreditní karty (hlavně PAN kódy).
- Každý, kdo zpracovává platby (online obchody, platební brány, software, který se používá k zabezpečení platebních bran atd.).
- Prakticky kdokoli po vás může vyžadovat potvrzení, že jste PCI compliant.
- Předmětem PCI-DSS se můžete stát i v případě, že používáte Stripe nebo jinou platební bránu.
- Zejména pokud ukládáte veškerá data o platbě (neukládat to, co nutně nepotřebujete).
- Standard požaduje zavedení bezpečnosti do vývojového cyklu (S-SDLC), jako je například skenování zranitelností pomocí statické analýzy kódu, kontrola zranitelností závislostí třetích stran, kontrola nezdokumentovaných endpointů a skrytých funkcí, atd.
- Jde o běžná bezpečnostní opatření, která souvisejí nejen s bezpečností software, ale také s jeho kvalitou.
- Jde o požadavky související nejen s organizačními a procesními záležitostmi, ale i se zdrojovým kódem a vývojovým cyklem = pokud jste NIS2 nebo SOC2 compliant, nemusí to znamenat, že jste i PCI-DSS compliant.
- Aktuálně se používá verze 3 tohoto standardu, ale ta přestane být uznávána 31. března 2024 a verze 4 se stane povinnou 31. března 2025 (je tam jeden rok prostor na implementaci, doporučuju přecházet už teď).
- Všechny informace najdete na PCI stránkách, kde je také guidance a FAQs, nebo mě kontaktujte, rád vám s přechodem na novou verzi pomůžu.
📰 Co je nového
- Aplikace “čTečka” byla v rozporu se zákonem
- Při kontrole covid certifikátu aplikací čTečka docházelo ke zpracování osobních údajů (GDPR) a zásahu do práva na ochranu soukromí.
- Aplikaci bylo nutné povinně využívat a mimo jiné při skenování certifikátu zobrazovala datum narození a datum očkování.
- Ministerstvo zdravotnictví při používání aplikace čTečka podle soudu zcela rezignovalo na dodržování práva na ochranu soukromí občanů.
- Ministerstvo v rámci řízení nepravdivě tvrdilo, že podmínky stanovené GDPR splnit nemusí (to vyvrátil Soudní dvůr EU).
- Soud také potvrdil, že Ministerstvo zdravotnictví bezprecedentním způsobem ohrozilo osobní údaje všech občanů, kteří aplikaci využívali.
- To se netýkalo jen českých občanů, ale také cizinců, kteří aplikaci využívali.
- Samotná aplikace čTečka byla prohlášena za nezákonnou.
- Jak najít a opravit aplikační zranitelnosti?
- Logujete a monitorujete správně? Podívejte se, jak vyřešit únik citlivých dat z access logu.
- Víte, jak hacknout operační systém, na kterém běží vaše aplikace? Znáte OS command injection zranitelnost?
- Podívejte se, jak můžete hackovat pomocí odkazů a formulářů. Ochraňte svou aplikaci před CSRF zranitelností.
- Chcete se naučit, jak zabezpečit aplikace a procesy související s jejich vývojem od A do Z? Sledujte Bezpečný kód na YouTube, od nového roku se tím budu zabývat.
🎁 Začněte nový rok bezpečně 🎅
Vánoce už jsou za dveřmi, ale Ježíšek dorazil o něco dřív. Využijte slevu 25 % a hodinovou konzultaci zdarma při objednání firemního školení na téma “Nejčastější aplikační a API zranitelnosti”. Toto školení je až celodenní, obsahuje case studies, ukázky zdrojových kódů, mitigaci zranitelností, best practices a další.
Máte o školení zájem? Napište mi na stefan@stefanprokop.dev a pošlu vám osnovu, ceník a další informace. Nabídka je platná do 1. 2. 2024.
Toto je můj poslední newsletter v roce 2023, takže mi dovolte vám popřát veselé Vánoce a šťastný nový rok 🎉. Užijte si je ve zdraví a v bezpečí a uvidíme se zase v lednu 2024. Vážím si toho, že jste součástí naplňování vize Bezpečného kódu, kterou je zvýšení povědomí o aplikační bezpečnosti a pomoc firmám a vývojářům se zabezpečením jejich software.
Dárek k Vánocům můžete dát i vy mně. Budu moc rád, když mi vyplníte zpětnou vazbu a zhodnotíte obsah newsletteru za tento rok. Zpětnou vazbou mi dáte najevo, co vás zajímá a co ne. Můžete se tak podílet na utváření tohoto newsletteru společně se mnou.
😂 Závěrečný ftípek: Na světě je 10 typů lidí. Ti kteří rozumí binárnímu systému a ti, kteří ne.