doc - Курс "Защита информации".

advertisement
VoIP и возможные атаки
Грабарник М.С.
Группа 416
2008-04-28
VoIP (англ. Voice-over-IP — IP-телефония) — система связи, обеспечивающая передачу речевого
сигнала по сети Интернет или по любым другим IP-сетям. Сигнал по каналу связи передается в
цифровом виде и, как правило, перед передачей преобразовывается (сжимается) с тем, чтобы
удалить избыточность, свойственную человеческой речи.
VoIP
Возможность передачи голосовых сообщений через сеть с пакетной коммутацией впервые
была реализована в 1993 году. Данная технология получила название VoIP (Voice over IP).
Одним из частных приложений данной технологии является IP-телефония — услуга по
передаче телефонных разговоров абонентов по протоколу IP.
Основными преимуществами технологии VoIP является сокращение требуемой полосы
пропускания, что обеспечивается учётом статистических характеристик речевого трафика:


блокировкой передачи пауз (диалоговых, слоговых, смысловых и др.), которые
могут составлять до 40-50 % времени занятия канала передачи;
высокой избыточностью речевого сигнала и его сжатием (без потери качества при
восстановлении) до уровня 20-40 % исходного сигнала.
Трафик VoIP критичен к задержкам пакетов в сети, но обладает толерантностью
(устойчивостью) к потерям отдельных пакетов. Так, потеря до 5 % пакетов не приводит к
ухудшению разборчивости речи.
При передаче телефонного трафика по технологии VoIP должны учитываться жёсткие
требования стандарта ISO 9000 к качеству услуг, характеризующие:
1. качество установления соединения, определяемое в основном быстротой
установления соединения,
2. качество соединения, показателем которого являются сквозные (воспринимаемые
пользователем) задержки и качество воспринимаемой речи.
Протоколы IP телефонии
Протоколы обеспечивают регистрацию IP устройства (шлюз, терминал или IP телефон) на
сервере или гейткипере провайдера, вызов и/или переадресацию вызова, установление
голосового соединения, передачу имени и/или номера абонента. В настоящее время
широкое распространение получили следующие VoIP протоколы:









SIP - обеспечивает передачу голоса и для сигнализации обычно использует порт
5060 UDP
H.323 - протокол, более привязанный к системам традиционной телефонии, чем
SIP, сигнализация по порту 1720 TCP
IAX2 - через 4569 UDP порт и сигнализация, и медиа трафик
MGCP
SIGTRAN
SCTP
SGCP
Skinny/SCCP
Unistim - закрытый протокол передачи сигнального трафика в продуктах компании
Nortel
Атаки на VoIP
SIP
Session Initiation Protocol (RFC 3261) - стандарт, используемый в VoIP для установления и разрыва
связи (в данном примере используется именно он, хотя есть еще и другие сигнальные протоколы RAS (Registration, Admission, Status), SCTP). На рисунке показаны сообщения, которыми
обмениваются пользователи в процессе звонка.
В первом шаге устройство пользователя (User Agent) регистрируется в доменном
регистраторе, ответственном за содержание базы данных всех подписчиков домена.
Регистрация в VoIP обязательна, так как обеспечивает поиск и контакт с удаленным
клиентом. Когда пользователь Б хочет соединиться с пользователем А, он посылает
INVITE запрос прокси-серверу. Прокси-сервер в данном случае отвечает за роутинг SIP
сообщений и обнаружение участников. Когда прокси-сервер получает INVITE запрос от
клиента, он пытается определить местонахождение другого участника и выполняет ряд
других шагов, докладывая всю информацию (типа DNS запросов и SIP сообщений)
звонящему. Как мы увидим дальше, перехват регистрации возможен именно в ходе
регистрации устройства в первом шаге.
Перехват регистрации
Перехваченный пакет показывает правильную регистрацию и ответ от SIP регистратора,
который сообщает о готовности пользователя к контакту.
Session Initiation Protocol
Request-Line: REGISTER sup: atlas4.voipprovider.net:5061 SIP/2.0
Method: REGISTER
Resent Packet: False
Message Header
Via: SIP/2.0/UDP 192.168.94.70:5061;branch=z9hG4bK-49897e4e
From: 201-853-0102
<sip:12018530102@atlas4.voipprovider.net:5061>;tag=802030536f050c56o0
SIP Display info: 201-853-0102
SIP from adress: sip:12018530102@atlas4.voipprovider.net:5061
SIP tag: 802030536f050c56o0
To: 201-853-0102 <sip:12018530103@atlas4.voipprovider.net:5061>
SIP Display info: 201-853-0102
SIP to adress: sip:12018530102@atlas4.voipprovider.net:5061
Call-ID: e4bb5007-b7335032@67.83.94.70
CSeq: 3 REGISTER
Max-Forward: 70
Contact: 201-853-0102 <sip:12018530102@192.168.10.5:5061>;expires=60
User-Agent: 001217E57E31 linksys/RT31P2-2.0.12(LIVd)
Content-Length: 0
Allow: ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, OPTIONS, REFER
Supported: x-sipura
В запросе типа REGISTER поля From и To должны совпадать, из запроса так же видно,
что регистрация истекает через 60 секунд, а в поле Contact так же указывается SIPS
URI, который указывает на прямой путь к устройству, обычно составляемый из имени
пользователя из FQDN (fully qualified domain name).
Запрос REGISTER содержит заголовок Contact, показывающий IP адрес
пользовательского устройства (будь то железный телефон или программа). Когда прокси
получает запрос на обработку входящего звонка (INVITE), он выполняет lookup запрос
для идентификации, где целевой пользователь может быть обнаружен. В данном случае
пользователь с номером 201-853-0102 может быть найден на IP адресе 192.168.94.70.
Прокси форвардит INVITE запрос на этот адрес, как видно - на порт 5061. Этот порт
зарезервирован за SIPS и в данном случае это нарушение стандарта, описанного в RFC
32610.
Дальше мы показываем модифицированный REGISTER запрос, посылаемый атакующим.
Очевидно, что все поля заголовка остались теми же самыми, за исключением поля Contact,
которое теперь указывает на адрес атакующего (192.168.1.3).
Contact: 201-853-0102 <sip:12018530102@192.168.1.3:5061>;expires=60
REGISTER запрос посылается на SIP службу регистрации по адресу 192.168.1.2. Для этого
используется утилита SiVuS, скриншот ее можно видеть ниже, а саму ее легко скачать
отсюда: http://www.vopsecurity.org/html/tools.html.
Таким образом перехват работает так:
1. Устраняем пользовательскую регистрацию. Этого можно добиться:
- DoS атакой
- устранением записи (эта атака не рассматривается в этой статье)
- генерацией повторяющихся REGISTER запросов с коротким промежутком
(например, каждые 15 секунд) для перезаписи легитимных пользовательских
запросов (в том случае, если регистрация происходит через интервалы времени,
нужно будет перерегистрироваться всякий раз после регистрации, уязвимого
клиента)
2. Посылаем REGISTER запрос с нашим адресом.
На этом рисунке приведен пример такого нападения:
0 - DoS атака
1 - регистрация пользователя
2 - запрос на начало сессии
3 - прокси - запрос домена и роутинг
4 - прокси - запрос пользователя (SIP прокси получает IP адрес хакера)
5 - прокси-прокси - соединение пользователей
6 - ответ абонента
7 - прокси форвардит ответ - соединение создано, и медийные данные передаются между
телефонами
Вывод
Атака возможна из-за следующих причин:


Сообщения посылаются в открытом виде, что позволяет хакеру перехватывать их,
изменять и отвечать на них.
Текущая реализация сообщений SIP не поддерживает контроля содержания, что
позволяет его модификацию и невозможность обнаружения этого.
Прослушивание
Перехват данных VoIP несколько отличается от традиционного захвата данных в сети, но
общая концепция остается той же самой. Прослушивание требует перехвата пакетов
установления связи и ассоциированного медийного потока. Сигнальные сообщения
используют другой сетевой протокол (UDP или TCP) и порт, отличный от самой передачи
данных. Медиа поток обычно передается через UDP с использованием RTP (Real Time
Protocol).
Для перехвата потока данных можно использовать любой снифер, например все тот же
Ethereal. Система выглядит таким образом:



Перехватить и декодировать RTP пакеты (опция Analyze -> RTP-> Show all streams)
Проанализировать сессию - собрать пакеты (просто выбрав поток)
Сохранить поток (сохранить адуио файл (.au), содержащий голос, )
Встряв между звонящим пользователем А и принимающим звонок пользователем Б хакер и
получает возможность сохранить все общение себе на диск, естественно существуют утилиты,
которые совмещает в себе все возможности - это, например, снифер Cain&Abel
(http://www.oxid.it/cain.html).
Вывод
Эта атака так же возможна из-за передачи данных по сети в незашифрованном виде пакеты установления связи передаются открытым текстом, а медийный поток может
восстановить любой перехвативший.
В качестве защиты можно посоветовать использовать TLS (Transport Layer Security) для
защиты SIP сигналов и SRTP (Secure Real Time Protocol) для защиты голоса. К сожалению,
провайдеры VoiP пока не спешат с внедрением такой защиты, уповая на волю случая.
Источники
1. http://ru.wikipedia.org/wiki/VoIP
2. http://www.securityfocus.com/infocus/1862
3. http://www.xakep.ru/post/30939/default.asp
Download