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