Popularny komunikator Telegram nie jest bezpieczny, ma powiązania z rosyjskimi służbami

Opublikowane we wtorek śledztwo dziennikarskie portalu IStories, dla którego wypowiadałem się w charakterze eksperta, pokazuje powiązania Telegrama ze Federalną Służbą Bezpieczeństwa Federacji Rosyjskiej – FSB.

W połączeniu z pewnymi cechami protokołu tej usługi może to pozwalać rosyjskim służbom na śledzenie konkretnych osób z niego korzystających. Globalnie.

dreiwert,
@dreiwert@szmer.info avatar

Zcentralizowane platformy zawsze budzą żądzy “zainteresowanych stron”, jeśli są wystarczająco popularne. I potem trudno jest ludziom się od tego uwolnić. Nie można już w spokoju polecać usług komunikacyjnych, które nie są federowane.

rysiek,
@rysiek@szmer.info avatar

Zdecentralizowane system też, choć oczywiście trudniej je kontrolować (o ile są wystarczająco rozproszone).

Nie można już w spokoju polecać usług komunikacyjnych, które nie są federowane.

Pewnie. Bardzo chciałbym, by istniała realna, zdecentralizowana alternatywa dla Signala, która zapewnia taki sam poziom prywatności i bezpieczeństwa. Ale jeszcze jej nie widziałem. Polecanie osobom korzystającym z Signala czegoś, co nie zapewni im podobnego bezpieczeństwa, jest nieodpowiedzialne.

Zdecentralizowane projekty, które wydają mi się obiecujące w tej przestrzeni (nie mówię, że inne nie istnieją, to bardzo subiektywna lista):

Projekty, które warto wymienić (znów, subiektywnie), ale moim zdaniem mogą nie dać rady stać się realną alternatywą z różnych względów:

  • Briar
  • Matrix, wspominany już wcześniej
  • XMPP

Oczywiście bardzo chciałbym się tu mylić. Jak Briar, Matrix, czy XMPP ogarną kiedyś bycie realną alternatywą dla Signala, fenomenalnie!

proxydark,
@proxydark@szmer.info avatar

zaczynam powoli zastanawiać się nad matrixem jako komunikator … ale jak nakłonić całe społeczeństwo na to :D

rysiek,
@rysiek@szmer.info avatar

Matrix może być niezłą alternatywą jeśli chodzi o ~publiczne kanały, ale nie używałbym go do prywatnej komunikacji. Tu jednak dalej Signal.

soatok.blog/…/what-does-it-mean-to-be-a-signal-co…soatok.blog/…/security-issues-in-matrixs-olm-libr…

proxydark,
@proxydark@szmer.info avatar

Tu się zgadzam w pełni. Signal łatwiejszy dla wielu jednak . A jakoś trzeba przekonać ludzi do przejścia :)

dreiwert,
@dreiwert@szmer.info avatar

Zgadzam się, że problem z libolm jest naprawdę dołujący. Poza tym, nie zgadzam się w pełni. Autor dyskwalifikuje protokoły z powodu samego faktu, że implementują one również wariant niezaszyfrowany. Nie widzę powodu, dla którego powinniśmy odrzucać bardziej wielofunkcyjne protokoły, o ile możliwe jest zbudowanie interfejsu, który wymusza szyfrowanie.

rysiek,
@rysiek@szmer.info avatar

Pracowałem z dziennikarkami i dziennikarzami śledczymi oraz ich źródłami, w tym osobami zajmującymi się publikacją Panama Papers. Odpowiadałem za ich bezpieczeństwo cyfrowe. Z mojego doświadczenia wynika, że wspieranie w jednej aplikacji szyfrowania end-to-end i wiadomości nie szyfrowanych w ten sposób wcześniej czy później doprowadza do tego, że ktoś nie ogarnia różnicy i komunikuje się w sposób nie szyfrowany end-to-end będąc przekonanym, że komunikacja jest w pełni szyfrowana.

Mało tego, nawet jeśli dana osoba korzystająca jest w pełni uważna i nie popełni sama takiego błędu, sam fakt istnienia możliwości wysłania wiadomości nie szyfrowanej end-to-end oznacza możliwość przeprowadzenia tzw. “downgrade attacks”.

Moim zdaniem, podpartym ponad dekadą doświadczenia w cyberbezpieczeństwie, tworzenie aplikacji, która miesza szyfrowanie end-to-end z nieszyfrowanymi wiadomościami jest skrajnie nieodpowiedzialne.

Jeśli możliwe jest wsparcie szyfrowania end-to-end w danej aplikacji, nie ma żadnego powodu, by jakakolwiek komunikacja odbywała się w jakikolwiek inny sposób.

dreiwert,
@dreiwert@szmer.info avatar

Zgadzam się na co pisałeś o aplikacjach. Autor blogu jednak stwarza wrażenie, że protokoły Matrix lub XMPP/OMEMO są słabe. Moim zdaniem, to błędne rozumowanie, i obniża wartość wysiłków deweloperów pracujących nad wolnymi rozwiązaniami. Aplikacja może bardzo dobrze uniemożliwić obniżenie poziomu komunikacji do postaci niezaszyfrowanej i odmówić przyjęcia komunikacji niezaszyfrowanej, nawet jeśli protokół pozwala również na pisanie komunikatorów bez szyfrowania. W powiązanym temacie, bezpieczne aplikacje internetowe są możliwe, nawet w świecie, w którym przeglądarki rozumieją niezaszyfrowany protokół HTTP. Chociaż nie poprawia to niczego dla prywatnego użytkownika końcowego, fakt, że siły zbrojne ufają niestandardowemu komunikatorowi opartym na Matrix z poufnymi informacjami (element.io/case-studies/bundeswehr), może wskazywać, że sam protokół nie implikuje słabego szyfrowania.

Prawdziwym żalem jest to, że obecnie nie wydaje się istnieć żadna aplikacja końcowego użytkownika, która byłaby otwarta, federacyjna, przyjazna dla użytkownika i bezpieczna. Nie chciałbym znaleźć się w sytuacji, w której musiałbym polecać jakiegoś komunikatora. Albo wystąpiłyby techniczne wady, albo byłaby scentralizowana, co narażałoby użytkowników na ryzyko uzależnienia od dostawcy i gównowacenia.

rysiek,
@rysiek@szmer.info avatar

Autor blogu jednak stwarza wrażenie, że protokoły Matrix lub XMPP/OMEMO są słabe.

Nie “stwarza wrażenie”, a “oferuje swoją ekspercką opinię o tych protokołach, podpartą kupą doświadczenia i wiedzy, oraz dogłębną analizą.” To nie jakiś random z Internetów, a ekspert szeroko znany w kręgach związanych cyberbezpieczeństwem.

Aplikacja może bardzo dobrze uniemożliwić obniżenie poziomu komunikacji do postaci niezaszyfrowanej i odmówić przyjęcia komunikacji niezaszyfrowanej, nawet jeśli protokół pozwala również na pisanie komunikatorów bez szyfrowania

Może, ale jest to dodatkowa rzecz, która musi być dobrze, poprawnie zaimplementowana, i nie zepsuta przypadkiem w następnych wersjach. Kolejny skomplikowany element i tak już nieprawdopodobnie skomplikowanego systemu. A Matrix nie ma zbyt dobrej historii nie popełniania durnych błędów w implementacji własnego protokołu: arstechnica.com/…/matrix-patches-vulnerabilities-…

Mało tego, musi to też być dobrze zakomunikowane dla osób korzystających, które będą musiały zrozumieć to, że jakaś część komunikacji w danej aplikacji może być nieszyfrowana, i uważać na to, czy w danym momencie komunikują się w sposób szyfrowany, czy nie.

Powtarzam: tworzenie takich aplikacji jest nieodpowiedzialne. To zastawianie pułapek na osoby implementujące, oraz na osoby korzystające. Nie ma tu absolutnie żadnego usprawiedliwienia.

W powiązanym temacie, bezpieczne aplikacje internetowe są możliwe, nawet w świecie, w którym przeglądarki rozumieją niezaszyfrowany protokół HTTP.

Tak, i ataków downgrade na HTTPS były dziesiątki. Dekady zajęło doprowadzenie HTTPS to stanu jako takiego bezpieczeństwa. Zamiast powtarzać ten błąd i wystawiać się na takie ryzyko, lepiej po prostu nie wspierać wysyłania nieszyfrowanych wiadomości.

Chociaż nie poprawia to niczego dla prywatnego użytkownika końcowego, fakt, że siły zbrojne ufają niestandardowemu komunikatorowi opartym na Matrix z poufnymi informacjami

Masz rację, to nie poprawia niczego dla prywatnego użytkownika końcowego. Bundeswehra korzysta z własnej wersji klienta Matriksa (BwMessenger) – o ile się założymy, że tryb nieszyfrowany jest kompletnie wycięty? Mało tego, korzysta z niego we własnej, zamkniętej sieci. Idę o zakład, że ta sieć jest dodatkowo szyfrowana na niższym poziomie.

może wskazywać, że sam protokół nie implikuje słabego szyfrowania.

Sam protokół niczego nie “implikuje”, on po prostu dopuszcza możliwość komunikowania się w sposób nieszyfrowany. I to jest problem, którego porządny protokół komunikacji w 2025r. po prostu nie powinien mieć.

Prawdziwym żalem jest to, że obecnie nie wydaje się istnieć żadna aplikacja końcowego użytkownika, która byłaby otwarta, federacyjna, przyjazna dla użytkownika i bezpieczna.

Ja sobie patrzę na Cwtch z nadzieją: docs.cwtch.im

Albo wystąpiłyby techniczne wady, albo byłaby scentralizowana, co narażałoby użytkowników na ryzyko uzależnienia od dostawcy i gównowacenia.

Ryzyko zgównowacenia istnieje zawsze, decentralizacja je zmniejsza. Zmniejsza je również na przykład nie bycie startupem mającym generować zyski dla inwestorów. Signal zarządzany jest przez fundację, która takim startupem bardzo mocno nie jest. Więc akurat nie mam problemu z polecaniem Signala, choć chciałbym, by był federowany rzecz jasna.

Takie gadanie, że wszystko do dupy, tylko utwierdza ludzi w przekonaniu, że to nie ważne, z czego korzystają, skoro wszystko syf. I zostają na Telegramie. Nie wiem, czy to jest efekt, na którym Ci zależy.

dreiwert,
@dreiwert@szmer.info avatar

Autor blogu jednak stwarza wrażenie, że protokoły Matrix lub XMPP/OMEMO są słabe.

Nie “stwarza wrażenie”, a “oferuje swoją ekspercką opinię o tych protokołach, podpartą kupą doświadczenia i wiedzy, oraz dogłębną analizą.” To nie jakiś random z Internetów, a ekspert szeroko znany w kręgach związanych cyberbezpieczeństwem.

Nie ma co do tego wątpliwości. Widzialem wiele wysokiej jakości treści tego autora. Nie zmienia to jednak fakto, że w tym konkretnym przypadku doszło do pomylenia “protokołu” i “wdrożeń”, co doprowadziło do błędnego rozumowania.

Na marginesie, uznanie jako ekspert ds. bezpieczeństwa nie uniemożliwia wnoszenia bardziej zróżnicowanego wkładu w debatę na temat komunikatorów: www.messenger-matrix.de/messenger-matrix-en.html

Aplikacja może bardzo dobrze uniemożliwić obniżenie poziomu komunikacji do postaci niezaszyfrowanej i odmówić przyjęcia komunikacji niezaszyfrowanej, nawet jeśli protokół pozwala również na pisanie komunikatorów bez szyfrowania

Może, ale jest to dodatkowa rzecz, która musi być dobrze, poprawnie zaimplementowana, i nie zepsuta przypadkiem w następnych wersjach. Kolejny skomplikowany element i tak już nieprawdopodobnie skomplikowanego systemu. A Matrix nie ma zbyt dobrej historii nie popełniania durnych błędów w implementacji własnego protokołu: arstechnica.com/…/matrix-patches-vulnerabilities-…

Tak, niewątpliwie nie wykonali bardzo dobrej pracy, dostarczając wdrożenie referencyjne. Fakt, że Matrix stał się na tyle ważny, że powstają konkurencyjne implementacje zarówno dla serwera, jak i klienta, dodaje mi jednak nadzieję.

Mało tego, musi to też być dobrze zakomunikowane dla osób korzystających, które będą musiały zrozumieć to, że jakaś część komunikacji w danej aplikacji może być nieszyfrowana, i uważać na to, czy w danym momencie komunikują się w sposób szyfrowany, czy nie.

Powtarzam: tworzenie takich aplikacji jest nieodpowiedzialne. To zastawianie pułapek na osoby implementujące, oraz na osoby korzystające. Nie ma tu absolutnie żadnego usprawiedliwienia.

Aby nie wymagać od użytkowników niezorientowanych technicznie, że zrozumiają, kiedy komunikator zmienia do komunikacji niezaszyfrowanej, aplikacja powinna po prostu odmówić udział uw komunikacji niezaszyfrowanej, nawet jeśli protokół na to pozwalałby w sieci.

Jeśli jednak zgodzimy się, że musimy chronić użytkownika przed samym sobą, Signal również wymaga ulepszenia. O ile wiem, do lutego 2024 roku Signal zawsze przekazywał numer telefonu uczestikom komunikacji. W praktyce umożliwia to przeprowadzenie “downgrade attack”: Jeśli atakujący zakłócił zaszyfrowaną komunikację Signal, użytkownicy mogliby zdecydować się na użycie numeru telefonu i komunikowanie się za pośrednictwem sieci telefonicznej, a więc bez E2EE. Rozumiem, że Signal dziś wprowadził opcję nie podawania numeru telefonu innym użytkownikom. Oznacza to jednak, że jeszcze zapewnia opcję obniżenia poziomu zabezpieczeń komunikacji. Dlatego, jeśli chcemy, aby obniżenie oceny było niemożliwe, Signal powinien całkowicie zrezygnować z numerów telefonów.

W powiązanym temacie, bezpieczne aplikacje internetowe są możliwe, nawet w świecie, w którym przeglądarki rozumieją niezaszyfrowany protokół HTTP.

Tak, i ataków downgrade na HTTPS były dziesiątki. Dekady zajęło doprowadzenie HTTPS to stanu jako takiego bezpieczeństwa. Zamiast powtarzać ten błąd i wystawiać się na takie ryzyko, lepiej po prostu nie wspierać wysyłania nieszyfrowanych wiadomości.

Zgadzam się, że należy starać się unikać błędów z przeszłości. Po prosto nie jestem pewien, czy to oznacza, że powinniśmy porzucić ideę otwartych i interoperacyjnych protokołów, która kiedyś uczyniła Internet dużym i zróżnicowanym.

Chociaż nie poprawia to niczego dla prywatnego użytkownika końcowego, fakt, że siły zbrojne ufają niestandardowemu komunikatorowi opartym na Matrix z poufnymi informacjami

Masz rację, to nie poprawia niczego dla prywatnego użytkownika końcowego. Bundeswehra korzysta z własnej wersji klienta Matriksa (BwMessenger) – o ile się założymy, że tryb nieszyfrowany jest kompletnie wycięty? Mało tego, korzysta z niego we własnej, zamkniętej sieci. Idę o zakład, że ta sieć jest dodatkowo szyfrowana na niższym poziomie.

Nie znalazłem jeszcze żadnych źródeł, które konkretyzowałyby takie szczegóły. Jeśli takie istnieją, chętnie je przeanalizuję.

może wskazywać, że sam protokół nie implikuje słabego szyfrowania.

Sam protokół niczego nie “implikuje”, on po prostu dopuszcza możliwość komunikowania się w sposób nieszyfrowany. I to jest problem, którego porządny protokół komunikacji w 2025r. po prostu nie powinien mieć.

Zaznaczyłem to twierdzenie, które bardzo przypomina to, co @soatok napisał w swoim artykule. Ciągle czekam, aż ktoś będzie w stanie uzasadnić to twiedzenie bez mieszania protokołu z implementacją. Jak już powiedziałem, jeśli aplicacja, z której korzystam, nie umożliwia przejścia na niezaszyfrowaną komunikację, nie widzę powodu (w logicznym, naukowym sensie), dla którego zbudowanie jej na wielozadaniowym protokole, który może również wykonywać różne czynności, miałoby stwarzać jakiekolwiek ryzyko dla bezpieczeństwa. Najgorsze, co mogłoby się zdarzyć, jest to, że ludzie nie będą mogli ze mną rozmawiać, ponieważ moja aplikacja odmówi ich prośbie o niezaszyfrowaną komunikację.

Prawdziwym żalem jest to, że obecnie nie wydaje się istnieć żadna aplikacja końcowego użytkownika, która byłaby otwarta, federacyjna, przyjazna dla użytkownika i bezpieczna.

Ja sobie patrzę na Cwtch z nadzieją: docs.cwtch.im

Także ja śledzę to z zainteresowaniem.

Albo wystąpiłyby techniczne wady, albo byłaby scentralizowana, co narażałoby użytkowników na ryzyko uzależnienia od dostawcy i gównowacenia.

Ryzyko zgównowacenia istnieje zawsze, decentralizacja je zmniejsza. Zmniejsza je również na przykład nie bycie startupem mającym generować zyski dla inwestorów. Signal zarządzany jest przez fundację, która takim startupem bardzo mocno nie jest. Więc akurat nie mam problemu z polecaniem Signala, choć chciałbym, by był federowany rzecz jasna.

Zdecydowanie zrobili kilka rzeczy dobrze. Wciąż uważam, że centralizacja jest ryzykowna. W Stanach Zjednoczonych, uniwersytety również powinny być niezależne, ale przekonaliśmy się, jak bardzo Trumpiści troszczą się o tę niezależność. Nie znam się na fundacjach, i co mogłoby się stać, gdyby stanęły im na drodze.

Takie gadanie, że wszystko do dupy, tylko utwierdza ludzi w przekonaniu, że to nie ważne, z czego korzystają, skoro wszystko syf. I zostają na Telegramie. Nie wiem, czy to jest efekt, na którym Ci zależy.

Wprost przeciwnie. Właśnie skrytykowałem wadliwą argumentację w artykule, który zacytowałeś, a jeśli chodzi o debatę na temat komunikatorów, apeluję o mniej czarno-białego myślenia. Jak rozumiem, Telegram jest tak zły, jak tylko może być, biorąc pod uwagę, że jest scentralizowany i nie ma E2EE. Ale nie widzę ani pojedynczego “dobrego” komunikatora, ponieważ to bardzo zależy od tego, przed jakim modelem zogrożeń chcesz się chronić. I nie wierzę, że bezpieczeństwo można osiągnać bez wysiłku. Tak jak użytkownicy XMPP lub Matrix powinni dwokrotnie sprawdzić swoje wdrożenie i pradwopodobnie zgłosić błędy, jeśli pozwala na ataki typu downgrade, użytkownicy Signal powinni domagać się większej decentralizacji i lepszej integracji z klientami innych programistów. Wydaję się, że nie leży to w najlepszym interesie użytkowników dbających o bezpieczeństwo, aby Signal żądał jednolitej kultury w odniesieniu do oprogramowanie klienckiego (github.com/LibreSignal/LibreSignal/issues/37#issu…), podczas gdy istnieją deweloperzy klientów, którzy mogą nawet lepiej sobie radzić w kwestii bezpieczeństwa urządzeń (@mollyim).

bmalkow,
@bmalkow@101010.pl avatar

@rysiek ostatni raz byłem tak zaskoczony jak się okazało że w południe była godzina dwunasta.

wariat,
@wariat@szmer.info avatar

Czyli zimą… bo w czasie letnim jest trzynasta. ;-)

wariat,
!deleted173 avatar

@rysiek
Tia… to powód dla którego odmawiałem instalacji badziewia jakieś ja wiem? 10 lat temu?

Przez ostatnich kilak dziwię się tylko, że jeszcze ktokolwiek tego używa. :>

rysiek,
@rysiek@szmer.info avatar

Z tej strony autor, AMA.

slavistapl,

Dlaczego nie sugeruje się w artykule XMPP jako potencjalnej alternatywy?

rysiek,
@rysiek@szmer.info avatar

Ponieważ XMPP nie jest na dzień dzisiejszy potencjalną alternatywą, przynajmniej nie w zakresie prywatnej, szyfrowanej komunikacji. Mówię to z żalem, jako osoba, która odpaliła i zarządzała kilkoma serwerami XMPP już ponad dekadę temu. XMPP znacznie się poprawiło przez te lata, ale jeszcze sporo mu brakuje do zapewnienia odpowiedniego poziomu bezpieczeństwa:

OMEMO is not the worst attempt at making XMPP encrypted (see: XEP-0027 for that), but it still doesn’t meet the bar for the kind of private messaging app that Signal is, and is not a viable competitor to Signal.

To understand why this is true, you only need check whether OMEMO is on by default (it isn’t), or whether OMEMO can be turned off even if your client supports it (it can).

soatok.blog/2024/08/04/against-xmppomemo/

Cały post jest wart lektury, nurkuje w problemy z XMPP znacznie głębiej. Warto też przeczytać bardziej ogólny post Soatoka (linkowałem go w tym wątku poprzednio):
soatok.blog/…/what-does-it-mean-to-be-a-signal-co…

W artykule nie sugeruję też np. Cwtch, który moim zdaniem jest ciekawszym podejściem do stworzenia w pełni szyfrowanej, zdecentralizowanej alternatywy dla scentralizowanych komunikatorów – ponieważ artykuł w OKO.press kierowany jest do osób raczej nietechnicznych, a Cwtch nie jest jeszcze gotowy na takie osoby korzystające.

slavistapl,

Swojego czasu stworzyłem też na Kontrabandzie poradnik na temat wchodzenia w XMPP: kontrabanda.net/…/jak-korzystac-z-xmpp-zakladanie… no i był dość wysoko oceniany. Jedna osoba nawet napisała, że “poradnik jest jasny i klarowny”, więc no… przynajmniej dla mnie to jest coś.

Ale też rozumiem podjętą decyzję.

rysiek,
@rysiek@szmer.info avatar

Nie mówię, że XMPP nie ma przyszłości. Więc dobrze, że takie poradniki powstają.

Ale alternatywą dla Signala, w tej chwili, nie jest. Choć bardzo chciałbym, żeby było.

slavistapl,

Pozostaje mieć nadzieje, że kiedyś bedzie szansa na “wywrócenie stołka”. Ja tylko dodam od siebie, że np. zacząłem kontrybuować do kodu Monocles Chat z usprawnieniami interfejsu.

rysiek,
@rysiek@szmer.info avatar

I bardzo dobrze. Szanse na wywrócenie stolika się pojawiają regularnie, tylko trzeba być na taką szansę gotowymi.

Fedi było sobie w cieniu i rozwijane po cichu przez dekadę zanim Musk przejął Twittera – a wtedy było już ~gotowe, i dużo na tym zyskało. Tak samo Lemmy.

Więc jak najbardziej taka praca u podstaw jest niezbędna i cenna.

  • Wszystkie
  • Subskrybowane
  • Moderowane
  • Ulubione
  • rowery
  • test1
  • esport
  • Technologia
  • FromSilesiaToPolesia
  • wolnyinternet@szmer.info
  • fediversum
  • ERP
  • krakow
  • muzyka
  • shophiajons
  • NomadOffgrid
  • informasi
  • retro
  • Travel
  • Spoleczenstwo
  • gurgaonproperty
  • Psychologia
  • Gaming
  • slask
  • nauka
  • sport
  • niusy
  • antywykop
  • Blogi
  • lieratura
  • motoryzacja
  • giereczkowo
  • warnersteve
  • Wszystkie magazyny