Сервис поиска людей по фотографии ClarityCheck оставил без парольной защиты более 9 млн файлов, включая снимки взрослых, подростков и детей, пишет TNW со ссылкой на исследователя Джеремайю Фаулера и публикации WIRED и Digital Trends. Это не обычная история про утёкший пароль: пароль можно заменить, лицо нельзя. Поэтому поставщика face search стоит оценивать не по обещанию «private and secure», а по тому, способен ли он доказать, где лежат изображения, кто их видит и когда они действительно удаляются.
Что именно развалилось
Фаулер обнаружил хранилище объёмом около 450 ГБ. Для открытия не требовался пароль. Многие файлы находились в папках с названиями «faces» и «profiles»; среди них были фотографии профилей, скриншоты и другие изображения.
Адрес хранилища, по данным публикаций, можно было найти в коде публичного сайта ClarityCheck. Поисковики ссылку не индексировали, и компания именно на этом построила защиту своей позиции: она заявила WIRED, что данные нельзя считать публично раскрытыми, поскольку для доступа требовался конкретный неиндексируемый адрес.
Но секретный URL без пароля остаётся URL без пароля. Исследователь нашёл его в коде самого сервиса, значит, неочевидность адреса работала как маскировка, а не как контроль доступа. После уведомления Фаулера ClarityCheck ограничил доступ к хранилищу.
Неизвестно, как долго файлы оставались доступными и скачивал ли их кто-либо ещё. Фаулер не увидел публичных журналов доступа, по которым это можно было бы установить, и не нашёл признаков злонамеренного проникновения. TNW отдельно отмечает, что не проверяла базу независимо: её материал опирается на исследование Фаулера, публикации WIRED и Digital Trends и заявление ClarityCheck.
Была и вторая, отдельная ошибка. Изменяя адреса страниц ClarityCheck и вводя имя человека, можно было получить возможные email, телефонные номера и физические адреса без специального доступа, сообщал WIRED. Публикации не установили прямой связи между этими контактными данными и открытым хранилищем изображений.
Почему заявления о privacy здесь бесполезны
ClarityCheck предлагает загрузить фотографию, чтобы установить личность человека, и продвигает продукт как способ выявлять catfishing и поддельные профили знакомств. Но человек на снимке мог никогда не пользоваться сервисом: его лицо мог загрузить кто-то другой. Фаулер сообщал, что среди файлов встречались изображения из соцсетей, профилей знакомств и скриншотов.
Именно поэтому риск нельзя свести к отношениям между сервисом и зарегистрированным пользователем. В хранилище попадает чужое лицо, а решение о загрузке принимает третья сторона. Сервис получает чувствительный актив вместе с доверием, которого владелец этого актива ему, возможно, вообще не давал.
Есть и вопрос удаления. Фаулер обнаружил файлы с временными метками за пределами заявленного ClarityCheck срока хранения загруженных изображений в 14 дней. Если его вывод верен, часть данных могла храниться дольше собственной политики сервиса. ClarityCheck этот пункт в заявлении не прокомментировал.
Для корпоративного покупателя это главный сигнал. Политика хранения является обещанием, пока поставщик не показывает механизм исполнения. Надпись «удаляем через 14 дней» не отвечает на вопросы о копиях, подключённых хранилищах и возможности подтвердить удаление конкретного файла.
Что проверять до следующей загрузки
Компаниям, которые уже используют распознавание или поиск по лицам, я бы не ждал отдельного уведомления от подрядчика. Нужен срочный аудит контура:
- какие бакеты и другие хранилища принимают исходные изображения;
- требуется ли авторизация для каждого способа доступа, включая прямые ссылки;
- какие ключи и права используются приложением и не попали ли они в публичный код;
- сохраняются ли журналы чтения и скачивания, позволяющие расследовать экспозицию;
- совпадает ли фактический срок хранения с заявленным;
- можно ли подтвердить удаление конкретного изображения, а не только записи о нём;
- остаются ли копии в связанных системах после удаления из основного сервиса.
Это не просьба прислать ещё один PDF о безопасности. Нужны проверяемые ответы: схема хранения, настройки доступа, записи журналов и демонстрация удаления. Если подрядчик доказывает приватность только тем, что адрес «сложно угадать», проверку можно заканчивать.
Следующий маркер в этой истории конкретен: объяснит ли ClarityCheck, сколько времени хранилище было доступно, кто обращался к файлам и почему часть временных меток могла выходить за пределы 14 дней. Если ответов не будет, бизнесу стоит исходить из худшего технического сценария: обещания были, доказательств контроля данных нет.