Баги Facebook открывали доступ к спискам друзей и банковским картам

Баги Facebook открывали доступ к спискам друзей и банковским картам

Баги Facebook открывали доступ к спискам друзей и банковским картам

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

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

Для своих мобильных приложений Facebook разработал GraphQL — язык запросов данных с открытым кодом. Запросы GraphQL можно использовать только для приложений Facebook — причем разрешены идентификаторы запросов только из белого списка — и для них требуется токен доступа.

Франкович обнаружил, что можно использовать клиентский токен из приложения Facebook для Android и обойти белый список, отправив запрос, содержащий параметр “doc_id” вместо “query_id”. После этого он стал отправлять запросы GraphQL и увидел, что запрос под названием CSPlaygroundGraphQLFriendsQuery раскрывал список друзей пользователя, чей ID был включен в запрос.

Вторая уязвимость, открытая экспертом, также была связана с GraphQL. Она позволяла потенциальным злоумышленникам получить информацию о платежной карте клиента, привязанной к аккаунту Facebook. Для этого нужно было отправить запрос, содержащий ID целевого пользователя и токен доступа, который можно было получить из приложения Facebook. Эта уязвимость раскрывала первые 6 и последние 4 цифры банковской карты, дату выпуска, тип карты, имя держателя, zip code и страну. Пользователи обычно вводят данные банковских карт на Facebook для оплаты рекламы.

Франкович сообщил Facebook о первой уязвимости 6 октября 2017 года, недостаток был исправлен к середине месяца. Баг с платежными данными обнаружился в феврале того же года и был исправлен в рекордные сроки — за 4 часа 13 минут. В начале этой недели исследователь написал об обнаруженных багах в своем блоге. Франкович не пожелал называть сумму, которую Facebook заплатил ему за обнаружение ошибок.

Ранее в этом году мы писали о том, как киберпреступники взломали Facebook-аккаунт президента Болгарии и о том, как социальная сеть атаковала своих пользователей потоками спама.

Разработчик запустил Doom на беспроводных наушниках без экрана

Кажется, список устройств, на которых запускали Doom, снова пополнился, на этот раз беспроводными наушниками. Разработчик Арин Саркисян (Arin-S) сумел портировать легендарный шутер на пару PineBuds Pro. Тех самых TWS-наушников, у которых вообще нет экрана.

Звучит как очередная шутка из серии «Doom запустили на тостере», но всё по-настоящему.

PineBuds Pro — редкий случай на рынке: это одни из немногих наушников с открытой прошивкой, чем Арин и воспользовался. Эти наушники выпускает Pine64 — та же компания, что стоит за RISC-V-паяльниками вроде Pinecil.

Внутри каждого наушника скрывается Arm Cortex-M4F, и именно он стал сердцем проекта DoomBuds. Ради эксперимента разработчик разогнал процессор с 100 до 300 МГц и полностью отключил энергосберегающий режим. Сегодня такой разгон для встраиваемых чипов звучит почти как экстремальный спорт.

 

Отдельной головной болью стали память и хранилище. Чтобы игра вообще влезла в наушники, Арину пришлось серьёзно перекроить код: заранее сгенерировать таблицы, сделать часть переменных константами, отключить систему кеширования и выкинуть всё лишнее. В результате сам движок Doom уложился менее чем в 1 МБ. А WAD-файл Doom 1 пришлось ужать с 4,2 до 1,7 МБ — благо в сети давно есть «облегчённые» версии ресурсов.

Ну и главный вопрос: как играть в Doom без экрана? Решение оказалось неожиданно практичным. Арин использовал UART-подключение PineBuds Pro, чтобы стримить картинку на внешнее устройство или даже в интернет. Bluetooth тоже рассматривался, но по совокупности факторов UART оказался быстрее и стабильнее.

В итоге картинка передаётся в формате MJPEG, а производительность достигает примерно 18 кадров в секунду. Теоретически можно было бы выжать около 25 fps, но процессору банально не хватает сил быстро перекодировать видеопоток.

RSS: Новости на портале Anti-Malware.ru