Luka na Nasza-Klasa.pl - są powody do obaw?

Do redakcji Dziennika Internautów trafiło zgłoszenie dotyczące eksperymentu, który umożliwił manipulowanie kontami użytkowników zarejestrowanych w serwisie społecznościowym Nasza-klasa.pl.

Administratorzy NK twierdzą, że wykryta luka nie jest poważnym zagrożeniem
Administratorzy NK twierdzą, że wykryta luka nie jest poważnym zagrożeniemAFP

Do eksperymentu użyto kilku komputerów wyposażonych w Windows XP, Windows Vistę, Ubuntu 7.04, Ubuntu 8.04 oraz środowisko wirtualne VirtualBox. Ze względu na uproszczoną procedurę obsługi ciasteczek czytelnik posłużył się przeglądarką internetową Opera. Pomocny okazał się też analizator sieciowy Wireshark (nie jest niezbędny do przeprowadzenia ataku).

Po konsultacji z firmą G DATA, producentem oprogramowania zabezpieczającego, zdecydowaliśmy się nie podawać zbyt wielu technicznych szczegółów wykorzystania luki. Zanim wysłaliśmy zapytanie do ekspertów, przeprowadziliśmy w redakcji kilka testów, które potwierdziły podatność strony na opisywany błąd.

"Mam ciacho i nie zawaham się go użyć"

Silent Traveller 007 tłumaczy: Jak wchodzisz na Nasza-klasa.pl to tworzone jest ciasteczko sesji. Wciśnięcie opcji SSL jedynie przełącza na bezpieczną funkcję logowania, jednakże autoryzacja dotyczy pierwotnego ciasteczka uzyskanego bez szyfrowania (uwierzytelnione zostanie ciasteczko z sesji początkowej!). Testy przeprowadzane były z użyciem bezpośredniego połączenia https://ssl.nasza-klasa.pl/login

Co można zrobić po przejęciu cudzego ciasteczka? W pliku, który otrzymaliśmy od naszego informatora, czytamy: Ciasteczko kopiujemy do drugiego komputera (technika dowolna), czasem trzeba użyć "pośredniej" aplikacji - jak edit czy notepad. (...) podmieniamy ciasteczko dla Nasza-klasa.pl i reload ;) - jak nie spartolisz, to masz dostęp. TADA... i teraz możesz: poczytać pocztę, zmieniać opisy, kopiować zdjęcia, pisać na forach. Nie możesz usunąć konta, bo trzeba znać hasło!

Zapytaliśmy czytelnika, czy poinformował o swoim odkryciu twórców serwisu Nasza-klasa.pl. Silent Traveller 007 odpisał: "Tak. Informacja oficjalnie przekazana została na początku sierpnia 2008 z wykorzystaniem formularza kontaktowego - Pomysły, Sugestie i Uwagi - bez żadnego odzewu :( Niejednokrotnie informacja na temat ciasteczek i SSL pojawiała się na Forum. Niestety bez reakcji portalu".

Administracja portalu wie o luce, ale...

Dziennik Internautów zwrócił się do Naszej-klasy.pl z prośbą o skomentowanie zaistniałej sytuacji. Dostaliśmy potwierdzenie, że opisywany wyżej błąd jest znany administracji serwisu.

Nasi programiści pracują nad załataniem tej luki. Nie jest to jednak krytyczny błąd systemu - odpowiedział Bartek Szambelan, Dyrektor Działu PR. Proszę pamiętać, że jesteśmy obecnie jedynym serwisem społecznościowym, w którym logowanie może odbywać się za pośrednictwem szyfrowanego połączenia SSL".

W dalszej części listu czytamy:

Aby przejąć sesję użytkownika, musi wystąpić kilka niezależnych od siebie okoliczności. Przede wszystkim "podsłuchać" naszą sesję może osoba będąca między naszym komputerem a NK, czyli administrator naszej sieci bądź dostawca internetowy. Oprócz tego przejęcie sesji opisanym sposobem jest możliwe tylko i wyłącznie w czasie rzeczywistym (użytkownik zalogowany do NK), po wylogowaniu użytkownika nawet przejęta sesja traci swoją ważność.

Programiści NK pracują nad usunięciem problemu
AFP

Co na to ekspert?

Swoją opinią na temat opisywanej luki podzielił się z nami Michał Piszczek, Kierownik Działu Programistów w firmie ESC S.A. Kraków:

Zaprezentowana podatność nie jest niczym nowym. Nie określiłbym jej jako krytyczną, a raczej jako powszechną, zwłaszcza w kontekście dopuszczania przez portale automatycznego logowania z dynamicznych adresów IP. Znamy ten atak w różnych odmianach pod nazwą przejęcie sesji. Uszczegóławiając opisywany przypadek, jest to przejęcie sesji przez przechwycenie ciasteczka sesyjnego.

Podczas logowania serwer generuje w ciasteczku losowy identyfikator sesji. Jeśli logowanie się powiedzie, ID sesji jest uznawany przez serwer za "wiarygodny" - uzyskujemy dostęp do konta. Stan zalogowania trwa, dopóki identyfikujemy się witrynie właśnie wygenerowanym ciasteczkiem. W pewnych szczególnych okolicznościach przejęcie takiego "wiarygodnego" ciastka oznacza przejęcie tożsamości osoby, która je wygenerowała - tłumaczy ekspert.

Dlaczego Nasza-klasa.pl godzi się na taką podatność? Michał Piszczek podaje dwie najbardziej prawdopodobne przyczyny:

Po pierwsze opisany atak łamie polskie prawo (Art. 267. kk). Aby przejąć czyjeś ciasteczko, musimy albo je wykraść fizycznie z komputera, albo przechwycić transmisję między klientem a serwerem (sniffing). Po drugie. Dobrą metodą zabezpieczenia mogło by być przechowywanie i kontrolowanie w sesji informacji dokładniej identyfikujących użytkownika (adres IP, ciąg identyfikujący przeglądarkę etc.).

Takie zabezpieczenie zdecydowanie zwiększyłoby bezpieczeństwo. Jednak stwarza ono kilka niedogodności. W przypadku dynamicznych adresów IP (np. Neostrada) lub źle skonfigurowanego load balancingu użytkownik byłby co kilka kliknięć wylogowywany z serwera. Z całą pewnością programiści NK wiedzą od dawna o tym błędzie. Dlaczego więc wskazana przez Silent Travellera 007 podatność dalej funkcjonuje? Jest to niestety decyzją biznesową portalu Nasza-klasa. Kompromis między bezpieczeństwem a ........... .

Kolejna możliwość ataku

Kończąc swoją wypowiedź, Michał Piszczek dodaje: Podczas analizy zgłoszenia na prośbę redakcji Dziennika Internautów natrafiłem na pewną przeoczoną prze Silent Travellera 007 bardzo groźną lukę bezpieczeństwa. Jest to pewna odmiana ataku zaproponowanego przez Silent Travellera 007. Co ciekawe, atak ten nie wymaga łamania prawa ze względu na odwrócenie ról ofiary i intruza! Jest to pewna odmiana Cookie Session Fixation. Dlatego bezwzględnie zalecam usuwanie ciastek ZARÓWNO PRZED, jak i po pracy w miejscach typu kawiarenka internetowa.

G DATA zaleca najwyższą ostrożność

O wypowiedź poprosiliśmy też ekspertów firmy G DATA - prezentują oni trochę inne podejście do opisywanego przez nas problemu. Problem wynika z błędnej implementacji procesu logowania SSL. Nie jest tak, że protokół SSL, czyli popularna żółta kłódeczka, zabezpiecza nas przez kradzieżą tożsamości. Analiza przeprowadzona przez specjalistów G DATA Software wykazała poważne luki w procesie implementacji bezpiecznego logowania - poinformował nas Tomasz Zamarlik.

Ciasteczko sesji uwierzytelniającej jest przesyłane połączeniem niezaszyfrowanym, mimo że przechodzimy na stronę SSL, na której podajemy login i hasło. W momencie gdy ktoś o złych zamiarach przechwyci nasze ciasteczko sesji uwierzytelniającej, to uzyskuje tym samym dostęp do wszystkich naszych danych, może czytać naszą pocztę, komentować, zmieniać ustawienia, słowem robić wszystko poza zmianą hasła.

Okazało się, że zamykanie przeglądarki za pomocą przycisku x bez wylogowywania się z portalu powoduje, że niezaszyfrowana sesja jest dalej dostępna i umożliwia nieautoryzowany dostęp do danych. Podsumowując, używanie bezpiecznego połączenia SSL w chwili obecnej nie chroni naszych danych. G DATA Software sugeruje nie logowanie się na profil użytkownika do czasu usunięcia problemu - napisał Tomasz Zamarlik.