Zoom — одна из самых популярных программ для видеозвонков В ней нашли уязвимость, позволяющую насильно подключать пользователей к звонкам. С включенной камерой
Исследователь информационной безопасности Джонатан Ляйтшу рассказал о серии уязвимостей, которые он обнаружил в приложении для видеозвонков Zoom. Как оказалось, на компьютерах под macOS клиент Zoom тайком устанавливал веб-сервер, который умеет автоматически подключать пользователя к видеозвонкам по команде с любой веб-страницы. Более того, этот сервер оставался на компьютерах при удалении Zoom и даже мог заново установить приложение. Вдобавок к этому, злоумышленник мог заблокировать работу компьютера с установленным Zoom, внедрив в код своей страницы несложную команду.
Zoom — популярный корпоративный сервис для создания видео- и аудиозвонков через интернет. Бесплатная версия Zoom позволяет создавать групповые конференции длительностью до 40 минут, к которым может присоединиться до 100 человек. Платная версия без ограничений по времени стоит от 15 долларов в месяц.
У Zoom есть приложения для большинства настольных и мобильных операционных систем. Его используют десятки миллионов пользователей — еще в 2015 году их было больше 40 миллионов. Издание с обзорами различных физических и цифровых товаров The Wirecutter, принадлежащее The New York Times, называло Zoom «лучшей программой для организации онлайн-встреч для людей, работающих из дома».
8 июля исследователь Джонатан Ляйтшу рассказал в блоге на Medium об уязвимости, которую он нашел в приложении Zoom для macOS. Ляйтшу утверждает, что связался со службой поддержки Zoom в конце марта 2019 года (сообщение в твиттере, отправленное двумя неделями ранее, компания проигнорировала). Он дал ей 90 дней на исправление уязвимости, пообещав после этого обнародовать информацию. В ходе переговоров Ляйтшу предложили вознаграждение за найденные проблемы — в обмен на согласие не раскрывать их даже после выхода исправлений. Исследователь отказался.
Его претензии к Zoom можно разбить на несколько пунктов. На некоторые из них компания уже ответила — в основном, указав на то, что это не такая уж большая проблема.
«Медуза» попарно приводит претензии Ляйтшу и ответ из блога Zoom.
1. Секретный веб-сервер, который устанавливается на ваш компьютер
В чем проблема
Джонатан Ляйтшу заинтересовался, каким образом работает подключение к конференциям по ссылке. Если пользователь кликает на адрес вида https://zoom.us/j/492468757, то сначала открывается окно в браузере, а почти сразу после этого — запускается приложение Zoom, которое устанавливает соединение.
Исследователь обнаружил, что вместе с Zoom на macOS устанавливается веб-сервер, который продолжает работать, даже если пользователь выходит из приложения. Этот веб-сервер принимает команды, которые прописаны в коде веб-страниц, ведущих в конференцию. Если там прописана команда «запустить клиент и подключиться к определенной конференции», веб-сервер это сделает без лишних действий пользователя.
Что говорит Zoom
В компании утверждают, что на маки устанавливается «веб-сервер с ограниченным набором функций», который нужен, чтобы обойти ограничения браузера Safari. 12-я версия браузера, которая вышла осенью 2018 года, не позволяла сайту Zoom автоматически запускать клиент для звонков без согласия пользователя.
«Локальный веб-сервер позволяет пользователям избавиться от этого лишнего клика перед подключением к звонку», — говорится в блоге Zoom. Компания считает, что это нормальный способ улучшить жизнь пользователей, и утверждает, что не она одна прибегает к нему.
2. Веб-сервер установит Zoom, даже если вы его удалили
В чем проблема
У упомянутого выше сервера есть более широкие полномочия. Например, он может скачивать обновленные версии Zoom. Срок регистрации одного из доменов, с которых происходит скачивание, истекал 1 мая 2019 года. Ляйтшу сообщил об этом представителям Zoom 26 апреля; через несколько часов срок регистрации домена продлили на пять лет. Если бы он попал в руки злоумышленников, те смогли бы подсовывать пользователям зараженные версии Zoom под видом обновлений.
Самое интересное, что веб-сервер не удаляется при удалении приложения Zoom. Он продолжает работать в фоне и может заново скачать и установить клиент для звонков, стоит пользователю перейти по ссылке конференции. Ляйтшу добавил, что не смог нигде найти полноценного описания всех возможностей сервера — а потому неизвестно, какие еще команды он может исполнять без ведома пользователя.
Что говорит Zoom
В оригинальном посте компании о скачивании обновлений и переустановке Zoom не говорилось ничего. Через несколько часов в публикации появилась приписка о выходе новой версии клиента для macOS, которая перестает использовать веб-сервер. Кроме того, в меню Zoom появился пункт, позволяющий полностью удалить с компьютера само приложение и его сервер. Обновление уже доступно — его можно скачать с сайта или через установленный клиент Zoom.
Но Zoom можно удалить и вручную
Внимание. Выполняйте эти команды на свой страх и риск — мы не можем нести ответственности за возможные проблемы.
- Удалите приложение Zoom из папки «Приложения»
- Очистите «Корзину»
- Откройте «Терминал»
- Введите в него команду, которая отключит веб-сервер: lsof -i :19421 -sTCP:LISTEN | awk 'NR > 1 {print $2}' | xargs kill -9
- Нажмите Enter
- Введите команду, которая удалит папку с веб-сервером: rm -rf ~/.zoomus
- Нажмите Enter
- Введите команду, которая запретит Zoom создавать эту папку: touch ~/.zoomus
- Нажмите Enter
3. Удаленный запуск камеры по ссылке
В чем проблема
Исследуя возможности веб-сервера, Ляйтшу подобрал короткую команду, с помощью которой можно запустить клиент Zoom и подключить его к определенному звонку. Для этого достаточно встроить на какую-нибудь веб-страницу фрагмент кода со ссылкой вида http://localhost:19421/launch?action=join&confno=[номер конференции] — и пользователь, который откроет ее в браузере на macOS, немедленно подключится к соответствующей конференции.
В настройках звонка злоумышленник может указать, что все участники должны подключаться с включенной камерой. Работает это именно так, как задумывалось: стоит открыть страницу со специальным кодом, как Zoom запустится, включит веб-камеру и подключится к соответствующему видеозвонку.
Что говорит Zoom
В блоге компании отмечается, что настройка, включающая видео у участников конференции, срабатывает не всегда. Когда пользователь впервые подключается к звонку с текущего устройства, Zoom спрашивает его, хочет ли он включать камеру и микрофон (в дальнейшем такой вопрос не задают — предполагается, что человек сам настроит предпочтения).
Если использование камеры в звонках запрещено, создатель звонка не сможет насильно ее включить, утверждают в Zoom. Кроме того, при подключении к звонку окно приложения показывается поверх остальных окон системы — и пользователь сможет быстро отключиться или выключить камеру, отмечают в компании.
Тем не менее, после публикации Ляйтшу в Zoom пообещали выпустить обновление, в котором настройки камеры и микрофона, установленные при первом использовании приложения, сохранятся для последующих звонков. Обновление должно выйти в июле 2019 года.
3. Возможность помешать нормальной работе компьютера
В чем проблема
В том же посте Ляйтшу рассказал еще об одной уязвимости в приложении Zoom — злоумышленник может встроить в веб-страницу код, который будет бесконечно требовать клиент подключиться к несуществующему звонку. Приложение будет постоянно перехватывать «фокус» в системе, мешая нормальной работе компьютера.
Что говорит Zoom
Что это уязвимость низкого приоритета, но компания все же выпустила в мае 2019 года обновление, исправляющее ее. Если хочется защититься, достаточно обновить клиент Zoom.