Když slepá důvěra zabíjí
Software and Data Integrity Failures se zaměřují na kód a infrastrukturu, které neověřují původ a integritu dat nebo softwaru. V BBP hunteři hledají mechanismy, kde aplikace přijímá "balíček" (update, knihovnu, serializovaný objekt) a věří mu jen proto, že přišel ze známé adresy.
Klíčové vektory útoku:
- Unsigned Updates: Firmware nebo software updaty stahované přes HTTP nebo bez validace digitálního podpisu.
- CI/CD Poisoning: Útok na build servery (Jenkins, GitHub Actions), kde útočník vloží "zadní vrátka" přímo do binárního souboru.
- Insecure Deserialization: Manipulace s objekty, které aplikace "rozbaluje" do paměti, vedoucí k okamžitému spuštění kódu (RCE).
Hloubková analýza: Subresource Integrity (SRI)
Moderní weby načítají JS knihovny z CDN (např. Cloudflare, Google). Pokud útočník kompromituje CDN, může změnit kód skriptu (CDN Poisoning). Obrana SRI (Subresource Integrity) zajišťuje, že prohlížeč spustí kód jen tehdy, pokud hash odpovídá očekávání.
<script src="https://cdn.com/lib.js"
integrity="sha384-Li9vy3..." crossorigin="anonymous"></script>
# Pokud útočník změní lib.js:
Console Error: Integrity check failed. Resource blocked.
Nebezpečná Deserializace (Insecure Deserialization)
Tato zranitelnost je v BBP svatým grálem. Útočník upraví serializovaný objekt (např. v Java, PHP nebo Pythonu), který aplikace přijme jako vstup (např. v cookie). Při procesu unserialize() nebo readObject() interpret spustí destruktor nebo metodu, kterou útočník zneužije k ovládnutí systému.
Zneužití magických metod (__wakeup, __destruct) k smazání souborů nebo RCE.
Použití "gadget chains" (řetězců existujících tříd) k vykonání libovolného kódu na serveru.
Prevence: Model "Verify First"
Obrana vyžaduje přísnou kontrolu nad každým bitem kódu, který do systému vstupuje.
| Nástroj / Technika | Účel |
|---|---|
| Digital Signatures (GPG/CodeSign) | Ověření, že kód nebyl cestou od autora změněn. |
| Software Bill of Materials (SBOM) | Detailní inventář všech knihoven a jejich verzí pro rychlou reakci na CVE. |
| Integrity Hashes (SHA-256) | Kontrola, zda stažený soubor odpovídá originálu bajt po bajtu. |
| Safe Deserialization | Používání čistého JSON/XML s validací schématu místo nativních objektů. |
Dopady v reálném světě
SolarWinds (2020): Útočníci nehackli tisíce firem. Hackli jeden build server SolarWinds a vložili malware do oficiálního updatu. Výsledek? 18 000 kompromitovaných organizací jedinou aktualizací. To je síla selhání integrity.