- PVSM.RU - https://www.pvsm.ru -

Очерк безопасности SIP

Интернет — прекрасная среда для общения. Общения при помощи писем, чата, голоса или видео. Если видеосвязь это достаточно ново, то телефоном люди пользуются уже сто лет. С прокладкой новых интернет-магистралей и развитием программ вроде интернета с воздушных шаров [1] доступ в сеть будет в скором времени даже у пингвинов в Антарктиде. А раз есть такое покрытие, зачем использовать телефонные линии? Почему бы не пускать голос по интернет-каналам?

Одним из решений этой задачи является протокол SIP (Session Initiation Protocol). Это протокол с интересной историей, но сейчас мы коснемся только некоторых его особенностей. SIP — это протокол установления сеанса для последующей передачи данных; передает информацию в открытом виде. Среди данных могут присутствовать учетные данные абонента — логин, домен, пароль (в открытом или хешированном виде), а также многие другие интересные поля. Отметим, что в некоторых случаях аутентификация может отсутствовать вовсе (соединение настраивается на обоих сторонах как пара IP:port). Рассмотрим несколько угроз, возникающих при использовании протокола SIP, и способы эти угрозы реализовать.

image [2]

Угрозы

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

Кража учетных данных

Поскольку протокол передает данные в открытом виде, любой, кто имеет возможность «слушать» идущий от нас трафик, может узнать много всего интересного. К примеру, возьмем процесс аутентификации. Пароль в SIP хэшируется с использованием MD5, который, во-первых, уже давно настоятельно не рекомендуется [3] к использованию вообще нигде, а во-вторых, может быть подобран (например, с помощью SIPcrack [4]). Выглядит это примерно вот так:

image

Полученные учетные данные могут использоваться в различных интересных схемах. Если жертва является клиентом услуг Triple Play [5], злоумышленник может получить доступ ко всем сервисам, на которые подписан абонент. Что намного опаснее — полученный SIP-аккаунт может использоваться в мошеннических схемах с PRS-номерами, а также для прогона большого количества звонков по дорогим направлениям (суммы, которые абоненту придется заплатить за чужие разговоры, могут быть весьма и весьма значительными).

Поподробнее о подборе SIP-пароля: www.sipsorcery.com/mainsite/Help/SIPPasswordSecurity [6]

Прослушка

Сам по себе SIP звук не передает. Для передачи полезной нагрузки (например, аудиопотока) используется протокол RTP (Real-time Transport Protocol). Протокол дружелюбен и не шифрует передаваемые данные. Тут немедленно возникает вопрос: не может ли человек, который сидит посередине и «по-дружески» прослушивает наш трафик, — прослушать и наш разговор? Вполне. Например, используя популярный в народе Cain [7], который не только любезно поможет осуществить MITM, но и сразу даст послушать перехваченный разговор. Полученную таким образом информацию очевидно можно использовать с целью шантажа или шпионажа.

image

Отслеживание звонков

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

Атака за NAT’ом

В случае если у клиента-жертвы нет белого IP-адреса, злоумышленник, имеющий общий с ним публичный адрес, получает возможность осуществлять звонки за счет жертвы. Такая ситуация может возникнуть, если интернет-провайдер предоставляет доступ к сети через NAT, за которым помимо легитимного абонента может находиться еще куча непонятного народа.

Подобное часто встречается в бизнес-центрах: множество небольших фирм проходят через NAT местного провайдера.

image

image

Как видно на картинке, в пришедшем к провайдеру пакете находится IP-адрес вызывающей стороны еще до трансляции (NAT), но это поле при установлении соединения не проверяется (проверяется белый IP-адрес), и там может быть как адрес легитимного абонента, так и адрес злоумышленника.

Выдача себя за провайдера (с помощью DNS)

Путем атаки на DNS-сервер клиента с помощью MITM-атаки или отравления кэша DNS (например, с помощью Kaminsky attack [8]) злоумышленник может выдать себя за провайдера, проводя все звонки через свою систему.

image

Перенаправление звонков

Осуществив атаку типа MITM, злоумышленник имеет возможность перенаправлять звонки клиента на произвольный номер, в том числе на несуществующий (приводя к DoS).

image

Перехватывая INVITE-пакеты, злоумышленник отвечает на запрос пакетом с кодом 301 Moved Permanently, перенаправляя звонок.

image

Разрыв соединений

Злоумышленник, зная или подбирая поля CallID, FromTag, ToTag, имеет возможность разрывать активные сессии, отправляя заранее сформированные зловредные пакеты, содержащие SIP BYE-request (запрос на завершение соединения), например с помощью scapy [9].

image

image

Ложные вызовы

Так как SIP чаще всего использует протокол UDP, возможны различные спуфинг-атаки. Например, можно сгенерировать кучу запросов с вызовом абонента-жертвы. Это приводит к отказу в обслуживании АТС жертвы, парализуя всю систему телефонии.

image

Заключение

К сожалению, несмотря на то, что давно существуют методы защиты от большинства перечисленных угроз, все участники рынка — как операторы (что самое печальное!), так и их клиенты, — активно игнорируют меры безопасности. Поэтому watch your back — провайдер за тебя не подумает!

Автор: Илья Сафронов.

Автор: ptsecurity

Источник [10]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/bezopasnost/55174

Ссылки в тексте:

[1] интернета с воздушных шаров: http://www.google.com/loon/

[2] Image: http://habrahabr.ru/company/pt/blog/212839/

[3] не рекомендуется: http://www.kb.cert.org/vuls/id/836068

[4] SIPcrack: http://www.darknet.org.uk/2008/08/sipcrack-sip-login-dumper-hashpassword-cracker/

[5] Triple Play: http://ru.wikipedia.org/wiki/Triple_Play

[6] www.sipsorcery.com/mainsite/Help/SIPPasswordSecurity: http://www.sipsorcery.com/mainsite/Help/SIPPasswordSecurity

[7] Cain: http://www.oxid.it/cain.html

[8] Kaminsky attack: http://unixwiz.net/techtips/iguide-kaminsky-dns-vuln.html

[9] scapy: http://www.secdev.org/projects/scapy/

[10] Источник: http://habrahabr.ru/post/212839/