Co je DAST (Dynamické testování bezpečnosti aplikací)?
Dynamické testování bezpečnosti aplikací, nebo DAST, je způsob, jak zkontrolovat bezpečnost aplikace, zatímco běží. Na rozdíl od SAST, které se zaměřuje na zdrojový kód, DAST testuje bezpečnost simulací skutečných útoků, jako je SQL Injection a Cross-Site Scripting, v živém prostředí.
DAST je často označováno jako Black Box Testing, protože provádí bezpečnostní test zvenčí.
Proč je DAST důležité v kybernetické bezpečnosti
Některé bezpečnostní problémy se objeví pouze, když je aplikace živá, zejména problémy spojené s běhovým prostředím, chováním nebo validací uživatele. DAST pomáhá organizacím:
- Objevit bezpečnostní problémy, které byly přehlédnuty nástrojem SAST.
- Vyhodnotit aplikaci v reálných podmínkách, včetně front-endu a API.
- Posílit bezpečnost aplikace proti útokům na webové aplikace.
Jak DAST funguje
- Spusťte aplikaci v testovacím nebo staging prostředí.
- Odešlete škodlivý nebo neočekávaný vstup (například vytvořené URL nebo payloady)
- Analyzujte odpověď aplikace k detekci zranitelností.
- Vytvářejte zprávy s návrhy na nápravu (v Plexicus je to ještě lepší, automatizuje nápravu)
Běžné zranitelnosti detekované DAST
- SQL Injection: útočníci vkládají škodlivý SQL kód do databázových dotazů
- Cross-Site Scripting (XSS): škodlivé skripty jsou vkládány do webových stránek, které se spouštějí v prohlížečích uživatelů.
- Nezabezpečené konfigurace serveru
- Nezabezpečené ověřování nebo správa relací
- Zveřejnění citlivých dat v chybových zprávách
Výhody DAST
- pokrývá bezpečnostní chyby, které SAST nástroje přehlédnou
- Simuluje skutečný útok.
- funguje bez přístupu ke zdrojovému kódu
- podporuje shodu s normami jako PCI DSS, HIPAA a dalšími rámci.
Příklad
Při DAST skenování nástroj nalezne bezpečnostní problém ve formuláři pro přihlášení, který správně nekontroluje, co uživatelé zadávají. Když nástroj zadá speciálně navržený SQL příkaz, ukáže se, že webová stránka může být napadena prostřednictvím SQL injekce. Tento objev umožňuje vývojářům opravit zranitelnost předtím, než aplikace přejde do produkce.