Уязвимости и атаки на API
Публичный API — граница доверия. Ошибки авторизации и валидации здесь дороже, чем в UI: скрипты бьют тысячи запросов в минуту.
Общая база: безопасность приложений, интеграционная авторизация.
Модель угроз (кратко)
Защита строится на: аутентификация, авторизация на каждый ресурс, валидация входа, лимиты, наблюдаемость.
Каталог угроз
| Угроза | Суть | Пример | Митигация |
|---|---|---|---|
| Broken Access Control / IDOR | Доступ к чужому объекту по ID | GET /orders/999 чужого заказа | Проверка владельца в сервисе, не только «есть JWT» |
| SQL / NoSQL / Command injection | Враждебный ввод в запрос | ' OR 1=1-- | Параметризованные запросы, ORM, whitelist |
| Mass assignment | Клиент прислал лишние поля | {"role":"admin"} в профиле | DTO, явный allow-list полей |
| Open Redirect | ?next=http://evil | Фишинг с вашим доменом | Whitelist URL редиректа |
| SSRF | Сервер дергает внутренний URL | url=http://169.254.169.254 | Блок private IP, исходящий proxy |
| XSS (через API → HTML) | Неэкранированные данные в письме/админке | Stored XSS | Экранирование, CSP |
| CSRF | Браузер шлёт cookie без ведома | POST с чужого сайта | SameSite, anti-CSRF token |
| Brute force | Перебор паролей / OTP | Тысячи /login | Rate limit, captcha, lockout |
| DoS / HTTP flood | Исчерпание воркеров | Медленные POST | Rate limit, WAF, body size cap |
| Slowloris / slow POST | Держит соединения открытыми | Медленная отправка тела | Таймауты на прокси |
| Zip bomb | Маленький архив → гигабайты | Распаковка без лимита | Лимит размера, streaming scan |
| Logic bomb | Злоупотребление бизнес-правилом | Бесконечные бонусы | Инварианты, аудит, лимиты |
| MITM | Подслушивание канала | Публичный Wi‑Fi | TLS везде, HSTS |
| Утечка в ответе | Stack trace, внутренние ID | 500 с SQL в теле | Единый error handler |
IDOR — разбор типичного промаха
GET /api/v1/documents/550e8400-e29b-41d4-a716-446655440000
Authorization: Bearer <valid_user_A>
Сервер возвращает документ, если UUID существует, не проверяя, что документ принадлежит user A.
Правильно: SELECT … WHERE id = @id AND owner_id = @currentUser.
Тест: два пользователя, два объекта — ни один не читает чужой ID.
Rate limiting
| Уровень | Где |
|---|---|
| Глобальный | API Gateway, Nginx limit_req |
| По пользователю | Middleware + Redis counter |
| По операции | Строже на /login, /reset-password |
Алгоритмы: token bucket, sliding window. Ответ: 429 Too Many Requests + заголовок Retry-After.
Заголовки и hardening
Минимальный набор для HTTP API за прокси:
Strict-Transport-Security- ограничение
Content-Typeна входе - не отдавать лишние заголовки (
Server, внутренние версии)
Для браузерных клиентов — CORS и CSP на фронте.
Процесс в команде
- Threat modeling на новый endpoint (STRIDE-lite достаточно).
- Security-тесты в CI: известные IDOR/SQLi кейсы на staging.
- Пентест перед крупным релизом публичного API.
- Реагирование: блок токена, откат, post-mortem (наблюдаемость).
Связанные темы
См. также
Другие статьи этого же раздела в боковом меню (как на странице «О разделе»). OWASP (Open Web Application Security Project) — это некоммерческая организация, которая выпускает список TOP 10 самых опасных уязвимостей веб-приложений. Методы защиты информации - непрерывный процесс на жизненном цикле системы, безопасная разработка и типовые угрозы. Инцидент информационной безопасности — это событие или последовательность событий, нарушающих или угрожающих нарушить конфиденциальность, целостность или доступность информации. Средства защиты информации - эволюция терминов и требований ФСТЭК России, включая актуализацию после приказа № 117 (2025). Сертификация и цифровые сертификаты - роли сторон, доверие и инфраструктура открытых ключей (PKI). Content Security Policy — это мощный механизм защиты от XSS, clickjacking и других атак, основанный на белых списках источников ресурсов. Анализ безопасности — это систематический процесс выявления, оценки и приоритизации уязвимостей в программном обеспечении. Безопасность на ранних этапах разработки (Secure Software Development Life Cycle, Secure SDLC) представляет собой методологию внедрения практик защиты информации непосредственно в процесс создания. Контроль и отслеживание в ИБ - журналирование действий, аудит и анализ операций для расследований и соответствия требованиям. Шифрование в информационной безопасности - цели, обратимость преобразования и роль ключей при защите данных. HTTPS функционирует на порту 443. Этот порт используется большинством веб-серверов по умолчанию. Блокировка соединения на этом порту нарушает работу интернета. Современный мессенджер представляет собой распределённую систему с несколькими ключевыми узлами. Основными компонентами являются клиентское приложение и серверная инфраструктура.Информационная безопасность
Методы защиты информации
Государственные требования к информационной безопасности
Средства защиты информации
Сертификация и сертификаты
Безопасность приложений
Анализ и тестирование безопасности
Безопасность на ранних этапах разработки
Контроль и отслеживание
Шифрование
SSH и HTTPS
Архитектура взаимодействия мессенджеров