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.
