25.06.2006

Две уязвимости VoIP

image

Цель этой статьи обсудить две наиболее распространенных уязвимости, которые присутствуют в текущих реализациях VoIP.

Две уязвимости VoIP

Peter Thermos

"Наша связь безопаснее обычной телефонной линии"

Технология VoIP прочно вошла в нашу жизнь. Многие действующие операторы связи начали предоставлять услуги VoIP; появились новые провайдеры VoIP. Помимо проблем с качеством предоставляемых услуг, проблема безопасности (как и её отсутствие) недопонимается многими поставщиками услуг VoIP.

Цель этой статьи обсудить две наиболее распространенных уязвимости, которые присутствуют в текущих реализациях VoIP. Первая уязвимость позволяет перехватить пользовательскую подпись (Subscription) и соответствующие соединения. Вторая уязвимость позволяет прослушивать VoIP-соединения. Хотя VoIP реализован с помощью нескольких протоколов, эта статья фокусируется на уязвимостях, связанных с протоколом SIP (Session Initiation Protocol – протокол инициации соединения), являющимся стандартом IETF (RFC 3261). Эти два вида атак (помимо других атак, типа DoS) уже обсуждались в различных исследовательских статьях, но не признавались в качестве реально действующих.

Эксперты считают, что эти виды атак станут более очевидными с дальнейшим развитием и пониманием VoIP. В следующем разделе мы кратко рассмотрим протокол SIP, который используется для создания и уничтожения мультимедийных соединений (включая VoIP).

Кратко о SIP

Протокол инициации соединений (SIP, IETF RFC 3261) широко используемый стандарт, который используется в VoIP для установления и разрывания телефонных звонков. На Рис. 1 с высокого уровня показаны сообщения SIP во время телефонного разговора. Пояснение следует ниже.


Рис. 1: Установление и разрывание связи.

 

Шаг 1, устройство пользователя (User Agent в терминологии SIP) регистрируется у регистратора доменов, который отвечает за содержание базы данных со всеми пользователями для соответствующего домена. Регистрация пользователя необходима для связи с удаленной стороной. Когда Bob хочет позвонить Alice, он посылает запрос INVITE прокси-серверу. Прокси-серверы отвечают за маршрутизацию SIP-сообщений и определение местоположения пользователей. Когда прокси получает запрос INVITE, он пытается найти вызываемую сторону и ретранслирует соединение вызывающему, проходя при этом несколько шагов, типа DNS-lookup. Атака на перехват регистрационной подписи происходит как раз на первом шаге.

Перехват регистрации

На Рис. 2 показано типичное регистрационное сообщение и ответ от регистратора, используемый для анонсирования точки связи. Это показывает, что устройство пользователя принимает звонки.

Рис. 2: Запрос REGISTER.

 

Запрос REGISTER содержит заголовок Contact, указывающий IP-адрес устройства пользователя. Когда прокси получает запрос на входящий звонок (INVITE), он произведет поиск, чтобы узнать, как связаться с соответствующим пользователем. В нашем случае пользователь с телефоном 210-853-010 доступен по адресу 192.168.94.70. Прокси перенаправит запрос INVITE на этот адрес.

На Рис. 3 показан измененный запрос REGISTER, который отправил хакер.

Рис. 3: измененный вариант запроса REGISTER

В этом случае все заголовки и параметры остаются неизменными, кроме заголовка Contact. В этом заголовке был изменен IP-адрес (192.168.1.3), который теперь указывает на устройство хакера. Этот запрос отправляется SIP регистратору по адресу 192.168.1.2. Хакер легко может генерировать подобный запросы, используя программу SiVus, показанную на Рис. 4:

Figure 1
Рис. 4: Подмена регистрации SIP с помощью SiVUS.

Атака перехвата работает следующим образом:

  1. Блокировать регистрацию законного пользователя. Это достигается одним из следующих способов:
    • DoS-атака против устройства пользователя
    • Дерегистрация пользователя (ещё одна атака, в этой статье не рассматривается)
    • Генерация множества запросов REGISTER в более короткий промежуток времени, чтобы вызвать race-condition и отменить регистрацию законного пользователя
  2. Послать запрос REGISTER с IP-адресом хакера.

Рис. 5 показывает подход к осуществлению этой атаки:

Figure 1
Рис. 5: Обзор атаки перехвата регистрации

Сама возможность этой атаки обусловлена следующими причинами:

  1. Сообщения посылаются в открытом виде, что позволяет хакеру перехватывать, модифицировать и отсылать их в своих целях.
  2. Текущая реализация сообщений протокола SIP не позволяет проверять целостность данных, поэтому изменение сообщений никак не обнаруживается.

Эта атака может быть реализована даже в том случае, если SIP-прокси при регистрации требует авторизацию, т.к. сообщения отправляются в открытом виде. Под угрозой могут оказаться как компьютеры корпоративных сетей, так и домашние ПК. К примеру, домашняя сеть с плохо настроенной точкой беспроводного доступа, может быть скомпрометирована хакером, перехватывающим и модифицирующим сообщения (даже если используются WEP и WPA). В случае успеха хакер может производить звонки за счет пользователя или переадресовывать соединения. В корпоративной сети хакер может переадресовывать звонки неавторизованной стороне. Например,  звонки акционеров могут быть направлены агенту, не авторизованному для проведения определенных транзакций с клиентами. Естественно, звонки могут перенаправляться и в злонамеренных целях, которые зависят только от фантазии хакера. В некоторых случаях эта атака может оказаться полезной для сотрудников, которые не желают быть потревоженными и направляют звонки на автоответчик.

Эта атака может быть предотвращена с помощью SIPS (SIP поверх TLS) и авторизации SIP-запросов и ответов (что может включать проверку целостности). Фактически, использование SIPS и авторизации может предотвратить другие виды атак, включая прослушивание.

Прослушивание

Прослушивание в VoIP немного отличается от прослушивания данных в обычных сетях, но принцип тот же. Прослушивание в VoIP подразумевает перехват служебных сообщений и соответствующих потоков мультимедийных данных. Служебные сообщения используют протоколы и порты, отличные от мультимедийных данных. Мультимедийные потоки обычно передаются по UDP, используя протокол RTP (Real Time Protocol – протокол реального времени).

На Рис. 6 показаны действия, необходимые для прослушивания с помощью Ethereal:

Figure 1
Рис. 6: Перехват мультимедийных данных с помощью Ethereal.

Действия, необходимые для перехвата и декодирования голосовых данных:

  • Перехват и декодирование RTP-пакетов.
  • Анализ сессии.
  • Сохранение данных в виде звукового файла.

 

Некоторые из вас скажут, что прослушивание можно подавить, используя свитчи, которые запрещают трансляцию трафика на всю сеть, таким образом ограничивая доступ к трафику.

Можно отбросить этот аргумент, если использовать ARP-спуфинг для осуществления атаки man-in-the-middle. Мы не будем рассматривать ARP-спуфинг в этой статье, на эту тему уже написано много статей. Основная суть в том, что хакер вещает подмененные MAC-адреса, заставляя соответствующие пакеты проходить через свой компьютер. Это позволяет прослушивать данные между двумя пользователями. На Рис. 7 показан пример атаки подмены таблиц ARP:

Figure 1
Рис. 7: Атака ARP-спуфинг.

 

С помощью подмены ARP-таблиц хакер может перехватывать, анализировать и прослушивать VoIP-соединения.

На Рис. 8 показано использование программы Cain для осуществления атаки man-in-the-middle и перехвата VoIP-трафика.

Figure 1
Рис. 8: Использование Cain для осуществления man-in-the-middle.

Заключение

Ожидается, что описанные выше уязвимости будут использованы в ближайшем будущем в личных и финансовых целях (например, мошенничество).

Инвестиции в производство и исследования, а также широкое распространение  услуг VoIP за последние три года показывает, что VoIP прочно вошла в нашу жизнь. В то же время вопросы безопасности становятся более очевидными с ростом количества пользователей. IETF внесло несколько улучшений в стандарты VoIP, которые должны обеспечить защиту VoIP-трафика. Самыми очевидными являются использование TLS поверх SIP для защиты служебных данных и SRTP (Secure Real Time Protocol) для защиты мультимедийных данных. Основная проблема в том, что большинство провайдеров медленно адоптируют эти протоколы и иногда путают безопасность в пакетных сетях с безопасностью телефонных сетей.

comments powered by Disqus