Mitä on SAST (Staattinen sovellusten tietoturvatestaus)?
SAST on eräänlainen sovellusten tietoturvatestaus, joka tarkistaa sovelluksen lähdekoodin (kehittäjien kirjoittama alkuperäinen koodi), riippuvuudet (ulkopuoliset kirjastot tai paketit, joihin koodi tukeutuu) tai binääritiedostot (koottu koodi, joka on valmis ajettavaksi) ennen kuin se suoritetaan. Tätä lähestymistapaa kutsutaan usein valkoisen laatikon testaukseksi, koska se tutkii koodin sisäistä logiikkaa ja rakennetta haavoittuvuuksien ja virheiden varalta sen sijaan, että testaisi vain sovelluksen käyttäytymistä ulkopuolelta.
Miksi SAST on tärkeä kyberturvallisuudessa
Koodin turvaaminen on keskeinen osa DevSecOpsia. SAST auttaa organisaatioita löytämään haavoittuvuuksia, kuten SQL-injektioita, Cross-Site Scripting (XSS), heikkoa salausta ja muita tietoturvaongelmia aikaisessa vaiheessa ohjelmistokehityksen elinkaarta. Tämä tarkoittaa, että tiimit voivat korjata ongelmat nopeammin ja edullisemmin.
Kuinka SAST toimii
- Analysoi lähdekoodia, binäärejä tai tavukoodia suorittamatta niitä.
- Tunnistaa haavoittuvuuksia koodauskäytännöissä (esim. puuttuva validointi, paljastettu API-avain)
- Integroituu kehittäjän työnkulkuun (CI/CD)
- Luo raportin löydetyistä haavoittuvuuksista ja antaa ohjeita niiden ratkaisemiseksi (korjaus)
Yleisiä SAST:n löytämiä haavoittuvuuksia
- SQL-injektio
- Cross-site scripting (XSS)
- Epävarmojen salausalgoritmien käyttö (esim. MD5, SHA-1)
- Kovakoodatut paljastetut API-avain tunnukset
- Puskurin ylivuoto
- Validointivirhe
SAST:n hyödyt
- Edullisemmat kustannukset: haavoittuvuuksien korjaaminen aikaisessa vaiheessa on halvempaa kuin käyttöönoton jälkeen
- Varhainen havaitseminen: löytää tietoturvaongelmat kehityksen aikana.
- Yhteensopivuuden tuki: noudattaa standardeja kuten OWASP, PCI DSS ja ISO 27001.
- Shift-left-tietoturva: integroi tietoturvan kehitysprosessiin alusta alkaen
- Kehittäjäystävällinen: Tarjoaa kehittäjälle käytännön askeleita tietoturvaongelmien korjaamiseksi.
Esimerkki
SAST-testin aikana työkalu löytää tietoturvaongelmia, joissa kehittäjät käyttävät epävarmaa MD5:tä salasanojen hajauttamiseen. SAST-työkalu merkitsee sen haavoittuvuudeksi ja ehdottaa MD5:n korvaamista bcryptillä tai Argon2:lla, jotka ovat vahvempia algoritmeja verrattuna MD5:een.
Aiheeseen liittyvät termit
- DAST (Dynaaminen sovellusturvatestaus)
- IAST (Interaktiivinen sovellusturvatestaus)
- SCA (Ohjelmistokoostumuksen analyysi)
- SSDLC
- DevSecOps