Хабрахабр

Security Week 29: уязвимость в сервисе Zoom, безопасность и драма

На прошлой неделе исследователь Джонатан Лейтсач опубликовал весьма эмоциональный пост об уязвимостях в клиенте для веб-конференций Zoom для операционной системы macOS. В данном случае не совсем понятно, была ли уязвимость непреднамеренным багом или заранее спланированной фичей. Попробуем разобраться, но если коротко, выходит так: если у вас установлен клиент Zoom, злоумышленник может подключить вас к своей телеконференции без спроса, более того — он может активировать веб-камеру, не спрашивая дополнительных разрешений.

Но в данном случае это не поможет: вместе с клиентом устанавливается веб-сервер, который работает даже после деинсталляции — он даже способен «вернуть» клиентское ПО на место. Тот момент, когда вместо поиска пропатченной версии кто-то решит просто удалить клиент из системы. К ним на помощь пришла компания Apple, без особых фанфар удалившая веб-сервер апдейтом для ОС. В опасности, таким образом, оказались даже те, кто когда-то пользовался сервисами Zoom, но потом перестал. Эта история — настоящая infosec-драма, в которой пользователям остается только наблюдать, как на их компьютерах появляется и исчезает разнообразный софт.

Исследование методов работы клиента Zoom началось с изучения локального веб-сервера: к нему пытается обратиться сайт сервиса при открытии ссылки для подключения к телеконференции. Применен относительно элегантный способ запроса состояния локального сервера — путем передачи изображения определенного формата.

Веб-серверу Zoom также можно передать запрос на подключение к конференции. Так сделано для обхода ограничений браузера, следующего правилам Cross-Origin Resource Sharing. Выглядит этот запрос примерно так:

Можно создать конференцию, поместить подобный запрос на веб-страницу, отправить ссылку жертве, и установленный на компьютере клиент автоматически подключит пользователя. Дальше стоит посмотреть на параметры самой веб-конференции:

У вас есть возможность принудительного включения веб-камеры пользователя. То есть вы можете заманить ничего не подозревающего человека на конференц-звонок и сразу же получить изображение с камеры (но звук с микрофона жертве нужно будет включить вручную). В клиенте Zoom автоматическое включение камеры можно заблокировать, но с настройками по умолчанию камера включается сразу же. Кстати, если отправлять запросы на подключение к конференции непрерывно, приложение Zoom будет постоянно переключать фокус на себя, не давая пользователю возможности как-то отменить это действие. Это классическая атака Denial Of Service.
Наконец, исследователь подтвердил возможность принудительного апгрейда или установки заново клиента Zoom, если на компьютере работает веб-сервер. Реакция вендора поначалу была далека от идеальной. Разработчики Zoom предложили несколько вариантов «заплаток» в логике веб-сервера, чтобы исключить возможность подключения пользователей без спроса. Все они легко обходились или немного усложняли жизнь потенциального злоумышленника. Финальное решение заключалось в добавлении еще одного параметра, передаваемого локальному серверу. Как выяснил исследователь, оно тоже не решало проблему. Единственное, что точно починили — это уязвимость, позволяющую проводить DoS-атаку. А на предложение Джонатана убрать включение веб-камеры по требованию организатора конференции и вовсе был дан ответ, что это фича, «клиентам так удобнее».

8 июля истек общепринятый трехмесячный срок для исправления уязвимости, и Джонатан опубликовал свой пост о том, что он посчитал нерешенной проблемой. Первый раз исследователь пытался выйти на контакт с разработчиками Zoom 8 марта. Только после публикации статьи Zoom пошел на более радикальные меры: 9 июля был выпущен патч, который полностью удаляет веб-сервер с компьютеров под управлением macOS.

Не в том смысле, что все устанавливают локальный веб-сервер вместе с клиентом и потом забывают его удалить. Дорогая редакция регулярно общается по видеоконференц-связи и может на личном опыте заявить: все так делают. Поэтому в ход идут локальные приложения, расширения для браузеров и прочие инструменты, чтобы в процессе общения работали микрофон и камера, можно было делиться файлами и изображением своего рабочего стола. Все или почти все сервисы для конференц-связи требуют больше привилегий в системе, чем им может предоставить страница в браузере. Откровенно говоря, «уязвимость» (а точнее, намеренная ошибка в логике) Zoom — это не самое страшное, что с такими сервисами происходило.

В том случае уязвимость позволяла выполнять в системе произвольный код. В 2017 году проблема была обнаружена в браузерном расширении другого сервиса конференц-связи — Cisco Webex. В конце прошлого года мы писали про дыру в утилите для клавиатур и мышей Logitech: даже там использовался локальный веб-сервер, обращения к которому были возможны откуда угодно. В 2016 году в менеджере паролей Trend Micro проблема также была найдена в локальном веб-сервере, что тоже открывало возможность выполнения произвольного кода.

Особенно если он по умолчанию создан для взаимодействия с внешними ресурсами (например, сайтом, инициирующим веб-конференцию). Вывод: это довольно распространенная практика, хотя с точки зрения безопасности явно не самая лучшая — уж слишком много потенциальных дыр несет с собой такой веб-сервер. Возможность быстрого восстановления клиента Zoom после удаления была явно сделана то ли для удобства пользователей, то ли для удобства разработчика. Тем более, если его нельзя удалить. Окей, активные пользователи Zoom получили обновление, и проблема была решена. Тем не менее, после публикации исследования это принесло дополнительные проблемы. Как оказалось, Apple по-тихому выпустила апдейт, удаляющий веб-сервер даже в таком случае. А что делать с теми, кто когда-то пользовался клиентом Zoom, потом перестал, но локальный веб-сервер у них до сих пор работает?

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

Дорогая редакция вообще рекомендует относиться к любым мнениям со здоровым скептицизмом. Disclaimer: Мнения, изложенные в этом дайджесте, могут не всегда совпадать с официальной позицией «Лаборатории Касперского».

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть