Авторизация через социальные сети существенно упрощает работу на многих сайтах: достаточно двух-трёх кликов, чтобы зарегистрироваться, ещё клик – и вам уже не нужно вводить свой пароль. Удобно? Безусловно! Но насколько это безопасно? На примере Facebook Login специалистам из Принстонского университета удалось доказать уязвимость авторизации через сторонние сервисы. Подробности в заметке Ghostery и Cliqz.
Сторонние трекеры могут использовать Facebook Login для сбора пользовательских данных
Специалисты из Принстонского университета обнаружили несколько скриптов, которые использовали уязвимость Facebook Login, чтобы получить данные о пользователях сервиса (ID, адрес электронной почты и имя пользователя).
Facebook Login позволяет вам авторизоваться на сайте, использую учётную запись Facebook. Сайт привяжет ваш профиль к профилю в Facebook, чтобы вам уже не нужно было запоминать свой логин и пароль. В теории это удобно, но с точки зрения безопасности, увы, нет. К сожалению, подобный функционал предоставляют и другие популярные сервисы: например, ВКонтакте, Одноклассники, Мой Мир, Google, Twitter и т. д., – прим.
Авторизация через профиль Facebook, Twitter или Google – это быстро, легко и удобно. Один клик – и вы на сайте. Вам не нужно вводить свои данные, не нужно запоминать длинные пароли. Вот только авторизация через социальные сети – штука опасная. Именно авторизация через Facebook позволила частной аналитической компании Cambrige Analitica собрать данные десятков миллионов пользователей Facebook. Но по мнению исследователей из Принстонского университета, всё намного серьёзнее: если вы используете авторизацию через другие социальные сервисы, сторонние трекеры могут отследить некоторые ваши данные.
Сторонние трекеры злоупотребляют правом первоочередного доступа
Исследователи сосредоточились на Facebook, поскольку именно Facebook Login является наиболее популярным способом авторизации на сторонних ресурсах. Однако, аналогичные приложения других популярных сервисов мало отличаются от Facebook Login, следовательно они также могут быть подвержены уязвимостям, описанным ниже. В ходе исследования было обнаружено 7 сторонних трекеров, которые собирали данные пользователей Facebook, злоупотребляя правом первоочередного доступа: Augur, Forter, Lytics, ntvk1.ru, OnAudience, ProPS и Tealium. В большинстве случаев трекеры перехватывали ID пользователя в Facebook, а иногда и сопутствующую информацию: адрес электронной почты, имя, пол и т. д. Вышеупомянутые трекеры были использованы на 434 из миллиона наиболее популярных сайтов.
Сторонние трекеры, скрытые в коде сайта, ждут, когда пользователь решит авторизоваться через Facegook Login. Нажав на кнопку, пользователь предоставит сайту доступ к данным своего профиля в социальной сети. В этот момент трекер также получит доступ к данным пользователя, но пользователь при этом не получит никаких уведомлений или запросов. Данные, которые можно перехватить таким образом, включают в себя: ID пользователя, адрес электронной почты, к которой привязана учётная запись, и другие «общедоступные» данные профиля (имя, возраст, пол, языки, которыми владеет пользователь, его фото и т. д.). В результате сторонние трекеры могут получить доступ к тем же данным, что и сайт, на котором вы пытаетесь авторизоваться.
Идентификаторы, которые можно получить таким способом, привязаны к конкретному сайту или приложению. Считается, что по ним невозможно отследить конкретного пользователям. Но с их помощью вполне реально получить и глобальный идентификатор пользователя (то есть его ID в Facebook), а уже через него узнать другие общедоступные данные. Этой информации достаточно для того, чтобы следить за пользователем на других сайтах и устройствах.
Деанонимизация через Facebook Login
В Facebook Login скрываются и другие угрозы: например, используя невидимый iFrame, трекер может обмануть систему авторизации и, получив данные от Facebook, деанонимизировать пользователя. Вот как это работает:
В качестве примера исследователи приводят музыкальный сайт Bandsintown. Это сервис с музыкальными рекомендациями и собственной рекламной сетью. Сначала с помощью Facebook Login сайт получает доступ к данным из профиля пользователя в Facebook. Затем в дело вступает рекламный трекер, встроенный на многие популярные сайты с текстами песен. Он добавляет на сайте невидимый iFrame и использует уже имеющуюся у сайта информацию, чтобы идентифицировать пользователя. Таким образом Bandsintown может отслеживать своих пользователей за пределами сайта и предлагать им треки и выступления, которыми те уже интересовались за пределами сайта.
Ограничений для сторонних трекеров пока не существует
Эксперты подчёркивают, что найденные уязвимости не связаны с особенностями работы Facebook Login. Это связано, скорее, с отсутствием граним между сторонними скриптами и скриптами самого сайта. Facebook просто не видит разницы между сайтом и трекером.
Тем не менее, Facebook и другие сервисы, предоставляющие услуги авторизации на сторонних ресурсах, всё же могут повлиять на сложившуюся ситуацию:
- во-первых, они могли бы проверить API и разобраться в том, каким образом сторонние сайты используют сервис авторизации и какие данные они могут при этом получать
- во-вторых, Facebook может предотвратить утечку Facebook ID и других данных пользователей через ID приложений
- в-третьих, Facebook мог бы ввести систему «анонимной» авторизации, которая бы вообще не передавала сайту никаких данных (Anonymous Login анонсировали почти четыре года назад, – прим.)
Ну а вы вместо того, чтобы ждать, пока крупные игроки (такие как Facebook) улучшат защиту конфиденциальности в своих сервисах, могли бы взять инициативу в свои руки. Расширение Ghostery и браузер Cliqz прекрасно зарекомендовали себя в борьбе со скрытыми рекламными трекерами. Защитите себя сами!
Бьёрн Грейф,
редактор блога Ghostery и Cliqz