SIP (cz. 2): bezpieczeństwo
- Dariusz Niedzielewski,
- 16.09.2010, godz. 08:55
Otwartość, prostota i uniwersalność protokołu SIP to jego główne zalety. W pewnych okolicznościach mogą się stać jednak poważną wadą. Jako że znaczna część wdrożeń SIP jest powiązana z telefonią IP (VoIP), to bardzo istotny staje się problem zabezpieczenia transmisji danych i komunikatów.
Mechanizmy bezpieczeństwa opisane w dokumentach RFC 3261 i RFC 3329 stanowią jedynie zalecenie i trudno wymagać, by były dołączane do każdej implementacji protokołu. Wśród najpoważniejszych konsekwencji braku zabezpieczeń sieci SIP należy wymienić: podsłuchiwanie rozmów, przeprowadzanie ataków DDoS (Distributed Denial of Service) oraz kradzież konta (tożsamości), powiązana z wyciekiem ważnych danych (vishing). Obecnie większość urządzeń SIP ma dołączone funkcje zwiększające bezpieczeństwo. Największym jednak problemem jest czynnik ludzki, czyli często nieświadomy zagrożeń użytkownik.
Zobacz również:
Innym sposobem na zakłócenie działania sieci SIP jest nieuprawniona rejestracja do serwera (registrar). Włamanie ponownie ułatwia sam protokół UDP używany w procesie rejestracji. Często jedynym zabezpieczeniem ze strony serwera jest monit o login i hasło. Te zaś mogą być łatwo zdobyte (login jest przesyłany jawnie, a hasło można odtworzyć za pomocą ataku słownikowego). Metoda słownikowa jest skuteczna wtedy, gdy urządzenie nie odnotowuje błędnych prób rejestracji, co dodatkowo pozwala bezpiecznie skanować listy użytkowników. Jeśli celem atakującego nie będzie pojedynczy klient, a np. brama medialna czy serwer poczty głosowej, to będzie on mógł podsłuchiwać rozmowy oraz modyfikować ustawienia sieciowe.
Aby odpowiednio zabezpieczyć sieci oparte na protokole SIP, należy pamiętać o wszystkich wymienianych w nich informacjach. Zaszyfrowane powinny być zarówno komunikaty, sygnały sygnalizacyjne (żądania, odpowiedzi), jak i warstwa transportowa. Protokołem transmisyjnym lepiej kontrolującym dane od UDP jest TCP, który zapewnia prawidłowe przesyłanie informacji we właściwej kolejności (numery sekwencyjne, retransmisje zagubionych pakietów).
Zabezpieczenia danych głosowych, które po zestawieniu sesji są standardowo przesyłane w sposób niezaszyfrowany (RTP), można dokonać za pomocą protokołu SRtTP (Secure Real-time Transport Protocol), dzięki czemu ewentualne przechwycenie transmisji nie będzie wiązało się z żadną stratą (atakujący otrzyma pseudolosowe próbki głosu). Piętą achillesową protokołu SIP jest również brak silnego uwierzytelniania użytkownika, co jednak można poprawić, stosując znane techniki (serwery RADIUS, LDAP, ograniczenie autoryzowanych adresów MAC itp.). Dobrym pomysłem jest również zakup certyfikatów cyfrowych, które będą wymieniane między poszczególnymi urządzeniami sieci SIP (bramy, serwery, telefony).
Do szyfrowania żądań i odpowiedzi jest wykorzystywany protokół TLS (Transport Layer Security), zestawiający bezpieczny tunel między adresatem a nadawcą komunikatów (mechanizm podobny do wykorzystywanego w HTTPS). Sposób, w jaki dane są przesyłane w takim tunelu, określa protokół Secure SIP. W celu doskonalenia ochrony rozmów i danych obecnie coraz częściej w sieciach SIP wdrażany jest IPSec (Internet Protocol Security). Wzrost wydajności systemów telekomunikacyjnych pozwala, głównie w dużych firmach, stosować klucz szyfrowania AES-256, jeden z najsilniejszych mechanizmów zabezpieczających, które są obecnie stosowane.
Czytaj poprzednią część artykułu: SIP: protokół otwartej komunikacji (1) - tutaj.
Czytaj trzecią część artykułu: SIP trunking i open source (3) - tutaj.