0:00
0:00

0:00

Prawa autorskie: Fot. Nhac NGUYEN / AFPFot. Nhac NGUYEN / A...

Rosyjskojęzyczny portal zajmujący się dziennikarstwem śledczym IStories opublikował wyczerpujące śledztwo dziennikarskie na temat Telegrama. W tekście, w którym wypowiadam się jako ekspert, czytamy między innymi, że popularny zwłaszcza w Europie Wschodniej komunikator wykorzystuje do hostowania całej swojej infrastruktury usługi jednej firmy: Global Network Management (GNM).

To firma zarejestrowana w Antigui i Barbudzie, ale kontrolowana z Rosji. Z informacji pozyskanych przez dziennikarki i dziennikarzy śledczych,

GNM ma powiązania z Federalną Służbą Bezpieczeństwa Federacji Rosyjskiej (FSB).

To dawałoby rosyjskim służbom możliwość obserwowania całego ruchu przechodzącego przez infrastrukturę Telegrama. W połączeniu z pewnymi cechami protokołu, z którego aplikacja ta korzysta do komunikacji z serwerami usługi,

oznacza to możliwość śledzenia urządzeń osób korzystających z Telegrama niezależnie od tego, gdzie na świecie się fizycznie znajdują.

Może też pozwalać na ustalenie, kto z kim się komunikuje za pomocą tej aplikacji. Bez konieczności uzyskiwania tych danych od operatora tej usługi.

Cechy te nie są nieodzownym elementem protokołów szyfrowanej komunikacji. Wręcz przeciwnie, inne komunikatory internetowe do komunikacji między aplikacją a serwerami usługodawcy korzystają z protokołów, które nie posiadają cech umożliwiających długoterminowe, globalne śledzenie konkretnych urządzeń wyłącznie na podstawie obserwacji ruchu sieciowego.

Nie jest to też pierwszy raz, gdy te konkretne cechy protokołu wspominane są w kontekście śledzenia konkretnych osób przez rosyjskie służby. Ale pierwszy raz dostępne są dowody na to, że tę możliwość rosyjskie służby mogą mieć również poza Rosją.

Istories, po rosyjsku Ważnyje Istorii, po angielsku Important Stories, to niezależny rosyjski serwis internetowy specjalizujący się w dziennikarstwie śledczym, redakcja znajduje się na Łotwie.

Nie taki Telegram bezpieczny, jak się maluje

Telegram promuje się jako „bezpieczny„ i „szyfrowany”. Jak pisałem w OKO.press niemal rok temu, ten marketing nie odpowiada rzeczywistości. Trudno wręcz nie nazwać go celową manipulacją.

Cała komunikacja między aplikacjami a serwerami usługi jest wprawdzie szyfrowana za pomocą stworzonego na jej potrzeby protokołu MTProto 2, ale zdecydowana większość tej komunikacji szyfrowana jest w sposób pozwalający operatorowi – firmie Telegram – na jej odczytanie i analizę. Wiadomości szyfrowane są w aplikacji zainstalowanej na urządzeniu użytkownika, po czym odszyfrowywane na serwerach operatora, dając mu pełny dostęp do ich treści, zanim zostaną ponownie zaszyfrowane i wysłane do odbiorców.

Telegram technicznie rzecz biorąc wspiera szyfrowanie od końca do końca (od ang. „end-to-end„), mające gwarantować, że poza nadawcą i odbiorcą danej wiadomości nikt inny – nawet operator usługi – nie jest w stanie jej odczytać. Gdy słyszymy, że jakaś usługa komunikacyjna jest „szyfrowana”, powinno to oznaczać właśnie szyfrowanie od końca do końca. W Telegramie jest ono dostępne w formie tak zwanych „Sekretnych Czatów".

Nie są one jednak włączone domyślnie. Opcja włączenia Sekretnych Czatów jest dość głęboko zakopana w interfejsie aplikacji. Włączyć je można wyłącznie dla indywidualnych rozmów – nie są dostępne dla bardzo popularnych na Telegramie grup i kanałów.

Włączony dla konkretnej rozmowy, Sekretny Czat działa wyłącznie między konkretnymi urządzeniami. Jeśli na przykład włączymy go dla jakiegoś kontaktu z naszej aplikacji w smartfonie, nie będziemy mieli do tej w pełni szyfrowanej rozmowy dostępu z aplikacji na laptopie.

Wszystko to oznacza, że zdecydowana większość wiadomości przesyłanych za pomocą Telegrama nie jest szyfrowana od końca do końca: w 2018 roku, zgodnie z ustaleniami IStories, dotyczyło to ok. 98 proc. ogółu wiadomości. Można spokojnie zakładać, że dziś sytuacja nie wygląda lepiej.

Tym bardziej że marketing usługi skutecznie przekonuje osoby z niej korzystające, że komunikacja jest w pełni bezpieczna – sam wielokrotnie musiałem uświadamiać osobom, nawet takim, dla których bezpieczeństwo cyfrowe jest kluczową sprawą, że nie jest to prawda.

Co ważne: wszystkie te niedociągnięcia i utrudnienia w korzystaniu z faktycznie w pełni szyfrowanej komunikacji w Telegramie to skutek świadomych, technologicznych decyzji jego twórców. W przypadku innych komunikatorów – jak Signal czy WhatsApp – cała komunikacja jest w pełni szyfrowana z końca do końca, również w grupach. I nie jest ograniczona do konkretnego urządzenia.

auth_key_id

Jedną z takich technologicznych decyzji dotyczących protokołu MTProto 2, zaskakujących dla osób zajmujących się bezpieczeństwem informacji, jest to, że do szyfrowanych wiadomości doklejany jest zupełnie nieszyfrowany identyfikator. W dokumentacji Telegrama znajdziemy go pod nazwą auth_key_id”.

Pozwala on jednoznacznie identyfikować ruch sieciowy pochodzący z aplikacji Telegram na konkretnym urządzeniu konkretnej osoby korzystającej z tej usługi.

Sprawdziłem to sam. Przez kilka tygodni śledziłem ruch sieciowy generowany przez specjalnie w tym celu uruchomioną aplikację mobilną Telegrama. Znalezienie identyfikatora auth_key_id w zaobserwowanym ruchu nie było trudne. Pojawiał się w nim regularnie.

Te obserwacje zgodne są z informacjami zawartymi w dokumentacji protokołu komunikacji Telegrama.

Śledzenie ruchu

Długoterminowe globalne śledzenie osób korzystających z Internetu wyłącznie na podstawie obserwacji ruchu sieciowego jest dość trudne.

Dziś większość komunikacji jest szyfrowana między aplikacją kliencką (na przykład przeglądarką, klientem pocztowym czy komunikatorem) a serwerami, z którymi aplikacja się komunikuje. Niezależnie jednak od tego, jak szyfrowana jest sama treść komunikacji, każdy pakiet danych wysyłany przez sieć komputerową zawiera metadane, które szyfrowane być nie mogą – takie jak adresy IP nadawcy i odbiorcy. Urządzenia sieciowe przekazujące pakiet danych muszą wszak wiedzieć, skąd pochodzi i gdzie ma trafić.

Czemu nasz adres IP może być interesujący dla służb? Dlatego, że może on pozwolić ustalić naszą fizyczną lokalizację – czasem z dokładnością do konkretnej kawiarni. Może też pozwolić powiązać nas z innymi potencjalnie zaobserwowanymi połączeniami sieciowymi. Czy łączyliśmy się ze stroną pornograficzną? Czytaliśmy „nieprawomyślny" portal informacyjny? A może korzystaliśmy z aplikacji randkowej dla osób LGBTQ+?

W przypadku większości konsumenckich usług dostępu do Internetu, adresy IP urządzenia zmieniają się regularnie, zwykle co kilka dni. Adres IP naszego urządzenia zmieni się również, gdy połączymy się z siecią Wi-Fi, lub udamy się w międzynarodową podróż. Nawet gdyby jakieś służby mogły obserwować cały globalny ruch sieciowy, zmieniające się adresy IP wydatnie utrudniłyby im jednoznaczną identyfikację wszystkich połączeń powiązanych konkretnie z nami.

Chyba że w ruchu sieciowym widoczny byłby jakiś inny identyfikator naszego urządzenia. Na przykład… telegramowy auth_key_id.

Gdy rosyjskie (lub jakiekolwiek inne) służby raz ustalą wartość auth_key_id powiązaną z naszym urządzeniem, mogą bardzo łatwo powiązać nas z naszymi kolejnymi zmieniającymi się adresami IP. Mając nasz adres IP w konkretnym momencie, mogą na ogół z grubsza ustalić naszą fizyczną lokalizację.

Mogą też być w stanie ustalić, z kim się za pomocą Telegrama komunikujemy. Wystarczy skorelować dokładny czas dostarczenia naszych wiadomości na serwery usługi i ich wielkość z wielkością i czasem wysłania kolejnych wiadomości z tych serwerów. To wymaga dłuższej obserwacji i analizy, ale jest jak najbardziej możliwe.

To oczywiście wymaga możliwości obserwowania całego ruchu sieciowego, w którym nasz (i naszych rozmówców) auth_key_id może się pojawić, co generalnie nie jest sprawą prostą. Chyba że ma się dostęp do infrastruktury, przez którą cały ten ruch przepływa.

W środowisku osób zajmujących się bezpieczeństwem informacji dotychczas zakładano, że taki dostęp rosyjskie służby mają wyłącznie na terenie Rosji i terytoriów przez nią kontrolowanych, dzięki systemowi SORM. I rzeczywiście, pojawiały się doniesienia, wskazujące na możliwość wykorzystania identyfikatora auth_key_id przez rosyjskie służby do śledzenia osób na tych terenach.

Global Network Management

Śledztwo dziennikarskie IStories skupiło się na infrastrukturze Telegrama, a konkretnie na adresach IP, z których usługa korzysta. Osoby autorskie stworzyły listę wszystkich adresów IP powiązanych z firmą Pawła Durowa. Takie informacje są generalnie publicznie dostępne, choć trzeba włożyć trochę wysiłku, by je zebrać.

Mając listę adresów IP, można ustalić, kto zarządza infrastrukturą sieciową, przez którą połączenia do i z usług związanych z Telegramem są przekazywane. Okazało się, że w przypadku wszystkich serwerów Telegrama na całym świecie usługi sieciowe dostarcza jedna konkretna firma: Global Network Management (GNM).

W praktyce oznacza to, że GNM ma możliwość obserwacji całego globalnego ruchu sieciowego związanego z Telegramem. W tym: ruchu generowanego przez aplikację Telegram na wszystkich urządzeniach, na których jest zainstalowana.

Samo w sobie nie jest to problemem – każdy dostawca usług sieciowych ma możliwość obserwowania ruchu przepływającego przez jego infrastrukturę.

Firma GNM jest zarejestrowana na Antigui i Barbudzie. Ale właścicielem jest Rosjanin Władimir Wiedeniejew. Dziennikarkom i dziennikarzom śledczym udało się to ustalić na podstawie dokumentów związanych z procesem sądowym na Florydzie. Ten sam Wiedeniejew podpisywał też dokumenty w imieniu firmy Telegram.

IStories dotarło m.in. do dokumentu podpisanego przez niego z jednej strony w roli prezesa zarządu GNM, z drugiej… w roli dyrektora finansowego Telegrama.

Wiedeniejew jest też najwyraźniej powiązany z rosyjskimi służbami przez szereg innych firm w Rosji. W tym z FSB.

Komunikacja pod nasłuchem

Jeśli to prawda, oznacza to, że FSB może mieć dostęp do całego ruchu sieciowego Telegrama, również poza Rosją. I jest w stanie na bieżąco obserwować pojawiające się w nim adresy IP oraz identyfikatory auth_key_id.

Nawet jeśli samo szyfrowanie wiadomości przesyłanych za pomocą tej usługi jest skuteczne (a więc: FSB nie może uzyskać dostępu do treści wiadomości) i nawet jeśli firma Pawła Durowa nie współpracuje z rosyjskimi służbami bezpośrednio, to dzięki bardzo specyficznym decyzjom technologicznym twórców tej aplikacji mogą one śledzić osoby z niej korzystające. Na całym świecie.

W jaki sposób FSB mogłoby powiązać konkretny identyfikator auth_key_id z urządzeniem konkretnej osoby? Wystarczyłoby na przykład wystąpić do Telegrama z żądaniem udzielenia informacji na temat adresów IP powiązanych z kontem danego użytkownika wraz z datą i czasem połączeń. Wbrew wcześniejszym zapewnieniom firma co roku udziela tysięcy odpowiedzi na żądania różnych służb o dane dotyczące osób korzystających z tej usługi.

Z udostępnianych przez firmę danych o liczbie takich zapytań z różnych krajów wynika, że tylko w pierwszym kwartale 2025 r. udostępniła ona różnym służbom informacje o dwudziestu tysiącach osób korzystających. Co ciekawe, brakuje danych z Rosji.

Mając adres IP i czas konkretnych połączeń, FSB mogłoby przeszukać dane połączeń zebrane z nasłuchu w infrastrukturze GNM. Przynajmniej niektóre pakiety w ramach tych połączeń będą zawierały auth_key_id urządzenia osoby korzystającej.

Co gorsza, jak wiele innych komunikatorów, zainstalowana na urządzeniu mobilnym aplikacja Telegrama komunikuje się z serwerami usługi nawet przed jej uruchomieniem. Oczywiście jest to zupełnie niewinna funkcjonalność komunikatora internetowego – pozwala na przykład wyświetlić nam powiadomienia o nowych wiadomościach niezależnie od tego, czy akurat mamy tę aplikację otwartą.

Jeśli jednak komunikacja sieciowa Telegrama używana jest do śledzenia osób z niego korzystających, jest to kolejny element gwarantujący, że ta komunikacja sieciowa faktycznie będzie zaobserwowana – nawet jeśli właścicielka czy właściciel urządzenia nie korzysta z Telegrama regularnie.

Dziwne decyzje i zbiegi okoliczności

Stworzenie bezpiecznego, szyfrowanego narzędzia komunikacji jest zadaniem wyjątkowo trudnym. Błędy się zdarzają i często są bardzo nieoczywiste. Pojedynczy błąd – o ile jest szybko i skutecznie naprawiony – nie musi oznaczać celowego złośliwego działania.

Telegram ma jednak długą historię dziwnych decyzji technologicznych, podejrzanych błędów, i manipulacji faktami.

Samo umożliwienie nieszyfrowanej komunikacji w aplikacji, która promowana jest jako „bezpieczna„ i „szyfrowana” jest problematyczne. Problematyczny jest też sposób zaprojektowania interfejsu aplikacji: dla wielu osób nie jest oczywiste, że komunikują się ze swoimi kontaktami domyślnie w sposób nieszyfrowany od końca do końca. Podobnie jak ukrycie opcji włączenia „Sekretnego Czatu" dla danego kontaktu pod kilkoma poziomami menu.

Wykorzystanie do komunikacji między aplikacją a serwerami Telegrama własnego protokołu, MTProto, na przykład zamiast sprawdzonego, szeroko stosowanego protokołu TLS, jest decyzją dziwną. Konkurencyjny Signal do komunikacji między aplikacją a serwerami usługi wykorzystuje właśnie TLS. Z TLS korzystamy też, gdy łączymy się ze stronami internetowymi – dziś prawie wszystkie obsługują oparty o TLS protokół HTTPS.

Dołączanie nieszyfrowanego auth_key_id do szyfrowanych wiadomości jest również trudne do wytłumaczenia. W przypadku TLS nie ma takiej potrzeby. Są też inne protokoły niemające tego problemu: WhatsApp wykorzystuje inny dość standardowy protokół, który nie wymaga takiej niedyskrecji.

Sposób zaprojektowania protokołu MTProto (wykorzystywanego również do przesyłania wiadomości szyfrowanych end-to-end w ramach Sekretnych Czatów) budzi wątpliwości osób zajmujących się kryptografią, choć jak dotychczas nikt nie był w stanie wykazać podatności jego obecnej, drugiej wersji.

W przypadku wersji pierwszej tego protokołu sytuacja była przez długi czas podobna. Specjaliści i specjalistki od kryptografii zgłaszali wątpliwości co do jego budowy, ale nie byli w stanie wskazać konkretnej podatności. Do czasu. Gdy podatność udało się znaleźć i opisać, została określona przez jednego z ekspertów jako „najbardziej wyglądający na tylną furtkę błąd, jaki widział w życiu".

Telegram problem szybko naprawił, niebawem wypuszczając MTProto 2.

Tylne furtki to podatności celowo umieszczone w oprogramowaniu w celu umożliwienia dostępu tam, gdzie dostęp powinien być niemożliwy. W 2017 roku Paweł Durow, założyciel Telegrama, ogłosił, że założy się o milion dolarów o to, że w ciągu pięciu lat taka tylna furtka zostanie znaleziona w komunikatorze Signal. Do dziś żadnej tylnej furtki (ani niczego, co by tylną furtkę przypominało) w Signalu nie znaleziono.

Nie przeszkadza to jednak Durowowi dalej rozsiewać kalumnie na temat Signala, bezpodstawnie oskarżając operatora tego komunikatora o współpracę z amerykańskimi służbami. Jednocześnie zwodniczo promując Telegrama jako „szyfrowany" komunikator.

O jeden przypadek za wiele?

Dołączanie nieszyfrowanego identyfikatora urządzenia do szyfrowanych wiadomości w Telegramie traktowane było dotychczas przez ekspertów zajmujących się bezpieczeństwem informacji raczej jako osobliwość niż poważny problem. Korzystanie z usług jednego konkretnego dostawcy infrastruktury też nie jest samo w sobie specjalnie podejrzane.

Jednak w świetle ustaleń portalu IStories oraz w kontekście innych trudnych do wytłumaczenia decyzji technologicznych twórców Telegrama, oba te fakty nabierają nowej wagi.

Jeśli firma GNM faktycznie współpracuje z rosyjskimi służbami, identyfikator auth_key_id umożliwia im znacznie skuteczniejsze śledzenie osób korzystających z Telegrama wyłącznie na bazie obserwacji ruchu sieciowego związanego z tą aplikacją. Zaś fakt korzystania przez Telegram z usług tej konkretnej, współpracującej z nimi firmy pozwala tym służbom na tę obserwację globalnie.

Trudno oprzeć się wrażeniu, że te dwie, pozornie zupełnie niepowiązane decyzje firmy Pawła Durowa, uzupełniają się nieprzypadkowo.

Władimir Wiedeniejew odbył rozmowę telefoniczną z IStories, ale po fakcie wycofał zgodę na użycie jej w tekście. Durow nie odpowiedział na pytania dziennikarek i dziennikarzy śledczych.

Firma Telegram wypowiedziała się już publicznie na temat rewelacji IStories, ale… nie odniosła się bezpośrednio ani do kwestii możliwości obserwacji ruchu sieciowego przez GNM (a więc potencjalnie i przez FSB), ani do pytania o powiązania GNM i Władimira Wiedejewa z rosyjskimi służbami, ani do problemu identyfikatora auth_key_id.

Nasze wybory mają znaczenie

Nasze własne decyzje technologiczne wpływają na decyzje innych osób. Każdy użytkownik i każda użytkowniczka danej usługi komunikacyjnej jest powodem dla kogoś innego, by z tej usługi korzystać. Jakaś niewielka (ale jednak) odpowiedzialność za efekt sieciowy utrzymujący ludzi w toksycznych związkach z technologią spoczywa również na nas samych.

Korzystasz z Telegrama, ale zastanawiasz się nad alternatywami? Dla komunikacji prywatnej i w grupach rozważ przejście na w pełni szyfrowanego Signala.

Jeśli prowadzisz kanał na Telegramie i zastanawiasz się, czym go zastąpić, być może wystarczy po prostu strona internetowa z kanałem RSS. Jeśli potrzebujesz dodatkowych funkcjonalności, spójrz na Matrix.

Informację o tym, jak usunąć konto w Telegramie, znajdziesz tutaj.

;
Na zdjęciu Michał rysiek Woźniak
Michał rysiek Woźniak

Specjalista ds. bezpieczeństwa informacji, administrator sieci i aktywista w zakresie praw cyfrowych. Studiował filozofię, był członkiem Rady ds. Cyfryzacji, jest współzałożycielem warszawskiego Hackerspace’a. Pracował jako Dyrektor ds. Bezpieczeństwa Informacji w OCCRP – The Organised Crime and Corruption Reporting Project, konsorcjum ośrodków śledczych, mediów i dziennikarzy działających w Europie Wschodniej, na Kaukazie, w Azji Środkowej i Ameryce Środkowej. Współpracuje z szeregiem organizacji pozarządowych zajmujących się prawami cyfrowymi w kraju i za granicą. Współautor „Net Neutrality Compendium” oraz “Katalogu Kompetencji Medialnych”.

Komentarze