API:iden paljastamisesta on tullut standardi yritysten IT-ekosysteemissä. Niiden käyttö yleistyy, minkä vuoksi niiden kautta käsiteltävän tiedon määrä ja sitä kautta hyökkäykset lisääntyvät.
Sovellusliittymän paljastaminen tarkoittaa pääsyn tarjoamista tiedoille ja itse organisaatiolle, joten miksi APIt jätetään edelleen suojaamattomiksi? Jotkut tyypillisistä vastauksista ovat: tämä API on vain meidän käytössämme, sitä ei kannata suojata, tai jos kukaan ei tiedä sen olemassaolosta, he eivät löydä sitä. Nämä väitteet tai pikemminkin tekosyyt kuuluvat oman painonsa alle. Gartner arvioi, että tänä vuonna 2022 API:t ovat olleet yleisin hyökkäysvektori, joten aiomme selvittää kolme yleisintä tyyppiä ja miten niitä voidaan lieventää tänä vuonna.
Ensimmäinen on kulunvalvonta, johon liittyy ongelmia sekä todennus- että valtuutusprosessissa. Todennuksen tapauksessa se tarkoittaa, että hyökkääjät voivat murtautua käyttäjätunnuksiin ja salasanoihin ottaakseen toisen identiteetin, ja valtuutuksen tapauksessa he voivat hyödyntää toimintoja, joihin heillä ei ole valtuuksia, esimerkiksi nähdä muiden käyttäjien tietoja, muokata käyttöoikeuksia tai on pääsy. johtamistehtäviin.
Mitä voimme tehdä estääksemme sen? Todennustasolla on ihanteellista käyttää tavallisia todennus- ja tunnuksen luontimekanismeja, minimoida tokenien voimassaoloaika, testata säännöllisesti ja automaattisesti kaikkia mahdollisia todennustapoja, erityisesti salasanan palautusprosessia, ja toteuttaa käytäntöjä Vakavia lukituksia ja suojattuja salasanoja.
Valtuutustason hyökkäyksiä varten hyvä ratkaisu on rajoittaa pääsy käyttäjiin heidän roolinsa perusteella, jotta voidaan varmistaa, että vain henkilöt, joilla on asianmukaiset käyttöoikeudet, voivat käyttää ja muokata API-resursseja. Toinen mekanismi, joka auttaa vähentämään tämäntyyppistä riskiä, on varmistaa pääsy objektitasolla. Perusesimerkki olisi, että käyttäjä voi tarkastella pankkitilejään, mutta ei toisen asiakkaan pankkitilejä. Tämän tarkistuksen suorittamiseksi on välttämätöntä keskittyä API-resurssitunnisteiden validointiin eikä luottaa niihin, jotka tulevat pyyntöihin, samoin kuin tietojen käytön hallintaan.
Toinen tyypillisistä ongelmista on rajoitusten puuttuminen pyyntöjen lukumäärästä ja viestien koosta. Hyökkääjät voivat hyödyntää tätä useilla tavoilla: raa’alla voimalla arvaamalla käyttäjien tunnistetiedot, palvelunestohyökkäykset ja ylikuormittaa API niin, että se ei ole käytettävissä, vaikka resurssi paljastaisi sivutussovellusliittymän ja pyytää sivua, joka ylittää kapasiteettinsa. Näiden ongelmien minimoimiseksi on ihanteellista määrittää nopeusraja API:n, menetelmien ja pyyntöjen asiakkaan alkuperän tasolla sekä rajoittaa API:n palauttamien viestien kokoa.
Ja lopuksi tietotason hyökkäykset, tämä johtuu siitä, että API:t eivät suojaa riittävästi arkaluonteisia tietoja, kuten henkilökohtaisia, taloudellisia tai terveystietoja. Tässä tapauksessa hyökkääjät voivat varastaa tai muokata näitä riittämättömästi suojattuja tietoja suorittaakseen petoksia, identiteettivarkauksia tai muita rikoksia. Tämän haavoittuvuuden estämiseksi on välttämätöntä tarkistaa tiukasti sekä pyyntö- että vastaustiedot, eli jos puhelinnumero on kenttä, hylkää kaikki pyynnöt, jotka eivät täytä tätä mallia. Jotta tämä validointi voidaan suorittaa tehokkaasti, on ihanteellista määritellä hyväksyttävien tietojen kaaviot ja mallit ja lopuksi suorittaa tiukka analyysi vastauksessa lähetetyistä tiedoista sen käytön perustelemiseksi.
Yhteenvetona voidaan todeta, että API-tason turvallisuudesta on tullut haaste, johon on puututtava heti sen suunnittelun alkamisesta lähtien. Tämän arvopaperistamisprosessin tehokas toteuttaminen edellyttää kokonaisvaltaista näkemystä sen kaikista mahdollisista haavoittuvuuksista ja turvaamista työkaluihin, jotka helpottavat automaattista testausta.