Rostelecom Security Labs

SecureCode Review — Hardcoded Crypto Key

Утилита шифрования хранит мастер-ключ в массиве байт прямо в исходниках. Найди строку, опиши риск и предложи безопасную архитектуру управления ключами.

📚 Теория: Управление криптографическими ключами (раскрыть)

Master key в коде = уязвимость

Ключ сохраняется в репозитории, попадает в jar/war и его можно извлечь через strings/bytecode.

🔓 Потеря контроля над шифрованием и конфиденциальностью данных.

Best practices

Ключи выдаёт KMS или Secret Manager. Приложение получает временные токены, а не хранит ключи локально.

🛡️ Включайте аудит, ротацию и минимальные привилегии.

1. Компрометация

Собранный jar попадает к злоумышленнику.

2. Извлечение ключа

Атакующий читает массив байт и восстанавливает мастер-ключ.

3. Расшифровка

Все архивы/пароли можно дешифровать и подделать.

Что делать: хранить ключи в HSM/KMS, получать временные data keys через envelope encryption, никогда не коммитить ключи в repo.

Контекст

Команда реализовала быстрый сервис шифрования для временных файлов. Чтобы «не разбираться с Vault», ключ сохранили в массиве байт. Нужно показать, что это шаг к полной компрометации данных.

Сниппет

Загружаем сниппет…

Code Review

Проверка флага

Введи флаг из референс-решения, чтобы лаборатория появилась в прогрессе.