Действительно ли сессионные ключи, сгенерированные Rails, неуязвимы для атак с предсказанием - PullRequest
3 голосов
/ 14 июня 2019

Мы использовали поставщика услуг автоматического тестирования на проникновение для сканирования нашего веб-приложения на Rails и обнаружили несколько уязвимостей, которые нам удалось исправить больше всего.Теперь, после очередного цикла тестирования, мы обнаружили одну уязвимость, утверждающую, что сила сеанса плохая, что означает, что маркер сеанса предсказуем и имеет низкую случайность, что подвергает приложение атакам с предсказанием сеанса.Мы используем ruby ​​2.5.3p105, Rails 5.2.2, Devise 4.5.0 и обслуживаем приложение от Heroku.Мы используем CookieStore для хранения сессии.Может ли это быть действительно вызвано тем, что CSPRNG, используемый ruby ​​(либо предоставленный OpenSSL, либо /dev/urandom), не обеспечивает достаточную энтропию во время тестового прогона?И что мы можем сделать, чтобы увеличить случайность сгенерированных ключей сеанса для того теста, который не пройден?

1 Ответ

2 голосов
/ 14 июня 2019

При использовании CookieStore значение является не случайным ключом сеанса, а значением предсказуемой формы, содержащим зашифрованное сервером (и подписанное) содержимое сеанса.

Если инструмент (или человек) ошибочно принимает его за случайный секрет, он действительно может выглядеть не полностью случайным. Это не должно быть. Но это также не предсказуемо без взлома AES256.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...