Влијание
Компромитирани API-и им овозможуваат на напаѓачите да ги заобиколат корисничките интерфејси и директно да комуницираат со базите на податоци и услугите на заднината [S1]. Ова може да доведе до неовластено ексфилтрација на податоци, преземање сметки преку брутална сила или недостапност на услугата поради исцрпување на ресурсите [S3][S5].
Основна причина
Примарната основна причина е изложувањето на внатрешната логика преку крајните точки на кои им недостасува доволно валидација и заштита [S1]. Програмерите често претпоставуваат дека ако некоја одлика не е видлива во интерфејсот, таа е безбедна, што доведува до скршени контроли за пристап [S2] и дозволени CORS политики кои веруваат во премногу потекло [S4].
Список за проверка на безбедноста од суштинско значење API
- Спроведување строга контрола на пристап: секоја крајна точка мора да потврди дека барателот ги има соодветните дозволи за конкретниот ресурс до кој се пристапува [S2].
- Ограничување на стапката на имплементација: Заштитете од автоматска злоупотреба и DoS напади со ограничување на бројот на барања што клиентот може да ги направи во одредена временска рамка [S3].
- Конфигурирајте го CORS правилно: Избегнувајте користење на потеклото на џокерите (
*) за автентицирани крајни точки. Експлицитно дефинирајте го дозволеното потекло за да спречите истекување на податоци меѓу локациите [S4]. - Видливост на крајната точка на ревизија: Редовно скенирајте за „скриени“ или недокументирани крајни точки што може да ја изложат чувствителната функционалност [S1].
Како FixVibe тестира за него
FixVibe сега ја покрива оваа листа за проверка преку повеќекратни проверки во живо. Активно затворените сонди тестираат ограничување на брзината на крајната точка на автентичност, CORS, CSRF, инјектирање SQL, слабости во автентичноста и други проблеми со кои се соочува API само по верификацијата. Пасивните проверки ги проверуваат безбедносните заглавија, јавната документација API и изложеноста на OpenAPI, како и тајните во пакетите на клиентите. Скенирањето на репото додава преглед на ризик на ниво на код за небезбеден CORS, необработена интерполација на SQL, слаби тајни на JWT, употреба на JWT само за декодирање, празнини со потпис на веб-кука,
