Mikä on DAST (Dynamic Application Security Testing)?
Dynaaminen sovellusturvatestaus eli DAST on tapa tarkistaa sovelluksen turvallisuus sen ollessa käynnissä. Toisin kuin SAST, joka tarkastelee lähdekoodia, DAST testaa turvallisuutta simuloimalla todellisia hyökkäyksiä, kuten SQL Injection ja Cross-Site Scripting (XSS) reaaliaikaisessa ympäristössä.
DAST
kutsutaan usein Mustan laatikon testaukseksi, koska se suorittaa turvallisuustestin ulkopuolelta.Miksi DAST on tärkeä kyberturvallisuudessa
Jotkut turvallisuusongelmat ilmenevät vain, kun sovellus on käynnissä, erityisesti ongelmat, jotka liittyvät ajonaikaiseen toimintaan, käyttäytymiseen tai käyttäjän validointiin. DAST auttaa organisaatioita:
- Löytämään turvallisuusongelmia, jotka SAST-työkalu jättää huomiotta.
- Arvioimaan sovellusta todellisissa olosuhteissa, mukaan lukien käyttöliittymä ja API.
- Vahvistamaan sovelluksen turvallisuutta verkkosovellushyökkäyksiä vastaan.
Kuinka DAST toimii
- Aja sovellus testi- tai esittelyympäristössä.
- Lähetä haitallista tai odottamatonta syötettä (kuten muokattuja URL-osoitteita tai hyötykuormia).
- Analysoi sovelluksen vastaus haavoittuvuuksien havaitsemiseksi.
- Tuota raportteja korjausehdotuksilla (Plexicuksessa, vielä paremmin, se automatisoi korjaukset).
Yleisiä DAST havaitsemia haavoittuvuuksia
- SQL-injektio: hyökkääjät syöttävät haitallista SQL-koodia tietokantakyselyihin
- Cross-Site Scripting (XSS): haitallisia skriptejä injektoidaan verkkosivustoille, jotka suoritetaan käyttäjien selaimissa.
- Epävarmat palvelinkonfiguraatiot
- Rikkinäinen todennus tai istunnon hallinta
- Herkän datan paljastuminen virheilmoituksissa
DAST edut
- kattaa tietoturva-aukkoja, jotka SAST-työkalut jättävät huomiotta
- Simuloi todellisia hyökkäyksiä.
- toimii ilman pääsyä lähdekoodiin
- tukee vaatimustenmukaisuutta, kuten PCI DSS, HIPAA ja muut viitekehykset.
Esimerkki
DAST-skannauksessa työkalu löytää tietoturvaongelman kirjautumislomakkeesta, joka ei tarkista kunnolla käyttäjien syöttämää tietoa. Kun työkalu syöttää erityisesti suunnitellun SQL-komennon, se osoittaa, että verkkosivusto on haavoittuvainen SQL-injektiolle. Tämä löytö mahdollistaa kehittäjien korjata haavoittuvuuden ennen kuin sovellus menee tuotantoon.