Spisu treści:
Ostatnio dyskutowano o nowym sposobie wykorzystania WhatsApp i ominięcia szyfrowania typu end-to-end, o którym firma lubi wspominać, że ma taką możliwość. Widziałem tweety i komentarze uruchamiające gamut od „FUD” po mówienie o niektórych backdoorach, które zainstalował Facebook.
Dobrą wiadomością jest to, że tak nie jest. W rzeczywistości nie jest to jedna z tych rzeczy, o które musisz się martwić, a zamiast tego jest to jedna z tych rzeczy, które sprawiają, że zastanawiasz się, jak to się kiedykolwiek stało, ponieważ jest dość niechlujna. Ale nie martw się - zostanie to naprawione na długo, zanim cokolwiek się stanie.
Co to jest
Badacze Paul Rösler, Christian Mainka i Jörg Schwenk z Ruhr-Universität w Bochum w Niemczech opublikowali artykuł badawczy (link.pdf), który znalazł osobliwą wadę w administrowaniu czatem grupowym WhatsApp. WhatsApp oferuje takie samo kompleksowe szyfrowanie czatów grupowych, co w przypadku pojedynczych czatów, a to zwykle oznacza, że powinniśmy być w stanie czuć się bezpiecznie wiedząc, że rzeczy, o których mówimy, nie będą czytane przez nikogo, kto nie powinien czytanie, chyba że jeden z członków grupy na to pozwoli.
Najwyraźniej nieznajomy może teoretycznie dodać się do czatu grupowego na WhatsApp. „Teoretycznie” i „możliwe” są tutaj słowami kluczowymi. Wytłumaczę.
WhatsApp oferuje grupowe wiadomości, które wykorzystują silne szyfrowanie end-to-end.
W czacie grupowym WhatsApp jeden lub więcej oryginalnych członków jest administratorem. Z punktu widzenia serwera oznacza to, że osoby te mogą dodawać i usuwać osoby z grupy. Jak dotąd wszystko jest dobrze, nawet jeśli tak to działa - administrator wysyła sygnał do każdego członka grupy za pomocą swoich kluczy podpisu, aw zamian każdy członek wysyła wiadomość zwrotną ze swoimi kluczami podpisu, a następnie nadawca wiadomości powiadamia każdego członka, że w grupie jest teraz nowa osoba - to trochę kłopot w celu stworzenia dobrego interfejsu użytkownika. Jeśli nie jesteś administratorem, wiesz tylko, że widzisz komunikat, że Jerry jest teraz członkiem grupy. Możesz to zaakceptować lub opuścić czat.
Podobną wadę stwierdzono w grupowych wiadomościach przesyłanych przez Signal.
Problem polega na tym, że WhatsApp nieprawidłowo uwierzytelnia żądania zarządzania grupami na własnych serwerach. Serwer WhatsApp musi poprawnie zidentyfikować nadawcę wiadomości, która dodałaby osobę do czatu grupowego. Osoba wysyła wiadomość, która identyfikuje zarówno grupę, jak i członka, którego chce dodać, a serwer sprawdza, czy osoba, która ją wysłała, jest w rzeczywistości administratorem czatu. Wiadomości te nie są szyfrowane od końca do końca i zamiast tego używają standardowego szyfrowania transportowego - wiadomość przychodząca od administratora czatu i kierowana na serwer, który prosi użytkownika o dodanie do czatu, nie jest podpisywana przez nadawcę.
Oznacza to, że serwer WhatsApp może w dowolnym momencie dodać dowolnego użytkownika do dowolnej grupy. Serwer może, a nie inny użytkownik. To ważne, a to oznacza, że prywatność oczekiwana na czacie grupowym WhatsApp zależy wyłącznie od zaufania do serwera czatów WhatsApp. Jest to sprzeczne z całym celem szyfrowania typu end-to-end, który ma na celu zagwarantowanie prywatności nawet w przypadku naruszenia bezpieczeństwa serwera, ponieważ tylko nadawca i odbiorca mogą odszyfrować wiadomość.
A potem Internet traci zbiorowe rozumowanie, ponieważ to właśnie Internet jest naprawdę dobry w robieniu.
To się nie stanie, ale nadal wymaga naprawy
Jedynym sposobem na wykorzystanie tej wady jest osoba z dostępem do serwera. Oznacza to, że serwer zostaje narażony na szwank, pracownik staje się nieuczciwy lub trzyliterowa agencja rządowa składa nakaz. Każda z tych rzeczy mogłaby się zdarzyć, mogła zdarzyć się w przeszłości, a nawet teraz. Ale należy wziąć pod uwagę jeszcze jedną rzecz - będziesz wiedzieć, czy to stanie się na czacie.
Otrzymasz powiadomienie za każdym razem, gdy dana osoba zostanie dodana do czatu grupowego, zaszyfrowana lub nie.
Pierwszą rzeczą, którą serwer robi po dodaniu członka, jest powiadomienie każdego innego członka grupy, że „Jerry został dodany do czatu”. Zobaczysz komunikat informujący, że ktoś został dodany, podobnie jak wszyscy inni. Kiedy Jerry pojawia się na prywatnym przyjęciu na czacie ze swoimi złymi dowcipami i tanim piwem, a nikt go nie zaprosił, będzie to znak, że coś jest nie tak i nikt nie powinien uważać niczego, co zamierzają wpisać za prywatne. Spakuj się i przejdź do innej rozmowy bez Jerry'ego, a może nawet do innej usługi, która nie pozwoli mu upaść.
Dlatego nikt nie będzie w stanie potajemnie sprawdzić zaszyfrowanego czatu grupowego, ale nadal podważa to kompleksowe szyfrowanie w każdy możliwy sposób. Trzeba to natychmiast naprawić, a może nawet trzeba przerobić całą metodę zarządzania grupą. Co najmniej musimy wszyscy podrapać się w głowę i zastanawiać, jak coś takiego wymyka się programistom i audytorom kodu. To absurdalna przesłanka, która nigdy nie zostanie wykorzystana, ale nadal.
Co musisz zrobić
Nic takiego. Doceń pracę wykonaną przez Röslera, Mainkę i Schwenka w znalezieniu tej wady, ponieważ badania bezpieczeństwa to niewdzięczna i często odrętwiająca praca, ale w przeszłości nie musisz wcale zmieniać swojej rutyny. Metoda uwierzytelnienia prośby o dodanie członka do zaszyfrowanego czatu grupowego zostanie rozwiązana przez ludzi, którzy utrzymują koła WhatsApp kręci się wkrótce, a to zmieni się z usterki, która nigdy nie zostanie wykorzystana, na wadę, której nie można już wykorzystać wszystko.
Ważne jest, aby zwracać uwagę, ponieważ następna wada może równie dobrze wymagać działania z Twojej strony. I będzie kolejna wada, więc uważaj.