Hakeri bieži vien ir vērsti nevis uz datu avotu, bet gan uz pašu API.

Lietojumprogrammu programmēšanas saskarņu (API) izmantošana ir strauji pieaugusi. Organizācijas tagad paļaujas uz vairākām API, lai efektīvi veiktu ikdienas funkcijas. Šis API lietojuma pieaugums ir nolicis API hakeru radaram, mudinot viņus izstrādāt novatoriskus veidus, kā izmantot API ievainojamības.

Kāpēc API drošība ir ļoti svarīga, un ko jūs varat darīt, lai pārvaldītu API drošības riskus? Noskaidrosim.

Kāpēc jums vajadzētu koncentrēties uz API drošību?

API ir ļoti svarīgas mūsdienu mobilajās, SaaS un tīmekļa lietojumprogrammās. Organizācijas izmanto API klientu, partneru un iekšējās lietojumprogrammās. Tā kā API atklāj lietojumprogrammu loģiku un sensitīvi dati, piemēram, personu identificējoša informācija (PII), hakeri pastāvīgi cenšas piekļūt API. Uzlauztas API bieži noved pie datu pārkāpumiem, radot finansiālu un reputācijas kaitējumu organizācijām.

Saskaņā ar Palo Alto Networks un ESG pētījumi, 92 procenti aptaujāto uzņēmumu 2022. gadā piedzīvoja ar API saistītu drošības incidentu. No šiem uzņēmumiem 57 procentiem uzņēmumu bija vairāki ar API saistīti drošības incidenti. Tomēr ir ļoti svarīgi uzlabot API drošību, lai novērstu API uzbrukumus.

instagram viewer

Tālāk ir norādīti daži veidi, kā palīdzēt samazināt izplatītos API drošības riskus un aizsargāt sensitīvus datus.

1. Ieviesiet drošu autentifikāciju un autorizāciju

Autentifikācija nozīmē, ka pieprasījums piekļūt API resursam nāk no likumīga lietotāja, un autorizācija nodrošina, ka lietotājam ir autorizēta piekļuve pieprasītajam API resursam.

Droša ieviešana droša API autentifikācija un autorizācija ir pirmā aizsardzības līnija pret nesankcionētu piekļuvi jūsu API resursiem.

Šeit ir norādītas būtiskas API autentifikācijas metodes.

API atslēga

Izmantojot šo autentifikācijas metodi, klientam būs API atslēga, ko zina tikai klients un API serveris. Kad klients nosūta pieprasījumu piekļūt API resursam, pieprasījumam tiek pievienota atslēga, lai API zinātu, ka pieprasījums ir likumīgs.

Radās problēma ar API atslēgas autentifikācijas metodi. Hakeri var piekļūt API resursiem, ja viņiem ir API atslēga. Tāpēc ir ļoti svarīgi šifrēt API pieprasījumus un API atbildes, lai neļautu hakeriem nozagt API atslēgas.

Lietotājvārds un parole

Varat ieviest lietotājvārda un paroles metodi, lai autentificētu API pieprasījumus. Bet ņemiet vērā, ka hakeri nodarbina dažādi triki paroļu uzlaušanai. Un API klienti var arī kopīgot savus lietotājvārdus un paroles ar neuzticamām pusēm. Tātad lietotājvārda un paroles metode nepiedāvā optimālu drošību.

Savstarpējais TLS (mTLS)

Savstarpējā TLS autentifikācijas metodē gan API galapunktiem, gan klientiem ir TLS sertifikāts. Un viņi autentificē viens otru, izmantojot šos sertifikātus. TLS sertifikātu uzturēšana un ieviešana ir sarežģīta, tāpēc šī metode netiek plaši izmantota API pieprasījumu autentificēšanai.

JWT autentifikācija (JSON tīmekļa marķieris)

Izmantojot šo API autentifikācijas metodi, JSON tīmekļa marķieri tiek izmantoti, lai autentificētu un autorizētu API klientus. Kad klients nosūta pierakstīšanās pieprasījumu, tostarp lietotājvārdu, paroli vai jebkāda cita veida pierakstīšanās akreditācijas datus, API izveido šifrētu JSON tīmekļa pilnvaru un nosūta to klientam.

Pēc tam klients izmantos šo JSON tīmekļa pilnvaru turpmākajos API pieprasījumos, lai autentificētos un autorizētos.

OAuth2.0 ar OpenID Connect

OAuth piedāvā autorizācijas pakalpojumus, ļaujot lietotājiem autentificēties, nekoplietojot paroles. OAuth2.0 ir balstīts uz marķiera koncepciju un bieži tiek izmantots kopā ar OpenID savienojums autentifikācijas mehānisms. Šo API autentifikācijas un autorizācijas metodi parasti izmanto, lai nodrošinātu API.

2. Ieviest uz lomām balstītu piekļuves kontroli

Role-Based Access Control (RBAC), kas izmanto drošību mazāko privilēģiju princips, nosaka piekļuves līmeni resursam, pamatojoties uz lietotāja lomu.

Uz lomām balstītas piekļuves kontroles ieviešana nodrošina, ka tikai pilnvaroti lietotāji varēs piekļūt datiem atbilstoši savām lomām. Nevienam no tiem nebūs neierobežota piekļuve visiem API resursiem.

3. Šifrējiet visus pieprasījumus un atbildes

API trafiks bieži ietver sensitīvu informāciju, piemēram, akreditācijas datus un datus. Pārliecinieties, vai visa tīkla trafika (jo īpaši visi ienākošie API pieprasījumi un atbildes) ir šifrēta, izmantojot SSL/TSL šifrēšanu. Datu šifrēšana neļauj hakeriem atklāt lietotāja akreditācijas datus vai cita veida sensitīvus datus.

4. Izmantojiet API vārteju

Ja neizmantojat API vārteju, jums būs jāiegulst kods lietotnē, lai tā varētu norādīt lietotnei, kā rīkoties ar API zvaniem. Taču šis process prasa vairāk izstrādes darbu un var palielināt API drošības riskus.

Izmantojot API vārtejas, uzņēmumi var pārvaldīt API zvanus no ārējām sistēmām, izmantojot centrālo vārteju ārpus lietojumprogrammu saskarnes.

Turklāt API vārtejas arī atvieglo API pārvaldību, uzlabo API drošību un uzlabo mērogojamību un pieejamību.

Populāras API vārtejas ietver Amazon API vārteja, Azure API vārteja, Oracle API vārteja, un Kongas vārteja.

5. Ieviest likmes ierobežošanu

API ātruma ierobežojums ļauj iestatīt ierobežojumu API pieprasījumiem vai zvaniem, ko klients var veikt jūsu API. API ātruma ierobežojumu ieviešana var palīdzēt novērst Distributed Denial of Service (DDoS) uzbrukumi.

Varat ierobežot API pieprasījumus sekundē, minūtē, stundā, dienā vai mēnesī. Un jums ir dažādas iespējas, kā ieviest API ātruma ierobežojumus:

Ieviešot Hard Stop, jūsu klienti saņems kļūdu 429, kad viņi sasniegs savu limitu. Programmā Soft Stop jūsu klientiem būs īss labvēlības periods, lai veiktu API izsaukumus pēc API ātruma ierobežojuma beigām. Varat arī ieviest ierobežoto apturēšanu, ļaujot klientiem veikt API pieprasījumus, kad limits ir beidzies, taču ar lēnāku ātrumu.

API ātruma ierobežošana samazina API drošības draudus un samazina aizmugursistēmas izmaksas.

6. Ierobežot datu ekspozīciju

Gādājiet, lai atbildes uz API pieprasījumu neatgrieztu vairāk datu, nekā ir būtiski vai nepieciešami. Ja API izsaukums ir paredzēts pasta indeksam, tajā jānorāda tikai pasta indekss, nevis visa adrese.

Ja API atbildēs tiek rādīts pēc iespējas mazāks rādītājs, tiek uzlabots arī reakcijas laiks.

7. Apstipriniet parametrus

API pieprasījumiem ir nepieciešami vairāki ievades parametri. Katram API pieprasījumam jūsu API rutīnai ir jāapstiprina katra parametra klātbūtne un saturs. Šādi tiek aizsargāta jūsu API integritāte un tiek novērsta ļaunprātīgas vai nepareizi veidotas ievades apstrāde.

Nekādā gadījumā nevajadzētu apiet parametru validācijas pārbaudes.

8. Sekojiet līdzi API darbībām

Izveidojiet plānu API darbību pārraudzībai un reģistrēšanai. Tas var palīdzēt atklāt aizdomīgas apdraudējuma dalībnieku darbības, pirms tie var nodarīt kaitējumu jūsu API serverim vai API klientiem. Sāciet reģistrēt visus API zvanus un atbildes.

Dažādi instrumenti, piemēram Sematext, Dotcom-Monitor, vai Pārdomāti, palīdziet pārraudzīt savu API reāllaikā.

9. Regulāri pārbaudiet API drošību

Nepadariet API drošības testēšanu tikai par daļu no API izstrādes procesa. Tā vietā pastāvīgi pārbaudiet savas tiešās API drošību. Tas palīdzēs jūsu drošības komandai noteikt nepareizu drošības konfigurāciju un API ievainojamības, kuras jūsu izstrādes komanda, iespējams, palaida garām API ieviešanas posmā.

Arī jūsu drošības komandai vajadzētu izveidot incidentu reaģēšanas plānu lai risinātu jebkuru API drošības incidentu.

Pārvaldiet API drošības riskus, lai aizsargātu vērtīgus datus

Tā kā organizācijas arvien vairāk ievieš API savos digitālās transformācijas procesos, apdraudējuma dalībnieki nemitīgi meklē API ievainojamības, ko izmantot. Kad viņi saņem piekļuvi jūsu API, viņi var nozagt sensitīvus datus. Tāpēc jums ir jāuzlabo API drošība, lai samazinātu API drošības riskus.