Анализ защищённости интерфейса взаимодействия с приложениями (API)

API (Application Programming Interfaces – программный интерфейс приложения) являются ключевым элементом стратегий цифровой трансформации и инноваций в сегодняшнем мире, где взаимодействие без приложений невозможно.

Согласно определению OWASP API Security Project, «API является важной составляющей современных мобильных, SaaS и веб-приложений, используемая в клиентских, партнерских и внутренних приложениях. По своей природе API раскрывают логику приложения и конфиденциальную информацию, например, персональные данные, и по этой причине именно API все чаще становятся целью для злоумышленников. Стремительные инновации невозможны без безопасных API».

 

Проблематика

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

 

Компания Salt Security опубликовала результаты отчета по безопасности API «Состояние безопасности API, первый квартал 2021 года». Согласно отчету, у 91% организаций имели место инциденты безопасности API в 2020 году. Более половины (54%) сообщили об обнаружении уязвимостей в своих API, 46% указали на проблемы аутентификации и 20% описали проблемы, вызванные ботами и инструментами для очистки данных.

 

По мнению Gartner, к 2022 году кибератаки на API-интерфейсы будут наиболее распространенным типом атак.

 

Безопасность API – это не что иное, как защита конечных точек API-интерфейсов от злоумышленников.

 

Незащищенный API  — это:

  • Некорректная авторизация
  • Некорректная аутентификация
  • Утечка конфиденциальной информации
  • Отсутствие лимитов на ресурсы и запросы
  • Некорректная авторизация функций
  • Переназначение параметров
  • Ошибки настроек безопасности
  • Уязвимости вида «инъекция» — SQL, NoSQL, внедрение кода/команд, и т.д.
  • Некорректное управление ресурсами
  • Недостаточное логирование и мониторинг

 

Для чего нужен анализ защищенности API?

  • Для предотвращения утечки данных клиентов. Эти данные затем продаются в дарквебе.
  • Чтобы предотвратить взлом вашего веб-сайта и бизнеса. Это может серьезно повлиять на репутацию вашего бренда.
  • Для предотвращения судебных исков из-за раскрытия данных клиентов (в случае небрежности с вашей стороны).
  • Это позволяет вам соответствовать требованиям.
  • Помогает подготовить вашу команду к реальной кибератаке.

 

Безопасность API фокусируется на стратегиях и решениях для понимания и снижения уровня уникальных уязвимостей и рисков безопасности интерфейсов взаимодействия с приложениями (API).

 

Почему мы рекомендуем ручное тестирование на проникновение?

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

 

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

 

Для подтверждения всех типов уязвимостей часто требуется ручной анализ. Мы можем использовать автоматизированные инструменты тестирования безопасности, чтобы завершить работу быстрее, но при этом уделить достаточно времени для проверки приложения на предмет логических уязвимостей. Следовательно, в таких случаях можно использовать автоматизированные инструменты для поиска четкой цели, после чего можно эксплуатировать уязвимость вручную.