FixVibe
Covered by FixVibemedium

API saugos kontrolinis sąrašas: 12 dalykų, kuriuos reikia patikrinti prieš pradedant transliuoti

API yra šiuolaikinių žiniatinklio programų pagrindas, tačiau dažnai joms trūksta tradicinių sąsajų saugumo griežtumo. Šiame tyrimo straipsnyje pateikiamas esminis API apsaugos kontrolinis sąrašas, daugiausia dėmesio skiriant prieigos kontrolei, greičio ribojimui ir įvairių šaltinių dalijimuisi (CORS), kad būtų išvengta duomenų pažeidimų ir piktnaudžiavimo paslaugomis.

CWE-285CWE-799CWE-942

Poveikis

Pažeistos API leidžia užpuolikams apeiti vartotojo sąsajas ir tiesiogiai sąveikauti su užpakalinėmis duomenų bazėmis ir paslaugomis [S1]. Tai gali sukelti neteisėtą duomenų išfiltravimą, paskyros perėmimą naudojant žiaurią jėgą arba paslaugos nepasiekiamumą dėl išteklių išeikvojimo. [S3][S5].

Pagrindinė priežastis

Pagrindinė priežastis yra vidinės logikos poveikis per galutinius taškus, kuriems trūksta tinkamo patvirtinimo ir apsaugos [S1]. Kūrėjai dažnai mano, kad jei funkcija nematoma vartotojo sąsajoje, ji yra saugi, todėl sugenda prieigos valdikliai [S2] ir leistina CORS politika, kuria pasitikima per daug šaltinių [S4].

Esminis API saugos kontrolinis sąrašas

Įgyvendinti griežtą prieigos kontrolę: kiekvienas galutinis taškas turi patikrinti, ar užklausos pateikėjas turi atitinkamus leidimus konkrečiam pasiekiamam ištekliui [S2]. – Įdiegimo greičio ribojimas: apsisaugokite nuo automatinio piktnaudžiavimo ir DoS atakų ribodami užklausų, kurias klientas gali pateikti per tam tikrą laikotarpį, skaičių. [S3].

  • Teisingai sukonfigūruokite CORS: nenaudokite pakaitos simbolių (*) autentifikuotiems galiniams taškams. Aiškiai apibrėžkite leistinas ištakas, kad išvengtumėte duomenų nutekėjimo tarp svetainių [S4].

Audito galutinio taško matomumas: reguliariai nuskaitykite „paslėptus“ arba nedokumentuotus galinius taškus, kurie gali atskleisti jautrias funkcijas [S1].

Kaip FixVibe tai tikrina

FixVibe dabar apima šį kontrolinį sąrašą atliekant kelis tiesioginius patikrinimus. Aktyvieji zondai tikrina autentifikavimo galutinio taško dažnio ribojimą, CORS, CSRF, SQL įterpimą, autentifikavimo srauto trūkumus ir kitas su API susijusias problemas tik patvirtinus. Pasyvios patikros tikrina saugos antraštes, viešą API dokumentaciją ir OpenAPI parodymą bei klientų paketų paslaptis. Atpirkimo nuskaitymai prideda kodo lygio rizikos peržiūrą, kad būtų galima nustatyti nesaugų CORS, neapdoroto SQL interpoliaciją, silpnas JWT paslaptis, tik iššifruojant JWT naudojimą, žiniatinklio kablio parašo spragų ir priklausomybės problemas.