Zespół ekspertów z Cryptography Group z Uniwersytetu w Londynie oraz naukowcy z ETH Zurich (Politechnika Federalna w Zurychu) przeprowadzili analizę bezpieczeństwa protokołu szyfrującego, używanego w komunikatorze Telegram. Z opublikowanej pracy dowiadujemy się o kilku słabych punktach kryptograficznych w protokole MTProto: od technicznie trywialnych i łatwych do wykorzystania, po bardziej zaawansowane i prawie niemożliwe do zastosowania w prawdziwych scenariuszach ataków.
W skład zespołu badawczego weszli członkowie:
- przewodniczący ds. bezpieczeństwa informacji i dyrektor grupy ds. kryptografii, prof. Martin Albrecht,
- doktorantka Lenka Mareková z grupy ds. bezpieczeństwa informacji (ISG) w Royal Holloway,
- Kenneth G. Paterson i dr Igors Stepanovs z Cryptography Group z politechniki w Zurichu.
Profesor Martin Albrecht, tak oto podsumował pracę zespołu ekspertów:
Wyniki naszej analizy pokazują, że dla większości użytkowników bezpośrednie ryzyko jest niskie, lecz znalezione luki wskazują, że Telegram nie spełniał gwarancji kryptograficznych udzielanych przez inne wdrożone protokoły kryptograficzne, takie jak Transport Layer Security (TLS).
Nasza praca była motywowana innymi badaniami. Sprawdzaliśmy wykorzystanie technologii przez uczestników protestów na dużą skalę, takich jak te w 2019/2020 r. w Hongkongu. Wówczas nasze ustalenia były takie, że protestujący krytycznie polegali na Telegramie, aby koordynować swoje działania, ale Telegram nie otrzymał potwierdzenia bezpieczeństwa od kryptografów.
O Telegramie krótko
- Telegram używa swojego protokołu MTProto do zabezpieczania wiadomości tekstowych, rozmów głosowych oraz wideo-konferencji, pomiędzy użytkownikami a serwerami (https://core.telegram.org/api/end-to-end/voice-calls).
- Trzeba pamiętać, że szyfrowanie typu end-to-end za pomocą protokołu MTProto jest opcjonalne. Aby z niego skorzystać, należy ręcznie wybrać szyfrowany czat (jak na obrazku powyżej). Szyfrowanie takie nie jest dostępne dla utworzonych grup użytkowników.
- Domyślnie (bez szyfrowania ent-to-end) Telegram oferuje podstawowy poziom ochrony (TLS), szyfrując ruch pomiędzy aplikacjami a serwerami.
- Zaszyfrowana wiadomość end-to-end w Telegramie może być wysłana wyłącznie z urządzenia mobilnego (Android, iOS) i tak samo odczytana na urządzeniu mobilnym (Android, iOS).
- Szyfrowanie end-to-end w komunikatorze Telegram nie jest dostępne w aplikacjach dla Windows, jak i w aplikacji w przeglądarce.
Podsumowanie analizy ekspertów
Analizę przeprowadzono 16 kwietnia 2021 roku na najnowszej w tym dniu wersji komunikatora. Ujawnienie informacji technicznych ustalono z twórcami Telegramu na dzień 16 lipca 2021 roku.
Badacze wykazali kilka rodzajów ataku:
- Niski stopień ryzyka: atakujący będący w tej samej w sieci mógł zmienić kolejność wiadomości przychodzących.
- Niski stopień ryzyka: nie podejmujemy się tłumaczenia tego punktu. W oryginale brzmi ono tak:
An attacker can detect which of two special messages was encrypted by a client or a server under some special conditions. In particular, Telegram encrypts acknowledgement messages, i.e. messages that encode that a previous message was indeed received, but the way it handles the re-sending of unacknowledged messages leaks whether such an acknowledgement was sent and received. This attack is mostly of theoretical interest. However, cryptographic protocols are expected to rule out even such attacks. Telegram confirmed the behaviour we observed and addressed this issue in version 7.8.1 for Android, 7.8.3 for iOS and 2.8.8 for Telegram Desktop
- Niski stopień ryzyka: implementacje klientów Telegramu (Android, iOS, Windows) zawierały kod, który pozwalał odzyskać część tekstu z zaszyfrowanych wiadomości. W tym celu atakujący musiał wysłać do ofiary spreparowane wiadomości, rzędu milionów, co czyni ten atak bardzo trudnym.
- Średni stopień ryzyka: atakujący mógł przeprowadzić atak typu „man in the middle” podczas negocjacji klucza DH pomiędzy aplikacją a serwerem. Pozwalało to napastnikowi podszyć się (pod serwer lub aplikację) i odczytać wiadomości. Na szczęście ten atak jest również dość trudny do przeprowadzenia, ponieważ wymaga wysłania miliardów wiadomości na serwer Telegramu w ciągu kilku minut.
Zgłoszone podatności o różnym stopniu ryzyka zostały już załatane. Dwie pierwsze nie stanowią większego ryzyka dla użytkowników. Trzeci oraz czwarty, chociaż mogły ujawnić część lub całą korespondencję, to wcześniej doszłoby do zawieszenia się aplikacji i samoczynnego zrestartowania (wymagałoby to powtórzenia ataku).
Badacze podsumowują, że twórcy Telegramu nie będą publikowali biuletynu bezpieczeństwa. Zamiast tego poprawki zostały już wprowadzone w ramach regularnych aktualizacji komunikatora.
Czy ten artykuł był pomocny?
Oceniono: 0 razy