預設Telegram Messenger語音P2P連線方式,外流用戶IP隱私
- 發布單位:TWCERT/CC
- 更新日期:2019-04-03
- 點閱次數:922
CVE編號
內文
●概述:
繼LINE之後頗受矚目的跨平台即時通訊軟體,當屬源自俄羅斯之Telegram Messenger,其server係專有軟體,然client端開放原始碼(可中文化),據研究員Dhiraj Mishra測試,若Telegram電話採用peer to peer連線,則從console log可觀察對方明文IP資料,使用iOS及Android手機者,尚可按步驟Settings -> Private and Security -> Voice Calls -> Peer-To-Peer,設定成Never,如此則語音傳送途經Telegram server,IP可匿名,相對犧牲音質及傳速,然而桌機版tdesktop 1.3.14與Windows行動裝置版Telegram 3.3.0.0 WP8.1,竟無P2P組態選項停用功能,等同強制使用者交出IP,且獲得者未受任何身分限制,Telegram向來標榜訊息安全加密技術,對此亦說不出所以然,多半是考慮傳輸效率才作此安排,Telegram Messenger LLP公司已製作1.3.17 beta版及1.4.0穩定版改善前述缺陷,然1.4.0版多出硬碟配額管理、優化動畫影像快取2項優勢,建議直接升級1.4.0版。
●編註:
針對Telegram電話功能,可選擇語音傳輸是否採用peer to peer連線,若然,則通話對象之IP位址會記錄在console log內,但並非各版都顯示console log,例如搭配Windows的Telegram就不支援此資訊服務,而P2P連線揭露明文IP,概分兩種情境:
★於桌機操作tdesktop,撥號給對方,從console log可觀察程式正送出ping指令封包給目標IP。
★用戶甲手持Windows系統行動電話,經Telegram與用戶乙通話,若乙能接觸console log,便得知甲public IP或private IP,因MTProto Mobile Protocol失效,基本的IP address轉換都缺漏,故能知悉192.168.x.x之類的封閉網段IP。
無論哪種情境,皆可見三類IP,server IP、自身IP、對端IP,前兩者倒無妨,但對方並未同意告知渠IP訊息,要避免IP被暴露給對方,可執行手動設定步驟:Settings -> Private and Security -> Voice Calls -> Peer-To-Peer,按下Never(或Nobody),如此一來每通電話傳送均途經Telegram server,可隱藏IP,相對地損失音質及傳速。
影響產品
解決辦法
(2)tdesktop 1.4.0:參考https://github.com/telegramdesktop/tdesktop/releases/tag/v1.3.17
相關連結
- https://www.inputzero.io/2018/09/bug-bounty-telegram-cve-2018-17780.html
- https://gbhackers.com/telegram-desktop-ip-leaks/
- https://www.bleepingcomputer.com/news/security/telegram-leaks-ip-addresses-by-default-when-initiatin
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-17780
- https://vuldb.com//?id.124606
- https://www.microsoft.com/en-us/p/telegram-messenger/9wzdncrdzhs0#activetab=pivot:overviewtab
- https://core.telegram.org/mtproto
- https://i0.wp.com/gbhackers.com/wp-content/uploads/2018/09/Telegram-Desktop1.jpg?fit=728%252C380&ssl