Mikä on IAST (Interactive Application Security Testing)?
Interactive Application Security Testing (IAST) on menetelmä, joka yhdistää staattisen sovellusten tietoturvatestauksen (SAST) ja dynaamisen sovellusten tietoturvatestauksen (DAST) löytääkseen sovellusten haavoittuvuudet tehokkaammin.
IAST:n ominaisuuksiin kuuluu:
- IAST-työkalut toimivat lisäämällä antureita tai valvontakomponentteja sovelluksen sisälle sen suorittamisen aikana. Nämä työkalut seuraavat, miten sovellus käyttäytyy testauksen aikana, olipa testaus automatisoitua tai ihmisten suorittamaa. Tämä lähestymistapa antaa IAST:lle mahdollisuuden tarkistaa koodin suorittamista, käyttäjän syötteitä ja miten sovellus käsittelee dataa reaaliajassa.
- IAST ei skannaa koko koodipohjaa automaattisesti; sen kattavuus määräytyy testien aikana käytetyn sovelluksen laajuuden mukaan. Mitä laajempi testitoiminta, sitä syvempi haavoittuvuuksien kattavuus.
- IAST otetaan tyypillisesti käyttöön QA- tai staging-ympäristöissä, joissa suoritetaan automatisoituja tai manuaalisia toiminnallisia testejä.
Miksi IAST on tärkeä kyberturvallisuudessa
SAST analysoi lähdekoodia, tavukoodia tai binäärejä ilman, että sovellusta ajetaan, ja on erittäin tehokas koodausvirheiden paljastamisessa, mutta se voi tuottaa vääriä positiivisia tuloksia ja jättää huomiotta ajonaikaiset erityiset ongelmat.
DAST testaa sovelluksia ulkopuolelta niiden käynnissä ollessa ja voi paljastaa ongelmia, jotka ilmenevät vain ajonaikana, mutta sillä ei ole syvällistä näkyvyyttä sisäiseen logiikkaan tai koodirakenteeseen. IAST yhdistää näiden tekniikoiden vahvuudet tarjoamalla:
- Syvällisempää tietoa haavoittuvuuksien lähteistä ja poluista.
- Parannettua tunnistustarkkuutta verrattuna pelkkään SAST- tai DAST-testiin.
- Väärien positiivisten tulosten vähentämistä yhdistämällä ajonaikainen toiminta koodianalyysiin.
Kuinka IAST toimii
- Instrumentointi: IAST käyttää instrumentointia, mikä tarkoittaa, että anturit tai valvontakoodi upotetaan sovellukseen (usein QA- tai staging-ympäristössä) sen käyttäytymisen tarkkailemiseksi testauksen aikana.
- Valvonta: Se tarkkailee tietovirtaa, käyttäjän syötettä ja koodin käyttäytymistä reaaliajassa, kun sovellusta testataan tai käytetään manuaalisesti.
- Havaitseminen: Se merkitsee haavoittuvuuksia, kuten turvattomia asetuksia, puhdistamattomia tietovirtoja tai injektioriskejä.
- Raportointi: Kehittäjille annetaan toimivia havaintoja ja korjausohjeita havaittujen ongelmien ratkaisemiseksi.
Esimerkki
Toiminnallisen testauksen aikana QA-tiimi käyttää kirjautumislomaketta. IAST-työkalu havaitsee, että käyttäjän syöte kulkee tietokantakyselyyn ilman puhdistusta, mikä osoittaa mahdollisen SQL-injektion riskin. Tiimi saa haavoittuvuusraportin ja toimivia ohjeita turvallisuusongelmien korjaamiseksi.