11.06.2018 | 18:53

irq

Signal – kiedy okazuje się, że znikające wiadomości nie zawsze znikają

Od czasu rewelacji Snowdena trwa wielki boom na bezpieczne komunikatory. Kilka z nich zyskało sporą popularność, ale jak pokazują problemy jednego z nich, nawet te dobre mogą nie ustrzec się wpadek.

Gdy chcesz mieć pewność, że nikt nie podsłucha twoich rozmów lub też nie przeczyta przesyłanych przez ciebie wiadomości i plików, nie ma potrzeby sięgania po szpiegowskie narzędzia. W teorii wystarczy szyfrowanie całej komunikacji między urządzeniami nadawcy i odbiorcy oraz by komunikaty w postaci nierozszyfrowanej nie były dostępne po żadnej ze stron komunikacji. Te właściwości oferuje swoim użytkownikom Signal.

Signal jest jedną z najpopularniejszych aplikacji komunikacyjnych. Dostępna jest ona niemal na wszystkich platformach (telefony z Androidem i iOS-em), jak również systemach komputerowych (Windows, MacOS, Linux). W wielu kręgach Signal szybko zyskał status najbezpieczniejszego komunikatora. Gwarantuje on poufność informacji poprzez szyfrowanie wiadomości „end-to-end”. Dodatkowe rozwiązania bezpieczeństwa to rzeczywiste usuwanie lokalnej kopii wiadomości oraz możliwość tworzenia samoistnie kasujących się wiadomości („self-destroy”). Cecha ta pozwala na ustawienie czasu, po którym wiadomość jest usuwana po obu stronach komunikacji.

Ta wiadomość ulegnie autodestrukcji za 6.. 5… 4…

Funkcja tworzenia samoznikających wiadomości jest wykorzystywana przez osoby obawiające się, że telefon może zostać skradziony bądź przechwycony przez niewłaściwe osoby. Z tego powodu Signal cieszy się dużą popularnością w środowisku dziennikarzy, którzy dbają o poufność swoich źródeł informacji. Dobra implementacja sprawia, że czat i dzienniki (logi) są czyszczone i nigdzie nie pozostaje ślad po wiadomości. Jednak nie ma technologii bez błędów.

W tym obszarze w ostatnim czasie twórcom Signala (Open Whisper Systems) przytrafiło się kilka wpadek, które pokazują, jak trudno jest zaimplementować samoznikające  wiadomości.

  1. W niektórych przypadkach znikające wiadomości nie działały zgodnie z oczekiwaniami użytkownika, tzn. nie były usuwane po ustalonym czasie (dotyczy implementacji aplikacji na urządzenia mobilne). Wielokrotna weryfikacja tej funkcji przez dziennikarzy Motherboard pokazała, że czasami (zwłaszcza w przypadku długich konwersacji) wiadomości były usuwane tylko na jednym z urządzeń. Problem dotyczył wiadomości wysyłanych tuż przed 22 maja. Twórcy Signala poinformowali, że błąd został już usunięty (stan na 8.06.2018 roku).

    źródło: https://motherboard.vice.com/en_us/article/bj3pxd/signal-disappearing-messages-not-disappearing

  2. Na komputerach MacOS domyślne ustawienia aplikacji powodują, że nawet wiadomości z ustawionym parametrem usuwającym je po ustalonym czasie mimo to pojawiają się w aplikacji i na pasku powiadomień systemu operacyjnego. Powiadomienia zawierają informacje o nadawcy oraz treść wiadomości. O błędzie poinformował na swoim blogu Patrick Wardle. Okazuje się, że dane są przechowywane na dysku i mimo kasowania ich w aplikacji pozostają dostępne na poziomie systemu operacyjnego. To powoduje, że komponent aplikacji, jakim jest powiadomienie na pasku narzędzi, ma dostęp do wiadomości. Wszystkie dane komunikacji w Signalu są przechowywane w bazie danych SQLite. Wiadomości nie są tam kasowane i mogą być dostępne na poziomie dostępu do bazy danych oraz możliwe do odtworzenia w późniejszym czasie. Ten błąd także został już usunięty.

    źródło: https://objective-see.com/blog/blog_0x2E.html

Warto przypomnieć, że nie jest to pierwsze zastrzeżenie dotyczące poprawności implementacji kluczowych funkcji aplikacji Signal.

W maju 2018 opublikowano informację o ujawnieniu wielu błędów w wersji stworzonej na komputery (dotyczy implementacji na wszystkie systemy operacyjne). Początkowo poinformowano o podatności klasy XSS, która umożliwia atakującemu umieszczenie dodatkowego formularza w aplikacji Signal i pozyskiwanie wrażliwych informacji. Szybko opublikowano aktualizację eliminującą ten błąd, jednakże już po kilku dniach kolejne badania ujawniły znacznie groźniejsze luki w Signalu. Okazało się, że nadal istnieją podatności, które umożliwiają wykonanie złośliwego kodu na komputerze ofiary. Błąd pojawił się 1 kwietnia bieżącego roku wraz z kolejną aktualizacją aplikacji.

Kolejne dni przyniosły następne niepokojące odkrycia. 16 maja poinformowano o podatności, która umożliwiała atakującemu wykonanie na komputerze ofiary zdalnego kodu (RCE – Remote Code Execution) poprzez wysłanie specjalnie przygotowanej wiadomości (CVE-2018-11101). Kiedy ofiara odebrała wiadomość, złośliwy kod był wykonywany automatycznie, bez konieczności interakcji z użytkownikiem. Przygotowany PoC exploit wykazał, że w ataku tym można było wykraść rozmowy użytkownika (jako zwykły tekst) i wysłać do atakującego jako wiadomość. Atak niszczył całkowicie poufność komunikacji – bez konieczności łamania szyfrowanych wiadomości umożliwiał poznanie całej korespondencji w postaci jawnego tekstu. Pokazano również, że poprzez atak tego typu możliwe jest pozyskanie funkcji skrótów haseł NTLMv2 (poświadczenia logowania do systemu Windows).

źródło: https://thehackernews.com/2018/05/signal-messenger-code-injection.html

Niektóre z błędów nie były inherentną cechą samej aplikacji, lecz były związane z frameworkiem Electron, z którego korzystają twórcy Signala. Z tego względu część badaczy jednoznacznie podważa jakość aplikacji, uznając, że bazuje ona na niezbyt bezpiecznym rozwiązaniu, jakim jest Electron.

Warto zauważyć, że już w październiku 2016 roku opisano na GitHubie, iż funkcja usuwania wiadomości nie działa w systemach iOS (problem został rozwiązany dopiero w wersji 2.11 aplikacji w czerwcu 2017 roku).

Każdą odkrytą podatność poddawano analizie, która wykazała, że niektóre z nich pojawiały się dopiero w ostatnich wersjach aplikacji, co może świadczyć o problemach z analizą jakości i bezpieczeństwa implementowanych zmian. Twórcy, rozwijając aplikację, dodając kolejne funkcje, zapominają, że mogą popsuć coś, co dobrze działa, i naprawiając jeden element aplikacji, niszczą inny. Obecnie poprawki do aplikacji są wydawane tuż po odkryciu błędów, a każdy użytkownik powinien je natychmiast zainstalować na swoim Signalu.

Opisane błędy świetnie pokazują, że nawet koncepcyjnie świetny protokół komunikacji może mieć poważne problemy w warstwie implementacji. Zapewne na jakości kodu Signala odbija się bardzo nieliczny zespół pracujących nad nim programistów. Nie oznacza to jednak, że należy Signala porzucić dla innych rozwiązań. Warto zauważyć, że wszystkie popularne komunikatory cierpiały na podobne przypadłości na pewnym etapie swojego rozwoju – oprogramowanie bez błędów nie istnieje, a jeśli gdzieś błędów nie odkryto, to zapewne niewystarczająco długo ich szukano.

Powrót

Komentarze

  • 2018.06.11 19:55 Michał

    Nawet nie wiedziałem że Signal ma możliwość wysyłania samo niszczących się wiadomości :)

    Odpowiedz
    • 2018.06.11 22:13 Kichał

      bo de facto nie ma :)

      Odpowiedz
    • 2018.06.11 22:34 zwiewko szykry

      dyskretny urok autodestrukcji

      Odpowiedz
  • 2018.06.12 00:11 none

    Zakładając, że „samoniszczące się” wiadomości nie działają lub nie są używane, to dla kogoś, kto chce przejąć komunikację właściwą metodą jest czas. Np. dla służb – przetrzymanie urządzenia na okres czasu do wykrycia następnego buga.
    A to raczej kwestia czasu. W electronie jest nawet obsługa joysticka xbox. Trochę jakby opierać rozwój bezpiecznej platformy o podstawę wordpress.

    Odpowiedz
  • 2018.06.12 10:30 Krzysztof Kozłowski

    No to jeśli nie signal to co? Bo problem sie robi coraz bardziej palący. W tym momencie bezpieczna komunikacja zaczyna być wymagana a większość rozwiązań jest co najmniej słaba. Opieranie się na przesyłaniu zaszyfrowanych kontenerów VC jest „słabe”… Szyfrowanie maili jest tak skomplikowane że nikt tego nie chce :D:D:D

    Signal wychwalany jako bezpieczny się błyskawicznie samozaorał. Od pewnego czasu niemal każdy system i rozwiązanie co jakiś czas okazuje się słabe i podatne. Za chwilę możemy stanąć w obliczu sytuacji że będzie trzeba dokonywać kilku samo donosów rocznie na wyciek danych bo Windows ma podatności antywirusy mają routery mają a wiele z nich umożliwi kradzież danych bez naszej wiedzy i możliwości stwierdzenia czy do niej doszło czy nie.

    W tym momencie rozmowy z właścicielami firm są trudne. Wszyscy chcą chmury… A dokładniej dostępu do zasobów firmy zewsząd i zawsze. Komunikacji zawsze kalendarzy zawsze itd itp… I co ważne z każdego urządzenia. Ale już vpn jest „zdziwianiem” jakiekolwiek ograniczenia związaniem z umieszczeniem usługi w sposób odcinający ją od internetu jest zdziwieniem. A przecież wszystkie systemy i rozwiązania są obarczone kolosalnym ryzykiem wystąpienia błędów w implementacji. Błędów które z dnia na dzień mogą spowodować że dostępne w nich poufne dane będą całkiem publicznymi danymi dostępnymi dla chętnego zorientowanego smarkacza. Co gorsza w wielu wypadkach może się okazać że nie będziemy za bardzo w stanie z 100% pewnością stwierdzić że ktoś sobie poczytał te dane. No ale „panie co mi pan tu opowiada wszyscy korzystają a nie zdziwaiają ”
    Do tego oczywiście dochodzi genialne podejście do serwisowania i aktualizacji. „ale mi się podoba jak działa to po co aktualizować :D”

    Do ilu firm można wysłać szyfrowanego maila? Do niektórych jak wysyłają zaszyfrowanego 7zipa to jest kolosalny problem żeby to otwarli a „ich informatyk” „nie pozwala”/”nie ma czasu”.

    Odpowiedz
    • 2018.06.12 15:54 Janusz

      Jabber+otr

      Odpowiedz
    • 2018.06.13 16:28 SuperTux

      Telegram?

      Odpowiedz
  • 2018.06.12 10:38 A.

    Jesli cos dawaloby poufnosc dla zwyklego Kowalskiego – zostaloby zakazane. Nie badzcie naiwnymi dziecmi.

    Odpowiedz
  • 2018.06.12 21:32 Jerico

    W sumie bardziej martwiłbym się o Signala, gdyby nie znajdowano w nim żadnych błędów, bo to by oznaczało, że nikt ich nawet nie szuka. Już wolę, żeby w jakimś programie często znajdowano (i szybko naprawiano) błędy, bo program „bezbłędny” to taki, który swoimi utajonymi usterkami wybuchnie użytkownikom w twarz w najgorszym możliwym momencie.

    Oczywiście zawsze najlepiej, żeby błędów było jak najmniej i tego twórcom Signala szczerze życzę.

    Odpowiedz
  • 2018.06.12 21:55 Kafelek

    Kilka dni temu zainstalowałem Signala, ale poza smsami które dochodzą bezbłędnie, rozmowy telefonicznej nie mogę nawiązać.
    Próbowałem z kilkoma osobami, u mnie sygnał wywoływania na drugim telefonie nic. Przychodzi tylko wiadomość o nieodebranym połączeniu.
    To normalne w tym programie?

    Odpowiedz
    • 2018.06.13 09:27 Mistle

      Mam podobny problem. Przez chwilę działało i przestało.
      Druga strona widzi tylko info o nieodebranym call-u ale samego call-a nie widzi.
      Wiem, że u innych działa ale tu nie.
      Można reinstalować , zmieniać, nic nie pomaga.
      Tak jakby dostawca netu/operator coś blokował.

      Odpowiedz
    • 2018.06.13 21:53 ppp

      u mnie też nie działało i miałem te same objawy. zaczęło działać po:
      -wyłączeniu TORa
      -wyłączeniu VPN
      -obie osoby w zasięgu LTE
      czasami pojawia się duża latencja

      Odpowiedz
    • 2018.06.13 21:54 ppp

      +zobacz, czy OS nie blokuje wyskakujących powiadomień, działania w tle itp.

      Odpowiedz
    • 2018.06.15 14:05 niemam

      To jest celowe działanie twórców Signala aby zniechęcić użytkowników LineageOS i podobnych bez google play services do korzystanie z Signala. Każdy ma być śledzony w powiązaniu z jego numerem telefonu. Myślę, że te te wszystkie „bugi” to celowe działanie któregoś z programistów. Może mają taki nakaz sądowy czy coś.
      https://github.com/signalapp/Signal-Android/issues/7638

      Odpowiedz
  • 2018.06.14 21:36 XdD

    „inherentną cechą”? to po polsku dziedziczną cechą? Czy się mylę? sorry ale to mnie razi xD

    Odpowiedz
    • 2018.06.14 22:41 GN

      Ang. „inherent” i „inherit” – różne słowa, różne znaczenia.

      Odpowiedz
    • 2018.06.15 08:29 c0t0d0s2

      Artykuł w swym zamiarze jest napisany w języku polskim. Wyraz/termin 'inherentny’ jest znany i zdefiniowany w języku polskim (patrz Słownik Języka Polskiego: https://sjp.pwn.pl/szukaj/inherentny.html) i jak najbardziej jest użyty w sposób świadomy zgodnie z polskim znaczeniem.

      Niestety środowisko IT bardziej myśli w języku angielskim i często doszukuje się „obcych” znaczeń.

      Odpowiedz
  • 2018.06.15 14:00 nie mam

    Ten Signal sam w sobie to jest jeden wielki trojan. Jak ktoś piszący takiego Signala może wymagać aby apka była trwale powiązana z numerem telefonu karty SIM? Przecież to jest inwigilacja i masowe gromadzenie metadanych kto z kim, o której. Można takiemu Snowdenowi puścić Tomahawka czy Chińskim dysydentom spuścić bomby. Czemu nie można po prostu użyć losowego loginu bez żadnej rejestracji? To chyba jest celowe działanie autorów Signala.

    Odpowiedz
  • 2018.06.16 02:27 Słuchacz

    Chcesz wiedzieć czy masz telefon na podsłuchu?
    Zainstaluj Signala i spróbuj się z kimś połączyć na szyfrowanym łączu ;)

    Odpowiedz
    • 2019.11.20 11:51 Agata

      lepiej w ogole z tego nie korzystac ;)

      Odpowiedz
  • 2018.06.17 13:43 Zenek

    WhatsApp nie jest już bezpieczny, zostaje Signal abo Telegram który m ateraz problemy w Rosji, bo nie chce współpracować. Pytanie czy ktoś używał komunikatora Usecrypt ? To polski wynalazek, ale płatny. Ma informować użytkownika o próbach przechwycenia jego komunikacji. https://tech.wp.pl/rewolucja-w-prywatnosci-usecrypt-ma-oferowac-nowa-jakosc-szyfrowania-wiadomosci-6187317727725697a

    Odpowiedz
    • 2019.11.20 11:51 Agata

      korzystam z Usecrytpt od pewnego czasu, żadnych wycieków danych i jest super mam spokoj :)

      Odpowiedz

Zostaw odpowiedź

Jeśli chcesz zwrócić uwagę na literówkę lub inny błąd techniczny, zapraszamy do formularza kontaktowego. Reagujemy równie szybko.

Signal – kiedy okazuje się, że znikające wiadomości nie zawsze znikają

Komentarze