Vplyv
Kompromitované API umožňujú útočníkom obísť používateľské rozhrania a interagovať priamo s backendovými databázami a službami [S1]. To môže viesť k neoprávnenému úniku údajov, prevzatiu účtu hrubou silou alebo nedostupnosti služby z dôvodu vyčerpania zdrojov [S3][S5].
Hlavná príčina
Primárnou hlavnou príčinou je odhalenie internej logiky prostredníctvom koncových bodov, ktorým chýba dostatočná validácia a ochrana [S1]. Vývojári často predpokladajú, že ak funkcia nie je viditeľná v používateľskom rozhraní, je zabezpečená, čo vedie k narušeniu kontroly prístupu [S2] a povoleným pravidlám CORS, ktoré dôverujú príliš veľkému počtu zdrojov [S4].
Základný kontrolný zoznam zabezpečenia API
- Vynútiť prísnu kontrolu prístupu: Každý koncový bod musí overiť, či má žiadateľ príslušné povolenia pre konkrétny zdroj, ku ktorému sa pristupuje [S2].
- Implement Rate Limiting: Chráňte sa pred automatickým zneužitím a DoS útokmi obmedzením počtu žiadostí, ktoré môže klient zadať v určitom časovom rámci [S3].
- Správne nakonfigurujte CORS: Nepoužívajte zástupné znaky (
*) pre overené koncové body. Explicitne definujte povolené zdroje, aby ste zabránili úniku údajov medzi lokalitami [S4]. - Audit viditeľnosti koncového bodu: Pravidelne vyhľadávajte „skryté“ alebo nezdokumentované koncové body, ktoré by mohli odhaliť citlivé funkcie [S1].
Ako to testuje FixVibe
FixVibe teraz pokrýva tento kontrolný zoznam prostredníctvom viacerých živých kontrol. Sondy s aktívnou bránou testujú obmedzenie rýchlosti koncového bodu overovania, CORS, CSRF, vstrekovanie SQL, slabé miesta overovacieho toku a ďalšie problémy súvisiace so API až po overení. Pasívne kontroly kontrolujú bezpečnostné hlavičky, verejnú dokumentáciu API a vystavenie OpenAPI a tajomstvá v klientskych balíkoch. Repo skeny pridávajú kontrolu rizika na úrovni kódu pre nebezpečné CORS, surovú interpoláciu SQL, slabé tajomstvá JWT, používanie JWT iba na dekódovanie, medzery v podpise webhooku a problémy so závislosťou.
