Security Week 15: настоящие и воображаемые уязвимости Zoom
В четверг 2 апреля издание The Guardian поделилось впечатляющими цифрами о платформе для веб-конференций Zoom: рост посещаемости этого сервиса составил 535%. Определенно Zoom лучше конкурентов смог воспользоваться ситуацией, получив прирост если не в деньгах, то точно в популярности и количестве пользователей. Причиной такого успеха стал скорее эффективный маркетинг (например, наличие бесплатной тарифной опции), чем какие-то технические преимущества. Все было бы хорошо, если бы не характерный заголовок той же статьи в The Guardian: «Zoom — это вредоносное ПО».
Давайте сразу уточним: Zoom — это не вредоносное ПО. Не в первый раз компании привлекают к себе внимание специалистов по информационной безопасности на волне хайпа, но обсуждение недостатков Zoom на прошлой неделе стало главным развлечением всей тусовки. Если коротко: шифрование переговоров в Zoom есть, но недостаточно сильное, и точно не может быть квалифицировано как end-to-end. Обнаружилась пара серьезных и пачка несерьезных уязвимостей в софте. Пара особенностей работы сервиса вызывают вопросы по части приватности — пропуск данных через сервер в Китае и интеграция с LinkedIn. Ничего ужасного, но снова становится понятно, что защищенность цифрового сервиса все еще не является залогом его успеха.
my boss turned herself into a potato on our Microsoft teams meeting and can«t figure out how to turn the setting off, so she was just stuck like this the entire meeting pic.twitter.com/uHLgJUOsXk
— Rachele with an e but pronounced Rachel (@PettyClegg) March 30, 2020
Начнем обзор с первоапрельской (но не шуточной) статьи издания Vice: там говорится о баге, приводящем к утечке контактов, который вообще, как это часто бывает, является фичей. Изначально Zoom и любые другие средства проведения телеконференций были ориентированы строго на корпорации: никто не ожидал, что в онлайне начнут проводить караоке-вечеринки. В Zoom есть сущность под названием Company Directory: как только вы регистрируетесь с помощью рабочей почты, все контакты на том же домене автоматически становятся видны. Если вы используете персональную почту, то получаете доступ к огромному количеству простых пользователей, а им доступны ваше полное имя и почтовый адрес. Для популярных почтовых сервисов типа GMail или Yahoo это не работает, но если ваша личная почта, например, заведена на домене местного интернет-провайдера, вы увидите несколько сотен «коллег» в контакт-листе.
Идем далее. В прошлом выпуске мы сообщали, что Zoom отправлял пользовательскую телеметрию в Facebook, но под давлением общественности перестал это делать. 31 марта на Zoom подали в суд в США за нарушение норм недавно принятого калифорнийского закона о приватности данных. Сервис якобы не уведомил пользователей о том, как обрабатывает и куда отправляет информацию.
Второго апреля газета New York Times сообщила, что «Фейсбуком» дело не ограничивалось. Zoom также имел интеграцию с LinkedIn, что позволяло организаторам конференц-звонка (при наличии платного пакета LinkedIn Sales Navigator) автоматически находить профили абонентов в LinkedIn по почтовому адресу. Звучит устрашающе, но на самом деле это традиционный маркетинговый инструмент, адекватный при работе в Zoom менеджера по продажам с клиентами компании. При проведении массовых вебинаров это и правда похоже на нарушение норм приватности: почти никто из миллионов новых пользователей Zoom про такие особенности не знает. Впрочем, мы редко осознаем масштаб профилирования в любых цифровых сервисах, даже если таковое подробно описано в EULA. Фича была оперативно удалена из сервиса.
Ever wondered how the @zoom_us macOS installer does it«s job without you ever clicking install? Turns out they (ab)use preinstallation scripts, manually unpack the app using a bundled 7zip and install it to /Applications if the current user is in the admin group (no root needed). pic.twitter.com/qgQ1XdU11M
— Felix (@c1truz_) March 30, 2020
Дальше — хуже. 30 марта известный специалист по безопасности Патрик Вардл пишет статью с характерным названием «В слове Zoom буква Б — это про безопасность». Он обнаружил две умеренно опасные уязвимости в клиенте Zoom для MacOS. Нестандартный метод установки клиента позволяет локальному пользователю с ограниченными возможностями получить права root. По данным исследователя, Zoom использует более не рекомендуемый к использованию API AuthorizationExecuteWithPrivileges, чтобы минимизировать пользовательский ввод при инсталляции. В результате не проводится проверка запускаемого с правами суперпользователя исполняемого файла (инсталлятора), и его можно легко подменить на любой другой код. Причиной второй уязвимости также стал обход стандартных практик написания безопасного ПО для MacOS X в клиенте Zoom, а результатом — потенциальная возможность перехвата изображения и звука с веб-камеры и микрофона. Опять же при условии, что компьютер жертвы уже скомпрометирован. «Если ваш компьютер взломали, то на нем можно делать все, что угодно». Обе уязвимости закрыты второго апреля.
TechCrunch/@zackwhittaker:» has pushed a silent update to all Macs removing a …web server installed by Zoom»
How? MRTConfigData_10_14–1.45 (MRT is 's built-in «Malware Removal Tool») added «MACOS.354c063», a new encoded signature & removal routine
H/T @howardnoakley pic.twitter.com/RUCSDmR2sU
— patrick wardle (@patrickwardle) July 11, 2019
В каждой подобной публикации Zoom припоминают прошлые грехи: и веб-сервер, который устанавливался на macOS вместе с клиентом и не удалялся при деинсталляции (Apple пришлось самим выпускать патч для принудительного удаления сервера, так как он, естественно, был уязвим), и включение веб-камеры по дефолту при подключении к веб-конференции, с позднее обнаруженным механизмом заманивания пользователя. Проблемы давно решенные, но ставшие поводом для высказываний типа «У Zoom всегда все было плохо с приватностью».
На сайте BleepingComputer сообщается об уязвимостях в клиенте Zoom для Windows. В чате сервиса пользователи могут обмениваться ссылками, и клиент Zoom ожидаемо делает ссылки кликабельными, включая ссылки на сетевые папки или даже на локальные файлы, так называемые UNC. Теоретически можно представить себе ситуацию, когда в чат отправляется ссылка на публичный файловый сервер. При клике на нее сервер при дефолтных настройках Windows получит имя пользователя и его захешированный пароль.
Можно пойти дальше и представить ситуацию, в которой ссылка вызовет выполнение кода на компьютере пользователя. На практике атака реализуема в нынешних, нестандартных для самого Zoom, условиях: когда существуют публичные конференц-звонки с плохо настроенной безопасностью и непонятной аудиторией.
Перейдем к тяжелой артиллерии. Организация CitizenLab опубликовала подробный отчет о безопасности Zoom. В нем описаны субъективные «особенности» сервиса: разработка в Китае, хотя компания американская; отправка данных на китайские серверы, даже когда абоненты там не находятся (позже Zoom признал это технической ошибкой). Но главная тема исследования — шифрование переговоров, которое Zoom долго называл «сквозным» (end-to-end). Во-первых, оно не совсем сквозное, так как ключи генерируются на серверах Zoom. Во-вторых, вместо изначально указанного в документации алгоритма шифрования AES-256 используется AES-128 в режиме ECB.
Этот более простой метод шифрования, сравниваемый с древним способом шифровки по кодовым книгам, сохраняет паттерны исходных незашифрованных данных. Лучше всего это проиллюстрировано в твите выше или на картинке из Википедии ниже: данные хоть и шифруются, но даже без расшифровки можно получить представление о содержимом видеопотока.
В целом понятно, за что специалисты по безопасности не любят Zoom: тут вам и сомнительное поведение на компьютере пользователя в прошлом (неудаляемый веб-сервер на компьютерах Apple), и отсутствие внятной информации об использовании личных данных, и неидеальные средства защиты с вводящим в заблуждение описанием. Главная претензия: приватность пользователей не является основным приоритетом разработчиков Zoom, а находится где-то в конце первой сотни «списка задач». Ничего подлинно ужасного (вроде передачи данных без шифрования) обнаружено не было.
Zoom — has bugs like all other software.
— thaddeus e. grugq (@thegrugq) April 2, 2020
Zoom — fixing bugs and being responsible.
Zoom — software I easily taught my dad to use for remote classes over email and WhatsApp.
Zoom — not rated for sensitive data: natsec, confidential sources, etc.
Zoom — use it, it«s fine.
При обсуждении всех подобных «исследований» приводятся аргументы и против подобного подхода «сейчас мы им покажем», слегка отдающего истерикой. Есть стандартные способы взаимодействия независимых исследователей с вендором, этика раскрытия информации об уязвимости. Почему в ситуации вирусной (не компьютерной) эпидемии нужно делать по-другому? Может, наоборот, стоит увеличить сроки ожидания реакции вендора? Потому что, честно говоря, любой поставщик цифровых услуг сейчас в первую очередь озабочен тем, чтобы серверы выдержали наплыв пользователей. Наконец, ни одно из открытий прошлой недели не меняет отношение к Zoom и подобным сервисам. Для караоке-пати они отлично подходят, для корпоративных бесед тоже, хотя стоит обучить сотрудников базовым нормам безопасности. Ну, например, скачивать клиент с официального сайта, а не откуда попало. Для чувствительных переговоров по секретным вопросам нужно искать сервис (или поднимать свой) с обязательным аудитом безопасности, а не кликать по первой ссылке в выдаче гугла.
As a colleague showed me, this Zoom screenshot from the UK Prime Minister includes the Zoom meeting ID. You can enter that into your app to try and enter. It’s password protected though. pic.twitter.com/yVTTPFq4dB
— Joseph Cox (@josephfcox) March 31, 2020
Реакция вендора, кстати, оказалась более чем адекватной: 1 апреля компания объявила, что приостановит разработку новой функциональности на три месяца и плотно займется устранением ошибок и безопасностью.
Что еще произошло
Издание Threatpost подвело итоги опроса на сайте о приватности в условиях пандемии. 25% опрошенных готовы отдать приоритет здоровью в ущерб приватности (например, делиться медицинскими данными). И это среди аудитории, которая традиционно чувствительна к любым покушениям на личные данные.
Закрыты уязвимости в браузерах Firefox и Chrome. В Firefox пропатчены серьезные проблемы с потенциальным выполнением произвольного кода, активно используемые в реальных атаках.
Представительные интернет-компании (Akamai, AWS, Cloudflare, Facebook) объединились во имя повышения безопасности сетевого трафика и исправления недостатков протокола маршрутизации BGP, которые ранее неоднократно приводили к «угону трафика» — перенаправлению пакетов данных через произвольный сетевой шлюз, случайно или даже намеренно.
Новый баг обнаружен в плагине для WordPress, SEO-оптимизаторе Rank Math. Можно удаленно назначить админом любого пользователя, зарегистрированного на сайте, или отобрать права у реального администратора.
Американское агентство по надзору в авиации (FAA) разослало директиву, обязывающую авиакомпании перезагружать управляющие системы самолета Boeing 787 не реже чем один раз в 51 день. Причина, скорее всего, та же, что и в других подобных случаях в авиации и не только: переполнение счетчика времени.