Co je SAST (Statické testování bezpečnosti aplikací)?
SAST je typ testování bezpečnosti aplikací, který kontroluje zdrojový kód aplikace (původní kód napsaný vývojáři), závislosti (externí knihovny nebo balíčky, na kterých kód závisí) nebo binární soubory (zkompilovaný kód připravený k běhu) před jeho spuštěním. Tento přístup se často nazývá testování “white-box”, protože zkoumá vnitřní logiku a strukturu kódu na zranitelnosti a chyby, místo aby testoval pouze chování aplikace zvenčí.
Proč je SAST důležitý v kybernetické bezpečnosti
Zabezpečení kódu je klíčovou součástí DevSecOps. SAST pomáhá organizacím najít zranitelnosti jako SQL Injection, Cross-Site Scripting (XSS), slabé šifrování a další bezpečnostní problémy v rané fázi životního cyklu vývoje softwaru. To znamená, že týmy mohou problémy opravit rychleji a s nižšími náklady.
Jak SAST funguje
- Analyzujte zdrojový kód, binární soubory nebo bytecode bez jejich spuštění.
- Identifikuje zranitelnosti v programovacích praktikách (např. chybějící validace, vystavený API klíč)
- Integrace do vývojářského pracovního postupu (CI/CD)
- Generuje zprávu o nalezených zranitelnostech a poskytuje pokyny, jak je řešit (náprava)
Běžné zranitelnosti nalezené pomocí SAST
- SQL Injection
- Cross-site scripting (XSS)
- Použití nezabezpečených kryptografických algoritmů (např. MD5, SHA-1)
- Vystavené přihlašovací údaje API klíče v hardcodu
- Přetečení bufferu
- Chyba validace
Výhody SAST
- Nižší náklady: oprava problémů se zranitelností v rané fázi je méně nákladná než po nasazení
- Včasná detekce: nachází bezpečnostní problémy během vývoje.
- Podpora souladu: sladění se standardy jako OWASP, PCI DSS a ISO 27001.
- Shift-left bezpečnost: integrace bezpečnosti do vývojového pracovního postupu od začátku
- Přátelské pro vývojáře: Poskytuje vývojáři konkrétní kroky k opravě bezpečnostních problémů.
Příklad
Během SAST testu nástroj najde bezpečnostní problémy, kde vývojáři používají nezabezpečený MD5 pro hashování hesel. Nástroj SAST to označí jako zranitelnost a doporučuje nahradit MD5 algoritmy bcrypt nebo Argon2, které jsou silnější ve srovnání s MD5.
Související termíny
- DAST (Dynamické testování bezpečnosti aplikací)
- IAST (Interaktivní testování bezpečnosti aplikací)
- SCA (Analýza složení softwaru)
- SSDLC
- DevSecOps