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