Въздействие
Компрометираните API позволяват на атакуващите да заобиколят потребителските интерфейси и да взаимодействат директно с базите данни и услугите на бекенда [S1]. Това може да доведе до неоторизирано кражба на данни, превземане на акаунт чрез груба сила или недостъпност на услугата поради изчерпване на ресурсите [S3][S5].
Първопричина
Основната основна причина е излагането на вътрешна логика чрез крайни точки, които нямат достатъчно валидиране и защита [S1]. Разработчиците често приемат, че ако дадена функция не се вижда в потребителския интерфейс, тя е защитена, което води до счупени контроли за достъп [S2] и разрешителни CORS политики, които се доверяват на твърде много източници [S4].
Основен API Контролен списък за сигурност
- Прилагане на строг контрол на достъпа: Всяка крайна точка трябва да провери дали рикуестърът има подходящите разрешения за конкретния ресурс, до който има достъп [S2].
- Въвеждане на ограничаване на скоростта: Защитете срещу автоматизирана злоупотреба и DoS атаки, като ограничите броя заявки, които клиентът може да направи в рамките на определен период от време [S3].
- Конфигурирайте правилно CORS: Избягвайте използването на заместващи знаци (
*) за автентифицирани крайни точки. Изрично дефинирайте разрешените източници, за да предотвратите изтичане на данни между сайтове [S4]. - Одит на видимостта на крайната точка: Редовно сканирайте за „скрити“ или недокументирани крайни точки, които могат да разкрият чувствителна функционалност [S1].
Как FixVibe го тества
FixVibe вече покрива този контролен списък чрез множество проверки на живо. Активно затворените сонди тестват ограничаване на скоростта на крайна точка за удостоверяване, CORS, CSRF, SQL инжектиране, слабости на потока за удостоверяване и други проблеми, свързани с API, само след проверка. Пасивните проверки проверяват заглавките за сигурност, публичната API документация и излагането на OpenAPI и тайните в клиентските пакети. Repo сканирането добавя преглед на риска на ниво код за опасен CORS, необработена SQL интерполация, слаби JWT тайни, използване само на JWT за декодиране, пропуски в сигнатурата на webhook и проблеми със зависимостите.
