Freeconet: Przechwytywanie połączeń VoIP

freeconet_logo-1.jpg

Publikacja pochodzi ze strony:
http://www.cryptonix.org/papers/freeconet/index.html

Freeconet to platforma VoIP udostępniająca swoim użytkownikom szereg usług związanych z telefonią internetową.

Pod koniec września 2010 roku odkryłem podatność, której wykorzystanie umożliwia napastnikowi przechwytywanie rozmów użytkowników Freeconet dzwoniących pod wybrane przez atakującego numery telefoniczne. Atakujący posiada pełną kontrolę nad rozmowami: może je przerywać, nagrywać, włączać się do rozmowy i wpływać na ich przebieg w dowolny inny sposób. W celu demonstracji części możliwych ataków powstało narzędzie VOIPROX.

Niezwłocznie po wykryciu podatności przekazałem szczegółowe informacje jej dotyczące właścicielowi platformy. Niestety, mimo zapewnień ze strony Freeconet podatność nie została usunięta. Z tego powodu zdecydowałem się opublikować pełne informacje o podatności. Wierzę, że magia Full Disclosure zadziała, podatność zostanie usunięta i już niedługo użytkownicy Freeconet staną się bezpieczni.

Uważam jednak, że po usunięciu podatności należy domagać się od właściciela platformy dokładnego zbadania, czy w przeszłości tego typu nadużycia miały miejsce. Jeśli tak, to powinny zostać o nich powiadomione zainteresowane osoby oraz – w razie konieczności – także organy ścigania. Aby taka kontrola była wiarygodna powinna zostać przeprowadzona przez zewnętrzny, zaufany podmiot, np. przez Urząd Komunikacji Elektronicznej.

Zależy mi na tym także dlatego, że osobiście korzystam z tej, skądinąd innowacyjnej i chyba najbardziej zaawansowanej technologicznie platformy VoIP w Polsce.

Podatność

Platforma oferuje funkcję przypisywania do konta VoIP dodatkowych numerów telefonicznych nie należących do Freeconet, tylko do innych, zewnętrznych operatorów. Założeniem jest zwiększenie komfortu użytkowników przy jednoczesnym zmniejszeniu opłat za połączenia.

Załóżmy, że osoby A i B są zarejestrowanymi użytkownikami platformy Freeconet. Osoba A posiada również numer telefonu u operatora tradycyjnego i może skojarzyć go ze swoim kontem. Jeśli osoba B wybierze ten numer to platforma zestawi połączenie wewnątrz sieci i odbędzie się ono bezpłatnie. Gdyby numer nie został zarejestrowany, to zestawienie połączenia odbyłoby się z wykorzystaniem telefonii tradycyjnej i pociągnęłoby za sobą opłaty dla osoby B.

Należy zwrócić uwagę, że u osoby A dzwonić będzie terminal VoIP, a nie telefon podpięty do linii tradycyjnej. Ten problem rozwiązuje się przez wykorzystanie hybrydowej bramki lub telefonu VoIP. Do tego typu urządzenia można podłączyć sieć IP oraz tradycyjną linię telefoniczną jednocześnie. Dzięki temu jeden telefon obsługuje oba typy połączeń.

Funkcja definiowania zewnętrznych operatorów tradycyjnych jest dostępna po zalogowaniu się panelu Freeconet, w zakładce Konfiguracja » Operatorzy » Zewnętrzni. Kliknięcie przycisku Dodaj operatora zewnętrznego powoduje przejście do formularza, w którym podaje się numer wraz z numerem kierunkowym (w osobnych polach). Kliknięcie przycisku Dodaj powoduje skojarzenie numeru z kontem, pod warunkiem, że format numeru jest poprawny i numer nie jest już przypisany do czyjegoś konta.

Być może istnieją jakieś dodatkowe procedury walidacyjne wykonywanych przy kojarzeniu numeru z kontem, ale w tym momencie staje się oczywiste, że brakuje bardzo istotnego sprawdzenia. Jest nim weryfikacja uprawnień użytkownika do podawanego numeru. Atakujący może wprowadzić dowolny, nie należący do niego numer. Od tej chwili wszystkie połączenia z tym numerem przestają być łączone, natomiast są przekazywane bezpośrednio do atakującego!

Skala zagrożenia

Freeconet posiada, według różnych źródeł od kilkunastu do kilkuset tysięcy abonentów.

Jestem zdania, że podatność jest obecna od samego początku istnienia platformy Freeconet, czyli od września 2006 roku. Zatem przez ponad 4 lata użytkownicy byli narażeni na ataki, których przykłady przedstawiono poniżej.

Scenariusze ataków

DoS

Najprostszy rodzaj ataku. Atakujący nie odbiera połączeń, odkłada słuchawkę, bądź zgłasza sygnał zajętości. W ten sposób skutecznie blokuje możliwość dodzwonienia się na wybrany numer.

Podsłuchiwanie połączenia

W momencie rozpoczęcia dzwonienia atakujący nawiązuje równoległe połączenie z numerem, pod który dzwoni inicjujący połączenie. Atakujący używa do tego celu telefonii tradycyjnej, za pośrednictwem lub z pominięciem Freeconet. Po odebraniu połączenia przez drugą stronę atakujący łączy strumienie dźwiękowe obu rozmów, jednocześnie je nagrywając.

Atak stanie się trudniejszy do wykrycia jeśli napastnik zablokuje prezentację swojego numeru lub – co jest trudniejsze – podszyje się pod numer osoby dzwoniącej. W ten sposób osoba, do której połączenie jest nawiązywane nie będzie mogła stwierdzić zmiany numeru osoby dzwoniącej.

Atakujący może wykorzystać nagrane rozmowy do zbudowania z ich fragmentów korzystnych dla siebie wypowiedzi, które mogą zostać wykorzystane w następnym scenariuszu.

Modyfikacja rozmowy

Jest to rozszerzenie powyższego ataku o możliwość wpływania na przebieg rozmowy. Możliwości są ograniczone jedynie przez umiejętności i wyobraźnię atakującego. Od prostych, przeprowadzanych w mało poważnych celach modyfikacji głosu (np. jego podwyższenie lub obniżenie, dodanie echa), przez wstrzykiwanie dodatkowego dźwięku w czasie rzeczywistym, aż do ataków ciężkiego kalibru na połączenia z systemami IVR systemów bankowych. Może to być np. odcięcie użytkownika zaraz po uwierzytelnieniu sesji telefonicznej i kontynuowanie rozmowy przez atakującego, który w ten sposób może skutecznie podszyć się pod użytkownika.

Jak się zabezpieczyć?

Dopóki podatność nie zostanie usunięta, każdy użytkownik może we własnym zakresie zabezpieczyć swoje konta przed jej wykorzystaniem. W tym celu należy zmodyfikować reguły kierowania połączeń tak, aby połączenia wewnątrz sieci Freeconet były pomijane. Wiąże się to jednak ze wzrostem opłat za połączenia w przypadku dzwonienia na numery zarejestrowane w platformie.

Aby pomijać połączenia wewnątrz Freeconet przejdź do Konfiguracja » Dzwonienie » kierowanie. Zaznacz wpis Logika domyślna uproszczona i kliknij Klonuj. Następnie kliknij na nowo utworzony wpis Logika domyślna uproszczona_2, zaznacz linijkę sprawdź we Freeconet za pomocą checkboxa po lewej stronie, kliknij Usuń, potwierdź OK i kliknij Zapisz. Wróc do Konfiguracja » Dzwonienie, zaznacz Użyj własnej listy reguł kierowania połączeń, wybierz Logika domyślna uproszczona_2 z rozwijanej listy i kliknij Zapisz.

Cały artykuł dostępny na stronie: http://www.cryptonix.org/papers/freeconet/index.html

Odpowiedz

Plain text

  • Znaczniki HTML niedozwolone.
  • Adresy internetowe są automatycznie zamieniane w odnośniki, które można kliknąć.
  • Znaki końca linii i akapitu dodawane są automatycznie.
Realizacja: SIPLEX Studio