Перейти к содержанию

OWASP Top 10 API Security Risks – 2019

Риск Описание
API1:2019 - Некорректная Авторизация на Уровне Объектов API зачастую предоставляют точки входа, оперирующие идентификаторами объектов, тем самым создавая широкую поверхность атаки на уровне управления доступом. Необходимо принимать во внимание проверки авторизации на уровне объектов в каждой функции, которая обращается к источнику данных, используя пользовательский ввод.
API2:2019 - Некорректная Аутентификация Пользователей Механизмы аутентификации часто функционируют некорректно, позволяя злоумышленникам компрометировать аутентификационные токены или эксплуатировать несовершенства в реализации механизма с целью временного или постоянного присвоения учетной записи пользователя. Компрометация системы идентификации пользователей или клиентов компрометирует API в целом.
API3:2019 - Предоставление Излишних Данных Будучи нацеленными на универсальную реализацию функций API, разработчики зачастую раскрывают все свойства объектов, не учитывая критичность каждого из них и рассчитывая, что клиентское приложение отфильтрует данные перед отображением пользователю.
API4:2019 - Отсутствие ограничений на количество запросов и потребляемые ресурсы Зачастую API не устанавливают ограничений на размер или количество ресурсов, запрашиваемых клиентским приложением или пользователем. Это может повлиять на производительность API, приводя к отказу в обслуживании, а также открывает возможность атак перебором на механизм аутентификации.
API5:2019 - Некорректная авторизация на уровне функций Сложные политики контроля доступа с различными иерархиями, группами и ролями, а также нечеткое разделение административного и пользовательского функционала приводят к ошибкам механизма авторизации. Эксплуатируя эти ошибки, злоумышленник может получить доступ к ресурсам других пользователей и административному функционалу.
API6:2019 - Массовое переназначение параметров (Mass assignment) Присвоение поступивших от пользователя данных, например в формате JSON, модели данных без надлежащей фильтрации параметров на базе белого списка обычно приводит к массовому переназначению параметров. Злоумышленник может изменить свойства объектов, к которым он не должен иметь доступ, угадав эти свойства, найдя их в других точках входа API или документации, или же отправив запрос с дополнительными свойствами.
API7:2019 - Ошибки настроек безопасности Как правило, ошибки настроек безопасности - результат небезопасных настроек по умолчанию, неполных или временных настроек, незащищенного облачного хранилища, некорректно настроенных заголовков HTTP, излишних методов HTTP, нестрогой политики разделения ресурсов между источниками (CORS) и детальных сообщений об ошибках, содержащих критичные данные.
API8:2019 - Инъекции Инъекции, такие как SQL, NoSQL, инъекции команд на операционной системе и другие, случаются, когда недоверенные данные отправляются в интерпретатор как часть команды или запроса. Злоумышленник может вынудить интерпретатор выполнить команду или получить данные в обход проверок авторизации.
API9:2019 - Ненадлежащее управление активами API обычно имеют больше точек входа по сравнению с традиционным веб приложениями, что приводит к необходимости постоянного ведения и обновления документации. Надлежащая инвентаризация хостов (доменов и серверов, на которых функционирует API) и развернутых версий API играет важную роль в предотвращении проблем, таких как публикация устаревших версий API и точек входа, используемых для отладки.
API10:2019 - Недостаточное логирование и мониторинг Недостаточное логирование и мониторинг вместе с отсутствующим или неэффективным реагированием на инциденты позволяет злоумышленникам атаковать и оставаться в системе, атаковать другие системы, доступные из скомпрометированной, а также извлекать или уничтожать данные. Большинство исследований произошедших атак показывает, что время обнаружения атак превышает 200 дней, а также что обычно атаки обнаруживаются извне, а не внутренними процессами или мониторингом.