Более 6800 ссылок, найденных одним запросом

Meta Muse — персональный ИИ-ассистент компании Meta, позволяющий делиться беседами по ссылке. Muse — помощник, запущенный компанией в сентябре (как мы сообщали ранее); страница открывается для любого, у кого есть ссылка, — аккаунт и авторизация не требуются.

Компания по кибербезопасности Claroc обнаружила уязвимость в этом механизме обмена и опубликовала исследование в своём блоге. Muse формирует веб-адрес каждой общей ссылки из заголовка беседы и случайного идентификатора (ID) в домене cf.metaaiusercontent.com. Проблема в том, что заголовок попадает в открытые DNS-записи: один запрос к пассивному DNS выдаёт список тысяч ссылок с названиями. Claroc назвал это «GhostShares».

Примечательно, что уязвимость — не в угадывании ссылки, а в её именовании. Поскольку заголовок беседы является частью адреса, один пассивный DNS-запрос сортирует тысячи страниц по названиям: содержание страницы становится известно ещё до её открытия. Более 6800 ссылок — результат всего одного запроса, использующего этот механизм; все они вели на страницы, открытые для любого обладателя ссылки, без аккаунта и входа.

Исследователи выполнили поиск по домену контента Muse в коммерческом сервисе пассивного DNS. Отфильтровав шум сканирований, они получили более 6800 ссылок на общие чаты; несколько сотен из них были открыты. Заголовки раскрывали содержание страниц ещё до их открытия. Угадывать ссылки или обходить защиту не требовалось — заголовок и ID из DNS-записи вели прямо на страницу.

Что нашли в ссылках

Большинство открытых страниц были безобидными: сайты малого бизнеса, объявления, календари событий. Но часть содержала явно конфиденциальные данные. Claroc выделяет шесть категорий: заметки кандидата при подготовке к секретному звонку с ведущей ИИ-лабораторией (с внутренним контактом лаборатории и временем встречи), внутренний обзор выручки для генерального директора национальной маркетинговой компании, заявка владельца малого бизнеса на кредит с указанной суммой, предупреждение о мошенничестве в банке и список задач с частичным номером счёта, отчёт для инвесторов с двумя адресами недвижимости и точными финансовыми показателями, а также график отпусков десятков сотрудников.

Общий чат Muse с заметками подготовки к конфиденциальному звонку, имена людей закрашены
Настоящий GhostShare, найденный Claroc: заметки подготовки к конфиденциальному звонку с ведущей ИИ-лабораторией — имена людей закрашены.Claroc
Общий чат Muse с графиком отпусков сотрудников, имена пикселизированы
Ещё один настоящий GhostShare: годовой график отпусков сотрудников рабочего места — имена пикселизированы.Claroc

Эти страницы присутствовали и в другом открытом источнике: в публичном сервисе сканирования urlscan.io нашлось более 75 сохранённых сканов страниц общих чатов Muse — ссылки были открыты без всякого аккаунта и входа. В исследовании Claroc отмечается, что любой обладатель ссылки может просмотреть страницу, не создавая аккаунт.

Материалы, найденные среди нескольких сотен открытых страниц, — не случайные файлы, а документы конкретных людей и компаний, не предназначенные для публики: запрошенная сумма в кредитной заявке, внутренний обзор выручки для генерального директора, частичный номер счёта в списке задач. То, что Claroc разделил их на шесть категорий, показывает, насколько широко личные и деловые секреты распространились через один открытый канал обнаружения, — судя уже по этой выборке.

Скриншот с правилами обмена
Скриншот, показывающий, что общий чат может посмотреть любой обладатель ссылки. Источник: ClarocClaroc

Почему случайный ID не защитил

Случайный ID в адресе специально сделан достаточно длинным, чтобы его нельзя было угадать. Но, как отмечает Claroc, угадывание никогда не было проблемой: при первом открытии ссылки браузер определяет имя хоста через DNS, а сервис пассивного DNS записывает всё имя — вместе с заголовком и ID. ID остаётся тайной, только пока он секретен, а имя хоста — не секрет.

Сами исследователи подчёркивают, что это число не измеряет общий масштаб общих чатов Muse: это результат лишь одного канала обнаружения — кратковременного поиска по одному шаблону имени хоста, поэтому реальный масштаб может быть больше.

«Мы называем их GhostShares: страницы, которые открывают люди, не получившие ссылку, и которые они способны найти самостоятельно». — Исследователи Claroc

Meta приостановила функцию

Claroc сообщил о находках 8 октября через программу Meta по поиску уязвимостей (bug bounty), а также обратился к сотрудникам Meta через LinkedIn — ответа не последовало. Лишь после того, как Ars Technica написала об исследовании, Meta объявила о временной приостановке функции обмена беседами.

Это бросает тень на заявление генерального директора Meta Марка Цукерберга, сделанное в прошлом месяце, — он говорил, что Muse «с нуля создан на основе приватности и безопасности».