Mitä on SAST (Staattinen Sovellusten Turvallisuustestaus)?
SAST on eräänlainen sovellusten turvallisuustestaus, joka tarkistaa sovelluksen lähdekoodin (kehittäjien kirjoittama alkuperäinen koodi), riippuvuudet (ulkoiset kirjastot tai paketit, joihin koodi tukeutuu) tai binääritiedostot (käännetty koodi, joka on valmis suoritettavaksi) ennen kuin se suoritetaan. Tätä lähestymistapaa kutsutaan usein white-box-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-injektio, Cross-Site Scripting (XSS), heikko salaus ja muita turvallisuusongelmia 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 ilman niiden suorittamista.
- Tunnistaa haavoittuvuuksia koodauskäytännöissä (esim. puuttuva validointi, paljastettu API-avain)
- Integroi kehittäjän työnkulkuun (CI/CD)
- Luo raportin löydetyistä haavoittuvuuksista ja tarjoaa ohjeita niiden ratkaisemiseksi (korjaus)
Yleisiä haavoittuvuuksia, jotka SAST löytää
- SQL-injektio
- Cross-site scripting (XSS)
- Epävarmojen kryptografisten algoritmien käyttö (esim. MD5, SHA-1)
- Kovakoodatut API-avain tunnukset
- Puskurin ylivuoto
- Validointivirhe
SAST:n hyödyt
- Edullisempi kustannus: haavoittuvuuksien korjaaminen aikaisessa vaiheessa on halvempaa kuin käyttöönoton jälkeen
- Varhainen havaitseminen: löytää turvallisuusongelmat kehityksen aikana.
- Yhteensopivuuden tuki: noudattaa standardeja kuten OWASP, PCI DSS ja ISO 27001.
- Shift-left turvallisuus: integroi turvallisuuden kehitysprosessiin alusta alkaen
- Kehittäjäystävällinen: Tarjoaa kehittäjälle konkreettisia toimenpiteitä turvallisuusongelmien korjaamiseksi.
Esimerkki
SAST-testin aikana työkalu löytää tietoturvaongelmia, joissa kehittäjät käyttävät epävarmaa MD5:ta salasanojen hajauttamiseen. SAST-työkalu merkitsee sen haavoittuvuudeksi ja ehdottaa MD5:n korvaamista bcryptillä tai Argon2:lla, jotka ovat vahvempia algoritmeja verrattuna MD5:een.