← Zpět na seznam

SAST vs DAST vs IAST: Bezpečnostní test doplňkovosti tří bratrů, nikoliv substituce

itadol5j

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.

Přehled použití tří metod zkoušení bezpečnosti

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.

Sledovat tok dat a call stack zevnitř kódu

Pět, tři na jednoho.

RozměrySASTDASTIAST
Zkušební objektZdroj / byty (neběží)Aktivní cíl (externí)Provozní aplikace (vnitřní zástrčky)
PohledWhite BoxČerná skříňkaŠedá krabička
Čas zásahuPrvní fáze kódování / předkládáníPo nasazeníZkouška / běh času
Kód zdrojeAno.Není třeba.Požadavek (lze připojit)
Nevykazovaná úroveňVysokáNízkáNižší
Přesnost polohySoubor / řádekURL / InterfaceVolat Inn / Data Stream
Přepsat závislostOmezeno (viz část zdrojového kódu)Přerušit expozici při běhuOmezeno cestou provedení
Typická scénaKód CI BanZkontrolujte 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.

Statické, dynamické, interaktivní testy tvoří uzavřený kruh.

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.