🔒 Bezpečnostní Hrozby

OWASP Top 10

Nejčastější a nejnebezpečnější bezpečnostní hrozby pro webové aplikace podle OWASP Foundation

Co je OWASP Top 10?

🎯 Definice

OWASP Top 10 je standardizovaný seznam deseti nejkritičtějších bezpečnostních rizik pro webové aplikace, vytvořený a pravidelně aktualizovaný komunitou OWASP (Open Web Application Security Project). Seznam je založen na reálných datech z bezpečnostních incidentů a expertních analýzách z celého světa.

OWASP Foundation je mezinárodní nezisková organizace zaměřená na zlepšování bezpečnosti softwaru. Komunita tvoří tisíce bezpečnostních expertů, vývojářů a organizací, kteří společně sdílejí znalosti a vytvářejí open-source nástroje pro bezpečnost aplikací.

📊 Proč je OWASP Top 10 důležitý?

📈 Statistika: Podle dat OWASP má přes 94% aplikací nějakou formu zranitelnosti z Top 10 kategorie. Průměrná aplikace obsahuje zranitelnosti z 5-6 různých kategorií.

OWASP Top 10 (2021) - Kompletní Seznam

Seznam je seřazen podle důležitosti a frekvence výskytu. První pozice = nejčastější a nejnebezpečnější hrozba.

1

Broken Access Control Kritická

Porušená kontrola přístupu

Co to je: Aplikace nedokáže správně kontrolovat, kdo má přístup k jakým zdrojům a funkcím.

94% aplikací má nějakou formu této zranitelnosti

Příklady útoků:

  • Přímá manipulace s URL pro přístup k cizím datům
  • Phishing a session hijacking
  • Přístup k admin funkcím bez autorizace
  • IDOR (Insecure Direct Object Reference)

Jak se bránit:

  • Implementovat robustní autentizaci a autorizaci
  • Deny by default - co není explicitně povoleno, je zakázáno
  • Validace na serverové straně
  • Logování přístupových pokusů
  • Multi-factor authentication (MFA)
2

Cryptographic Failures Kritická

Selhání šifrování

Co to je: Slabé nebo chybějící šifrování dat, které vede k úniku citlivých informací.

Příklady útoků:

  • Použití HTTP místo HTTPS
  • Slabé šifrovací algoritmy (MD5, SHA1)
  • Hardcoded credentials v kódu
  • Nešifrované databáze s hesly
  • Citlivá data v plain text logech

Jak se bránit:

  • Vždy používat HTTPS/TLS pro data v pohybu
  • Silné šifrování pro data v klidu (AES-256)
  • Používat bcrypt/Argon2 pro hashování hesel
  • Secret management (Vault, Azure Key Vault)
  • Šifrovat citlivá data v databázi
3

Injection Kritická

Injekční útoky

Co to je: Útočník vloží škodlivý kód do aplikace, který se vykoná jako součást legitimního příkazu.

Typy injection:

  • SQL Injection - manipulace s databázovými dotazy
  • XSS (Cross-Site Scripting) - vložení JavaScriptu
  • Command Injection - spuštění systémových příkazů
  • Template Injection - manipulace s šablonami
  • LDAP/XML Injection

💡 Příklad SQL Injection:

// Zranitelný kód: SELECT * FROM users WHERE username = '" + userInput + "' // Útočník vloží: admin' OR '1'='1 // Výsledný dotaz: SELECT * FROM users WHERE username = 'admin' OR '1'='1' // ➡️ Vrátí všechny uživatele!

Jak se bránit:

  • Používat parametrizované dotazy (prepared statements)
  • Input validation a sanitizace
  • Output encoding
  • ORM frameworky
  • Least privilege pro databázové účty
4

Insecure Design Vysoká

Nezabezpečený návrh

Co to je: Bezpečnostní chyby vznikající již ve fázi návrhu aplikace, ne pouze při implementaci.

Klíčové aspekty:

  • Threat modeling - analýza hrozeb před vývojem
  • Secure design patterns - bezpečné architektonické vzory
  • Security requirements - bezpečnostní požadavky od začátku
  • Chybějící business logic validace

Jak se bránit:

  • Provádět threat modeling sessions
  • Secure by design principles
  • Security champions v týmech
  • Reference architectures
  • Design reviews s bezpečnostním zaměřením
5

Security Misconfiguration Vysoká

Bezpečnostní chybná konfigurace

Co to je: Nesprávné nastavení bezpečnostních konfigurací na kterékoliv úrovni aplikačního stacku.

Časté chyby:

  • Výchozí credentials (admin/admin)
  • Zbytečně otevřené porty
  • Detailní error messages odhalující systémové informace
  • Neopatchovaný software
  • Nepoužívané features zapnuté v produkci
  • Špatně nastavené cloud storage (public S3 buckety)
  • Missing security headers

Jak se bránit:

  • Automatizované security scany (Checkov, tfsec)
  • Infrastructure as Code s validací
  • Pravidelné security audity
  • Minimal viable configuration
  • Change management procesy
6

Vulnerable Components Vysoká

Zranitelné závislosti

Co to je: Používání knihoven, frameworků a jiných komponent se známými bezpečnostními zranitelnostmi.

⚠️ Fakt: Moderní aplikace obsahují 80-90% kódu z open-source knihoven. Většina vývojářů neví, jaké zranitelnosti jejich závislosti obsahují.

Příklady:

  • Zastaralé verze npm balíčků
  • Známé CVE v používaných knihovnách
  • Log4Shell (CVE-2021-44228)
  • Heartbleed v OpenSSL
  • Neudržované dependencies

Jak se bránit:

  • SCA tools - Snyk, WhiteSource, Dependabot
  • Pravidelné aktualizace dependencies
  • SBOM (Software Bill of Materials)
  • Automatické security alerts v CI/CD
  • Vulnerability management proces
7

Authentication Failures Vysoká

Selhání autentizace

Co to je: Slabá implementace autentizace a správy session, umožňující útočníkům převzít identitu uživatelů.

Časté problémy:

  • Slabá hesla bez policy
  • Credential stuffing útoky
  • Chybějící MFA (multi-factor authentication)
  • Špatná správa session tokens
  • Session fixation
  • Exposed session ID v URL

Jak se bránit:

  • Implementovat MFA
  • Silná password policy
  • Rate limiting pro login pokusy
  • Secure session management
  • OAuth2 / OpenID Connect
  • Password managers support
8

Software/Data Integrity Failures Vysoká

Selhání integrity softwaru a dat

Co to je: Kód a infrastruktura bez ochrany proti narušení integrity, včetně supply chain útoků.

Příklady:

  • Supply chain útoky (SolarWinds)
  • Neověřené updates
  • Insecure deserialization
  • Kompromitované CI/CD pipeline
  • Unsigned packages a artifacts

Jak se bránit:

  • Code signing a artifact verification
  • SBOM pro supply chain transparency
  • CI/CD pipeline security
  • Dependency pinning
  • Integrity checks (checksums, signatures)
9

Logging/Monitoring Failures Vysoká

Nedostatečné logování a monitoring

Co to je: Absence nebo nedostatečné logování bezpečnostních událostí, což znemožňuje detekci a reakci na útoky.

Dopady:

  • Útoky zůstávají neodhalené měsíce/roky
  • Nemožnost forenzní analýzy
  • Porušení compliance požadavků
  • Delayed incident response

Co logovat:

  • Failed login attempts
  • Access control failures
  • Input validation errors
  • System anomalies
  • Administrative actions

Jak se bránit:

  • SIEM systémy - Splunk, ELK Stack, Datadog
  • Centralizované logování
  • Real-time alerting
  • Log retention policies
  • Automated anomaly detection
10

Server-Side Request Forgery Vysoká

Padělání požadavků na straně serveru

Co to je: Útočník přiměje server, aby provedl HTTP request na cíl, který si útočník zvolí.

💡 Příklad SSRF útoku:

// Aplikace načítá obrázky z URL: https://app.com/loadImage?url=http://example.com/image.jpg // Útočník změní URL na interní zdroj: https://app.com/loadImage?url=http://localhost/admin // ➡️ Server přistoupí k interní admin stránce!

Dopady:

  • Přístup k interním systémům
  • Cloud metadata leaks (AWS EC2 metadata)
  • Port scanning interní sítě
  • Bypass firewall rules

Jak se bránit:

  • Whitelist allowed URLs/domains
  • Network segmentation
  • Disable HTTP redirects
  • Input validation pro URLs
  • Cloud security groups

Jak Implementovat Ochranu Proti OWASP Top 10

🔧 DevSecOps Přístup

Ochrana proti OWASP Top 10 vyžaduje integraci bezpečnosti do celého vývojového cyklu:

1️⃣ Design Phase

  • Threat modeling sessions
  • Security requirements definition
  • Architecture security review

2️⃣ Development Phase

  • SAST - SonarQube, Checkmarx
  • SCA - Snyk, Dependabot
  • Secure coding guidelines
  • Code review s bezpečnostním zaměřením

3️⃣ Testing Phase

  • DAST - OWASP ZAP, Burp Suite
  • Penetration testing
  • Security test cases

4️⃣ Deployment Phase

  • Configuration validation
  • Infrastructure security scanning
  • Security gates v CI/CD

5️⃣ Operations Phase

  • Runtime monitoring
  • WAF (Web Application Firewall)
  • RASP (Runtime Application Self-Protection)
  • Incident response

6️⃣ Continuous Phase

  • Vulnerability management
  • Patch management
  • Security training
  • Continuous improvement

📚 Doporučené Nástroje pro OWASP Top 10

  • SAST: SonarQube, Checkmarx, Semgrep, CodeQL
  • DAST: OWASP ZAP, Burp Suite, Acunetix
  • SCA: Snyk, WhiteSource, Dependabot
  • IaC Scanning: Checkov, tfsec, Terrascan
  • Container Scanning: Trivy, Aqua, Clair
  • Secrets Detection: GitGuardian, TruffleHog
  • WAF: AWS WAF, Cloudflare, ModSecurity

Potřebujete Pomoc s Implementací?

Máte dotazy ohledně OWASP Top 10 nebo potřebujete konzultaci k zabezpečení vaší aplikace?

📧 Kontaktujte nás ☕ Buy Me a Coffee

← Zpět na hlavní stránku