Dopad
Kompromitovaná rozhraní API umožňují útočníkům obejít uživatelská rozhraní a přímo interagovat s backendovými databázemi a službami [S1]. To může vést k neoprávněnému úniku dat, převzetí účtu hrubou silou nebo nedostupnosti služby z důvodu vyčerpání zdrojů [S3][S5].
Hlavní příčina
Primární hlavní příčinou je odhalení vnitřní logiky prostřednictvím koncových bodů, které postrádají dostatečné ověření a ochranu [S1]. Vývojáři často předpokládají, že pokud funkce není viditelná v uživatelském rozhraní, je zabezpečená, což vede k nefunkčnímu řízení přístupu [S2] a tolerantním zásadám CORS, které důvěřují příliš mnoha zdrojům [S4].
Základní kontrolní seznam zabezpečení API
- Vynutit přísnou kontrolu přístupu: Každý koncový bod musí ověřit, zda má žadatel příslušná oprávnění pro konkrétní zdroj, ke kterému se přistupuje [S2].
- Implement Rate Limiting: Chraňte se před automatizovaným zneužitím a DoS útoky omezením počtu požadavků, které může klient provést v určitém časovém rámci [S3].
- Nakonfigurujte správně CORS: Vyhněte se použití zástupných znaků (
*) pro ověřené koncové body. Explicitně definujte povolené zdroje, abyste zabránili úniku dat mezi weby [S4]. - Audit viditelnosti koncových bodů: Pravidelně kontrolujte „skryté“ nebo nezdokumentované koncové body, které by mohly odhalit citlivé funkce [S1].
Jak to testuje FixVibe
FixVibe nyní pokrývá tento kontrolní seznam prostřednictvím několika živých kontrol. Sondy s aktivní bránou testují omezení rychlosti koncového bodu ověřování, CORS, CSRF, SQL injection, slabá místa auth-flow a další problémy týkající se API až po ověření. Pasivní kontroly prověřují bezpečnostní hlavičky, veřejnou dokumentaci API a vystavení OpenAPI a tajemství v klientských balíčcích. Repo skeny přidávají kontrolu rizik na úrovni kódu pro nebezpečné CORS, nezpracovanou interpolaci SQL, slabá tajemství JWT, použití JWT pouze pro dekódování, mezery v podpisu webhooku a problémy se závislostmi.
