← Terug naar overzicht

SAST vs DAST vs IAST: Veiligheidstest voor complementariteit van de drie broers, niet vervanging

itadol5j

De drie meest voorkomende afkortingen in de toepassing veiligheidstests zijn SAST, DAST, OOST. Veel mensen de eerste reactie was om een van de sterkste te kiezen, maar het was een hypocriete propositie, de drie broers waren niet concurrerend, maar bekeken hetzelfde probleem vanuit verschillende perspectieven. De keuze hangt niet af van wie geavanceerder is, maar van het stadium dat je in de levenscyclus van de software bevindt, wat voor soort mazen je wilt vinden en hoeveel je kunt verdragen.

Overzicht van de toepassing van de drie veiligheidsmethoden

I. DEFINITIES OP HET EERSTE BETREFT

  • SAST (statische toepassingsveiligheidstest)Andere organisatorHet programma niet uitvoeren, waaronder de scanner broncode/byte code een maas vindt, die behoort tot de White Box.
  • DASTAndere organisatorProgramma wordt uitgevoerdExterne lanceringsverzoeken, gesimuleerde aanvallen zijn zwarte dozen en er is geen broncode vereist.
  • IAST (Interactieve veiligheidstest voor toepassing)Andere organisatorProgramma van binnenuit uitvoerenPlug-in (agent), gecombineerd met stroom en code context, behoort tot de Grey Box.

De sleutel om deze drie te begrijpen is dat ze elk verschillende vragen beantwoorden: SAST vraagt: "Waar kan er een fout in de code zijn?" DAST vraagt: "Kunnen we er echt doorheen als we rennen?" IAST vraagt: "In deze operatie, welke datastroom echt naar het punt van gevaar stroomt."

SAST: Het probleem in de schrijffase van de code wurgen

SAST analyseert direct de broncode (of compileert tussenproducten) en voert het programma niet uit. Het voordeel is om problemen in een vroeg stadium, of zelfs wanneer de code wordt ingediend, op te sporen om specifieke documenten en lijnnummers te vinden, met lage reparatiekosten. Het dekt de "codes kunnen worden geveegd " en is niet afhankelijk van de looptijd omgeving.

Shortboard: Het percentage fouten is meestal hoog omdat het niet bepaalt of een bepaald aantal codes zal worden geactiveerd in de echte business; de problemen die alleen worden blootgesteld bij het uitvoeren (bijv. configuratiefouten, assurance bypasses, werkelijke aanroepketen van vertrouwen op de bibliotheek) worden niet volledig gezien; de broncode is nodig en de derde-partij gesloten-broncomponent is niet functioneel.

Typisch scenario: CI streaming line code indiening deuren zijn gesloten om zichtbare injectie te voorkomen, hard-codering sleutel, hazard functie roept naar de ruggengraat.

DAST: "Werkt het echt?"

DAST gebruikt het doelwit als een zwarte doos om verzoeken van buitenaf te verzenden, aanvalsladingen te construeren en observeren reactie. De grootste waarde is...Bijna een echte aanval.Het probleem van echte toegang tot hardlopen werd gevonden, met relatief lage onderrapportage. Er is geen broncode nodig, dus onderdelen van derden, configuratielagen kunnen ook worden behandeld.

ShortboardHet is vaak pas tot de invoering dat de detectie van late detectie en de kosten van reparatie hoog is; dekking is beperkt tot reptielen en testroutes die kunnen worden bereikt door het voorbeeld, zonder detectie van niet-detecteerbare functionele punten; het is moeilijk om de broncode nauwkeurig te lokaliseren, en ontwikkeling en rapportage is vaak alleen bekend

Typisch scenario: veiligheidsmachtiging voordat u online gaat, periodiek scannen van geïmplementeerde omgevingen.

IV. OOST: Run-time stekkers, evenwichtscontext met echte datastromen

IAST observeert ook code uitvoering en externe stroom bij het uitvoeren van het programma door het implanteren van antent in de toepassing. Het kan zien hoe verzoeken binnenkomen, en hoe data in de code stroomt, zodat het kan worden gegeven.Neem het volledige bewijs van de herberg.Het is meestal lager dan SAST en het is nauwkeurig.

ShortboardDe noodzaak om sondes in de doelomgeving in te zetten (die zorgen baren over de productieomgeving); vertrouwen op de dekking van de test, die niet kan worden gevonden zonder dat de code wordt geïmplementeerd, die vaak gekoppeld is aan functionele/geautomatiseerde tests; verschillen in taal- en kaderondersteuning; en bepaalde prestatiekosten.

Typisch scenario: draaien in de testomgeving in combinatie met geautomatiseerde testen, zowel om functionaliteit te valideren en om outputveiligheidsconclusies te synchroniseren.

Bekijk gegevensstroom en oproep stack van binnenuit code

Vijf, drie tegen één.

AfmetingenSASTDASTOOST
TestobjectBron/bytes (niet actief)Actief doel (extern)Operationele toepassingen (interne stekkers)
PerspectiefWitte doosZwarte doosGrey Box
Tijd voor interventieCodering/indieningsfase vroegstNa implementatieTest/run-time
Broncode nodigJa.Niet nodig.Vereist (kan worden aangesloten)
Verkeerd gerapporteerd niveauHoogLaagLager
PositieprecisieNaar bestand/regelNaar URL/interfaceInn/Datastroom bellen
Afhankelijkheid overschrijvenBeperkt (zie deel broncode)Blootstelling negeren tijdens draaienBeperkt door uitvoeringspad
Typische scèneCI code deurverbodControleer en accepteer voordat u online gaat.Gecombineerd met automatische tests

VI. Waarom complementariteit in plaats van vervanging

Als je de drie samenvoegt, vinden ze hun blinde zones complementair:

  • SAST ziet de code, maar weet niet of het zal worden geactiveerd; DAST weet of het kan worden geactiveerd, maar weet niet in welke lijn het probleem is; AST beide, maar vereist dat de code wordt uitgevoerd.
  • SAST dekt vroeg, breed en luid; DAST heeft kleine ruis maar laat ingrijpen, smalle dekking; en IAST heeft een hoge nauwkeurigheid, maar kan inpluggen en lopen goed genoeg.
  • Ga gewoon naar SAST, dat kwetsbaar is voor een heleboel bureaucratie en vermoeidheid; ga naar DAST, waar de mazen vaak worden blootgelegd op de lijn; ga naar IAST, waar het pad waar het niet wordt bereikt blind is.

Het antwoord op de werkelijkheid is niet één of twee, maar een stapsgewijze aanpak: het vroege gebruik van SAST om een duidelijk patroon van slechte smaak en gevaar te blokkeren, de testfase van IAST om nauwkeurig gevalideerd te worden met IAST in combinatie met automatisering, en het up- and down-line gebruik van DAST voor externe acceptatie vanuit het perspectief van de agressor. Drie bijgeloof vormen een gesloten lus voor toepassingsveiligheidstest zonder significante hiaten.

Statische, dynamische, interactieve tests vormen een gesloten cirkel.

VII. PRAKTISCHE AANLANDINGEN

1. Mismelding wie ermee omgaat

Hoe dan ook, niemand lost het rapport op, niemand doet dat. Er is een duidelijk triageproces: wie ziet, hoe lang te sluiten, hoe te markeren " accepteren risico " . Met name SAST heeft basisbeheer nodig, anders zal de erfenis van de geschiedenis nieuwe problemen verdrinken.

Dekking is belangrijker dan gereedschap merken

Het vermogen van IAST om te ontdekken hangt direct af van hoeveel codes door de test worden bestreken; DAST hangt af van hoeveel interfaces worden bereikt door reptielen. Het is zinvoller om de detectiesnelheid te meten alvorens online te gaan dan om een duurder hulpmiddel te vervangen.

3. Behandel geen veiligheidstesten als eenmalige tests Pak aan.

Veiligheidstests moeten worden ingebed in een continu O & O-proces in plaats van gecentraliseerd voordat zij online gaan. CI runt SAST, test omgeving IAST, doet regelmatig DAST voor productie, zodat het niet hoeft te vertrouwen op menselijk vlees om het vuur te redden.

4. Focus op synergieën tussen instrumenten

De ideale staat is dat drie soorten resultaten kunnen worden gegroepeerd in dezelfde visie: dezelfde maas, SAST geeft code locatie, IAST geeft data stream bewijs, en DAST valideert beschikbaarheid. Het is veel meer waard dan de drie door oorlog verscheurde eilanden.

VIII. Lijst van besluiten

  • Ja.IndieningsfaseHou de duidelijke maas op SAST, focus op deursluitingen en basislijnen.
  • ControlerenKan het systeem echt aanvallen? • Op met DAST, gericht op dekking en inlogconfiguratie.
  • Om veiligheidsconclusies te krijgen.Uitvoer met geautomatiseerde testsEn lokaliseer precies op de IAST.
  • Beperkte middelen kunnen alleen als eerste prioriteit voor SAST worden gebruikt om een bottom line tot stand te brengen en vervolgens geleidelijk aan de IAEA/DAST te voltooien.
  • De zoektocht naar een "one-size-fits-all, permanente oplossing" bestaat niet, maar de manier om te organiseren en te verwerken is het antwoord.

SAST is mogelijk, DAST is praktisch, IAST is specifiek