Вопросы по Безопасность приложений
Уязвимости веба и API, их причины и защита, криптография на практике, supply chain, Secure SDLC и моделирование угроз. Готовит к собесу AppSec-инженера и к вопросам безопасности на секции разработчика.
Проверьте себя: тест по безопасности приложений
20 вопросов, 10 минут, уровень junior, middle или senior
OWASP Top 10 и API Top 10
Какие классы уязвимостей входят в списки OWASP, чем веб-список отличается от API-списка и как ими пользоваться.
Урок: OWASP Top 10 и API Top 10: карта уязвимостей 7 минИнъекции: SQL, NoSQL, команды
Почему смешивание данных и кода опасно, параметризованные запросы, ORM, NoSQL-операторы и вызов процессов без шелла.
Урок: Инъекции: SQL, NoSQL и команды ОС 8 мин- Слепая SQL-инъекция
- Безопасный построитель запроса с фильтрами и сортировкой
- Очистка фильтра MongoDB от операторов
- Безопасные аргументы для вызова ping
- Вызов внешней команды
- Небезопасная десериализация
- Идентификаторы в SQL
- Корень всех инъекций
Ещё 13 вопросов и задач
- Права учётки БД
- NoSQL-инъекция в MongoDB
- Инъекция опций
- Сортировка по колонке из запроса
- Исправление найденной SQL-инъекции
- ORM и инъекции
- Почему параметризация защищает от SQL-инъекции
- Ревью: обработчик на Go с базой и командой
- Ревью: репозиторий на Java
- Ревью: поиск товаров на PHP
- Объясните SQL-инъекцию разработчику
- Кейс: инъекции в большом легаси
- SSTI
XSS и CSP
Отражённый, хранимый и DOM XSS, контекстное экранирование, санитайзеры, Content Security Policy и Trusted Types.
Урок: XSS и Content Security Policy 8 мин- Почему allowlist доменов в CSP слабее
- Экранирование HTML
- Проверка URL для ссылки
- CSP с nonce
- DOM-based XSS
- Экранировать при сохранении или при выводе
- Контексты вывода
- Опасные места во фронтенде
Ещё 11 вопросов и задач
CSRF, SameSite и CORS
Как браузер отправляет куки, CSRF-токены, SameSite, проверка Origin и чем CORS не защищает от CSRF.
Урок: CSRF, SameSite и CORS 7 минSSRF, файлы и редиректы
SSRF и метаданные облака, path traversal, загрузка файлов, XXE и открытые редиректы.
Урок: SSRF, файлы и открытые редиректы 8 мин- Безопасное соединение пути
- Проверка адреса редиректа после входа
- Безопасная работа с путём файла
- Безопасная загрузка файлов
- Открытый редирект
- Ревью: редирект после входа на Go
- Ревью: скачивание и загрузка файлов на PHP
- Кейс: отдача файлов по имени
Ещё 13 вопросов и задач
Аутентификация и сессии
Пароли и MFA, сессии и куки, сброс пароля, перебор и credential stuffing, OAuth 2 и OIDC.
Урок: Аутентификация и сессии 8 мин- Ограничение частоты попыток входа
- TOTP по RFC 6238
- Перечисление аккаунтов
- Флаги cookie сессии
- OAuth 2.0 и OIDC
- Безопасный сброс пароля
- Блокировка аккаунта после неудачных попыток
- Правильный выход
Ещё 11 вопросов и задач
- Фактор и его главная слабость
- Почему passkeys устойчивы к фишингу
- Современные требования к паролям
- PKCE
- Ссылка сброса пароля из заголовка Host
- Ревью: вход и сброс пароля на Node.js
- Ревью: callback OAuth на Python
- Фиксация сессии
- Спроектируйте безопасную аутентификацию
- Кейс: волна credential stuffing
- Credential stuffing
Авторизация: IDOR, RBAC, ABAC
Проверка доступа к объекту, BOLA и BFLA, mass assignment, модели RBAC и ABAC, мультиарендность.
Урок: Авторизация: IDOR, BOLA, RBAC и ABAC 8 минКриптография на практике и JWT
Хеширование паролей, симметричное и асимметричное шифрование, HMAC, TLS, случайность и ловушки JWT.
Урок: Криптография на практике: пароли, TLS, HMAC и JWT 8 мин- Проверка HMAC-подписи вебхука
- Разбор и проверка JWT без библиотек
- Проверка пароля по хешу PBKDF2
- Режим ECB
- Параметры хеширования паролей
- Что проверять в JWT
- Хеш, HMAC, шифрование, подпись
- Повтор nonce в AES-GCM
Ещё 13 вопросов и задач
Секреты и управление ключами
Где хранить секреты, Vault и KMS, ротация, утечки в git и логах, envelope encryption.
Урок: Секреты и управление ключами 7 минЗависимости и supply chain
Уязвимые и вредоносные пакеты, lock-файлы, SBOM, подпись артефактов, SLSA и безопасность CI.
Урок: Зависимости и безопасность цепочки поставок 8 минSecure SDLC, сканеры и пентест
SAST, DAST, SCA, секрет-сканеры, security champions, пентест, баг-баунти и работа с находками.
Урок: Secure SDLC, сканеры, пентест и баг-баунти 8 минМоделирование угроз
Диаграмма потоков данных, границы доверия, STRIDE, оценка рисков и превращение угроз в задачи.
Урок: Моделирование угроз и STRIDE 8 мин- Принятие риска
- Дерево атак
- STRIDE по элементам диаграммы
- Модель угроз: вход в мобильный банк
- Модель угроз: приём платежей и вебхуки
- Модель угроз: публичный API мультиарендного SaaS
- Модель угроз: загрузка документов клиентами
- Элементы DFD
Ещё 14 вопросов и задач
- Подходы к моделированию угроз
- Результат сессии моделирования угроз
- STRIDE и меры
- Четыре вопроса моделирования угроз
- Угроза STRIDE и пример
- Ревью: черновик модели угроз
- Ревью: спецификация API перевода между счетами
- Как вы проводите моделирование угроз
- STRIDE для формы входа
- STRIDE по элементам
- STRIDE и свойства безопасности
- Буква R в STRIDE
- Граница доверия
- Когда моделировать угрозы
Облако и контейнеры
IAM и минимальные привилегии, безопасность Docker-образов, Kubernetes RBAC, сетевые политики и секреты в кластере.
Урок: Безопасность облака и контейнеров 8 мин- Линтер безопасности Dockerfile
- Монтирование docker.sock
- Безопасный запуск контейнера
- Безопасный образ
- Базовая защита кластера Kubernetes
- Метаданные облака из контейнера
- Тег latest в FROM
- Права роли сервиса
Ещё 11 вопросов и задач
- NetworkPolicy по умолчанию
- Зачем USER в Dockerfile
- Безопасный путь образа до продакшена
- Pod Security Standards
- Ревью: Dockerfile сервиса
- Ревью: манифест Deployment
- Ревью: Terraform для хранилища и сети
- Токен сервисного аккаунта в поде
- Модель общей ответственности
- Аудит облачного аккаунта
- Кейс: скомпрометирован под
Логирование, реагирование и ПДн
Что логировать и чего нельзя, обнаружение атак, реагирование на инцидент и коротко о 152-ФЗ.
Урок: Логирование, реагирование на инциденты и 152-ФЗ 8 мин- Уведомление об утечке по 152-ФЗ
- Локализация персональных данных
- Усталость от алертов
- Маскирование email и номеров карт в логах
- Экранирование значения для лога
- Что 152-ФЗ требует от разработки
- Этапы реагирования на инцидент
- Поля записи события безопасности
Ещё 11 вопросов и задач
- Защита логов от изменения
- Инъекция в логи
- Первые действия при инциденте
- Что нельзя писать в логи
- Порядок реагирования на инцидент
- Ревью: логирование входа на Java
- Ревью: выгрузка клиентов на Python
- Кейс: утечка персональных данных
- Как организовать логирование безопасности
- Прод-данные в тестовой среде
- Какие события логировать