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....
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.
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).
Popularny komunikator Telegram nie jest bezpieczny, ma powiązania z rosyjskimi służbami (oko.press)
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....