Zoom pozwala stronom przejąć kontrolę nad kamerą w Twoim Macu
Zoom, popularna aplikacja do wideokonferencji na Macu, właśnie zmierza się z poważnym technicznym i PR-owym problemem. Wczoraj ujawniono szczegóły luki zero-day, która daje potencjalnie każdej stronie internetowej możliwość uruchomienia kamery użytkownika, bez jego zgody.
W obszernym poście na Medium badacz bezpieczeństwa Jonathan Leitschuh nakreślił nie tylko szczegóły odkrytej luki, ale i historię jej odkrycia oraz frustrujące detale jego długiej pertraktacji z zespołem Zoom w celu naprawienia luki i ochrony użytkowników Maca. Zespół Zoom nie potraktował sytuacji z należytą powagą, dlatego też Leitschuh, po upływie 90 dni, które dał zespołowi na naprawienie problemu, opublikował szczegóły.
Jak działa luka?
Oto jak Leitschuh opisuje problem:
“Ta luka pozwala każdej witrynie internetowej na przymusowe dołączenie użytkownika do rozmowy Zoom, z włączoną kamerą wideo, nie pytając go o zgodę. Ponadto, ta luka umożliwiłaby dowolnej stronie internetowej na atak DOS (Denial of Service) poprzez wielokrotne dołączenie użytkownika do nieważnego połączenia. Co więcej, jeśli kiedykolwiek zainstalowałeś klienta Zoom, a następnie go odinstalowałeś, nadal masz na swoim macu działający serwer lokalny, który został dostarczony razem z aplikacją Zoom i który z przyjemnością zainstaluje ponownie klienta Zoom dla Ciebie, bez konieczności interakcji, wymagając jedynie odwiedzenia odpowiednio spreparowanej strony internetowej. Ta “funkcja” niechcianej reinstalacji nadal działa do dziś."
Serwer lokalny, który instaluje się razem z aplikacją Zoom, nie znika z twojego komputera po odinstalowaniu Zooma. Jego sposób działania jest co najmniej podejrzany, gdyż “akceptuje żądania, których zwykłe przeglądarki nigdy by nie przyjęły”. Serwer działa jako proces w tle, który wyłapuje czy dołączasz do wideokonferencji i automatycznie uruchamia klienta Zooma, z włączoną kamerą. A jeśli odinstalowałeś Zooma… serwer zainstaluje go z powrotem, bez pytania Cię o zgodę, by następnie od razu połączyć cię z kimkolwiek kto znajduje się po drugiej stronie.
Taka luka może być łatwo wykorzystana do ataków phishingowych. Zoom cieszy się wielką popularnością wśród użytkowników Maca, posiadając obecnie prawie milion użytkowników. Każdy z nich może, poprzez kliknięcie linka, podzielić się twarzą, co przy dzisiejszej technologii rozpoznawania twarzy, może być wykorzystane na wiele niecnych sposobów.
Leitschuh po raz pierwszy ujawnił podatność Zoom w marcu. Od tamtej pory prowadził długie i frustrujące pertraktacje z zespołem Zoom, podczas których zaproponował im szybkie tymczasowe rozwiązanie i oczekiwał że Zoom zaproponuje w ciągu 90 dni nowe, bardziej długoterminowe rozwiązanie podatności.
Zoom nie tylko zignorował większość jego próśb, zaproponował mu również pieniądze w zamian za milczenie, oraz ostatecznie wprowadził tylko tymczasowe rozwiązanie zaproponowane przez Leitschuha, które zresztą zostało po czasie cofnięte. Na obecną chwilę wszystkie wspomniane problemy są nadal aktualne.
Odpowiedź Zoom
Jednak to nie koniec tragicznie słabych PR-owych zagrań zespołu Zoom. Wczoraj, na swoim blogu opublikowali swoje stanowisko dotyczące całej sprawy.
Firma oświadczyła, że uważa, że uruchomienie lokalnego serwera w tle było...
„Uzasadnionym rozwiązaniem dla słabego user experience, umożliwiając naszym użytkownikom prowadzenie bezproblemowych spotkań, które są jednym z najważniejszych wyróżników naszego produktu.”
Co więcej firma bagatelizuje wszystkie wspomniane przez Leitschuha problemy, uznając, że nie spotkała się z żadnymi dowodami, że którekolwiek z nich się kiedykolwiek przytrafiło ich użytkownikom.
Co w tym wszystkim najbardziej zadziwiające, firma odniosła się również do próby zapłacenia Leitschuhowi za milczenie, mówiąc:
“Zoom wystosował badaczowi zaproszenie do dołączenia do naszego płatnego programu dla łowców bugów, jednak ten odmówił ze względu na umowę o zachowaniu poufności.”
By w końcu zaserwować prawdziwą wisienkę na torcie, zamykając swoje stanowisko słowami...
“Nasz zespół bezpieczeństwa był mocno zaangażowany w rozmowy z badaczem. W ramach tego zaangażowania jednak nie podzielamy zdania co do powagi problemu. Ostatecznie, Zoom zdecydował się nie zmieniać funkcji aplikacji, choć w przyszłości będziemy zapisywać ustawienia kamery użytkownika na stałe po dołączeniu przez niego do pierwszego spotkania z danego urządzenia.”
Oto książkowy przykład na to, jak NIE należy reagować na problemy z bezpieczeństwem twojej aplikacji.
Co dalej?
Leitschuh opisał jak wyłączyć serwer lokalny, którego działanie zakrawa na wirtualną zbrodnię przeciw ludzkości. Polecilibyśmy Wam odinstalowanie aplikacji Zoom, jednak, jak przeczytaliśmy, to nie wystarczy.
Aby zamknąć server lokalny należy uruchomić lsof -i :19421
w terminalu, by znaleźć numer PID procesu, następnie wpisać kill -9 [numer procesu]
. Wówczas możemy usunąć katalog ~/.zoomus
by zupełnie pozbyć się wszystkich plików aplikacji. Następnie należy zabezpieczyć się przed automatycznymi aktualizacjami, wpisując następujące dwie komendy.
rm -rf ~/.zoomus
touch ~/.zoomus
Cała sytuacja jest dobrym przykładem na to, dlaczego nie warto poświęcać bezpieczeństwa i prywatności na rzecz user experience. Zwłaszcza, że ostatecznie chodziło o pozbycie się jednego kliknięcia.