Co je OWASP Top 10?
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.
Proč je OWASP Top 10 důležitý?
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í.
- Průmyslový standard - Využíván organizacemi po celém světě jako referenční bod pro application security
- Založen na datech - 8 z 10 kategorií pochází z analýzy reálných bezpečnostních incidentů
- Pravidelné aktualizace - Seznam se aktualizuje každé 3-4 roky podle nových hrozeb
- Compliance požadavky - Mnohé regulace (PCI DSS, GDPR, NIS2) odkazují na OWASP Top 10
- DevSecOps základ - Klíčový referenční materiál pro implementaci DevSecOps procesů
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.
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
- Validace na serverové straně
- Multi-factor authentication (MFA)
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
Jak se bránit:
- Vždy používat HTTPS/TLS
- Silné šifrování (AES-256)
- bcrypt/Argon2 pro hesla
- Secret management (Vault)
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 - vložení JavaScriptu
- Command Injection - systémové příkazy
- Template Injection
Příklad SQL Injection:
Jak se bránit:
- Parametrizované dotazy
- Input validation
- ORM frameworky
Insecure Design Vysoká
Nezabezpečený návrh
Co to je: Bezpečnostní chyby vznikající již ve fázi návrhu aplikace.
Klíčové aspekty:
- Threat modeling - analýza hrozeb před vývojem
- Secure design patterns
- Security requirements od začátku
- Business logic validace
Jak se bránit:
- Threat modeling sessions
- Secure by design principles
- Security champions v týmech
- Design reviews
Security Misconfiguration Vysoká
Chybná konfigurace
Co to je: Nesprávné nastavení bezpečnostních konfigurací na kterékoliv úrovni stacku.
Časté chyby:
- Výchozí credentials (admin/admin)
- Zbytečně otevřené porty
- Detailní error messages
- Neopatchovaný software
- Public S3 buckety
Jak se bránit:
- Automatizované security scany
- Infrastructure as Code
- Pravidelné security audity
Vulnerable Components Vysoká
Zranitelné závislosti
Co to je: Používání knihoven a komponent se známými bezpečnostními zranitelnostmi.
Moderní aplikace obsahují 80-90% kódu z open-source knihoven.
Příklady:
- Zastaralé npm balíčky
- Log4Shell (CVE-2021-44228)
- Heartbleed v OpenSSL
Jak se bránit:
- SCA tools - Snyk, Dependabot
- Pravidelné aktualizace
- SBOM
Authentication Failures Vysoká
Selhání autentizace
Co to je: Slabá implementace autentizace a správy session.
Časté problémy:
- Slabá hesla bez policy
- Credential stuffing útoky
- Chybějící MFA
- Špatná správa session tokens
Jak se bránit:
- Implementovat MFA
- Silná password policy
- Rate limiting
- OAuth2 / OpenID Connect
Integrity Failures Vysoká
Selhání integrity
Co to je: Kód a infrastruktura bez ochrany proti narušení integrity.
Příklady:
- Supply chain útoky (SolarWinds)
- Neověřené updates
- Insecure deserialization
- Kompromitované CI/CD pipeline
Jak se bránit:
- Code signing
- SBOM
- CI/CD pipeline security
- Integrity checks
Logging/Monitoring Failures Vysoká
Nedostatečné logování
Co to je: Absence nebo nedostatečné logování bezpečnostních událostí.
Dopady:
- Útoky zůstávají neodhalené
- Nemožnost forenzní analýzy
- Porušení compliance
Co logovat:
- Failed login attempts
- Access control failures
- Input validation errors
- Administrative actions
Jak se bránit:
- SIEM systémy - Splunk, ELK
- Centralizované logování
- Real-time alerting
Server-Side Request Forgery Vysoká
SSRF
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:
Dopady:
- Přístup k interním systémům
- Cloud metadata leaks
- Port scanning
Jak se bránit:
- Whitelist allowed URLs
- Network segmentation
- Input validation
Jak Implementovat Ochranu
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
- Architecture security review
2. Development Phase
- SAST - SonarQube, Checkmarx
- SCA - Snyk, Dependabot
- Secure coding guidelines
3. Testing Phase
- DAST - OWASP ZAP, Burp Suite
- Penetration testing
- Security test cases
4. Deployment Phase
- Configuration validation
- Infrastructure scanning
- Security gates v CI/CD
5. Operations Phase
- Runtime monitoring
- WAF
- Incident response
6. Continuous Phase
- Vulnerability management
- Patch management
- Security training
Doporučené Nástroje
- 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