SAST vs. DAST vs. IAST: Kolmen veljen täydentävyyttä koskeva turvallisuustesti, ei korvaamista
Sovelluksen turvallisuustestien kolme yleisintä lyhennettä ovat SAST, DAST, IAST. Monet ihmiset ensimmäinen reaktio oli valita yksi vahvimmista. Mutta se oli tekopyhä ehdotus... kolme veljestä eivät kilpailleet, mutta katsoi samaa asiaa eri näkökulmista. Valinta ei riipu siitä, kuka on kehittyneempi, vaan lavalla olet ohjelmiston elinkaaren, millainen porsaanreikä haluat löytää ja kuinka paljon voit kestää.
I. ENSIMMÄISVIITTEEN MÄÄRITELMÄT
- SAST (staattinen käyttöturvallisuustesti)Muu järjestäjäÄlä suorita ohjelmaa, jossa skannaus lähdekoodi / tavu koodi löytää porsaanreiän, joka kuuluu White Box.
- DASTMuu järjestäjäSuoritusohjelmaUlkoiset laukaisupyynnöt, simuloidut hyökkäykset ovat mustat laatikot.
- IAST (Interaktiivinen sovellusturvallisuustesti)Muu järjestäjäSuorita ohjelma sisältäPlug-in (agentti), yhdistettynä virtaus ja koodi konteksti, kuuluu Grey Box.
Avain näiden kolmen ymmärtämiseen on, että jokainen vastaa eri kysymyksiin: SAST kysyy: "Missä koodissa voi olla virhe?" DAST kysyy: "Pääsemmekö oikeasti läpi? IAST kysyy: "Tässä operaatiossa mikä datavirta todella virtaa vaaraan."
SAST: Ongelman kuristaminen koodien kirjoittamisvaiheessa
SAST analysoi suoraan lähdekoodin (tai kokoaa välituotteita) eikä suorita ohjelmaa. Etuna on se, että ongelmat voidaan havaita varhaisessa vaiheessa tai jopa silloin, kun koodi on toimitettu, tiettyjen asiakirjojen ja rivinumeroiden paikantamiseksi alhaisin korjauskustannuksin. Se kattaa "koodit voidaan pyyhkiä" eikä riipu ajoajasta.
Shortboard: Virheiden määrä on yleensä suuri, koska se ei määritä, onko tietty määrä koodeja laukaistaan todellisessa liiketoiminnassa; ongelmia, jotka paljastuvat vain silloin, kun käynnissä (esim., konfiguraatiovirheet, varmuus ohitukset, todellinen puheluketju luottaa kirjastoon) ei ole täysin näkyvissä; lähdekoodia tarvitaan ja kolmannen osapuolen suljettu lähdekomponentti ei ole toimiva.
Tyypillinen skenaario: CI streaming line-koodin syöttöovet ovat suljettuina, jotta voidaan estää näkyvää injektointia, kovakoodausavainta ja vaaratoiminnon kutsuu selkärankaan.
Onko se todella toimiva?
DAST käyttää kohdetta mustana laatikkona lähettääkseen pyyntöjä ulkopuolelta, rakentaakseen hyökkäyskuormia ja tarkkaillakseen vastausta. Sen suurin arvo on...Melkein oikea hyökkäys.On havaittu, että todellinen pääsy liikenteeseen on ongelma, josta raportoitiin suhteellisen vähän. Lähdekoodia ei tarvita, joten kolmannen osapuolen komponentteja, konfiguraatiotasoja voidaan myös kattaa.
ShortboardUsein vasta käyttöönoton jälkeen myöhäisten havaitsemisten ja korjauskustannusten havaitseminen on korkealla tasolla; kattavuus rajoittuu matelijoihin ja testireitteihin, jotka voidaan saavuttaa esimerkiksi havaitsematta olevia toiminnallisia pisteitä; lähdekoodin tarkka paikantaminen on vaikeaa, ja kehitys ja raportointi on usein tiedossa vain URL-osoitteen ollessa ongelmallinen.
Tyypillinen skenaario: turvaselvitys ennen verkkoa, ajoitettu skannaus käytössä ympäristössä.
IV. IAST: Run-time plugs, tasapainottaa kontekstia reaalisten tietovirtojen kanssa
IAST tarkkailee myös koodin suoritusta ja ulkoista virtausta suoritettaessa ohjelmaa asentamalla antintin sovellukseen. Se voi nähdä, miten pyynnöt tulevat ja miten tiedot virtaavat koodiin, joten se voidaan antaa.Ota kaikki todisteet majatalosta.Se on yleensä pienempi kuin SAST ja tarkka.
ShortboardTarve ottaa käyttöön luotaimia kohdeympäristössä (jolloin on otettava huomioon tuotantoympäristöön liittyvät huolenaiheet), riippuvuus testikattavuudesta, jota ei voida löytää ilman koodin käyttöönottoa, joka usein liittyy toiminnallisiin/automatisoituihin testeihin, kieli- ja puitetukierot sekä tietyt suorituskustannukset.
Tyypillinen skenaario: suoritetaan testiympäristössä yhdessä automatisoidun testauksen kanssa sekä validoidakseen toiminnallisuutta että synkronoidakseen lähtöturvallisuuspäätelmät.
Viisi, kolme yhtä vastaan.
| Mitat | SAST | DAST | IAST |
|---|---|---|---|
| Testikohde | Lähde/tavut (ei käytössä) | Aktiivinen kohde (ulkoinen) | Toimintasovellukset (sisäiset pistokkeet) |
| Perspektiivi | Valkoinen laatikko | Musta laatikko | Harmaalaatikko |
| Intervention aika | Koodaus/lähettäminen aikaisin | Käyttöönoton jälkeen | Testi/ajoaika |
| Tarvitsemme lähdekoodia | Kyllä. | Ei tarvitse. | Vaatimus (voidaan liittää) |
| Virhetaso | Korkea | Matala | Alempi |
| Sijaintitarkkuus | Tiedostoon/riviin | URL-osoitteeseen/ käyttöliittymään | Voit soittaa Inn / Data Stream |
| Korvaa riippuvuus | Rajallinen (ks. lähdekoodin osa) | Ohita altistuminen ajon aikana | Rajoitettu suoritusradalla |
| Tyypillinen kohtaus | CI Koodi Door Ban | Tarkista ja hyväksy ennen kuin menet verkkoon. | Yhdessä automaattisen testauksen kanssa |
VI. Miksi täydentävyys korvaamisen sijaan
Jos yhdistää kolme, heidän sokeat alueensa täydentävät toisiaan.
- SAST näkee koodin, mutta ei tiedä, laukaistaanko se; DAST tietää, voiko se laukaista, mutta ei tiedä millä rivillä ongelma on; IAST molemmat, mutta edellyttää koodin toteuttamista.
- SAST kattaa varhaiset, leveät ja äänekkäät; DAST on pieni melu, mutta myöhään interventio, kapea kattavuus; ja IAST on korkea tarkkuus, mutta voi kytkeä ja ajaa tarpeeksi hyvin.
- Vain mennä SAST, joka on altis ... joukko byrokratiaa... väsymys; mennä DAST, jossa porsaanreikä on usein alttiina linjalla; mennä IAST, jossa polku, johon sitä ei ole saavutettu on sokea.
Vastaus todellisuuteen ei ole yksi tai kaksi, vaan vaiheittainen lähestymistapa: SAST:n varhainen käyttö huonon maun ja vaaran selkeän kaavan jumittamiseksi, IAST:n testausvaihe, joka on validoitava tarkasti yhdessä IAST:n kanssa automaation kanssa, sekä DAST:n ylös- ja alaspäin tapahtuva käyttö ulkoisen hyväksynnän saamiseksi hyökkääjän näkökulmasta. Kolme taikauskoa muodostaa sovelluksen turvallisuustestin suljetun silmukan ilman merkittäviä aukkoja.
VII PURKAMISEEN LIITTYVÄT KÄYTÄNNÖN KYSYMYKSET
1. Virheellistä raportointia, kuka sen käsittelee
Kukaan ei korjaa raporttia. On olemassa selvä kolmioprosessi: kuka näkee, kuinka kauan sulkea, miten merkitä " hyväksyä riski " . Erityisesti SAST tarvitsee perustason hallintaa, muuten historian perintö hukuttaa uusia ongelmia.
Kattavuus on tärkeämpää kuin työkalumerkit
IAST:n kyky havaita riippuu suoraan siitä, kuinka monta koodia testi kattaa; DAST riippuu siitä, kuinka monta rajapintaa matelijat saavuttavat. On mielekkäämpää mitata ...paljastusnopeus ennen verkossa menemistä kuin korvata kalliimpi työkalu.
3. Älä pidä turvallisuustestejä kertakokeina Ota se.
Turvallisuustestit olisi sisällytettävä jatkuvaan T & K-prosessiin sen sijaan, että ne keskitettäisiin ennen niiden aloittamista verkkoon. CI ajaa SASTia, testaa ympäristöä IASTia, tekee säännöllisesti DAST:ää tuotantoon, joten sen ei tarvitse luottaa ihmislihaan pelastaakseen tulen.
4. Painopiste työkalujen väliseen synergiaan
Ihanteellinen tila on, että kolmenlaisia tuloksia voidaan ryhmitellä samaan näkymään: sama porsaanreikä, SAST antaa koodin sijainnin, IAST antaa datavirran näyttöä, ja DAST validoi saatavuuden. Se on paljon arvokkaampi kuin kolme sotasaarta.
VIII Luettelo päätöksistä
- Kyllä.LähetysvaihePysäytä SASTin porsaanreikä ja keskity ovien sulkemiseen.
- TarkastaaPystyykö järjestelmä todella hyökkäämään? • Up with DAST, keskitytään kattavuus ja kirjautuminen asetukset.
- Saadaksemme turvallisuuspäätelmät.Tuotos automaattisella testauksellaEtsikää Iast.
- Rajoitettuja resursseja voidaan käyttää vain SAST-ohjelman ensisijaisena painopisteenä peruslinjan muodostamisessa ja sen jälkeen vähitellen IAEA:n/DAST:n loppuun saattamisessa.
- Etsitään "yksi-koko-kaikki, pysyvä ratkaisu" ei ole olemassa, mutta tapa järjestää ja käsitellä on vastaus.
SAST on mahdollista, DAST on käytännöllinen, IAST on erityinen ... yhdistetty on täydellinen kuva.