Cryptocat содержал критическую уязвимость в криптосистеме

6/07/2013 11:28

В Cryptocat, нацеленном на обеспечение приватности веб-чате, в котором шифрование производится на стороне браузера клиента и на сервер поступают уже зашифрованные данные, выявлена проблема безопасности, делающая возможным доступ к отправленным сообщениям, сообщает opennet.ru. Проблема проявляется начиная с выпуска 2.0 и заканчивая версией 2.0.41, таким образом все сообщения отправленные с 17 октября 2011 года по 15 июня 2013 года подвержены указанной уязвимости. Cryptocat позиционируется как проект, использующий для защиты частной переписки надёжные технологии шифрования, такие как алгоритм AES-256 и методы криптографии по эллиптическим кривым. История поучительна тем, что тривиальная ошибка в коде свела всю надёжность системы на нет и поставила под вопрос доверие к компаниям, осуществляющим аудит и сертификацию в области безопасности - компания Veracode утвердила Cryptocat на уровень безопасности Veracode Level 2 и оценила качество кода как 100/100. Негативный осадок также остался после попытки разработчиков Cryptocat скрыть свою ошибку, указав, что исправление произведено из-за нарушения обратной совместимости и не упомянув о том, что устранена уязвимость. При создании ключа шифрования, для обхода проблем с качественной генерацией случайных чисел на стороне браузера, пользователю предлагается ввести 256 случайных символов. Из-за неправильной конвертации строк в качестве случайной последовательности поступал не массив из 15-разрядных целых чисел, а массив из чисел от 0 до 9, т.е. пространство ключей для подбора каждого числа снижается с 2^15 до 10 вариантов. В итоге ключи создаются в условиях недостаточной энтропии и могут быть подобраны с использованием bruteforce-атак. По заявлению исследователя, сообщившего об уязвимости, зашифрованные записи чата могут быть дешифрованы за считанные минуты. Разработчики Cryptocat уже признали наличие уязвимости, но утверждают, что проблеме подвержены только групповые чаты с более чем двумя участниками.
Источник