Rostelecom Security Labs

SecureCode Review — Weak SHA-256 Password Hash

Сервис логина хеширует пароли через SHA-256 со статичной солью. Найди уязвимость, предложи переход на адаптивный алгоритм и тесты на силу хешей.

📚 Теория: почему SHA-256 не подходит для паролей (раскрыть)

Проблема

SHA-256 быстрый и без адаптации. Секунда — миллиарды попыток. Статичная соль из конфига только ускоряет атаку.

⚠️ Rainbow tables и GPU брутфорс вскрывают базу моментально.

Решение

Используйте адаптивные функции: BCryptPasswordEncoder, Argon2PasswordEncoder, PBKDF2 с высокими параметрами cost и pepper из KMS.

🔐 Храните pepper в Secret Manager, тестируйте силу хеша в CI.

1. DUMP

Атакующий скачивает базу с SHA-256+staticSalt.

2. GPU

Кластер перебирает миллионы комбинаций в секунду.

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

Пароли взломаны, аккаунты в проде скомпрометированы.

Как надо: адаптивные хеши, уникальные соли, pepper из KMS, тесты на утечки секретов и проверка настроек encoder-а.

Контекст

Команда хотела совместимость с legacy, поэтому оставила SHA-256. Попутно статичная соль хранится в конфиге, что облегчает брутфорс. Нужно показать проблему и описать переход на современные практики.

Сниппет

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

Code Review

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

После ревью зафиксируй флаг, чтобы дашборд засчитал лабораторию.