Фахівець компанії Imperva розкрив інформацію про вже виправленому баге в Facebook. Зловмисники могли отримати доступ до особистих даних користувачів і їх друзів.
Знайшов проблему дослідник, Рон Масаса (Ron Masas) розповідає, що уразливість ховалася в пошуку Facebook. Переглядаючи HTML, фахівець зауважив, що кожен результат пошуку містить iframe-елемент, очевидно, що використовується для внутрішнього трекінгу. Масас виявив, що за цими iframe'ам в можна визначити, чи повернувся пошуковий запит з позитивним або відмітним результатом.
Таким чином, використовуючи простий принцип «так / ні», дослідник міг дізнатися, чи ставив користувач лайк тій чи іншій сторінці, чи робив фото в певних локаціях, чи є серед друзів користувача люди з певним віросповіданням, певним ім'ям, друзі, що живуть в конкретній країні або регіоні, і так далі і тому подібне. Поєднавши всі ці непрямі дані воєдино, потенційний зловмисник мав можливість скласти досить детальний «портрет» своєї жертви, виявити особу користувача і його друзів.
Однак деякі особисті дані все ж неможливо було «промацати» публічним пошуком Facebook, і фахівець вирішив обійти і і це обмеження. Масас створив шкідливу PoC-сторінку, на яку потенційний атакуючий міг би заманювати своїх жертв. Будь-яка взаємодія з цією сторінкою (навіть простий клік в будь-якому місці або прокрутка) приводило до виконання коду JavaScript, автоматично проганяє в новій вкладці пошукові запити через Facebook Graph API. Все, пов'язане з iframe'амі поверталося в fb.frames.length і ретельно записувалося.
Дослідник відзначає, що також можна було використовувати техніку tab under, тобто примусити пошук Facebook непомітно відкриватися в фоновій вкладці, тоді як основна шкідлива сторінка могла відволікати увагу жертви онлайн грою, стрімінга фільму або чимось ще. Запис PoC-атаки можна побачити в ролику нижче.
Спеціаліст пише, що таку атаку помітить далеко не кожен, адже у багатьох людей в браузері відкрито таку кількість вкладок, що поява ще однієї, зайвої, вони просто не помітять. При цьому атака працювала не тільки проти Chrome, але і проти інших браузерів. Ще гірше довелося б мобільним користувачам, адже на екрані смартфона видно лише число відкритих вкладок, а не їх вміст.
В даний час уразливість вже усунена, так як Масаші повідомив Facebook про проблему ще в травні поточного року, і на виправлення компанії знадобилося зовсім небагато часу. Причому тепер, коли інформація про баг була опублікована відкрито, представники Facebook підкреслюють, що слідів експлуатації цієї «дірки» виявлено не було.