SAST vs DAST vs IAST: Bezpečnostní test doplňkovosti tří bratrů, nikoliv substituce
Tři nejběžnější zkratky v bezpečnostních testech jsou SAST, DAST, IAST. První reakcí mnoha lidí bylo "vybrat jednoho z nejsilnějších", ale byl to pokrytecký návrh - tři bratři nesoutěžili, ale viděli stejný problém z různých pohledů. Volba nezávisí na tom, kdo je pokročilejší, ale na jevišti jste v softwarovém životním cyklu, jaký druh mezery chcete najít a kolik můžete unést.
I. DEFINICE PRVNÍ REFERENCE
- SAST (statická bezpečnostní zkouška aplikace)Ostatní organizátorNespouštějte program, pod kterým skenovací zdrojový kód / byte kód najde mezeru, která patří do bílé skříňky.
- DASTOstatní organizátorBěžící programExterní požadavky na spuštění, simulované útoky jsou "černé skříňky" a není vyžadován zdrojový kód.
- IAST (Interaktivní zkouška bezpečnosti aplikace)Ostatní organizátorSpustit program zevnitřPlug- in (agent), v kombinaci s průtokem a kontextem kódu, patří do Grey Box.
Klíčem k porozumění těmto třem je, že každý odpovídá na různé otázky: SAST se ptá: "Kde může dojít k chybě v kódu?" DAST se ptá: "Můžeme se dostat přes běh?" IAST se ptá: "V této operaci, který datový tok skutečně proudí do místa nebezpečí."
SAST: Škrcení problém ve fázi psaní kódu
SAST přímo analyzuje zdrojový kód (nebo sestavuje meziprodukty) a program nevykonává. Výhodou je být schopen odhalit problémy v raném stádiu, nebo dokonce při předložení kódu, lokalizovat konkrétní dokumenty a čísla linek s nízkými náklady na opravy. Pokrývá "kódy lze zamést" a nezávisí na provozní době prostředí.
Shortboard: Rychlost chyb je obvykle vysoká, protože neurčuje, zda bude v reálném podnikání spuštěn určitý počet kódů; problémy, které jsou odhaleny pouze při spuštění (např., konfigurační chyby, zabezpečení obtéká, skutečný řetězec volání spoléhání se na knihovnu), zdrojový kód je nutný a třetí strana uzavřený zdrojový prvek není funkční.
Typický scénář: dvířka kódu CI jsou zavřena, aby se zabránilo viditelnému vstřikování, klíči s pevným kódováním, nebezpečí volá do páteře.
Ověřuji, jestli to opravdu funguje.
DAST využívá cíl jako černou skříňku k odesílání požadavků zvenčí, konstrukci útočných úplatků a sledování odezvy. Jeho největší hodnota je...Blízko opravdového útoku.- Problém "reálného přístupu k útěku" byl nalezen, s relativně nízkým podhodnocením. Není vyžadován zdrojový kód, takže komponenty třetích stran mohou být pokryty i konfigurační vrstvy.
ShortboardJe často jen do nasazení, že detekce pozdní detekce a náklady na opravy je vysoká; pokrytí je omezeno na plazy a testovací cesty, které mohou být dosaženy například, bez detekce nedetekovatelných funkčních bodů, je obtížné najít zdrojový kód přesně, a vývoj a podávání zpráv je často jen známé "které URL je problematické"; a konfigurační náklady jsou vysoké pro scénáře vyžadující přihlášení, vícestupňových obchodních procesů.
Typický scénář: bezpečnostní prověrka před online, pravidelné skenování nasazeného prostředí.
IV. IAST: Zástrčky running-time, vyvažování kontext s reálnými datovými toky
IAST také sleduje provedení kódu a vnější tok při spuštění programu implantací antentu do aplikace. Vidí, jak přicházejí žádosti a jak data proudí do kódu, aby mohly být uvedeny.Vezměte si plné důkazy o hostinci.Obvykle je nižší než SAST a je přesná.
ShortboardPotřeba nasadit sondy do cílového prostředí (kvůli obavám z produkčního prostředí), závislost na krytí zkoušek, které nelze nalézt bez zavedení kódu, který je často spojen s funkčním / automatizovaným testováním, rozdíly v jazykových a rámcových podporách a některé náklady na výkon.
Typický scénář: běží ve zkušebním prostředí ve spojení s automatickým testováním, jak pro ověření funkčnosti, tak pro synchronizaci závěrů o bezpečnosti výstupu.
Pět, tři na jednoho.
| Rozměry | SAST | DAST | IAST |
|---|---|---|---|
| Zkušební objekt | Zdroj / byty (neběží) | Aktivní cíl (externí) | Provozní aplikace (vnitřní zástrčky) |
| Pohled | White Box | Černá skříňka | Šedá krabička |
| Čas zásahu | První fáze kódování / předkládání | Po nasazení | Zkouška / běh času |
| Kód zdroje | Ano. | Není třeba. | Požadavek (lze připojit) |
| Nevykazovaná úroveň | Vysoká | Nízká | Nižší |
| Přesnost polohy | Soubor / řádek | URL / Interface | Volat Inn / Data Stream |
| Přepsat závislost | Omezeno (viz část zdrojového kódu) | Přerušit expozici při běhu | Omezeno cestou provedení |
| Typická scéna | Kód CI Ban | Zkontrolujte a přijmout před on-line. | Kombinované s automatickým testováním |
VI. Proč spíše doplňkovost než substituce
Když dáte ty tři dohromady, zjistí, že jejich slepé zóny se doplňují:
- SAST vidí kód, ale neví, zda bude spuštěn; DAST ví, zda může být spuštěn, ale neví, ve kterém řádku je problém; IAST obojí, ale vyžaduje, aby kód byl proveden.
- SAST pokrývá časné, široké a hlasité; DAST má malý hluk, ale pozdní zásah, úzké pokrytí; a IAST má vysokou přesnost, ale může zapojit a běžet dostatečně dobře.
- Stačí jít do SAST, který je náchylný k "bandě byrokracie" únavu; jít do DAST, kde mezera je často vystavena na lince; jít do IAST, kde cesta, ke které není dosaženo je slepá.
Odpověď na realitu není jedna nebo dvě, ale přístup stage-by-stage: včasné použití SAST k potlačení jasného vzorce špatného vkusu a nebezpečí, testovací fáze IAST, které mají být přesně validovány s IAST ve spojení s automatizací, a nahoru a dolů použití DAST pro externí přijetí z pohledu agresor. Tři pověry představují uzavřenou smyčku bezpečnostní zkoušky aplikace bez významných mezer.
VII. PRAKTICKÉ VYDÁVÁNÍ
1. Chybné hlášení, kdo se s tím vypořádává
Ať tak či tak, nikdo tu zprávu neopraví, nikdo ji nespraví. Existuje jasný proces třídění: kdo vidí, jak dlouho se zavírá, jak označit "akceptující riziko". Zejména SaST potřebuje základní řízení, jinak dědictví historie utopí nové problémy.
Pokrytí je důležitější než značkové nástroje
Schopnost IAST objevit přímo závisí na tom, kolik kódů jsou zahrnuty v testu; DAST závisí na tom, kolik rozhraní jsou dosaženy plazy. Je smysluplnější měřit "rychlost detekce" před tím, než jít online, než nahradit dražší nástroj.
3. Nepovažujte bezpečnostní zkoušky za jednorázové zkoušky Vezmi si to.
Bezpečnostní zkoušky by měly být začleněny do nepřetržitého procesu výzkumu a vývoje, spíše než centralizované před on-line. CI běží SAST, testuje prostředí IAST, pravidelně dělá DAST pro výrobu, takže nemusí spoléhat na lidské maso, aby zachránil oheň.
4. Zaměřte se na součinnost mezi nástroji
Ideální je, že tři typy výsledků mohou být seskupeny do stejného pohledu: stejná mezera, SAST dává umístění kódu, IAST dává datový proud důkazy, a DAST potvrzuje dostupnost. Má mnohem větší cenu než tři roztrhané ostrovy.
VIII. Seznam rozhodnutí
- Ano.Podpůrná fázeJen zadržte jasnou mezeru na SAST, soustřeďte se na zavírání dveří a základní linie.
- OvěřitJe systém opravdu schopen útoku? • Nahoru s DAST, se zaměřením na pokrytí a přihlášení konfigurace.
- - Abych zjistila bezpečnostní závěry.Výstup s automatickým testovánímA najít přesně na IAST.
- Omezené zdroje mohou být použity pouze jako první priorita pro SAST, aby bylo možné stanovit spodní hranici a následně postupně dokončit MAAE / DAST.
- Hledání "one-size- fits- all, permanentní řešení" neexistuje, ale způsob organizace a procesu je odpověď.
SAST je možné, DAST je praktické, IAST je specifické - kombinovaná je kompletní obraz.