Как мы обеспечиваем безопасность прикладных API с помощью Platform V Synapse

31b8c208786c9320920ad2e6fe290b8a.jpg

Привет, Хабр! Я Наталья Грачева, владелец продукта в СберТехе, ведущий руководитель ИТ-направления. Мы с командой развиваем продукт Platform V Synapse — децентрализованную платформу для задач интеграции. Я расскажу, почему важно обеспечивать безопасность API прикладных решений и как мы помогаем командам разработки делать это самостоятельно, с помощью специального инструмента в составе нашего продукта.

Зачем отслеживать риски безопасности API

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

Мы также регулярно отслеживаем глобальные тренды безопасности. Один из бенчмарков, на которые мы ориентируемся при мониторинге, — это OWASP (Open Worldwide Application Security Project), созданный в некоммерческом объединении, которое появилось и работает для того, чтобы улучшать безопасность программного обеспечения.

Ежегодно OWASP публикует список »10 наиболее опасных уязвимостей при разработке API». Недостаточный уровень безопасности API может привести к раскрытию конфиденциальной информации, потере, изменению или повреждению данных в системе, использованию сервера третьими лицами в качестве прокси, инъекции кода, эксплуатации известных уязвимостей в системе и многим другим бедам.

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

Как решили задачу

Для решения этих задач мы разработали и развиваем API Explorer — инструмент, который в реальном времени позволяет собирать сведения об API, анализировать запрос и сигнализировать о наличии в нем опасных уязвимостей из топ-10 списка OWASP:

  • API1:2023 — Broken Object Level Authorization — Недостатки доступа к объектам;

  • API2:2023 — Broken Authentication — Недостатки авторизации;

  • API5:2023 — Broken Function Level Authorization — Недостатки доступа к функциям.

Помимо этого, API Explorer позволяет:

  • анализировать как внешний, так и внутренний проходящий трафик в кластере;

  • для каждого endpoint на основе трафика реконструировать схему в формате OpenAPI;

  • в реальном времени фиксировать отклонения запроса от «эталонной» схемы API — загруженной или ранее реконструированной и утвержденной.

Верхнеуровнево архитектуру инструмента можно описать так:

  • все сервисы разворачиваются в контуре ServiceMesh,

  • на POD каждого прикладного приложения устанавливается сайдкар Envoy Proxy, в который внедряется специальный wasm‑фильтр,

  • все запросы, приходящие на POD, дублируются на Backend API Explorer, где происходит обработка,

  • Kubernetes Operator служит для загрузки OpenAPI‑спецификаций в процессе деплоя прикладных приложений.

dbca31fe4f29ee51cac5f0726b37a0a4.png

После авторизации пользователь видит дашборд, на котором отображается сводная статистика по событиям за выбранный период времени.

8d17135166a730d79a0dc9807a61047e.png

Анализ недостатков авторизации включает в себя проверку наличия пароля в списке наиболее распространённых паролей и наличие конфиденциальной информации в claim JWT-токена.

7276de7382b0f42fd44eaaa4da5d0511.png

Кроме недостатков авторизации на вкладке «Анализ запроса» отображаются недостатки доступа к объектам. API Explorer проверяет, есть ли в теле запроса строки, соответствующие заданным регулярным выражениям, доступ по ID к объектам, если этот ID не был запрошен ранее, и другие уязвимости.

198f8fb1701d40dcc4c3db864ed0ba37.png

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

В примере ниже к одному и тому же хосту было два запроса: один с хоста, на котором производилось обучение, другой через прокси. Первый запрос был идентифицирован как авторизованный, второй — как потенциально несанкционированный.

bdfc0e9c3f1174e73bfe40e91b7e8fab.png52aeb6dea8b2ff024a9d0a32d62bb771.png

Вместо заключения

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

Инструмент API Explorer позволяет анализировать и оценивать степень защиты API в системе, получать в режиме run‑time информацию о потенциальных угрозах безопасности, связанных с API. Это помогает оперативно принимать решения о необходимости дополнительных мер по защите.

Встраивание API Explorer в ИТ‑ландшафт с помощью интеграционной платформы Platform V Synapse позволяет выстроить непрерывный процесс управления API: доступ к наиболее актуальной информации по всем API системы, автоматизацию проектирования и разработки, построение DevOps.

© Habrahabr.ru