Придуман способ массового взлома аккаунтов Facebook
Синх нашел проблему в механизме, при помощи которого социальная сеть обнуляет забытые пароли пользователей. Как только кто-то запрашивает смену пароля, Facebook осуществляет эту операцию через генерацию случайного шестизначного кода, то есть комбинаций для таких кодов может быть всего 10⁶ = 1 000 000.
Исследователь обнаружил, что если запросить смену пароля через mbasic.facebook.com, шестизначный код сменится и придет в негодность лишь после его использования, то есть, фактически у него нет «срока годности». Синх понял, что если миллион человек запросит смену пароля примерно одновременно, то код, который социальная сеть создаст для миллион первого, будет дублировать чей-то еще.
Для проверки своей теории исследователь собрал базу Facebook ID, забрасывая запросами API Facebook Graph API. Синх методично перебирал ID, начиная с 100 000 000 000 000. Дело в том, что ID — это уникальный идентификатор, обычно состоящий из 15 символов. С ID разрешено работать только авторизованным приложениям, но если попытаться воспользоваться адресом www.facebook.com/[ID], произойдет редирект, ID будет автоматически заменен на имя пользователя. Что подтвердит верность ID. Также исследователь смог присовокупить к своей базе фотографии профилей и полные имена пользователей, так как социальная сеть никак не ограничивала распространение этой свободной информации. Суммарно Синх собрал информацию о двух миллионах учетных записей.
«Я сообщил им о проблеме еще 3 мая 2016 года, но в Facebook не поверили, что такая масштабная операция возможна. Они хотели доказательств. В итоге я провел почти месяц изучая вопрос и подготавливая инфраструктуру для атаки на 2 млн пользователей Facebook. Когда я добавил информацию о баге снова, они огласились, что это определенно проблема».
Имея на руках базу, состоящую из двух миллионов пользователей, Синх написал скрипт, который использовал сотни прокси и рендомных user-agent. Скрипт запрашивал сброс паролей для всех двух миллионов пользователей, быстро исчерпывая пул «одноразовых» шестизначных кодов. Затем исследователь выбрал случайное число (к примеру, 33825) и начал процедуру смены пароля, брутфорсом перебирая весь имеющийся двухмиллионный список. Надежды Синха полностью оправдались, так как в итоге в списке действительно удалось обнаружить пользователей, которым шестизначный код подходил, то есть алгоритм Facebook действительно начал повторяться, как и предполагалось.
Хотя компания уже выпустила патч, призванный устранить обнаруженную Синхом проблему, исследователь не уверен, что проблема полностью решена.
«Я знаю, что Facebook выпустила патч, и они теперь агрессивно фильтруют IP-адреса. Но я по-прежнему сомневаюсь, что их патч достаточно эффективен против этой уязвимости, так как можно использовать больший пул IP-адресов, симулировать глобальный трафик и применить социальную инженерию», — говорит исследователь.
Желтые заголовки такие желтые!
т.е. из 2х миллионов код подходит к двум! Потом два ляма итераций нужно повторить снова, ведь
И можно восстановить пароль еще целым двум страницам! Под массовый взлом никак не подходит.
Хотя интересно было бы узнать, какими мощностями обладал на момент своего эксперимента.
Месяц профукал на неблагодарных фейсбуковских лентяев.... Зачем?
А я еще думал, почему фб шатало пару дней.
А еще думал, почему ФБ почикал так много нормальных методов в АПИ, зато дыру оставил, лол.