Освойте лучшие практики безопасности OWASP Top 10
В этом обучении вы научитесь:
Выберите вашу роль для продолжения:
💡 Это обучение содержит технический контент по безопасному программированию для разработчиков
Это обучение по безопасному программированию содержит технический контент специально для инженеров и разработчиков. Как нетехнический специалист, вы можете:
Оба варианта засчитают обучение как пройденное
Нажмите на каждый пункт, чтобы узнать об этих критических уязвимостях:
Что это такое: Злоумышленники могут действовать за пределами своих разрешенных прав, получая несанкционированный доступ к чужим данным или функциям администратора.
Пример: Изменение параметра в URL (например, account_id=123 на account_id=1) дает доступ к учетной записи другого пользователя без проверки прав сервером.
Предотвращение:
Что это такое: Неправильные настройки безопасности в приложениях, фреймворках, серверах или облачных средах. Категория поднялась на 2-е место в 2025 году.
Пример: Оставленные включенными отладочные функции в production-среде, открытые S3-корзины без аутентификации или использование паролей по умолчанию.
Предотвращение:
Что это такое: Новая категория 2025 года. Компрометация продукта через сторонние зависимости, инструменты сборки, CI/CD-конвейеры или образы контейнеров.
Пример: Внедрение вредоносного кода в популярный NPM-пакет или использование OpenSource-библиотеки с известной критической уязвимостью.
Предотвращение:
Что это такое: Ошибки в реализации криптографии, которые приводят к утечке конфиденциальных данных (паролей, персональных или финансовых данных).
Пример: Использование устаревших алгоритмов хеширования (MD5/SHA1), передача данных в открытом виде по HTTP или жестко закодированные API-ключи в коде.
Предотвращение:
Что это такое: Уязвимость возникает, когда недоверенные данные отправляются интерпретатору как часть команды или запроса (SQL, NoSQL, OS-команды, XSS).
Пример: Ввод вредоносного SQL-кода ' OR 1=1 -- в поле логина, который модифицирует запрос и заставляет базу данных вернуть все записи пользователей.
Предотвращение:
Что это такое: Уязвимости, возникающие из-за отсутствия архитектурного планирования безопасности и моделирования угроз на ранних этапах разработки.
Пример: Механизм восстановления пароля, полагающийся на предсказуемые "секретные вопросы" (например, девичья фамилия матери), что позволяет легко взломать аккаунт.
Предотвращение:
Что это такое: Ошибки в механизмах проверки личности, управлении сессиями или восстановлении доступа, позволяющие злоумышленникам выдавать себя за других.
Пример: Отсутствие защиты от перебора паролей (brute-force) или использование токенов сессий с длительным сроком жизни без возможности их отзыва.
Предотвращение:
Что это такое: Системы полагаются на обновления, плагины или данные из CI/CD без должной проверки их целостности, что приводит к несанкционированным изменениям.
Пример: Приложение загружает критическое обновление по незашифрованному каналу без проверки цифровой подписи, и злоумышленник подменяет файл.
Предотвращение:
Что это такое: Отсутствие или неадекватность логов безопасности и мониторинга, что позволяет злоумышленникам долгое время оставаться незамеченными.
Пример: Система не записывает неудачные попытки входа или смены привилегий, из-за чего атака длится днями без срабатывания оповещений у команды ИБ.
Предотвращение:
Что это такое: Новая категория 2025 года. Ошибки в логике обработки сбоев системы, приводящие к раскрытию конфиденциальной информации или "небезопасному отказу".
Пример: При ошибке подключения к базе данных приложение выводит пользователю полную трассировку стека (stack trace) с внутренними IP-адресами и фрагментами кода.
Предотвращение:
0/10 изучено
Вы проверяете pull request коллеги. Сначала выявите уязвимость, затем посмотрите её в действии!
⚠️ Требуется проверка безопасности
Этот код обрабатывает аутентификацию пользователей веб-приложения. Какова критическая уязвимость?
Какова уязвимость в этом коде?
Посмотрите, как злоумышленник мог бы использовать эту уязвимость:
Проанализируйте эту функцию аутентификации. Нажимайте на строки кода для изучения, затем запустите сканер безопасности!
Ваш CI/CD-конвейер обнаружил критические уязвимости в npm-пакетах. Каков ваш ответ?
⚠️ Требуется решение по конвейеру сборки
Развёртывание на продакшн запланировано через 2 часа. Каков ваш ответ?
Вы освоили 10 лучших практик безопасного программирования по версии OWASP!
Будьте бдительны. Оставайтесь в безопасности. 👾