Безопасность API: как в интерфейсах находят уязвимости

Чтобы понять, что такое уязвимость в программном интерфейсе приложений, можно представить такую картину. Злоумышленник делает в ресторане сразу несколько тысяч заказов. Разумеется, к его столику сбегается весь персонал, который олицетворяет API, и пытается записать все пожелания относительно блюд. Царит небывалая суматоха, остальные клиенты уныло ждут своей очереди, а между тем напарник мошенника незамеченным вскрывает и обчищает сейф с выручкой. Затем виновник неразберихи внезапно отказывается от своих намерений и быстро уходит.

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

API – это канал взаимодействия со сложными информационными системами. Поэтому ни один разработчик не застрахован от того, чтобы недооценить отдельный структурный элемент, который в конечном итоге создаст проблему безопасности. Как же с этим бороться? Для этих целей служит специальная процедура.

Тестирование на проникновение API

1.jpg

В ходе отработки метода (API Penetration Testing), применяя контролируемые и безопасные кибератаки, можно оценить степень защищенности API и выявить наиболее успешные направления для эксплуатации уязвимостей:

  • потенциал для злоупотребления имеющимися методами;
  • варианты обхода процедур аутентификации и авторизации;
  • возможности применения отдельных способов внедрения команд;
  • определение успешности межсайтового скриптинга;
  • способность посредством API заставить браузер отрендерить страницу с вредоносным кодом и так далее.

Таким образом удается выявить самые крупные уязвимости как в автономной структуре API, так и возникающие при интеграции API с другой информационной системой.

Инструменты для тестирования на проникновение

Можно выделить несколько приложений, которые используются, чтобы провести процедуры поиска уязвимостей, и являются не только популярными, но и могут быть быстро освоены благодаря большому количеству учебного материала на любой площадке в интернете. Вот простые инструкции для трех самых востребованных продуктов. Чтобы разобраться, даже не потребуются иллюстрации – достаточно взглянуть на интерфейс приложения.

Postman

После того как в адресную строку HTTP-клиента будет помещен API URL, потребуется:

  • из выпадающего списка рядом выбрать один из методов: GET, POST, OPTION и т. д.;
  • перейдя во вкладку Body, ввести API-запрос и затем установить API-Заголовки в позицию «Заголовки»;
  • нажать кнопку **Send **и получить ответ API.

SoapUI

В этом приложении точно так же, как и в предыдущем, можно указывать API URL, составлять запросы API, задавать заголовки и генерировать API-ответы. 2_ApacheCXF-JAX-WS-Top-Down-Security-Interceptors_SOAP_UI_Testing.png

BorpSuite

Интегрированная платформа для аудита веб-приложений, позволяющая проводить проверки как в ручном, так и в автоматическом режимах. Инструмент можно настроить для захвата запросов API через Postman и/или SoapUI и/или для сбора трафика целевого мобильного или веб-приложения. Конфигурируется BorpSuite так:

  • в окне утилиты нужно перейти во вкладку **Proxy **и далее во вкладку Options, ввести IP-адрес хоста 127.0.0.1 и прописать порт 8080;
  • перейти во вкладку **Intercept **и нажать кнопку Intercept is on, позволяющую начать процесс перехвата трафика.

Помимо выявления уязвимостей, важно обеспечить надежную точку доступа к своему API для других пользователей. Маркетплейс RICAPI гарантирует защиту от любых самых современных киберугроз и обеспечивает наилучшие условия функционирования за счет балансировки трафика.

3maxresdefault.jpg