ПроAPI Структура¶
С помощью программного обеспечения (ПО) ПроAPI Структура вы можете получить актуальную структуру REST API вашего приложения, построенную на основе данных о фактическом использовании API. ПО непрерывно анализирует запросы из реального трафика, а также ответы API и по результатам анализа формирует структуру API.
ПроAPI Структура может использоваться как вместе с решением Вебмониторэкс по защите веб-приложений, так и отдельно.
Построенная структура API отображается в разделе ПроAPI Структура. Раздел доступен только пользователям со следующими ролями:
-
Администратор и Аналитик могут управлять данными, обнаруженными ПроAPI Структура.
Глобальный администратор и Глобальный аналитик в аккаунтах с опцией мультиарендности имеют такие же права.
-
Разработчик API может просматривать и скачивать структуру API, построенную ПроAPI Структура. Эта роль позволяет выделить пользователей, которым для решения рабочих задач необходимо иметь актуальную структуру API компании. Пользователи имеют доступ только к секциям ПроAPI Структура и Настройки → Профиль.
ПроAPI Структура отображается в привычном виде, подобном Swagger UI, и состоит из следующих элементов:
-
Клиентские приложения и хосты API.
-
Эндпоинты, сгруппированные по хостам API. Для каждого эндпоинта отображается HTTP-метод.
Какие задачи решает ПроAPI Структура?¶
Основная задача, которую позволяет решить ПроAPI Структура — получение актуальной и полной структуры API.
Поддержание описания API в актуальном состоянии — сложная задача. Компания может использовать несколько API, создавать документацию на каждый API с помощью разных инструментов и процессов. Зачастую это приводит к неактуальности документации API, неполноте данных о его структуре и публичности.
Поскольку ПроAPI Структура использует реальный трафик в качестве источника данных, оно помогает получать актуальную и полную документацию по API. Эта документация включает все эндпоинты, которые фактически обрабатывают запросы.
Построенная структура API позволяет:
-
Иметь картину всего API, включая список публичных и внутренних эндпоинтов.
-
Понимать, какие данные передаются в API.
-
Отфильтровать атакуемые API, сортировать их по количеству хитов.
-
Фиксировать API, в которых на сервер передаются чувствительные данные.
-
Экспортировать актуальную структуру API в формате OpenAPI v3 и сравнивать ее с вашим собственным описанием API. В ходе сравнения можно обнаружить:
- Список эндпоинтов, обнаруженных Вебмониторэкс, но отсутствующих в вашей спецификации (недостающие эндпоинты, так называемый "Shadow API").
- Список эндпоинтов, присутствующих в вашей спецификации, но не обнаруженных Вебмониторэкс (неиспользуемые эндпоинты, так называемый "Orphan API").
-
Отслеживать изменения в структуре API, произошедшие в выбранном промежутке времени.
-
Быстро создавать правила для любого эндпоинта.
-
Получать полный список вредоносных запросов, направленных на эндпоинт.
-
Предоставлять вашим разработчикам доступ к чтению и скачиванию построенной структуры API.
Как работает ПроAPI Структура?¶
ПроAPI Структура опирается на статистику запросов и использует сложные алгоритмы для создания актуальных спецификаций API на основе его фактического использования.
Гибридный подход¶
ПроAPI Структура использует гибридный подход: анализ данных осуществляется как локально, так и в Вычислительном кластере. Это обеспечивает конфиденциальность данных, так как данные запросов и чувствительные данные остаются в вашей локальной сети. Процесс анализа включает следующие этапы:
-
ПроAPI Структура локально анализирует, на какие эндпоинты поступает легитимный трафик и какие параметры передаются в запросах.
-
На основе этих данных формируется статистика, которая отправляется в Вычислительный кластер в защищенном виде.
-
Вычислительный кластер Вебмониторэкс агрегирует полученную статистику и строит на ее основе описание API.
Определение шума
Редкие или одиночные запросы определяются как шум и не учитываются в структуре API.
Определение шума¶
ПроAPI Структура определяет шум, руководствуясь двумя базовыми параметрами трафика:
-
Стабильность эндпоинта – не менее 5 запросов должны быть зафиксированы в течение 5 минут с момента первого запроса к эндпоинту.
-
Стабильность параметра – частота появления параметра в запросах к эндпоинту должна быть больше 1 процента.
В структуре API отобразятся эндпоинты и параметры, превышающие эти лимиты. Время построения полной структуры API зависит от разнообразия и интенсивности трафика.
Дополнительно ПроAPI Структура фильтрует запросы по ряду других критериев:
-
Учитываются только запросы, на которые сервер вернул ответ 2xx.
-
Стандартные поля, такие как
Сontent-Type
,Accept
и подобные отбрасываются.
Элементы структуры API¶
В структуру включены следующие элементы:
-
Эндпоинты API
-
Методы запросов к API (GET, POST и другие)
-
Обязательные и опциональные GET‑ и POST‑параметры, а также заголовки запросов к API, включая:
- Тип/формат данных, которые передаются в каждом параметре
-
Наличие и тип чувствительных данных в параметре:
- Технические данные, например: IP-адрес или MAC-адрес
- Учетные данные, например: секретный ключ или пароль
- Финансовые данные, например: номер банковской карты
- Медицинские данные, например: номер страховки
- Персональные данные (PII), например: ФИО, номер паспорта или водительского удостоверения
-
Дату последнего обновления информации о параметре
Типы и форматы данных в параметрах¶
ПроAPI Структура анализирует значения, которые передаются в каждом из параметров эндпоинта, и пытается определить их формат:
-
Int32
-
Int64
-
Float
-
Double
-
Date
-
Datetime
-
Email
-
IPv4
-
IPv6
-
UUID
-
URI
-
Hostname
-
Byte
-
MAC
Если значение в параметре не попадает под конкретный формат данных, то будет указан один из общих типов данных:
-
Integer
-
Number
-
String
-
Boolean
Для каждого параметра в колонке Тип отображается:
-
Формат данных
-
Если формат не определен – тип данных
Информация о типе/формате позволяет проверить, передаются ли в параметрах данные ожидаемого формата. Несоответствия могут быть результатом атаки или сканирования вашего API, например:
-
В поле с
IP
передаются данные типаString
-
В поле, где должно быть значение не больше
Int32
, передаетсяDouble
Безопасность данных в Вычислительном кластере Вебмониторэкс¶
ПроAPI Структура анализирует большую часть трафика локально. При совместном использовании ПроAPI Структура отправляет в Вычислительный кластер Вебмониторэкс только эндпоинты, имена параметров и статистику (время, количество запросов и т.д.). Данные отправляются безопасным способом: значения параметров всех запросов хешируются согласно алгоритму SHA‑256.
На стороне Вычислительного кластера хешированные данные используются только для статистического анализа, например, для определения количества запросов с такими же параметрами.
Значения эндпоинтов, методы запросов и названия параметров не хешируются, так как это ключевые данные для построения структуры API, а восстановление из хеша их оригинальных значений невозможно.
Важно
Вебмониторэкс не пересылает в Вычислительный кластер значения параметров. Отправляются только эндпоинты, имена параметров и статистика по ним.