Опасные связи: чем тестировать API и почему это важно
Кибербезопасность требует мощной переоценки решений, принятых во время пандемии. Особенно тех, что касаются сервисов API – атаки на них становятся все более динамичными. Так считает большинство ИТ-руководителей, которых опросили аналитики Distology (Великобритания).
Какие риски учесть, чтобы обезопасить компанию от подобных атак? Как выбирать инструменты тестирования API? И кто этим должен заниматься? Обо всем по порядку – в этой статье.
Что такое API
API, или Application Programming Interface, – это интерфейс программирования приложений. Он включает в себя инструменты и правила, благодаря которым одна программа может взаимодействовать с другой.
API помогает разработчикам расширять возможности своих продуктов и интегрировать их с другими. Благодаря ему, например, мобильное приложение для доставки цветов использует гугл-карты, а пользователь интернет-магазина покупает товары без перехода в приложение банка.
Программы для тестирования API
Выбор инструментов тестирования API зависит от множества параметров. Один из них – язык, на котором разрабатывается основной продукт. Например, если используется Java, то стоит присмотреться к REST-Assured. Утилита легко интегрируется с любым приложением для автотестирования на этом языке. Также, если нужно автоматизировать процесс, можно обратить внимание на Citrus Framework, Katalon Studio или Assertible.
Если практики или желания заниматься автотестами нет, то может быть достаточно приложения Postman. Эта программа для тестирования API раньше была плагином Chrome. Сегодня она легко работает в приложениях для Mac, Windows, Linux. У Postman есть альтернатива – Postwoman, с которой можно проводить API-тестирование онлайн.
Такой же простой в использовании, как и предыдущие два, инструмент – Insomnia. Функциональность, по большому счету, та же, что и в Postman.
Еще одна популярная утилита – SoupUI. Вариант подходит, если приходится анализировать и отрабатывать сложные сценарии пользовательского поведения. В этом инструменте тестирования API можно не только гибко настроить тесты, но и добавить свой функционал.
Помимо SoupUI, QA-специалисты часто используют JMeter. И хотя это приложение изначально создавали для нагрузочного тестирования, сейчас его активно применяют для функциональных проверок.
Всего в списке больше двадцати утилит. Но что именно выбрать и чем тестировать API в вашем случае – вопрос, на который нет однозначного ответа. Как правило, QA-специалисты используют несколько утилит. Всё потому, что одного инструмента тестирования API, а точнее его функциональности, обычно бывает недостаточно. Особенно если речь идет о проверках безопасности.
[...]
Кто выбирает приложения для тестирования API
Как правило, инструменты тестирования API использует в работе QA-инженер. Должен ли специалист ИБ заниматься такими задачами? Эксперты считают, что да. Но ответ чаще зависит от кейса, конкретной компании и того, какие требования предъявляются к основному программному продукту.
Денис Исангулов, руководитель отдела тестирования NGR Softlab:
QA-специалист должен проверять риски кибербезопасности при тестировании API, так как это поможет выявить уязвимости и предотвратить возможные атаки на систему. При этом специалисту по информационной безопасности тоже важно быть вовлеченным в процесс тестирования, чтобы предоставить дополнительную экспертизу в предметной области.
ИБ-специалист способен помочь QA-специалисту более детально разобраться с подходом к тестированию. А позже – помочь устранить обнаруженные уязвимости.
[...]
Итоги
Как именно и чем тестировать API, в компании решают двое – QA-инженер и ИБ-специалист. Особенно такое сотрудничество важно сейчас, когда атаки на программный интерфейс приложений становятся более частыми и масштабными.
Главное в этой войне – помнить, что цель важнее средств. Инструменты тестирования API могут быть эффективными, только если они реально гарантируют безопасность конкретного продукта или бизнеса. Полагаться на общепринятые в этой сфере утилиты и решения – сегодня явно опасная стратегия.