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.
Vánoční dárek najdete dole, na konci newsletteru! 👇
🏆 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.
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.
🙏 Vyplňte prosím zpětnou vazbu k newsletteru, ať je s každým vydáním lepší a lepší.
🔔 Sledujte nás na LinkedInu, kam pravidelně sdílíme další novinky a know-how.
🆘 S bezpečností vám rádi pomůžeme, klidně nám napište - školíme vývojáře i management, nastavujeme procesy, vyvíjíme bezpečné aplikace a poskytujeme další služby.