My tu Gadu-Gadu, a tu... 7 dziur!

W najpopularniejszym polskim komunikatorze internetowym - Gadu-Gadu - wykryto 7 poważnych błędów, które mogą posłużyć do wykradania plików z dysków użytkowników aplikacji, zdalnego 'zawieszania' programu czy nawet uruchamiania na zaatakowanym komputerze dowolnych programów. 'Dziury' w Gadu-Gadu wykryli dwaj pracownicy Poznańskiego Centrum Superkomputerowo Sieciowego - Błażej Miga i Jarosław Sajko, którzy zaoferowali już autorom GG pomoc w usunięciu 'dziur'. "Błędy nie są aż tak istotne i jak do tej pory nie zanotowaliśmy żadnego przypadku wykorzystania ich do przeprowadzenia ataku na komputer. Niemniej jednak w najbliższych dniach udostępnimy nową, poprawioną wersję GG" - powiedział nam Łukasz Fołtyn, autor komunikatora. Udało nam się również porozmawiać z Błażejem Migą, jednym z odkrywców błędów.

Informacja o błędzie została opublikowana na liście BuqTraq - pełną treść wiadomości znaleźć można tutaj.

Błażej Miga i Jarosław Sajko szczegółowo opisali 7 istotnych błędów w zabezpieczeniach komunikatora - umożliwiają one zdalnym 'napastnikom' m.in. wywołanie błędu przepełnienia bufora (a w konsekwencji - uruchomienie na zaatakowanej maszynie dowolnego kodu, np. trojana), wykradzenie listy kontaktów, zdalne uzyskanie dostępu do zapisanych na dysku plików, czy 'zawieszanie' programu. Co ważne - jak podkreślają odkrywcy błędów, wszystkie błędy występują przy standardowych ustawienia komunikatora.

7 błędów, wszystkie groźne

Pierwsza 'dziura' związana jest z błędem występującym podczas analizy kodu zawierającego odnośniki 'http:' i 'news:' (czyli np. wiadomości zawierających łącza) - umożliwia ona umieszczenie w wiadomości 'złośliwego' kodu, który zostanie uruchomiony w strefie lokalnej (bez dodatkowych zabezpieczeń).

Drugi błąd związany jest z obsługą serwerów proxy (umożliwia on zdalne uruchomienie kodu na zaatakowanej maszynie).

Trzecia luka w zabezpieczeniach dotyczy obsługi połączeń dcc (bezpośrednich) - ona z kolei pozwala nieautoryzowanemu użytkownikowi na pobranie dowolnego pliku z folderu _cache (bez wiedzy użytkownika). Dodatkowo, komunikator jest podatny na błąd "directory traversal", który umożliwia wymuszenie przejścia do innego katalogu - np. do folderu, w którym przechowywane jest plik z hasłem do serwera GG.

Czwarty błąd polega na tym, że podczas przesyłania pliku graficznego o odpowiednio spreparowanej nazwie możliwe jest wywołanie błędu przepełnienia bufora. Odpowiednie wykorzystanie tej 'dziury' może spowodować wykonanie złośliwego kodu.

Kolejna - piąta - 'dziura' jest ściśle związana z błędem numer 4 - nawet jeśli użytkownik zablokował opcję odbierania i przesyłania obrazków, to i tak możliwe jest wysłanie mu grafiki o odpowiednio małym rozmiarze (poniżej 100 bajtów). Użytkownik nie ma więc możliwości zabezpieczenia się przed błędem czwartym.

Szósty błąd również dotyczy obsługi grafik - polega na tym, że przesyłane do użytkownika obrazki mogą być dzielone na pakiety, natomiast kod składający te pakiety posiada pętlę, która w przypadku niezgodności długości odebranych i oczekiwanych pakietów, nie jest prawidłowo kończona i powoduje błąd przepełnienia sterty. Błąd jest o tyle prosty do wykorzystania, że napastnik może dowolnie modyfikować dane o objętości pakietów.

Ostatnia, siódma 'dziura', jest podobna do szóstej - chodzi tu o możliwość wystąpienia przepełnienia zakresu 'integer', które może być spowodowane przez kod odpowiedzialny za odbieranie plików przez połączenie bezpośrednie. Także tu długość pobieranego pliku jest przejmowana z pakietu wysłanego przez użytkownika - następnie plik jest zapisywany blok po bloku i jeżeli długość pliku została 'złośliwie' zmodyfikowana przez wysyłającego, może to doprowadzić do zapełnienia przestrzeni dyskowej, lub zapisania danych z nieznanej części pamięci.

Co ważne, Błażej Miga i Jarosław Sajko zaznaczają, że nie ma w tej chwili prostego sposobu zabezpieczenia się przed błędami - użytkownicy mogą jednak zminimalizować ryzyko, wyłączając obsługę Proxy i połączeń bezpośrednich, a także unikając odbierania wiadomości od nieznajomych użytkowników.

SMS Express: Błędy są, ale niegroźne

"O błędach już wiemy, choć przyznam, że nie dotarła do nas wiadomość od odkrywców błędów" - powiedział nam Łukasz Fołtyn z firmy SMS Express, autor Gadu-Gadu. "Nie sądzę jednak, żeby dziury te były aż tak groźne, jak opisują to ich odkrywcy. Niemniej jednak zamierzamy w ciągu najbliższego tygodnia udostępnić nową wersję komunikatora, która będzie wolna od błędów. Chciałbym też uspokoić użytkowników - błędy mogą zostać wykorzystane przeciwko nam jedynie przez osoby, które mamy na liście kontaktów, a przecież trudno sobie wyobrazić, by atakowali nas nasi znajomi. Co więcej, mimo, iż błędy te najprawdopodobniej występowały również we wcześniejszych wersjach GG, to jak do tej pory nie zanotowaliśmy żadnego przypadku wykorzystania ich do przeprowadzenia ataku na komputer" - uspokaja Łukasz Fołtyn.

Na nasze pytania odpowiada Błażej Miga z Poznańskiego Centrum Superkomputerowo Sieciowego

W opublikowanym na BuqTraq opisie wspominają Panowie o tym, że pracowaliście nad konceptem exploita wykorzystującego błędy w GG - czy taki exploit ostatecznie powstał?

Błażej Miga: Wszystkie wykazane przez nas błędy zostały sprawdzone. Posiadamy działające kody dla każdego z błędów, które go wykorzystują do przejęcia kontroli nad komputerem czy tez kradzieży informacji. Testowaliśmy ja na rożnych wersja klienta GG oraz systemu Windows (Windows 2000/ xp/sp1/sp2).

Kiedy poinformowano o błędach firmę SMS Express? Czy był jakiś odzew w tej sprawie?

Firma SMS Express została poinformowana wczoraj przed wysłaniem informacji na BuqTraq. Informacja przesłana na BugTraq nie posiada szczegółów błędów (działających exploitów) z względu na bezpieczeństwo użytkowników GG. Nie chcemy dostarczać narzędzi do włamywania na komputery, lecz ostrzec użytkowników o zagrożeniu, które jest bardzo wysokie.

Przesłaliśmy jej szczegółowe opisy błędów, wraz z przykładami w jaki sposób wykorzystać błędy. Firmie SMS Express zaoferowaliśmy pomoc w zalataniu błędów. Nie otrzymaliśmy jeszcze odpowiedzi.

Czy wykrywanie błędów w oprogramowaniu to Panów zawód, czy raczej hobby?

Jedno i drugie ;) Jesteśmy pracownika Zespołu Bezpieczeństwa PCSS (Poznańskiego Centrum Superkomputerowo Sieciowego). W wolnych chwila zajmujemy szukaniem błędów w programach komputerowych.

Warto przypomnieć, że nie są to pierwsze, poważne błędy w najpopularniejszym polskim komunikatorze (korzysta z niego ponad 3 mln uzytkowników miesięcznie) - kilka miesięcy temu informowaliśmy o innej, groźnej luce w GG (w tekście "Dziura w Gadu-Gadu").

Aktualizacja: 15 grudnia 2004 08:28

Zgodnie z zapowiedziami, firma SMS Express udostępniła użytkownikom nową, poprawioną wersję Gadu-Gadu - 6.1 build 155. Jak powiedział nam Łukasz Fołtyn z SMS Express, nowa edycja jest wolna od wszystkich wykrytych i opisanych przez Błażeja Migę i Jarosława Sajko błędów (zawiera ona również kilka innych nowości - m.in. filtr antyspamowy). Nową wersję można już pobrać z naszego serwisu FTP.


Zobacz również