Bezpieczeństwo VoIP SIP & Asterisk Autor: Leszek Tomaszewski Email: ltomasze@elka.pw.edu.pl
Zakres tematyczny 1/2 Bezpieczeństwo VoIP Protokół sygnalizacyjny (SIP) Strumienie medialne (SRTP) Asterisk Co to jest? Bezpieczeństwo Architektura systemu Aspekty konfiguracyjne
SIP Session Initiation Protocol Czym jest SIP Protokół warstwy aplikacji przeznaczony do obsługi sesji multimedialnych Główne obszary związane z obsługą sesji lokalizacja użytkowników dostępność użytkowników właściwości użytkowników nawiązanie sesji (z uwierzytelnieniem i negocjacją parametrów) zarządzanie sesją (modyfikacja charakterystyki medium, zarządzanie stronami sesji), kończenie sesji
SIP Trapezoid
SIP wymagania bezpieczeństwa (RFC 3261) Uwierzytelnienie Tryb End to End SIP DIGEST S/MIME Tryb Hop by Hop TLS IPSec SIPS URI
SIP wymagania bezpieczeństwa(rfc 3261) Poufność Tryb End to End S/MIME Tryb Hop by Hop TLS IPSec
SIP DIGEST SIP DIGEST jest mechanizmem uwierzytelnienia typu End to End zaczerpniętym z protokołu HTTP Bazuje na wykorzystaniu współdzielonego sekretu razem z uwierzytelnieniem metodą wyzwanie/odpowiedź oraz zastosowaniem funkcji skrótu. Jest obowiązkowym mechanizmem uwierzytelniającym w SIP 2.0 (RFC3261) Wykorzystuje funkcję skrótu MD5 Wykorzystuje parametr nonce będący skrótem adresu USC i znacznika czasowego
SIP DIGEST INVITE sip:alice@atlanta.com SIP/2.0 Via: SIP/2.0/UDP denver.com:5060;branch=z9hg4bkde3citrxdifou2jp From: "alice" <sip:alice@atlanta.com>;tag=rsf3yezzchs0xezk To: "alice" <sip:alice@atlanta.com> Call-ID: nbaskv9ot22uiuon@denver.com Contact: <sip:alice@denver.com:5060> CSeq: 1 INVITE SIP/2.0 407 Proxy Authentication Required Via: SIP/2.0/UDP denver.com:5060;branch=z9hg4bkde3citrxdifou2jp; received=denver.com;rport=39184 From: "alice" <sip:alice@atlanta.com>;tag=rsf3yezzchs0xezk To: "alice" <sip:alice@atlanta.com>;tag=as5c6f84b1 Call-ID: nbaskv9ot22uiuon@denver.com CSeq: 1 INVITE User-Agent: Asterisk PBX Contact: <sip:alice@atlanta.com> Proxy-Authenticate: Digest realm="asterisk.com", nonce="56cdcac2"
SIP DIGEST INVITE sip:alice@atlanta.com SIP/2.0 Via: SIP/2.0/UDP denver.com:5060;branch=z9hg4bkii7tmrliekg4gsch From: "alice" <sip:alice@atlanta.com>;tag=rsf3yezzchs0xezk To: "alice" <sip:alice@atlanta.com> Call-ID: nbaskv9ot22uiuon@denver.com Contact: <sip:alice@denver.com:5060> Proxy-Authorization: Digest username="alice", realm="asterisk.com", nonce="56cdcac2", uri="sip:alice@atlanta.com", response="9f5ff2ca22eb585fb7d388df7d0f299f", algorithm=md5 CSeq: 2 INVITE
SIP DIGEST zalety Obowiązkowość w SIP 2.0 Stanowi utrudnienie podszycia (spoofing-u) Zabezpiecza przed nieuprawnionym dostępem do usługi
SIP DIGEST wady Pozostawia odkryte niektóre nagłówki, które muszą być wykorzystywane przez pośrednie urządzenia. Nie daje gwarancji integralności można jedynie dodać kilka nagłówków, które następnie zostaną użyte do obliczenia skrótu Podatność na ataki typu DoS
Bezpieczeństwo strumieni medialnych SRTP
Bezpieczeństwo strumieni medialnych SRTCP
Bezpieczeństwo strumieni medialnych Zalety Autoryzacja Integralność Poufność (silne algorytmy szyfrujące np.aes) Wady Wydajność systemu Zwiększenie pasma Problem dystrybucji kluczy szyfrujących Wysoki koszt sprzętu
Astersk Czym jest Asterisk? Asterisk jest otwartym software-owym PBX integrującym usługi VoIP i PSTN (projekt zainicjowany i wspierany przez firmę Digium) Obsługuje protokoły SIP, H323, IAX2 Daje możliwość (z wykorzystaniem odpowiedniego sprzętu) podłączenia do tradycyjnej telefonii Oferuje szeroką gamę usług oraz otwartość i elastyczność w ich tworzeniu Tworzenie Dial planów Zapowiedzi słowne (IVR) Telekonferencje Voice mail I wiele innych...
Asterisk -> SIP Pełni rolę serwera Proxy. Pełni rolę serwera Registrar. Może pełnić rolę UAS oraz UAC Podtrzymuje połączenia z urządzeniami w sieciach lokalnych stojącymi za NAT (pakiety Options) Może pośredniczyć w przesyłaniu strumieni medialnych pomiędzy urządzeniami końcowymi.
Asterisk - popularność Niski koszt implementacji (open source), duże możliwości usługowe. Najpoważniejsza (jedyna?) konkurencja dla Skype-a Dostępność tanich urządzeń końcowych Hard phone -> 300-400 zł Soft phone -> free Wykorzystywana przez wiele firm świadczących usługi VoIP
Asterisk -usługodawcy Portal Tlen.pl -> Tlenofon Dialog -> NewFon Internet Group S.A. -> HaloNet BaltMedia -> efon Sieć T2 -> efon
Asterisk - bezpieczeństwo Główne aspekty Bezpieczeństwo przesyłanych informacji Bezpieczeństwo platformy (odporność na ataki)
Asterisk bezpieczeństro protokołów SIP, RTP, RTCP Autoryzacja SIP DIGEST (obowiązkowa w SIP 2.0) Brak jakichkolwiek innych mechanizmów zapewniających bezpieczeństwa przesyłanych danych, zarówno protokołów sygnalizacyjnych jak i strumieni medialnych
Asterisk brak zabezpieczeń Przyczyny Nie ma narzuconych standardów Niska świadomość społeczna wagi zabezpieczania informacji (brak zabezpieczeń kryptograficznych w tradycyjnych sieciach PSTN) Wartość przesyłanych informacji Wysokie koszty produkcji bezpiecznego sprzętu (cel VoIP niskie koszty połączeń) Wydajność serwerów obsługujących protokoły kryptograficzne (Skalowalność VoIP) Problem Certyfikatów kluczy publicznych przy wykorzystywaniu technik szyfrowania (wzrost kosztów VoIP)
Asterisk bezpieczeństwo platformy Oparte na bezpieczeństwie systemu Linux Wszystkie pliki konfiguracyjne przechowywane są w formie plain text-u w znanym katalogu Mechanizmy zdalnej konfiguracji (Asterisk Manager) Konieczność ustawienia platformy na publicznym IP Znane porty świadczenia usług (niebezpieczeństwo ataków DoS) Bezpieczeństwo vs idea SIP (niebezpieczeństwo spoofing-u)
Asterisk zabezpieczenie platformy Instalację stystemu ograniczyć do niezbędnych składników (kernel+ asterisk +... ) Hasła przechowywać zaszyfrowane funkcją MD5 (możliwe ale uciążliwe) Zdalną konfigurację z wykorzystaniem Asterisk Managera wykonywać wyłącznie w bezpiecznych połączeniach (SSL/TLS) Zastosować firewall Zmienić domyślne porty (problem współpracy z innymi serwerami)
Asterisk - perspektywy Pomimo wielu pomysłów wzbogacenia Asteriska o mechanizmy bezpieczeństwa, system nie doczekał się ich implementacji. Brak jakichkolwiek informacji odnośnie ich wdrożenia w przyszłości Asterisk jest systemem open source co umożliwia dalszy jego rozwój i daje możliwości wykazania się pasjonatom bezpieczeństwa
Podsumawanie Istnieją zdefiniowane mechanizmy zabezpieczenia danych w technologii VoIP SIP -> DIGEST, S/MIME, TLS, IPSec, SIPS Media -> SRTP/SRTCP Brak implementacji ww. technik w popularnym systemie VoIP Asterisk Zbyt mała presja społeczna (niska świadomość) Zbyt duże koszty wdrożenia Zwycięstwo niskich kosztów nad bezpieczeństwem
Literatura www.site.uottawa.ca/~bob/gradstudents/ DigestAuthenticationReport.pdf www.tele.pw.edu.pl/~krzysiek/pdf/afcea2 003.pdf security.zhwin.ch/dfn_sip.pdf www.asteriskguru.com/downloads/ asterisk_stability_and_security.ppt www.voip-info.org