Seminarium Wojciech Mazurczyk http://mazurczyk.com
Podział standardów telefonii IP VoIP (Voice over Internet Protocol rotocol) = usługa przesyłania głosu w czasie rzeczywistym z wykorzystaniem sieci IP (LAN, MAN, WAN) Podział ze względu na trzy aspekty: Wykorzystywane protokoły sygnalizacyjne (generyczne: H.323, SIP, rozwiązania producenckie np. Skype) Model architektury systemu (klient-serwer, P2P, hybrydy) Zasięg wykorzystywanej sieci (sieć Internet, sieci korporacyjne) 2
SKYPE zagrożenie dla VoIP? 3 Cechy i zalety: - ponad 50 milionów użytkowników (ok. 4 miliony aktywnych jednocześnie) - kupiony przez Ebay za 2.6 miliony dolarów - darmowy (!) i wykorzystuje technikę P2P - do szyfrowania strumienia danych użyto 256 bitowy AES - teoretycznie bardzo skalowalny - brak problemów z Firewallami i NAT (doświadczenia z Kaazy) - dobór kodeka do warunków w sieci i dostępnego łącza - łatwa obsługa i konfiguracja - rozproszona architektura i baza danych
Architektura SKYPE 4 Podstawowa różnica: zamiast modelu klient-serwer (zcentralizowane serwery), model P2P (sieć nakładkowa)
SKYPE charakterystyka (1/3) 5 Podstawowe etapy działania: 1) Inicjalizacja - Nawiązywanie relacji sąsiedztwa z właściwym SN (1 lub większą ilością): W pliku exe zaszyte na stałe tzw. bootstrap SN (adresy IP) Podczas uczestniczenia w sieci P2P aplikacja zbiera informacje o dostępnych SN tzw. host cache (nie więcej niż 200 par adres-port) plik: shared.xml Na podstawie komunikacji z SN węzeł sprawdza, czy jest za NAT i firewallem oraz determinuje ich rodzaj (wykorzystanie mechanizmów pochodnych STUN i TURN). 2) Logowanie - jedyny element centralny sieci: Login Server przechowuje pary hasło-użytkownik i dokonuje uwierzytelnienia użytkowników oraz przesyła listę kontaktów (użytkownik posiada jej lokalną kopię w pliku config.xml). 3) Wyszukiwanie użytkownik ytkowników - bazuje na własnym rozwiązaniu nazwanym Global Index, (podobna zasada działania jak Chord). Jest to rozproszone wyszukiwanie i gwarantuje odnalezienie użytkownika, jeśli logował się on do sieci w ciągu ostatnich 72 godzin
SKYPE charakterystyka (2/3) 6 4) Nawiązywanie połą łączenia - w zależności od sytuacji korzysta bądź nie z pomocy SN przy transmisji zza NAT i firewalli. W najgorszym przypadku (oboje użytkownicy za NAT i firewall) strumień głosu jest przesyłany z wykorzystaniem protokołu TCP - średnia długość rozmowy w Skype wynosi ok. 13 minut, przy ok. 3 minutach w telefonii tradycyjnej, 5) Transfer strumieni mediów - odbywa się z lub bez pomocą SN Wykorzystanie protokołów UDP lub TCP Transfer strumieni w obie strony może odbywać się inną drogą! Wykorzystanie kodeków firmy Global IP Sound Wielkość pakietu waha się w granicach 40-120 bajtów, szybkość wymiany to ok. 33 pakiety/sek, a zajętość pasma to 3-16 KB/s, 6) Podtrzymywanie relacji z właściwym Super Węzłem (bądź kilkoma) co określony interwał czasu relacja z SN jest odnawiana, w przypadku braku komunikacji we wskazanym okresie czasu użytkownik uznawany jest za niedostępnego
SKYPE charakterystyka (3/3) 7 Super Węzły (Super Nodes) Fenomen Skype: brak infrastruktury + P2P = sieć telekomunikacyjna SN może zostać potencjalnie każdy węzeł spełniający określone warunki (mocne CPU, publiczny adres IP,...) Jakość działania sieci zależy od SN ów co by się stało gdyby znaczna część posiadaczy SN odinstalowała Skype? Ponad 250 tys. SN, około 30-40% SN jest aktywnych jednocześnie Znaczna część SN to serwery uczelni rozrzuconych po świecie Zmienność aktywności SN (fluktuacja) wynosi ok. 25% (zwykłe węzły 30-40%) Obciążenie SN przez podległe mu ON to ok. 400b/s, maksymalnie ok. 60kb/s w czasie pośredniczenia w transferze strumieni głosu
Bezpieczeństwo SKYPE - fakty 8 Tajemnica, istotnym elementem architektury bezpieczeństwa Skype Brak informacji o sposobie implementacji mechanizmów zabezpieczeń + własne rozwiązania Generowanie i wymiana klucza sesyjnego: RSA, SHA, MD5 Szyfrowanie głosu: 256-bitowym algorytmem AES (Rijndael) - klucz wymieniany między węzłami Skype przy pomocy algorytmu RSA Następnie szyfrowanie wszystkich pakietów (wiadomości sygnalizacyjnych i ponownie pakietów z głosem) z RC4 Cel: nadanie losowości zawartości pakietu, co pozwala na ukrycie prawdziwej treści pakietu przed firewallami i IDS/IPS Brak informacji o protokole sygnalizacyjnym i jego zabezpieczeniach!
Bezpieczeństwo SKYPE (1/3) 9 Wady i problemy: - brak informacji o protokole sygnalizacyjnym i jego bezpieczeństwie - liczne zabezpieczenia przed reverse engineering em (zaciemnianie, szyfrowanie kodu, liczne sprawdzenia integralności) - szyfrowanie RC4 (zły sposób generowania klucza) wykorzystywane do szyfrowania wszystkich pakietów zabezpieczenie przed IDS/IPS/Firewall - zbytnia zaradność Skype - korzysta ze dynamicznie zmienianych portów UDP, a jeśli nie wystarcza łączy się na porcie 80/TCP (lub 443), który zazwyczaj jest odblokowany. Skype nasłuchuje również komunikacji z zewnątrz umożliwiając w ten sposób obejście niewygodnych mu urządzeń - Będąc już wewnątrz sieci, jeśli zostanie on wypuszczony przez serwer proxy, Skype próbuje pozyskać hasło do tego serwera z ustawień przeglądarki Internet Explorer
Bezpieczeństwo SKYPE (2/3) 10 Wyobraźmy sobie robaka, który: - jest podczepiony pod Skype, - wykorzystuje funkcjonalność Skype do swoich celów (pokonywanie NAT/Firewall/IPS/IDS) - czy można wyobrazić sobie lepsze środowisko? W marcu 2006 francuscy badacze zademonstrowali sposób w jaki węzeł Skype można zmienić w zdalny skaner sieciowy Problem Supernodów - anonimowa pomoc innym użytkownikom w połączeniu Brak możliwości kontroli przepływającego ruchu Brak możliwości decydowania o byciu SN Pokusa użycia SN do celów komercyjnych Celowe wykorzystanie SN do utrudniania nawiązywania połączeń
Bezpieczeństwo SKYPE (3/3) 11 Praktyczne braki bezpieczeństwa - trzymanie listy kontaktów w postaci nieszyfrowanej na dysku lokalnym maszyny, na którym został zainstalowany Skype: Lista kontaktów <dysk>\documents and Settings\ <użytkownik> \Application Data\Skype\<użytkownik Skype>\config.xml) Lista super węzłów (<dysk>\documents and Settings\ <użytkownik> \Application Data\Skype\shared.xml) Przejęcie takich informacji brak prywatności użytkownika oraz dodatkowo odsłania strukturę sieci (np. można przeprowadzić atak DoS (Denial of Service) na SN (maksymalnie 200 maszyn), Skype w zastosowaniu korporacyjnym: Brak możliwości pogodzenia Skype z polityką bezpieczeństwa firmy Niektóre firmy i intytucje (np. CERN, University of Cambridge) zabroniły użytkownikom instalacji Skype na zasobach firmowych
Podsumowanie 12 Obecnie trwają prace standaryzacją sieci telefonii IP opartej na modelu sieci P2P oraz hybryd (np. P2P-SIP) Niewątpliwy sukces komercyjny Skype, jako sukces operatora telekomunikacyjnego bez infrastruktury Liczne zastrzeżenia bezpieczeństwa w stosunku do Skype Brak zabezpieczeń dla sygnalizacji! Zbyt duża zaradność w stosunku do firewalli i NAT co by się stało, gdyby pod Skype podczepić robaka/wirusa? CERN oraz University of Cambridge już zabroniły instalacji Skype w swoich sieciach
Seminarium Wojciech Mazurczyk http://mazurczyk.com