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?

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.

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
  • Validace na serverové straně
  • 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

Jak se bránit:

  • Vždy používat HTTPS/TLS
  • Silné šifrování (AES-256)
  • bcrypt/Argon2 pro hesla
  • Secret management (Vault)
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 - vložení JavaScriptu
  • Command Injection - systémové příkazy
  • Template 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'

Jak se bránit:

  • Parametrizované dotazy
  • Input validation
  • ORM frameworky
4

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
5

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
6

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
7

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
8

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
9

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
10

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:

// 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

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

Potřebujete pomoc s implementací?

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