Blog nie aktywny. Dodaj notkę aby usunąć tą informację oraz reklamy w treści bloga
Skype - Wielki Brat i botnet w jednym
Z zaprezentowanej na konferencji Black Hat prezentacji dwóch Francuzów wyłania się ciekawy obraz Skype jako aplikacji, która stanowi realne zagrożenie dla sieci korporacyjnych. Publikujemy skuteczne recepty jak zablokować Skype.
Skype zrobiło karierę jako program oferujący bezpłatne rozmowy VoIP z wykorzystaniem komputerów lub tanie rozmowy, zwłaszcza międzynarodowe, na numery stacjonarne. Mniej entuzjazmu wykazują wobec Skype obrońcy prywatności oraz administratorzy sieci, dla których Skype jest wielką zagadką. Niedawne wystąpienie dwóch Francuzów, Philippe Biondi i Fabrice Desclaux na konferencji Black Hat 2006 rzuciło nieco więcej światła na sposób działania tego programu.
Komunikacja Skype jest bardzo "udziwniona". Program nie stosuje żadnego ze znanych protokołów VoIP takich jak SIP czy H.323. Protokoły te są ustandaryzowane, otwarte i wszyscy wiedzą co jest w nich przesyłane. W przypadku Skype jest inaczej - nikt nie wie, co tak naprawdę przesyłają między sobą klienci Skype, ponieważ protokół komunikacji jest tajny. Użytkownikom Skype pozostaje wierzyć w mętne zapewnienia producentów, wcześniej autorów znanej aplikacji Kazaa, że protokół jest bezpieczny i szyfrowany.
Odkrywamy tajemnice
Przeprowadzona przez Biondi i Desclaux analiza pokazała, że protokół Skype jest o wiele bardziej tajemniczy, niż się to wydawało na początku. Szyfrowanie pakietów Skype jest dwupoziomowe - najpierw każdy pakiet jest szyfrowany algorytmem AES, z kluczem wymienianym między węzłami Skype przy pomocy RSA. Ten etap zapewnia poufność transmisji.
Drugi raz pakiety są szyfrowane za pomocą algorytmu RC4, z kluczem opartym m.in. o adresy IP. Etap ten ma na celu tylko ukrycie zawartości pakietu przed filtrami, zaporami i systemami wykrywania włamań - dzięki użyciu RC4 w każdym pakiecie tylko kilka pierwszych bajtów jest stałych, a cała reszta wygląda jak dane losowe.
Poza tym Skype stosuje kilka innych technik omijania firewalli. Tak jak wiele aplikacji P2P, korzysta ze zmieniających się portów UDP, a jeśli to nie działa to próbuje łączyć się na port 80/tcp, który zwykle jest odblokowany. Jeśli jest on wypuszczony tylko przez serwer proxy, to Skype próbuje "ukraść" hasło do proxy z ustawień Internet Explorera. Nawet pomimo najszczerszych chęci trudno więc uznać Skype za program budzący zaufanie i nadający się do zastosowań korporacyjnych, nawet pomimo niewątpliwych atutów jakim są niskie ceny połączeń SkypeOut.
Badania Francuzów ujawniły także, że sama aplikacja Skype jest wielokrotnie szyfrowana i stosuje sztuczki utrudniające analizę jej działania za pomocą dizasemblera i debuggera. Nie przeszkodziło im to jednak w odkryciu kilku jej sekretów.
Autorzy Skype popełnili kilka błędów, na przykład w systemie szyfrowania RC4 zastosowali ten sam ciąg kluczowy do zaszyfrowania dwóch fragmentów pakietu. Dzięki własnościom XOR jak i każdego innego szyfru strumieniowego, umożliwia to łatwe
"zdjęcie ciągu kluczowego". Technika ta może być wykorzystana przez systemy IDS/IPS do wykrywania ruchu Skype.
Skype jako wielki botnet?
Poza opisanymi wyżej podejrzeniami, do Skype można mieć szereg bardzo poważnych zarzutów - aplikację tę można uznać za potencjalne zagrożenie bezpieczeństwa dla każdej sieci.
Program Skype podłączony do sieci może być bowiem wykorzystywany do wykonywania zdalnych komend - protokół Skype pozwala na zdalne zlecanie każdemu węzłowi np. połączeń do innych systemów. Francuscy badacze zademonstrowali jak węzeł Skype można łatwo zmienić w zdalny skaner sieciowy, który może skanować wnętrze sieci w której działa.
Dzięki obecności w Skype kilku błędów typu przepełnienie bufora i sterty (heap overflow), Skype może łatwo stać się największą na świecie siecią komputerów "zombie" czyli botnetem.
Istnieje także możliwość - jeśli zmienić startowe adresy IP i klucze RSA - zbudowania własnej sieci Skype. Co gorsza, taką sieć można także podłączyć do oficjalnej, zapewniając tym samym komunikację z innymi użytkownikami. Ktoś, kto to zrobi będzie mógł - dzięki znajomości ustawionych wcześniej przez siebie kluczy - przejmować i podsłuchiwać rozmowy.
Szyfrowanie protokołu tylko pogarsza sprawę, ponieważ praktycznie czyni ruch Skype nieprzezroczytym dla systemów wykrywania włamań.
Kiedy chcemy blokować Skype
Francuscy badacze usystematyzowali również stałe elementy w pakietach Skype, co pozwoliło im na przygotowanie regułki dla linuksowego firewalla iptables blokującej ruch tej aplikacji po UDP:
* iptables -I FORWARD -p udp -m length --length 39 -m u32 --u32 '27&0x8f=7' --u32 '31=0x527c4833' -j DROP
Ponieważ jednak Skype komunikuje się także po TCP, konieczne jest blokowanie wszystkich adresów IP, które są wbudowane w binarny program Skype. Zawiera on listę adresów IP i portów systemów, z którymi łączy się program by wejść do sieci.
Lista ta może zmieniać się, jeśli Skype było już wcześniej podłączone do sieci lub jeśli zainstalowano nowszą wersję Skype. Ta lista pochodzi z wersji 2.0.0.97.
#Prezentacja "Silver Needle in Skype":
www.secdev.org/conf/skype_BHEU06.handout.pdf