Этап 11 из 15 · ≈ 4 ч

Безопасность приложения

Основа с Junior

OWASP Top 10, инъекции, секреты, зависимости и защита данных.

Что важно знать

  • Инъекции — только параметризованные запросы.
  • Доступ к объектам: проверять владельца ресурса, а не только вход.
  • SSRF: сервер не должен ходить по адресам из пользовательского ввода без проверки.
  • Секреты — в хранилище (Vault, секреты облака), не в коде и логах.
  • Зависимости — сканирование и обновления.
  • Данные: шифрование при передаче и хранении, маскирование персональных данных в логах.

Критерии освоения

Junior ≈ 4 ч

  • Защищается от SQL-инъекций параметризованными запросами и не хранит секреты в коде

Практика. Найти и исправить SQL-инъекцию и захардкоженный пароль в учебном сервисе.

Middle ≈ 6 ч

  • Проверяет сервис по OWASP Top 10, включая доступ к чужим объектам и SSRF
  • Хранит секреты в хранилище и ротирует их
  • Отслеживает уязвимости зависимостей в CI

Практика. Проверить свой сервис по OWASP Top 10, исправить найденное и добавить сканирование зависимостей в CI.

Senior ≈ 6 ч

  • Проводит моделирование угроз для нового сервиса и вводит практики безопасной разработки в команде

Практика. Провести моделирование угроз для сервиса платежей и составить план мер.

Проверка знаний

Войдите, чтобы пройти тест: сданный тест отмечает тему пройденной на карте и в ИПР.

Вопросы с собеседований

Смотреть все
Что такое SQL-инъекция и как от неё защититься?Junior

Инъекция — данные пользователя попадают в текст запроса и меняют его смысл: ' OR '1'='1 превращает проверку пароля в «всегда истина».

Полный разбор
Что такое XSS и как от неё защищаться?Junior

XSS — злоумышленник заставляет сайт выполнить его JavaScript в браузере другого пользователя: скрипт работает с правами сайта — читает данные страницы, отправляет запросы от имени жертвы.

Полный разбор
Что такое CSRF и как он связан с CORS?Middle

CSRF — чужой сайт заставляет браузер жертвы отправить запрос на ваш сайт; браузер сам приложит cookie, и запрос выполнится от имени пользователя. CORS — правила, когда скрипт с одного домена может читать ответы другого.

Полный разбор
Как правильно хранить пароли пользователей?Junior

Не хранить пароль вовсе — только результат медленной функции с солью: argon2id, bcrypt или scrypt. При входе считаем то же самое и сравниваем.

Полный разбор
Как правильно работать с секретами в CI/CD и инфраструктуре?Middle

Секреты не хранят в коде, образах и логах. Источник — хранилище секретов (Vault, облачный менеджер, секреты CI), выдача — по минимальным правам и по возможности короткоживущая (OIDC вместо статических ключей облака). Утёкший в Git секрет считается…

Полный разбор
Чем хеширование отличается от шифрования и кодирования?Junior

Кодирование (Base64, URL-кодирование) — смена формата, обратимо без секрета. Шифрование — обратимо только с ключом. Хеширование — необратимый отпечаток фиксированной длины.

Полный разбор
Чем симметричное шифрование отличается от асимметричного и что такое цифровая подпись?Middle

Симметричное — один общий ключ шифрует и расшифровывает (AES): быстро, но ключ надо как-то передать. Асимметричное — пара ключей: открытый знают все, закрытый — только владелец (RSA, ECC): медленно, но не нужно делиться секретом.

Полный разбор

Разборы темы

← Вся карта «Backend-разработчик»

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования