r   e   k   l   a   m   a
r   e   k   l   a   m   a

Cryptocat wcale nie taki bezpieczny: poważne konsekwencje trywialnego błędu programistów

Strona główna AktualnościOPROGRAMOWANIE

Autorowi tej notki pozostaje bić się w piersi. Nie raz osobom, którym nie chciało się konfigurować Tora, polecał przeglądarkowe rozszerzenie Cryptocat jako sposób na bezpieczne rozmowy w Sieci. Teraz okazuje się, że wszystkie rozmowy przeprowadzone za pomocą Cryptocata w czasie od 17 października 2011 roku do 15 czerwca 2013 roku mogły być podsłuchiwane, a ich szyfrowanie – złamane. Po raz kolejny okazuje się, że kryptografia jest sprawą bardzo trudną i niestety dla większości jedynym sposobem jej nauki jest uczenie się na błędach.

Nie pierwszy to raz, kiedy eksperci od bezpieczeństwa IT oskarżycielsko wskazują palcami w stronę tak popularnego przecież Cryptocata. Jesienią zeszłego roku, gdy o aplikacji zrobiło się głośno, Patrick Ball tak pisał: Cryptocat należy do kategorii aplikacji polegających na tzw. bezpieczeństwie hosta. Najsłynniejszym przedstawicielem tej grupy jest Hushmail – szyfrowana usługa e-mail, korzystająca z tego samego podejścia. Niestety, narzędzia te są podatne na dobrze znany atak (…) jeśli korzystasz z nich, twoje bezpieczeństwo w całości zależy od bezpieczeństwa hosta. Oznacza to, że w praktyce Cryptocat nie jest bardziej bezpieczny niż Gmail. Ogólnie mówiąc, twoje bezpieczeństwo w systemie szyfrowania bazującym na hoście nie jest wcale lepsze, niż niż brak jakiegokolwiek systemu szyfrowania.

Twórcy Cryptocata przyjęli oskarżenie „na klatę”, przebudowując jego architekturę tak, by działała wyłącznie jako lokalna aplikacja przeglądarkowa. Zaznaczyli przy tym, że ich misją jest znalezienie najlepszej, najbardziej funkcjonalnej równowagi między bezpieczeństwem i dostępnością. Brzmi dobrze, przynajmniej dla „zwykłego użytkownika”, który nie doktoryzował się z teorii kryptosystemów, prawda? A jednak odkrycie Steve'a Thomasa, obnażające fatalną lukę w tej aplikacji dowodzi, że w kwestii bezpieczeństwa i kryptografii pójście na kompromis nigdy nie jest dobrym rozwiązaniem – równie dobrze można w ogóle nie mieć żadnych zabezpieczeń.

Działający lokalnie Cryptocat zapewniać ma użytkownikom bezpieczny czat, korzystający z komunikacji poza nagraniem (off-the-record) do szyfrowania wiadomości. W metodzie tej, dla każdej sesji czatu generowane są nowe pary kluczy, dla zachowania Perfect Forward Secrecy (czyli uniemożliwienia napastnikowi odszyfrowania wszystkich czatów po przejęciu jednego z kluczy – każdą z sesji musiałby on łamać oddzielnie). A jednak okazuje się, że wszystkie wersje Cryptocata do numeru 2.0 są podatne na atak siłowy przeciwko szyfrowanej komunikacji. Błąd tkwił w funkcji konwertującej ciągi w tablice liczb całkowitych. Funkcja, która na wejściu oczekiwała na tablicę z 15-bitowymi liczbami całkowitymi, otrzymywała ciąg cyfr 0-9, opisanych wartością kodu ASCII danej cyfry. Jak pisze Thomas, autorzy najwyraźniej nie rozumieli różnicy między bajtem, a pojedynczym znakiem dziesiętnym w liczbie, ich 15-bitowe liczby całkowite były w rzeczywistości wartościami od 0 do 9. A że najmniej znaczące trzy bity były zerowane, to w rezultacie uzyskiwano przestrzeń kluczy o wiele rzędów wielkości mniejszą, niż można by oczekiwać. Powstałe w ten sposób z zastosowaniem krzywych eliptycznych klucze prywatne były śmiesznie małe, łatwe do siłowego złamania.

Każdy popełnia błędy, ale nie każdy potrafi się do tych błędów przyznać. Według odkrywcy luki, twórcy Cryptocata początkowo próbowali ukryć swoją niekompetencję, twierdząc że poprawkę do wersji 2.0.42 wprowadzono ze względu na problemy ze wsteczną kompatybilnością. Wcześniej też robili co mogli, by zignorować zgłoszenia Thomasa, przez długi czas nie obdarowując go obiecanymi dla odkrywców błędów koszulkami, naklejkami, pieniędzmi i wpisem na Ścianie Niekwestionowanej Wielkości. Odwet Thomasa był dość bezwzględny – wydane przez niego narzędzie Decryptocat pozwala w ciągu kilku minut złamać klucze użyte do szyfrowania wiadomości. Przedstawił on też całą listę błędów projektowych, które wkradły się do Cryptocata, sugerując, żeby trzymać się od tej aplikacji na odległość.

Ostatecznie deweloperzy Cryptocata przyznali się do wpadki, uznając zasługi Thomasa, przepraszając go i wprowadzając na listę zasłużonych, a przy tym wyjaśniając, że odkryta przez niego luka nie dotyczy czatów prywatnych, 1 na 1. Wątpliwości jednak pozostały. Na ile można zaufać narzędziom kryptograficznym, nie będąc samemu doświadczonym matematykiem, ręcznie sprawdzającym kod aplikacji? Pikanterii sprawie dodaje fakt, że jeszcze w styczniu tego roku analitycy z firmy VeraCode opublikowali wyniki audytu bezpieczeństwa Cryptocata, przyznając aplikacji najwyższą notę 100/100.

r   e   k   l   a   m   a
© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.