Pull to refresh

Безопасность систем мгновенного обмена сообщениями на базе протокола XMPP: настоящее и будущее

Instant Messaging *
Все чаще многие используют решения на основе протокола XMPP (Jabber) для мгновенного обмена сообщениями, в той или иной степени отказываясь от ICQ. Данный подход, безусловно, является правильным ввиду открытости Jabber – каждый может выбрать какой сервер ему использовать или же вовсе организовать работу своего собственного. Также протокол XMPP прекрасно себя зарекомендовал в корпоративной среде и многие компании уже несколько лет успешно используют Jabber наравне с электронной почтой для обмена информацией.
Принято считать, что коммуникационные решения на базе протокола Jabber являются наименее уязвимыми с точки зрения информационной безопасности. В данной статье я постараюсь проанализировать так ли это на самом деле и какие реальные перспективы имеет протокол XMPP в этом направлении. Вопрос будет рассмотрен в контексте использования протокола для обмена сообщениями как в личных целях на публичных и частных сервисах, так и в корпоративных условиях.

Jabber для личного общения

Нежелательные сообщения

Для личного общения Jabber массово стал использоваться сравнительно недавно, что обуславливает фактическое отсутствие коммерческого спама (или spim’а в терминологии XMPP Standards Foundation). Я специально акцентировал внимание на отсутствии именно коммерческого спама, поскольку в настоящий момент на крупных jabber-серверах имеют место единичные рассылки, которые организовываются при помощи скриптов на Python «школьниками » just for fun и не направлены на продвижение каких-либо товаров и услуг. В ближайшее время возможно появление коммерческого спама в Jabber, однако массового развития как в ICQ он получить не должен. О предпосылках этого хорошо написано в этом посте.

XMPP является открытым и расширяемым протоколом, что никак не ограничивает разработчиков в написании всевозможных шейперов и фильтров. Так на jabber-сервере qip.ru успешно функционируют URL- и JID-фильтры, а на jabber.ru можно включить в своей конференции muc-фильтр с использованием стороннего сервиса (бота). Плюс ко всему в Jabber имеется возможность активировать privacy-листы, позволяющие пользователю регулировать получение сообщений от контактов, в том числе не из ростера.
Следует отметить, что существует и развивается XEP-0159, описывающий методы блокировки нежелательных сообщений.

Флуд-атаки, направленные на JID пользователя или конференции

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

Безопасность паролей

Один из самых популярных jabber-серверов Ejabberd «из коробки» хранит пароли в открытом виде, но при использовании ODBC возможно реализовать хранение паролей в виде md5-хэша (при помощи этого патча, к примеру).
Вредоносного ПО, компрометирующего пользовательские пароли от JID, очень мало. Как правило, это модификации различных клиентов с открытым исходным кодом, которые распространяются при помощи рассылок в популярных jabber-конференциях. Не так давно была обнаружена вредоносная модификация популярного мобильного jabber-клиента Bombus, которая отправляет введенные JID и пароль на конкретный e-mail (Trojan-PSW.J2ME.Bomzuz.a в классификации Лаборатории Касперского). В данном случае пользователям можно лишь посоветовать остерегаться подобных модификаций и загружать клиентские программы только с официальных/доверенных ресурсов.
Практически все существующие на настоящий момент jabber-серверы никак не защищены от brute force атак, которые пока массово не наблюдаются, но в принципе возможны. Данная ситуация поправима – проблему помогут решить временные блокировки, ограничивающие количество попыток ввода пароля.

Защита передаваемых данных

Практически на всех крупных серверах имеется возможносноть устанавливать защищенные соединения при помощи шифрования ssl/tls, что исключает возможность перехвата паролей и переписки. Шифрование также нетрудно настроить и на своем собственном сервере.
В ICQ некоторое время назад также имелась возможность включить защищенную передачу данных, но после покупки этого сервиса холдингом Mail.Ru Group данная функция перестала работать. Это связано с тем, что компания AOL не продала реализацию данной фичи.
Некоторые клиентские программы позволяют при помощи специального плагина дополнительно шифровать передаваемую информацию с использованием GPG и OTR. При этом необходимо, чтобы такой плагин был установлен у обоих собеседников.

Jabber как средство коммуникации в корпоративной среде

При использовании Jabber в условиях предприятия в основном потенциальную угрозу представляют различного рода сервисы с неограниченным доступом извне (jabber-конференции, транспорты, сервис поиска по vcard – vjud).
Jabber-конференции, безусловно, очень удобное средство коммуникации. Однако довольно часто администраторы корпоративных xmpp-серверов забывают закрывать доступ к конференциям по s2s (то есть для пользователей других серверов) и в общем доступе может оказаться важная корпоративная информация. Также злоумышленники могут организовать флуд-атаку конференций на незащищенном сервисе, что в последствии может привести к отказу в обслуживании xmpp-сервера в целом.
Открытые для пользователей всех серверов транспорты могут помочь злоумышленникам скрыть свой реальный IP (например, если сторонний пользователь зарегистрируется на IRC-транспорте, то он будет заходить в IRC-чаты с IP, который имеет джаббер-сервер предприятия). В случае с иными транспортами (ICQ, MRA и др.) сторонние пользователи могут создать лишнюю нагрузку, снизив тем самым отказоустойчивость сервиса.
Наибольшую опасность представляют собой открытые для общего доступа сервисы поиска по данным из визитной карточки (vjud). Очень часто джаббер-сервер берет данные для vcard из внутренних источников (при использовании LDAP, к примеру) и в итоге в vcard может оказаться закрытая информация о сотруднике (личные и служебные e-mail, номера телефонов, название отдела и даже домашний адрес). Злоумышленники могут организовать автоматизированный поиск через vjud по популярным именам и фамилиям, заполучив тем самым данные, предназначенные для служебного пользования).
Администраторам корпоративных jabber-серверов необходимо внимательнее следить за запускаемыми модулями и отключать или закрывать доступ к неиспользуемым сервисам.
Администраторам как корпоративных, так и частных серверов необходимо внимательнее относиться к политике регистрации новых пользователей. В случае корпоративного сервера открытую регистрацию необходимо запретить вовсе, поскольку учетная запись сотрудника должна заводиться администратором в момент принятия его на работу наравне с другими внутренними учетными записями. В случае с частным сервером целесообразно либо ограничить регистрацию новых учетных записей (например, при помощи капчи), или же отключить данную возможность.

Резюме

Несмотря на растущую популярность протокола Jabber, угрозы пока носят некоммерческий характер. Тем не менее, в ближайшее время возможна активация коммерческих рассылок нежелательных сообщений, а также сообщений, содержащих вредоносные ссылки. Однако ввиду своей расширяемости протокол позволяет эффективно противостоять подобного рода угрозам и свести к минимуму вероятность получения конечными пользователями нежелательного контента.
Jabber как коммуникационное средство корпоративного назначения достаточно безопасно и надежно, но администраторам серверов следует внимательно следить за уровнем доступа к сервисам.
Tags:
Hubs:
Total votes 71: ↑69 and ↓2 +67
Views 6.4K
Comments Comments 43