При регистрации пользователя на каком-либо сайте, который использует функцию «Войти через Facebook», встроенные в ресурс сторонние трекеры могут собирать его данные — фото профиля, имя, адрес электронной почты, местоположение, возраст и пол. Это обнаружили ученые из Принстонского университета Стивен Энгельгардт (Steven Englehardt), Гунес Акар (Gunes Akar) и Арвинд Нараянан (Arvind Narayanan).

Вход на сайт при помощи учетной записи социальной сети позволяет миновать процедуру регистрации, ускоряя процесс и избавляя от необходимости запоминать новый пароль. Однако исследователи предупреждают, что это приводит к дополнительным рискам.

На 434 из миллиона самых посещаемых сайтов, по версии сервиса Alexa, сторонние рекламные и аналитические сервисы используют JavaScript для сбора данных через API Facebook.

Цель сбора информации о пользователях пока не установлена, однако эксперты отметили, что определенные выводы можно сделать, исходя из деятельности фирм, к которым поступают эти сведения.

Например, OnAudience, Tealium AudienceStream, Lytics и ProPS предлагают услуги по монетизации сетевой аудитории, Forter занимается «предотвращением мошенничества на основе идентификационных данных» для сайтов электронной коммерции. Одна из платформ, Augur, специализируется в распознавании одних и тех же пользователей на разных типах устройств и настройке ретаргетинга в соответствии с этим. Исследователи полагают, что владельцы большинства ресурсов не подозревают о том, что происходит на их сайтах. Энгельгардт также отметил, что вины Facebook в утечках нет.

По его словам, непреднамеренное раскрытие данных третьим лицам произошло не из-за ошибок в функции «Войти через Facebook». Скорее, дело в нехватке границ безопасности между скриптами соцсети и сторонних сайтов.

Исследователи выявили два способа получения информации. В первом случае посетитель аутентифицируется при помощи API «Войти через Facebook», а встроенный в страницу входа сторонний JavaScript перехватывает данные учетной записи. Эксперты обнаружили семь таких скриптов, которые передают собранную информацию разным аналитическим сервисам.

Большинство библиотек JavaScript собирают только специально созданный для конкретного сайта ID пользователя (app-scoped user id), с помощью которого нельзя получить доступ к информации профиля. Однако Энгельгардт с коллегами полагают, что его можно преобразовать в глобальный идентификатор Facebook и использовать для получения всех публичных сведений владельца.

Вторым сценарием воспользовался только один сервис — BandsInTown. Он не только собирал информацию на своем сайте, но и встраивал скрытый HTML-тег iframe, который включался, когда пользователь переходил по рекламной ссылке, и передавал полученные данные рекламодателям.

Эксперты уведомили владельцев ресурса, что этот способ сбора пользовательских данных может использоваться вредоносными сайтами, и проблема была устранена.

Исследователи рекомендуют не только Facebook, но и другим социальным сетям с подобным сервисом проверить возможность перехвата данных пользователей через API, а также запретить сторонним сервисам собирать лишнюю информацию.

Категории: Уязвимости