Zoom: какие есть риски и как безопасно использовать приложение
Скачок популярности Zoom после введения всемирной самоизоляции показал множество проблем с безопасностью приложения, многие из которых носили критический характер.
Некоторые организации запретили использование сервиса для решения служебных задач, но осталось достаточно тех, кто продолжает зумиться, поскольку достойных альтернатив не так много. В этой статье выясним, насколько велики риски тех, кто хранит верность Zoom, не обращая внимания на предупреждения.
Хит-парад багов Zoom
За последние несколько месяцев публикации о критических уязвимостях в Zoom появлялись в лентах новостей едва ли не чаще, чем сообщения об ошибках Windows. Приведем самые нашумевшие проблемы:
1. вопросы к шифрованию и расшифровке записей конференций;
2.zero-day-уязвимость стоимостью 500 тыс. долларов США;
3. неавторизованные XMPP-запросы;
4. уязвимости в macOS-клиенте, предоставлявшие доступ к камере и микрофону;
5. уязвимость в Windows-клиенте, позволявшая похитить логин и пароль пользователя через ссылку и запустить любое приложение;
6. передача данных в LinkedIn и Facebook;
7. утечка пользовательских данных;
8. утечка сотен тысяч записей видеоконференций и их публикация на YouTube и Vimeo;
9. зумбомбинг.
Вопросы к шифрованию
На сайте Zoom декларируется, что все видеозвонки защищены end-2-end-шифрованием, однако исследователи выяснили, что в действительности все не так красиво: сервис действительно использует шифрование, но сеансовый ключ клиентская программа запрашивает у одного из серверов "системы управления ключами", входящими в состав облачной инфраструктуры Zoom. Эти серверы генерируют ключ шифрования и выдают его абонентам, которые подключаются к конференции - один ключ для всех участников конференции.
Передача ключа от сервера к клиенту происходит через протокол TLS, который также используется для https. Если кто-то из участников конференции пользуется Zoom на телефоне, копия ключа шифрования также будет передана еще одному серверу-коннектору телефонии Zoom.
Часть серверов системы управления ключами (5 из 73) расположена в Китае, причем они используются для выдачи ключей даже когда все участники конференции находятся в других странах. Учитывая степень зависимости от правительства китайских провайдеров, возникают справедливые опасения, что гипотетически правительство КНР может перехватить зашифрованный трафик, а затем расшифровать его с помощью ключей, полученных от провайдеров в добровольно-принудительном порядке.
Еще одна проблема шифрования в Zoom связана с его практической реализацией:
-хотя в документации указано, что используются 256-битные ключи AES, их фактическая длина составляет лишь 128 бит;
-алгоритм AES работает в режиме ECB - худшем из возможных режимов работы AES, проблема которого в том, что зашифрованные данные частично сохраняют структуру оригинальных данных.
Zero-day-уязвимость за $500 тысяч
В середине апреля с. г. были обнаружены zero-day-уязвимости в клиентах Zoom для Windows и macOS. RCE-уязвимость Windows-клиента практически сразу же была выставлена на продажу неизвестными за 500 тыс. долларов США. По заявлению продавцов, она позволяет удаленно выполнить произвольный код на Windows-компьютере с установленным клиентом Zoom. Для эксплуатации этой ошибки атакующий должен был позвонить жертве, либо участвовать с ней в одной конференции.
Уязвимость в macOS-клиенте не давала таких возможностей, поэтому ее использование в реальных атаках маловероятно.
Ответы на неавторизованные XMPP-запросы
В конце апреля в Zoom обнаружилась еще одна неприятная уязвимость. С помощью специально сформированного XMPP-запроса любой желающий мог получить список всех пользователей сервиса, относящихся к любому домену.
Две уязвимости в macOS-клиенте
Бывший сотрудник АНБ Патрик Уордл обнаружил в Zoom-клиенте для macOS две уязвимости, позволявшие злоумышленнику захватить контроль над устройством.
Первая уязвимость была связана с тем, что инсталлятор Zoom применял технику теневой установки, которую часто используют вредоносные программы, чтобы установиться без взаимодействия с пользователем. Локальный непривилегированный злоумышленник мог внедрить в инсталлятор Zoom вредоносный код и получить привилегии root.
Вторая уязвимость позволяла атакующему внедрить вредоносный код в установленный Zoom-клиент и получить доступ к камере и микрофону, которые уже предоставлены приложению. При этом не будет отображаться никаких дополнительных запросов или уведомлений.
UNC-уязвимость в Windows-клиенте
Обнаруженная в клиенте Zoom для Windows уязвимость могла привести к утечке учетных данных пользователей через UNC-ссылки. При использовании Zoom участники конференции могут отправлять друг другу текстовые сообщения через интерфейс чата. Если сообщение содержит адрес сайта или ресурса, он автоматически преобразуется в гиперссылку, чтобы другие участники могли нажать на нее и открыть в браузере по умолчанию.
Windows-клиент Zoom преобразует ссылки в UNC-пути. Если отправить в чат ссылку вида \abc.comimgkitty.jpg, Windows попытается подключиться к этому сайту, используя протокол SMB, чтобы открыть файл kitty.jpg. Удаленный сайт получит от локального компьютера имя пользователя и NTLM-хэш, который можно взломать, используя утилиту Hashcat или другие инструменты.
Утечки учетных данных
В начале апреля на одном из хакерских форумов опубликовали учетные данные 2300 пользователей Zoom. Данные в базе принадлежат банкам, консультационным компаниям, образовательным учреждениям, больницам и разработчикам софта. Некоторые записи, помимо логинов и паролей, содержали идентификаторы встреч, имена и ключи их организаторов.
Утечки записей видеозвонков
В начале апреля на YouTube и Vimeo появились в открытом доступе записи личных видеозвонков пользователей Zoom. В их числе были школьные уроки, психотерапевтические сеансы и консультации врачей, а также корпоративные совещания.
Причиной утечки стало то, что сервис присваивал видеоконференциям открытые идентификаторы, а организаторы конференций не защищали доступ к ним паролем. В результате любой желающий мог "слить" записи и использовать их по своему усмотрению.
Передача данных в Facebook
В конце марта разразился небольшой скандал: iOS-версия Zoom передавала данные в Facebook даже если у пользователя не было учетной записи в социальной сети.
Приложение Zoom использовало Facebook Graph API -специальный программный интерфейс, который позволяет обмениваться данными с социальной сетью. Когда пользователь открывал Zoom, сведения о его устройстве, местоположении, часовом поясе и сотовом операторе вместе с уникальным рекламным идентификатором отправлялись в Facebook.
Зумбомбинг
Вызванный пандемией взрывной рост количества пользователей сервиса в сочетании с не слишком строгими настройками безопасности конференций по умолчанию создал благоприятные условия для разного рода пранков и троллинга. Появились целые сообщества зум-троллей, которые врываются на онлайн-уроки и упражняются там в своеобразном "остроумии", включая трансляцию своего экрана с игрой или порнороликом, разрисовывая документ на экране непристойными изображениями или громко матерясь.
Но проблема значительно шире, чем просто срыв онлайн-уроков. Журналисты The New York Times нашли множество закрытых чатов и веток на форумах Reddit и 4Chan, участники которых организуют массовые кампании по срыву публичных мероприятий, онлайн-встреч обществ анонимных алкоголиков и других Zoom-встреч. Они разыскивают опубликованные в общем доступе реквизиты для подключения, а затем собирают и размещают на форумах списки мероприятий, приглашая других троллей присоединиться к "веселью".
Реакция компаний и Zoom
Учитывая обилие проблем с безопасностью, многие компании и правительственные организации отказываются от Zoom, запрещая своим сотрудникам пользоваться сервисом. В их числе Google, Сенат США и Правительство Германии, NASA и SpaceX, а также множество других компаний и правительств разных стран.
Программ без ошибок не бывает, поэтому их обнаружение в Zoom не является чем-то необычным. Гораздо важнее то, как компания-разработчик реагирует на выявленные ошибки. На начальном этапе Zoom проявил совершенно неприемлемую медлительность, игнорируя уведомления о проблемах. Однако массовые отказы от использования сервиса сыграли свою роль. В своем интервью CNN в начале апреля CEO Zoom Эрик Юань сказал, что компания двигалась слишком быстро, поэтому они допустили некоторые ошибки. Усвоив урок, они сделали шаг назад, чтобы сосредоточиться на конфиденциальности и безопасности.
Этим шагом назад стала программа "90 дней к безопасности", запущенная 1 апреля 2020 года. В соответствии с ней компания останавливает работу над новыми функциями и занимается только устранением выявленных проблем, а также проводит аудит безопасности кода.
Видимым для пользователей результатом этой программы стал выпуск Zoom версии 5.0, в которой помимо прочего был произведен апгрейд AES-шифрования до 256 бит, а также реализовано множество других доработок, связанных с безопасностью по умолчанию.
Рекомендации
Использование любых программ требует ответственного отношения к безопасности, и Zoom не исключение.
Правила, которые помогут защитить ваши онлайн-конференции.
1.Используйте последнюю версию ПО.
2. Загружайте установщик программы только с официальных ресурсов.
3. Убедитесь, что ID встречи генерируется автоматически для повторяющихся мероприятий.
4. Не публикуйте ID встреч в интернете.
5. Запретите передачу файлов.
6.Разрешите показ экрана только организатору встречи, чтобы защититься от зумбомбинга.
7.Разрешайте подключение к встречам только авторизованным пользователям.
8. Закройте возможность новых подключений после начала мероприятия.
9. Включите для организатора возможность блокировать или удалять участников встречи.
Меры, которые реализует разработчик Zoom, и соблюдение правил "онлайн-гигиены" для видеоконференций позволят эффективно и безопасно работать даже в условиях пандемии.