05.07 // В Cryptocat найдена серьёзная уязвимость, позволяющая получить доступ к зашифрованным сообщениям


В Cryptocat[link1], нацеленном на обеспечение приватности web-чате, в котором шифрование производится на стороне браузера клиента и на сервер поступают уже зашифрованные данные, выявлена[link2] проблема безопасности, делающая возможным доступ к отправленным сообщениям. Проблема проявляется начиная с выпуска 2.0 и заканчивая версией 2.0.41, таким образом все сообщения отправленные с 17 октября 2011 года по 15 июня 2013 года подвержены указанной уязвимости.

Cryptocat позиционируется как проект, использующий для защиты частной переписки надёжные технологии шифрования, такие как алгоритм AES-256 и методы криптогрфии по эллиптическим кривым. История поучительна тем, что тривиальная ошибка в коде свела всю надёжность системы на нет и поставила под вопрос доверие к компаниям, осуществляющим аудит и сертификацию в области безопасности – компания Veracode утвердила Cryptocat на уровень безопасности Veracode Level 2 и оценила качество кода как 100/100. Негативный осадок также остался после попытки разработчиков Cryptocat скрыть свою ошибку, указав[link3], что исправление произведено для решения проблем с обратной совместимостью и не упомянув о том, что устранена уязвимость.

При создании ключа шифрования, для обхода проблем с качественном генерацией случайных чисел на стороне браузера, пользователю предлагается ввести 256 случайных символов. Из-за неправильной конвертации строк в качестве случайной последовательности поступал не массив из 15-разрядных целых чисел, а массив из чисел от 0 до 9, т.е. вероятность подбора каждого числа снижается с 2^15 до 10 вариантов. В итоге ключи создаются в условиях недостаточной энтропии и могут быть подобраны с использованием bruteforce-атак. По заявлению исследователя, сообщившего об уязвимости, зашифрованные записи чата могут быть дешифрованы за считанные минуты. Разработчики Cryptocat уже признали[link4] наличие уязвимости, но утверждают, что проблеме подвержены только групповые чаты с более чем двумя участниками.

Источник: http://www.opennet.ru/opennews/art.shtml?num=37370

Ссылки
[link1] https://crypto.cat/

[link2] http://tobtu.com/decryptocat.php

[link3] https://github.com/cryptocat/cryptocat/commit/f199fcbe4b5c5deb8d7d7ff13f92ee5090d149ed

[link4] https://blog.crypto.cat/2013/07/new-critical-vulnerability-in-cryptocat-details/