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

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

Угрозы

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

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

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

image

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

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

Прослушка

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

image

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

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

Атака за NAT’ом

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

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

image

image

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

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

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

image

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

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

image

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

image

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

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

image

image

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

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

image

Заключение

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

By Ruslan Novikov

Интернет-предприниматель. Фулстек разработчик. Маркетолог. Наставник.