Když "zámek" nefunguje
Dříve známé jako Sensitive Data Exposure. Tato kategorie se zaměřuje na chyby v implementaci šifer, které vedou k odhalení citlivých informací. V BBP hledáme data, která jsou sice "šifrovaná", ale díky slabým algoritmům nebo chybám v klíčích jsou v podstatě veřejná.
Hlavní technické nedostatky:
- Insufficient Entropy: Generátory náhodných čísel (PRNG), které nejsou kryptograficky bezpečné, vedou k předvídatelným tokenům.
- Hardcoded Secrets: API klíče, symetrické klíče (AES) nebo certifikáty natvrdo zapsané v kódu nebo v
.githistorii. - Lack of Salting: Hashe hesel bez unikátní "soli" (salt), umožňující bleskové dešifrování přes Rainbow Tables.
Typy šifer a jejich slabiny
Jako bug hunter musíš rozlišovat mezi tím, co je bezpečné a co je "legacy" (zastaralé).
| Algoritmus | Stav | Riziko / Poznámka |
|---|---|---|
| MD5 / SHA-1 | BROKEN | Kolize a extrémně rychlý brute-force. |
| DES / 3DES | DEPRECATED | Příliš krátký klíč (56 bitů). Dnes prolomitelné za pár hodin. |
| AES-256 | SECURE | Standard pro symetrické šifrování dat v klidu (At Rest). |
| Argon2 / bcrypt | SECURE | Moderní hashing pro hesla s nastavitelnou náročností (Work Factor). |
Moderní vektory: MitM a Downgrade útoky
Útočníci se nesnaží "zlomit" AES-256. Místo toho se snaží donutit server k použití slabší verze protokolu.
Vynucení použití TLS 1.0 nebo 1.1, které obsahují známé chyby (např. POODLE, BEAST). Cílem je dešifrovat session cookies.
Pokud resetovací token pro heslo používá Math.random() místo crypto.getRandomValues(), je predikovatelný.
Technická analýza: Salt & Pepper
Proč nestačí jen hashovat? Bez soli jsou stejná hesla u různých uživatelů uložena jako identické řetězce.
# Správně (Argon2id + Salt):
$argon2id$v=19$m=65536,t=3,p=4$X0T... (unikátní pro každého)
# Výsledek: I stejné heslo vypadá v DB pokaždé úplně jinak.
Prevence: "Don't Roll Your Own Crypto"
Zlaté pravidlo kryptografie: Nikdy se nesnažte vymyslet vlastní šifrování. Používejte prověřené knihovny a standardy.
- Vynucení HSTS: Hlavička
Strict-Transport-Securityzajistí, že prohlížeč nikdy nepoužije HTTP. - Key Rotation: Pravidelná obměna šifrovacích klíčů a jejich uložení v bezpečných úložištích (HSM, AWS KMS).
- Perfect Forward Secrecy (PFS): Zajišťuje, že i když je v budoucnu ukraden soukromý klíč serveru, minulé nahrávky komunikace nelze dešifrovat.