Популярные VoIP-атаки и способы их предотвращения
дисклеймер:
- Данный топик написан в качестве продолжения/расширения темы «Asterisk VoIP — как отбиться от хакеров или «ляпы» в настройке шлюзов»
- Сразу оговорюсь, что в качестве протокола сигнализации буду рассматривать только SIP, так как он является самым распространенным; постоянно и быстро развивается; является де-факто стандартом в среде сигнальных протоколов.
- Ну и конечно все приведенные ниже примеры и выводы основаны на личном опыте и отражают субъективный опыт автора.
Любой VoIP оператор имеет как минимум один SIP-интерфейс в маршрутизируемом пространстве интернета. Соответственно, по умолчанию, любой злоумышленник может беспрепятственно послать SIP-ping (обычно это сообщение SIP Options и ответ 200 OK, но может быть в принципе любым SIP запросом) на этот интерфейс и определить факт наличия этого интерфейса.
Существует множество способов такого SIP-сканирования. Начиная от вручную написанных скриптов, и заканчивая несложными инструментами (типа SIPp), освоить которые могут даже люди далеки от программирования (типа меня). Диапазон ip-адресов для сканирования можно выбирать из whois lookup диапазона адресов конкретного провайдера, либо произвольно. И поверьте, таких сканеров работает в интернете гораздо больше, чем может казаться. Сканируют все подряд.
Пример:
Мой знакомый недавно ругался со своим интернет провайдером по поводу превышения download/upload limit (он сидит на DSL интернете с 10Гб потолком). Он использовал интернет только для проверки почты. В один прекрасный день, посреди месяца ему пришло сообщение, что до потолка осталось 10%. Он начал отслеживать дневное потребление в течение следующих нескольких дней. Затерминировал PPPoE у себя на компьютере вместо модема и включил tcpdump. В итоге он обнаружил огромное количество SIP-ping с какого-то адреса из Канады (несколько сообщений в секунду), которые в итоге за день набегали в приличный трафик. Очевидно, что просто что-то заглючило в SIP-сканере. Долго ругался со своим провайдером, чтобы они заблеклистили этот адрес. В итоге через whois нашел abuse email канадского провайдера, отправил им письмо и через неделю трафик пропал. Это единичный пример, который, как мне кажется, хорошо отражает общую ситуацию. ВЫ знаете, сколько за один день на ваш интерфейс приходит SIP-ping?Итак, злоумышленник получил список SIP-совместимых ip адресов. Что можно делать дальше? Для начала он может посмотреть заголовок User-agent в сообщении ответе. Данный заголовок может содержать не только название устройства, но иногда и его версию. По этой информации легко ищется список эксплойтов. В простейшем случае, с сайта производителя скачиваются release notes на все более свежие версии, и ищется все, что может быть использовано для эскплойта.
Пример:
очень популярные в азиатско-тихоокеанском регионе мини воип-шлюзы epigy в свое время страдали (да хотя и до сих пор страдают) от болезни, описанной автором «Asterisk VoIP — как отбиться от хакеров или «ляпы» в настройке шлюзов». То есть пропускают вызовы от всех подряд. В ответ на SIP OPTIONS, epigy возвращает 200 OK c заголовком User-Agent: Epygi Quadro SIP User Agent/v4.1.33. Список таких «добрых» шлюзов очень длинный.Затем можно попробовать посылать SIP INVITE с различным форматом номеров и смотреть какие префиксы работают, а какие нет. Ну а если вызовы требуют аутентификации — то не проблема, можно попробовать несколько простых паролей. Огромное количество людей оставляет свои домашние или SOHO воип шлюзы либо с дефолтными паролями, либо паролями типа 123456, admin и пр. А если удалось выяснить номер голосового портала услуг оператора связи — то можно, зная диапазон номеров, попробовать подбирать пароли к порталу.
Пример:
один очень крупный оператор в свое время имел такую услугу, голосовой портал. С помощью этой услуги пользователь платформы мог позвонить с любого номера на определенный номер платформы, ввести свой номер телефона, пароль и получал доступ в меню настройки услуг, где он (а точнее уже злоумышленник) включал безусловную переадресацию со своего номера на номер в Зимбабве.Итак, допустим, злоумышленник получил возможность делать вызовы за счет ничего не подозревающего клиента во все точки земного шара. Что происходит дальше. Многие ошибочно думают, что в соседней комнате сидит толпа зимбабвцев/китайцев и ждут, когда добрый хакер взломает чей-нибудь номер, и как только это произошло — ломятся звонить родственникам, которые тоже сидят и постоянно ждут звонка. На самом деле схема бывает очень интересной.
Схема получения профита:
В Зимбабве, Корее, а так же других странах, не выдающих преступников (список стран можно узнать из диалогов персонажей фильмов серии форсаж, куда они постоянно хотят уехать после очередного хорошего дельца), организуется новый премиум-рейт оператор-однодневка. И стоимость звонков на него устанавливается, одной из самых дорогих в стране, но не самой дорогой, чтобы сразу не заметили подвоха. К тому времени у злоумышленников уже есть несколько готовых звонить устройств, которые по команде из центра начинают звонить на номер/номера этого нового оператора. Все это работает очень слаженно и быстро, так как схемы детекции фрода есть уже у многих провайдеров. Но в любом случае, до того как все это заметят, оператор-однодневка получает нехилый профит и самоликвидируется. Но самое удивительное, что страдает при этом не конечный клиент, у которого был украден его номер, а его оператор. Так как не все операторы обновляют свои тарифы так часто, чтобы учесть вышеописанные случаи. К тому же зачастую клиенты просто шлют оператора лесом при получении счета с количество цифр более 4. Тут конечно можно порассуждать на тему того как заключался контракт и должен ли клиент платить за, фактически, свой недосмотр. Но мало какой оператор готов признаться своим клиентам, что вот так легко может позволить фрод и ничего при этом не сделать. Клиенту проще переехать к конкуренту, который пообещают защиту от фрода. Как бы то ни было, профит получен. Единственный способ добиться правды, в данном случае, это интерпол. Но для многих это слишком большой геморрой.
Итак некоторые гайдлайны, которым стоит следовать, чтобы минимизировать риск большинства не-ddos атак:
Application ACL
Разрешать трафик только от легитимных источников. Если это шлюз — только от адресов провайдера.User-agent
Если есть возможность надо прятать заголовок User-Agent на интернет интерфейсах.Password rules
Если есть возможность надо использовать различные правила для паролей пользователей, чтобы усложнить подбор.CDR scripts
Писать самопальные скрипты, которые будут анализировать базу данных биллинга на предмет различных аномалий (большое количество вызовов на определенный префикс, слишком длинные вызовы и пр.). Примеры есть, могу показать кому интересно.SBC
Если если есть деньги, можно купить Session Border Controlller — воип фаервол, который потенциально может не только определять аномалии в паттерне сип трафика, но и от dos-атак защитит.
0 комментариев