Komunikator Threema miał być bezpieczny, a okazał się dziurawy jak ser szwajcarski. Niestety analizę poznaliśmy cały rok po tym, jak na Threemę przesiadł się rząd i wojsko. Także szwajcarskie.
Na początku 2022 roku armia Szwajcarii zakazała korzystania z WhatsAppa, Signala i Telegrama. Oficjalnym komunikatorem wojskowym została Threema – otwartoźródłowy projekt, również chwalący się wysokim poziomem zabezpieczeń. Czar prysł, gdy za audyt komunikatora wzięli się specjaliści z Politechniki Federalnej w Zurychu.
Zobacz: WhatsApp zakazany! Wojsko wskazuje lepszą alternatywę
Threema chwali się bazą 11 milionów użytkowników i bezpieczeństwem zapisanym głęboko w swoim DNA. Ma o tym świadczyć choćby zaufanie, jakie pokłada w komunikatorze rząd Szwajcarii i szwajcarska armia. Threema przechodziła też przynajmniej dwa audyty kodu w roku 2019 i 2020. Okazało się jednak, że wcześniejsze kontrole nie zajrzały dostatecznie głęboko, by odkryć poważne luki bezpieczeństwa.
Zespół z politechniki w stolicy Szwajcarii odkrył spory wachlarz luk bezpieczeństwa, które do spółki pozwalały na kilka rodzajów ataków z użyciem trzech głównych wektorów. Możliwe było na przykład podszywanie się pod użytkownika, zmiana kolejności wypowiedzi w zapisie rozmowy oraz sklonowanie konta ofiary. Wykorzystanie mechanizmu kopii zapasowych zaś pozwalało wydobyć prywatne klucze, używane do szyfrowania rozmów.
Do tego należy dorzucić odkrycie ataku reply and reflection podobnego do tego, z którym Threema poradziła sobie w 2018 roku. Atakujący może bowiem odpowiedzieć na stare wiadomości, gdy użytkownik przeinstalowuje apkę lub zmienia telefon. Wisienką na torcie jest możliwość uruchomienia ataku Kryptomat, polegającego na przekierowaniu wiadomości do innego użytkownika. Ta luka została zgłoszona pod koniec 2021 roku przez samego Jonathana Kerbsa i rzekomo natychmiast załatana. Gęste kalendarium odkryć rzuca bardzo złe światło na komunikator używany przez najważniejsze osoby w Szwajcarii.
Przy okazji naukowcy z Zurychu pokazali, że audyt audytowi nierówny. Niemniej kryzys został ponownie zażegnany. Autorzy Threemy otrzymali raport 3 października 2022. Już 29 listopada wydali aktualizację, która załatała przynajmniej część ze znalezionych luk.
Deweloperzy Trheemy złamali podstawową zasadę projektowania bezpiecznego oprogramowania i wielu innych rzeczy. Zaimplementowali własny, nowy protokół, zamiast skorzystać z już istniejącego, który sprawdza się od lat: wymyślili C2S, zamiast sięgnąć po sprawdzony TLS. W idealnym świecie przy implementacji nowego rozwiązania należy dostarczyć własną dokumentację z dowodami bezpieczeństwa. Tu jej również zabrakło.
Zresztą, nawet wykorzystanie współczesnych komponentów nie gwarantuje sukcesu. To jak wziąć paletę nowoczesnych części samochodowych, złożyć z nich coś i dziwić się, że jednak nie skręca…
Autorzy Threemy dalej idą pod prąd. Owszem, szybko reagują na zgłoszenia, ale znów wywarzają otwarte drzwi. Zamiast C2S będą stosować zupełnie nowy protokół Ibex, w którym nie będą występować niektóre znane problemy. Bronią się też tym, że odkrycia z Politechniki Federalnej są interesujące teoretycznie, ale nie ma śladów rzeczywistych ataków. Czujesz się od tego lepiej? Bo ja nie.
Źródło zdjęć: Shutterstock / Michael Derrer Fuchs