FixVibe
Covered by FixVibemedium

API Sigurnosna kontrolna lista: 12 stvari koje treba provjeriti prije nego što krenete uživo

API-ji su okosnica modernih web aplikacija, ali im često nedostaje sigurnosna strogost tradicionalnih frontendova. Ovaj istraživački članak opisuje osnovnu kontrolnu listu za osiguranje API-ja, fokusirajući se na kontrolu pristupa, ograničavanje brzine i dijeljenje resursa s više izvora (CORS) kako bi se spriječilo kršenje podataka i zloupotreba usluga.

CWE-285CWE-799CWE-942

Impact

Kompromitovani API-ji omogućavaju napadačima da zaobiđu korisnička sučelja i direktno komuniciraju sa pozadinskim bazama podataka i uslugama [S1]. To može dovesti do neovlaštene eksfiltracije podataka, preuzimanja računa putem grube sile ili nedostupnosti usluge zbog iscrpljivanja resursa [S3][S5].

Osnovni uzrok

Primarni osnovni uzrok je izlaganje interne logike kroz krajnje tačke kojima nedostaje dovoljna validacija i zaštita [S1]. Programeri često pretpostavljaju da ako funkcija nije vidljiva u korisničkom sučelju, ona je sigurna, što dovodi do pokvarenih kontrola pristupa [S2] i dopuštenih politika CORS koje vjeruju previše izvorima [S4].

Essential API Sigurnosna kontrolna lista

  • Primjena stroge kontrole pristupa: Svaka krajnja točka mora provjeriti da li podnosilac zahtjeva ima odgovarajuće dozvole za određeni resurs kojem se pristupa [S2].
  • Implementirajte ograničenje brzine: Zaštitite od automatske zloupotrebe i DoS napada ograničavanjem broja zahtjeva koje klijent može uputiti u određenom vremenskom okviru [S3].
  • Konfigurišite CORS ispravno: Izbjegavajte korištenje zamjenskih znakova (*) za autentificirane krajnje tačke. Eksplicitno definirajte dozvoljeno porijeklo da spriječite curenje podataka na više lokacija [S4].
  • Revizija vidljivosti krajnje tačke: Redovno skenirajte za "skrivene" ili nedokumentovane krajnje tačke koje bi mogle otkriti osjetljivu funkcionalnost [S1].

Kako FixVibe testira za to

FixVibe sada pokriva ovu kontrolnu listu kroz višestruke provjere uživo. Probe sa aktivnim upravljanjem testiraju ograničenje brzine krajnje tačke autentifikacije, CORS, CSRF, SQL injekciju, slabosti auth-toka i druge probleme sa API samo nakon verifikacije. Pasivne provjere provjeravaju sigurnosna zaglavlja, javnu API dokumentaciju i izloženost OpenAPI-ju, te tajne u klijentskim paketima. Repo skeniranja dodaju pregled rizika na nivou koda za nesigurni CORS, sirovu SQL interpolaciju, slabe JWT tajne, korištenje JWT samo za dekodiranje, praznine u potpisu webhook-a i probleme ovisnosti.