FixVibe
Covered by FixVibemedium

API Popis za sigurnosnu provjeru: 12 stvari koje treba provjeriti prije pokretanja uživo

API-ji su okosnica modernih web aplikacija, ali im često nedostaje sigurnosna strogost tradicionalnih sučelja. Ovaj istraživački članak ocrtava osnovni kontrolni popis za osiguranje API-ja, s fokusom na kontrolu pristupa, ograničavanje brzine i dijeljenje resursa s više izvora (CORS) kako bi se spriječile povrede podataka i zlouporaba usluga.

CWE-285CWE-799CWE-942

Utjecaj

Kompromitirani API-ji omogućuju napadačima da zaobiđu korisnička sučelja i izravno komuniciraju s pozadinskim bazama podataka i uslugama [S1]. To može dovesti do neovlaštene eksfiltracije podataka, preuzimanja računa brutalnom silom ili nedostupnosti usluge zbog iscrpljenosti resursa [S3][S5].

Glavni uzrok

Primarni korijenski uzrok je izlaganje unutarnje logike kroz krajnje točke koje nemaju dovoljnu provjeru valjanosti i zaštitu [S1]. Programeri često pretpostavljaju da ako značajka nije vidljiva u korisničkom sučelju, ona je sigurna, što dovodi do neispravnih kontrola pristupa [S2] i permisivnih pravila CORS koja vjeruju previše izvora [S4].

Osnovni API sigurnosni kontrolni popis

  • Provedba stroge kontrole pristupa: Svaka krajnja točka mora potvrditi da podnositelj zahtjeva ima odgovarajuća dopuštenja za određeni resurs kojem se pristupa [S2].
  • Implementirajte ograničenje brzine: Zaštitite se od automatizirane zloupotrebe i DoS napada ograničavanjem broja zahtjeva koje klijent može uputiti unutar određenog vremenskog okvira [S3].
  • Ispravno konfigurirajte CORS: Izbjegavajte korištenje zamjenskih znakova (*) za autentificirane krajnje točke. Eksplicitno definirajte dopuštena podrijetla kako biste spriječili curenje podataka između stranica [S4].
  • Audit Endpoint Visibility: Redovito skenirajte "skrivene" ili nedokumentirane krajnje točke koje bi mogle razotkriti osjetljivu funkcionalnost [S1].

Kako FixVibe to testira

FixVibe sada pokriva ovaj kontrolni popis kroz više provjera uživo. Active-gated sonde testiraju ograničenje stope autentifikacije krajnje točke, CORS, CSRF, SQL injection, auth-flow slabosti i druge probleme sa API samo nakon verifikacije. Pasivne provjere provjeravaju sigurnosna zaglavlja, javnu dokumentaciju API i izloženost OpenAPI-ju te tajne u klijentskim paketima. Repo skeniranja dodaju pregled rizika na razini koda za nesigurni CORS, sirovu SQL interpolaciju, slabe tajne JWT, upotrebu JWT samo za dekodiranje, nedostatke potpisa webhooka i probleme ovisnosti.