Přeskočit na hlavní obsah
Logo bezpečný kód - šedo-černý štít se znakem kódu </>

Bezpečný kód

Logo bezpečný kód - šedo-černý štít se znakem kódu </>

Váš kybersecurity průvodce. Bezpečnost jasně, stručně a přehledně.

Jaké zranitelnosti na nás číhají?

Aplikace jsou plné zranitelností. Tady chybí autorizace a jinde jsou zastaralé komponenty. Podívejte se, co dalšího může způsobit problém.

Jak zranitelnostem předcházet?

Každé bezpečnostní riziko může být zmírněno. Že nevíte, jak na to? Podívejte se na naše cheat sheety, kde najdete návod krok za krokem.

Učte se IT bezbečnost s námi!

Zajímáte se o bezpečnost vašich aplikací? Chcete zdarma dostávat know how, aktuality a praktické tipy? Přihlaste se k našemu newsletteru.

Bezpečnost není jen o správcích hesel, VPNkách nebo firewallech.

Je také o psaní bezpečného kódu a dodržování best practices v oblasti vývoje software.

Provedeme vás nejčastějšími zranitelnostmi aplikací a pomůžeme vám psát bezpečný kód pomocí cheat sheetů připravených k okamžitému použití v praxi.

Pár příkladů najdete už tady:

Zabezpečení AI a ochrana soukromí

  • Útoky na AI model: data poisoning, manipulace se vstupem, membership inference a další
  • Zapojte všechny subjekty (vývojáři, data analytici) a aplikace související s AI do bezpečnostních programů
  • Kombinujte osvědčené postupy datových a softwarových inženýrů, protože softwaroví inženýři se potřebují naučit více o datové vědě a datoví inženýři více o vytváření kódu a jeho údržbě
  • Ujistěte se, že si všichni zúčastnění uvědomují bezbečnostní rizika umělé inteligence
  • Aplikujte na své aktivity v oblasti AI správné postupy softwarového inženýrství
  • Omezte přístup k datům a povolte ho pouze inženýrům, kteří data skutečně potřebují
  • Chraňte datový tok a dělejte datové audity
  • Neshromažďujte a nepoužívejte data získaná za jedním účelem jako trénovací sadu pro model, který je určený k jiným účelům
  • Zdokumentujte zákonný účel před shromažďováním údajů a sdělte ho uživateli
  • Více najdete v cheat sheetu
Emoji robot symbolizující AI
Emoji trychtýř symbolizující validaci vstupu

Validace vstupu

  • = zajišťuje, že do systému vstupují pouze správná a očekávaná data, což zabraňuje uložení nesprávných dat a následných aplikačních chyb
  • Validace slouží také jako prevence XSS, SQL injection a dalších útoků
  • Validujte data jak na syntaktické (měny, datumy), tak sémantické (datum zahájení, cena v očekávaném rozsahu) úrovni
  • Validujte data co nejdřív, nejlépe hned po jejich přijetí
  • Ujistěte se, že validace dat se provádí hlavně na serveru (backendu), nespoléhejte se na frontendovou validaci
  • Upřednostňujte whitelist / allow-list před blacklistem - samozřejmě v závislosti na situaci
  • Zajistěte, že se do systému dostávají jen očekávaná data - například čísla, datumy atd. - využijte regulární výrazy
  • Při validaci textu zajistěte, aby bylo v celém textu použito kanonické kódování a nevyskytovaly se v něm žádné neplatné znaky
  • Pokuste se použít předdefinované open source validátory, např. Apache Commons Validators
  • Více najdete v cheat sheetu

Autorizace

  • = proces ověření, kde je požadovaná činnost nebo služba schválena pro daný subjekt
  • Stanovte, jaké typy uživatelů budou aplikaci používat a jaké operace mohou provádět
  • Zkontrolujte autorizační logiku nástrojů, které plánujete použít, případně implementujte vlastní logiku
  • Preferujte autorizaci na základě atributů a vztahů mezi subjekty a objekty namísto uživatelských rolí
  • Nepovolujte přístup k dané funkcionalitě ve výchozím nastavení
  • Ověřujte oprávnění pro každý požadavek
  • Přidělujte uživatelům pouze minimální oprávnění nezbytné pro dokončení jejich práce
  • Implementujte vhodné logování
  • Napište automatické testy, které ověří správnost implementace uživatelských oprávnění
  • Více najdete v cheat sheetu
Emoji klíč symbolizující autorizaci

Partneři

OWASP logo
CyberSecurityPlatform logo
Nauč mě IT logo