Telegram gehört zu den WhatsApp-Alternativen, die nach dem Kauf von WhatsApp durch Facebook mit den größten Ansturm neuer Nutzer zu verkraften hatte. Sicherer als WhatsApp soll es sein und das Protokoll ist offen gelegt – das heißt aber nicht, dass man deswegen jede Vorsicht vergessen kann.
In einem Proof of Concept wurde nun nachgewiesen, dass Telegram recht einfach angreifbar ist, wenn man es schafft dem Nutzer einen manipulierten Client unterzujubeln. Und das ist gar nicht mal so schwer, wie man denkt. Es gibt bislang nur zwei offizielle Clients für Telegram für Android und iOS. Auf allen anderen Systemen sind bislang nur inoffizielle Clients verfügbar. Und solch ein inoffizieller Client kann für eine Man-in-the-middle-Attacke benutzt werden, über den der Angreifer vom Nutzer unbemerkt die volle Kontrolle über den Account erhält.
Die Authentifizierung bei Telegram basiert einerseits auf der Handy-Nummer und einem per SMS geschickten Code, auf der anderen Seite versichert sich der Client über die Identität der Telegram-Server durch eine fest hinterlegte Liste an IP-Adressen und Schlüsseln. Das funktioniert so lange gut, so lange diese Liste nicht manipuliert wird. Und das ist bei einem eigenen Client sehr einfach. Um diese Schwachstelle zu demonstrieren, wurde der Linux-Client CLI entsprechend manipuliert. Dieser manipulierte Client ist auch per GitHub verfügbar.
Natürlich gäbe es auch bei einem offenen Kommunikationsprotokoll und fremden Clients Möglichkeiten, solche Manipulationen zumindest für den Nutzer erkennbar zu machen, aber es ist fraglich, ob Telegram dann noch mit der einfachen Nutzung auftrumpfen könnte. Vielleicht gäbe es auch Möglichkeiten, ohne die Nutzerfreundlichkeit einzuschränken, man müsste sich darüber eben mal Gedanken machen. Leider scheinen die Telegram-Entwickler sich aber keine solchen Gedanken machen zu wollen:
- 7 March 2014: initial contact with Telegram informing them of the obtained results.
- 10 March 2014: Telegram response to the first email, informing that a malicious client is out of the scope of their security model. Their proposed solution, in order to achieve maximum security, is to use only the official client or open source clients that have been comprehensively verified.
- 11 March 2014: submission of the PoC to Telegram.
- 28 April 2014: 52nd day after first contact and after several unanswered mails, the results of this study are made public at INTECO’s website.
Die Entwickler sehen sich einfach als nicht zuständig für derlei Angriffe und wälzen die Verantwortung auf die Nutzer ab, die doch bitte nur die offiziellen oder Open Source Clients nutzen sollen. Zwar ist der Hinweis durchaus nicht ganz verkehrt, aber gerade in Anbetracht der Tatsache, dass auf der Telegram-Website auch inoffizielle Clients verlinkt werden, machen es sich die Entwickler hier doch ein bisschen zu einfach.