Бесплатно Экспресс-аудит сайта:

19.02.2015

В защищенном мессенджере Telegram исправлена потенциальная уязвимость

Пользователь Habrahabr с ником visput обнаружил потенциальную уязвимость в приложении для защищенного обмена сообщениями Telegram, разработанном создателем "ВКонтакте" Павлом Дуровым. Речь идет о клиентах Telegram для мобильных платформ iOS и Android, чей исходный код находится в открытом доступе.

Специалист сравнил исходные коды iOS- и Android-версий мессенджера и обнаружил, что в разных версиях приложения существуют отличия в алгоритме дешифрования сообщений. Android-версия не сравнивает хэш дешифрованного сообщения с оригинальным хэшем, который передается вместе с зашифрованным сообщением - де факто, отсутствует проверка подписи сообщения. Третьи лица могут проэксплуатировать брешь и сымитировать случайную активность от имени участников секретного чата. Отметим, что при этом секретный ключ остается неуязвимым для третьих лиц.

Обмен сообщениями в Telegram состоит из трех этапов: генерации общего секретного ключа, шифрования исходящего сообщения и дешифровки входящего сообщения. Общий секретный ключ генерируется на основе протокола Диффи-Хеллмана.

iOS-версия приложения выполняет три проверки: сравнивает хэш общего секретного ключа из входящего сообщения с хэшем локального общего секретного ключа, длину дешифрованного сообщения с допустимой длиной, а также хэш полученного дешифрованного сообщения с хэшем оригинального сообщения. В версии для Android осуществляется лишь первая проверка.

Разработчики исправили потенциальную уязвимость в репозитории исходного кода на Github и обновили сборку приложения в Google Play. За обнаруженную уязвимость исследователь получил вознаграждение в размере $5000.