AdYummy!

07.07.2016 13:14:02
AdYummy!

Почему вам не стоит обмениваться ссылками в Facebook

Издание Quartz рассказывает об уязвимости в Facebook, которая позволяет злоумышленникам воровать ваши данные

Недавно специалисты из Checkpoint, исследовавшие проблему электронной безопасности, обнаружили в Facebook Messenger изъян позволяющий злоумышленникам менять ссылки и сообщения, отправляемые через этот сервис. Facebook с этим мгновенно разобралась, но... вы вот в курсе, что ссылки, отправляемые через мессенджер, могут просматривать и другие люди? Более того, об этом знает и Facebook, вот только ничего не собирается с этим делать.

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

Лотерея

Всему, что хранится в базе данных социальной сети – будь то статус, ссылка или изображение – присваивается уникальный идентификационный код, выбираемый в произвольном порядке. К примеру, Марк Цукерберг помечен как «объект номер четыре». Разработчик может запросить конкретный объект по его номеру через API – девелоперскому интерфейсу, связанному с Facebook и передающему информацию только тем, кому дали к ней доступ. Это значит, что у вас нет никаких прав смотреть чужие закрытые статусы, если вам никто не давал на то разрешение. Все логично, так ведь?

Я решил поиграться с этой опцией. Всю дорогу система выдавала мне ошибку: или я получал сообщение о том, что конкретный объект в базе данных Facebook отсутствует, или о том, что у меня нет доступа к просмотру информации о нем.

И тут, когда я уже готов был сдаться, всплыл URL. Круто, конечно, но мудрее от этого я не стал. Не так уж и много можно сделать с временной меткой клика и строчкой, в которой написано только слово «вебсайт».

Тогда я добавил так называемый «URL» в свой первоначальный запрос и спросил Facebook, не будет ли она столь любезной, чтобы дать мне линк. К моему удивлению, это сработало.

И тут я подумал: а что, если я мог бы использовать эту опцию для просмотра ссылок, которыми пользователи социальной сети обменивались частным порядком. Я попросил своего друга Бэза мне помочь – создать документ в Google и отправить ссылку в закрытом режиме.  И вот, что я получил:

Затем я попросил Бэза самому себе отправить ссылку через Facebook Messenger и пройти по ней.

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

Программка также показывает кодовое обозначение, прикрепленное к посту.

Но вернемся ко мне в аккаунт. Когда я попытался получить доступ к объекту, прикрепленному к тому номеру, на экране вновь всплыл URL.

И пару секунду спустя у меня уже был доступ к конфиденциальному документу в Google Docs.

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

Хотя среди полученной информации не было идентификационных номеров пользователей, расшаривших конкретные ссылки, я был в состоянии идентифицировать некоторых из них, поскольку их пользовательский ID – код, соответствующий аккаунту – был включен в ссылку.

Почему это проблема?

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

В этом скромном наборе извлеченных URL-ов я уже смог найти кое-какую любопытную информацию:

Имена: Хизер, Дженни, Паула, Иолланда, Бернардо.

Местоположение или язык сообщения.

Прикрепленные файлы или изображения от FB CDN: прямые ссылки, иногда позволяющие обходить барьеры конфиденциальности.

Данные по приложениям или играм: в частности, такие параметры, как friend_level, friend_chips, user_name, group, steal_amount.

Секретрные ссылки или спрятанные пароли: как и в случае с редактируемым файлом в Google Drive, можно увидеть ссылки на скрытые страницы, сайты и бета-версии.

И это не значит, что в каждом случае обнаруживалось что-то одно. Некоторые URL-ы включали в себя сразу несколько перечисленных выше параметров. А это значит, что абсолютные незнакомцы имеют доступ к вашим личным данным. Привет, АНБ?

Ответ Facebook

Я написал Facebook о проблеме и сообщил о том, насколько успешными были мои эксперименты с их программой, и получил официальный ответ:

Как всегда, подробно и дружелюбно (я обожаю участвовать в поощрительной программе для хакеров, придуманной Facebook) мне объяснили, что это исправлению не подлежит и вообще – так все и задумывалось. Я был озадачен: как Facebook это допустила? Да, получить ссылки, которыми обменивается конкретный пользователь, невозможно, но вы имеете практически свободный доступ к ссылкам, которыми обменивались люди в течение всего дня*, а значит, можете найти среди них и что-то инетерсненькое.

Таймлайн

> 29 мая: Я: Отчет по инструменту White Hat. < 31 мая: ответ Facebook: Нужно больше информации. > 31 мая: Я: Предоставляю запрашиваемую информацию. > 2 июня: Я: Отправляю вам это, поскольку думаю, что проблема серьезна. > 7 июня: Я: Очередное дружественное напоминание. < 7 июня: Ответ Facebook: Нужно больше информации. > 7 июня: Я: Предоставляю запрашиваемую информацию. < 8 июня: Ответ Facebook: Так и должно быть. > 9 июня: Публикация этой статьи в блоге.

*Да, Facebook блокирует избыточные запросы, но существуют способы эту блокировку обойти. Например – использовать множественные маркеры доступа  и, если нужно, VPN.

Все ли ссылки, которыми мы обмениваются, отслеживаются именно так? Я без понятия. Но теперь мы, по крайней мере, знаем, что это возможно.

FAQ

В какой момент ссылка выхватывается из общего потока информации и отправляется на хранение в базу данных Facebook?

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

Имеет ли значение то, где и как мы расшариваем ссылку?

Насколько я знаю, значения нет: вскрыть их так, как я описывал, можно вне зависимости от того, где они были расшарены – в мессенджере ли, мобильном приложении, закрытых группах или статусах.

А это, вообще, так важно? Мне все равно, видит ли кто-то ссылку, которой я поделился.

Иногда без вашего ведома в ссылки включается личная информация. Перечитайте снова раздел «Почему это проблема?».

Зачем тебе понадобилось выносить эту проблему на суд публики?

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

Есть ли какие-то реальные шансы заметить, что кто-то и впрямь отслеживает ссылки, воспользовавшись подходом «так и должно быть»?

В Facebook хранится множество всего, и невероятно трудно (если не невозможно) все это просканировать с помощью API. Вам очень сильно не повезет, если злоумышленник получит доступ к вашим секретным ссылкам, но шанс повышается, если он начнет мониторить индивидуальные коды на регулярной основе. Я извлек порядка семидесяти ссылок всего за десять минут. Facebook устанавливает ограничения скорости, чтобы предотвратить такой тип нарушений, но, как я писал выше, они довольно легко обходятся.

Ты злишься на Facebook?

Вовсе нет. У Facebook одна из лучших поощрительных программ для хакеров (когда людям платят за нахождение уязвимых мест в защите системы). Я уважаю решение компании, но также считаю, что мы имеем право знать о том, что такие решения могут повлиять на защиту нашей частной жизни.

Я обнаружил слабое место в Facebook. С чего начать?

Зашибись! Для начала убедись, что ты внимательно прочел правила обнаружения багов и что тебе действительно есть о чем сообщить. Возможно, изучив проблему, о которой ты сообщил, они решат поместить тебя в собственный Зал славы и вознаградить. Сумма премиальных составляет минимум $500.

А ты кто такой?

Меня зовут Инти, живу в городе Алст в Бельгии – стране пива, кртошки фри, шоколада и террористов. Я с детства обожал все ломать. Сейчас мне 21 год, я студент, и все еще так или иначе ломаю, поскольку стал своего рода «хакером по этике» и имею дело с Google, Facebook, Microsoft, Yahoo и прочими.

Автор: Pupkin

Источник: ria novosti