Architektura i bezpieczeństwo Skype
Transkrypt
Architektura i bezpieczeństwo Skype
Seminarium Wojciech Mazurczyk http://mazurczyk.com Podział standardów telefonii IP 2 VoIP (V (Voice over Internet Protocol) rotocol) = usługa przesyłania głosu w czasie rzeczywistym z wykorzystaniem sieci IP (LAN, MAN, WAN) Podział Podział ze wzglę 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) SKYPE – zagrożenie dla VoIP? 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 3 Architektura SKYPE Podstawowa różnica: zamiast modelu klientklient-serwer (zcentralizowane serwery), model P2P (sieć nakładkowa) 4 SKYPE – charakterystyka (1/3) Podstawowe etapy działania: 1) Inicjalizacj Inicjalizacja a - 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) Logowani Logowanie e - 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ż 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 5 SKYPE – charakterystyka (2/3) 6 4) Nawią Nawiązywanie połą połączenia łą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ó 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) Podtrzymywani Podtrzymywanie e 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) 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, 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 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ć pozyskać hasło 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ń bezpieczeństwa - trzymanie listy kontaktó kontaktów w postaci nieszyfrowanej na dysku lokalnym maszyny, na któ którym został zosta zainstalowany Skype: 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) 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. P2PP2P-SIP) • Niewątpliwy sukces komercyjny Skype, 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? robaka/wirusa • CERN oraz University of Cambridge już zabroniły instalacji Skype w swoich sieciach Seminarium Wojciech Mazurczyk http://mazurczyk.com