Очередной баг в Facebook позволял раскрывать личные данные

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

Уязвимость, обнаруженная исследователями кибербезопасности из компании Imperva, заключалась в том, как Facebook отображал результаты для введенных поисковых запросов.

 По заявлению Рона Maсаса (Ron Masas) — исследователя из Imperva — страница, которая отображает результаты поиска, содержит элемент iFrame, ассоциируемый с каждым результатом, в то время как конечные URL данных элементов не имели никаких механизмов защиты против подделки межсайтовых запросов (CSRF).

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

 

Так как же все-таки работала уязвимость в поиске Facebook?

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

Очередной баг в Facebook позволял раскрывать личные данные

В результате выполнения данного кода, открывается всплывающее окно или новая вкладка со страницей поиска Facebook, позволяя от имени пользователя ввести любой поисковой запрос. Однако, полученные обратно данные всего лишь показывают количество результатов по запросу или имеют двоичную форму — либо «Да», либо «Нет».

 

Как данные, полученные от поисковых запросов, позволяли раскрывать личную информацию?

Например, простейшая схема применения могла выглядеть вот так: введя запрос «мои фото из поездки в Прагу», мы получаем ответ в двоичной форме — «Да» или «Нет». Если мы получили «Да», мы знаем, что пользователь посещал столицу Чехии. Но, если использовать грамотный подход к составлению поисковых запросов в Facebook, можно было получить гораздо больше личной информации из вашего аккаунта, например:

  • Есть ли у вас в друзьях пользователь со специфичным именем или ключевым словом в его/ее имени
  • Есть ли у вас в друзьях кто-то, кто лайкал определенную страницу
  • Есть ли у вас фото из определенных стран или регионов
  • Есть ли у вас публикации, содержащие определенное ключевое слово
  • Есть ли у вас в друзьях пользователи с определенным вероисповеданием
  • Если вы лайкали определенную страницу или состоите в определенной группе

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

Компания Imperva подала отчет о этом баге Facebook в мае 2018-го, через проводимую компанией программу раскрытия уязвимостей. Крупнейшая социальная сеть отреагировала и исправила уязвимость в течении нескольких дней, добавив защиту от подделки межсайтовых запросов.