Эксперт по безопасности, известный под ником Дхирадж (Dhiraj), выявил серьезную уязвимость, которая при определенных условиях может выдавать IP-адреса пользователей мессенджера Telegram. За обнаружение проблемы в безопасности данных программист получил от компании Telegram вознаграждение в размере 2 тыс. евро.
Как установил эксперт в области информационной безопасности, в мессенджере Telegram по умолчанию голосовые звонки проходят с помощью P2P-соединения. При этом, в некоторых случаях, IP-адреса пользователей можно вывести в консоли. Однако, как известно, не все версии Telegram ее поддерживают, например, консоль не доступна под Windows, но есть в версии мессенджера под Linux.
Отмечается, что если перенаправлять звонки через собственные серверы Telegram, то IP-адреса не будут видны. Но для этого требуется ручное изменение настроек в мессенджере: Settings -> PrivateandSecurity -> VoiceCalls -> Peer-To-Peer необходимо поменять на Never или Nobody. Однако, как отмечают специалисты, при этом снизится качество голоса при звонках.
Но самый важный момент, который и выявил Дхирадж, заключается в невозможности отключить звонки через P2P на десктопной версии Telegram под Windows. При этом в мобильных версиях приложения под iOS и Android такая операция производится легко.
Разработчики Telegram оперативно отреагировали на сообщение от Дхираджа и исправили уязвимость в версиях Telegram for Desktop 1.3.17 beta и 1.4.0. Сама уязвимость получила индекс CVE-2018-17780. Теперь пользователи мессенджера могут отключать P2P-вызовы на декстопах.
Павел Дуров, основатель мессенджера Telegram, прокомментировал ситуацию с "дырой" в деанонимизировании пользователей, заявив что реальность события гораздо менее сенсационна, как о ней говорят в СМИ.
«IP-адреса пользователей Telegram Desktop можно получить, если те используют P2P сеть для звонков, однако в мессенджере предусмотрена возможность выключить P2P для звонков и осуществлять их через серверы компании.
Telegram Desktop был по крайней мере таким же защищенным, как и другие зашифрованные VoIP-приложения, даже до того, как мы улучшили его, добавив возможность отключить P2P-звонки. В мобильной версии Telegram такая опция была доступна всегда.
При использовании P2P голосовой трафик поступает непосредственно от одного участника звонка к другому, не используя промежуточного сервера. Так удается получить хорошее качество вызова с низкой задержкой.
Однако есть одна загвоздка: по определению, оба устройства, участвующих в вызове P2P, должны знать IP-адреса друг друга. Поэтому, если вы делаете или принимаете вызов, человек с другой стороны может теоретически узнать ваш IP-адрес».
Так же Дуров отметил, что конкуренты Telegram даже близко не подошли к стандартам компании по безопасности. И все остальные мессенджеры не имеют возможности отключить P2P-звонки.
Со своей стороны, отметим странность ситуации — как разработчики Telegram пропустили такую уязвимость. Для приложения, которое позиционируется как защищенное, — в первую очередь, от попыток деанонимизировать пользователя, — подобное упущение выглядит как минимум нелепо.