导语:研究人员已经证明,在默认配置中,Telegram在拨打电话时会泄露用户的IP地址。
Telegram Messenger是一款通信应用程序,允许通过Internet与其他用户创建加密聊天和打电话。该程序将自己描述为一个安全的私人通信应用程序,但研究人员已经证明,在默认配置中,在拨打电话时它会泄露用户的IP地址。
这是由Telegram中的默认设置引起的,其语音呼叫通过P2P进行。但是,当使用P2P发起Telegram呼叫时,通话另一方的IP地址将显示在Telegram控制台日志中。并非所有版本都包含控制台日志。例如,在我们的测试中Windows版本不显示控制台日志,而Linux版本则显示。
Telegram应用程序确实表明用户可以通过更改Settings -> Private and Security -> Voice Calls -> Peer-To-Peer为 Never或Nobody来阻止他们的IP地址被泄露。执行此操作将导致用户的呼叫通过Telegram的服务器进行路由,这将隐藏IP地址,但代价是音频质量略有下降。
iOS版Telegram的P2P设置
问题是,虽然可以在iOS和Android中禁用P2P呼叫和相关的IP地址泄漏,但安全研究人员Dhiraj发现官方的Telegram for Desktop(tdesktop)和Telegram Messenger for Windows应用程序无法禁用P2P通话。
这意味着只要用户使用Telegram拨打电话,这些用户的IP地址就会泄露。 可以在Ubuntu上看到Telegram for Desktop控制台中泄露的IP地址示例。
Telegram控制台日志中泄露了IP地址
在与Dhiraj的对话中,研究人员与BleepingComputer分享了一个PoC视频,说明了IP地址是如何泄露的。
Dhiraj解释道,
在我的视频PoC中可以看到3个IP泄漏:1.电报Telegram服务器IP。2.你自己的IP。3.最终用户的IP。
在向Telegram警告有关Telegram for Windows和Telegram for Windows缺失该设置后,Dhiraj获得了2,000欧元的奖金,他的报告漏洞被分配了ID号CVE-2018-17780。
此问题已在1.3.17测试版和1.4.0版本的Telegram for Desktop中得到修复,其中有一个设置可以禁用添加到程序中的P2P调用。
Telegram源代码更改
为什么Telegram一个以安全性和隐私为傲的应用程序,默认情况下会启用P2P调用,因为它知道泄漏IP地址没有意义。 当BleepingComputer向Dhiraj询问Telegram是否有理由这样做时,他告诉我们“不就此事提供任何评论。”
BleepingComputer已联系Telegram征求意见,但在本文发布时尚未收到回复。