Перевод: Безопасность API

Перевод: Безопасность API

@Ent_TranslateIB

Почему это важно?

Согласно недавнему отчету CloudFlare, в период с февраля 2021 года по декабрь 2021 года наблюдается увеличение трафика API с 52 до 54%.

Аналогично, темпы роста за этот период составили 20%. Это самый высокий показатель по сравнению с другими видами интернет-трафика.

Согласно отчету Gartner, к 2022 году злоупотребления API превратятся из нечастого в наиболее частый вектор атак, что приведет к утечке данных из корпоративных веб-приложений.

Согласно последнему отчету Wallarm, во втором квартале было зарегистрировано 186 уязвимостей по сравнению с 50 уязвимостями в первом квартале 2022 года.

Понимание API

API использует

  • Архитектуру клиент/сервер.
  • Протокол HTTP

Как правило, API-шлюз используется для управления API-запросами. Также он выступает в качестве единой точки входа для запросов API.

Пользователи API не обращаются к бэкенду напрямую, а получают доступ к ресурсам через конечные точки. Существует два основных типа API

RESTful API

REST определяет 6 ограничений

  • Единый интерфейс, интерфейс должен быть одинаковым независимо от устройства пользователя (например, мобильный телефон, браузер).
  • Клиент/сервер, он должен иметь архитектуру клиент/сервер
  • Stateless, Коммуникация должна быть без статических данных
  • Кэшируемость, ответ должен указывать, является ли он кэшируемым или нет.
  • Многоуровневая система, REST позволяет использовать архитектуру многоуровневой системы, где вы развертываете API на сервере A, храните данные на сервере B и аутентифицируете запросы на сервере C.
  • Код по запросу (необязательно), можно свободно отправлять исполняемый код

Запрос REST API имеет метод, конечную точку, версию HTTP, заголовки. Ответ REST API имеет версию HTTP, код ответа, кэш-контроль, тело (с данными).

В REST API пользователю необходимо отфильтровать данные.

GraphQL

Это язык запросов для API. Данные хранятся в графовой структуре данных. Клиент может запросить именно то, что ему нужно. Не больше, чем REST API

OWASP API Top 10

Теперь, вооружившись знаниями о компонентах, давайте посмотрим на десятку лучших API OWASP.

Последняя обновленная версия - от 2019 года, я не знаю, почему? Если кто-то знает, пожалуйста, прокомментируйте. В любом случае, давайте перейдем к списку топ-10

API1:2019 Broken Object Level Authorization, обычно называемая BOLA. Возникает, когда провайдер позволяет пользователю получить доступ к ресурсу без проверки авторизации.

API2:2019 Broken User Authentication, Возникает, когда аутентификация пользователя не реализована или реализована неправильно самим провайдером.

API3:2019 Excessive Data Exposure, Возникает, когда возвращается больше данных, чем было запрошено.

API4:2019 Lack of Resources and Rate Limiting, возникает, когда нет ресурсов для ответа на запрос, такое может произойти, когда нет ограничения скорости (ограничение количества запросов, которые может сделать пользователь в течение определенного времени).

API5:2019 Broken Function-Level Authorization, возникает, когда пользователи одной функции могут получить доступ к данным другой функции без авторизации.

API6:2019 Mass Assignment, возникает, когда пользователь может изменять параметры, которые ему не должны быть доступны. Это происходит, когда провайдер не проверяет входные данные, предоставленные пользователем.

API7:2019 Security Misconfiguration, общая неправильная конфигурация провайдеров, которая может привести к использованию злоумышленниками.

API8:2019 Injection, так же как и для веб-приложений. Если провайдер не выполняет проверку кода, то это может привести к SQL или другой инъекции.

API9:2019 Improper Assets Management, происходит, когда закрываются непроизводственные API, которые еще не защищены, или устаревшие, содержащие уязвимости. Это происходит при отсутствии инвентаризации API в среде или при отсутствии процесса жизненного цикла API.

API10:2019 Insufficient Logging and Monitoring, когда отсутствует достаточное протоколирование или мониторинг. Управление инцидентами должно быть интегрировано в мониторинг/оповещение.

На рынке существуют такие поставщики, как salt security, Noname security, Imperva (Cloudvector) и Traceable (и это лишь некоторые из них) для обеспечения безопасности API.

Оригинал статьи - здесь.
Поддержите автора хлопками на Medium.


Перевод статьи был выполнен проектом перевод энтузиаста:

  • 📚 @Ent_TranslateIB - Телеграмм канал с тематикой информационной безопасности
  • 🔥 @Ent_Translate - Инстаграм проекта

Report Page