Эта лазейка, в свою очередь, позволяет взломать любую учетную запись Apple ID при условии, что злоумышленнику известны привязанные к ней телефон и почта. Чисто техническая уязвимость и осталась бы таковой, если бы специалисты Apple в процессе обсуждения с исследователем не упомянули о связи системы восстановления доступа к аккаунту с кодом-паролем для разблокировки устройства. Так возник неожиданный сюжетный поворот: Лакшман утверждает, что обнаруженная им дыра позволяла узнать еще и ключ доступа к iPhone или iPad. В своих выводах (не подтвержденных Apple) он настолько уверен, что отказался от выплаты по программе bug bounty.
Система восстановления доступа к Apple ID работает так: вы должны указать привязанный к учетке email-адрес и номер телефона. После чего вам на телефон и почту отправят одноразовый код. Вводите коды, получаете возможность сменить пароль. Коды шестизначные, для брутфорса нужно перебрать миллион вариантов.
Естественно, серверы Apple не позволяют провести прямолинейный перебор: шесть неудачных попыток ввода — и процедура сброса пароля блокируется на несколько часов. Но исследователь нашел лазейки. Во-первых, серверы системы сброса отвечают по шести разным IP-адресам, лимит обращений у каждого индивидуальный. Во-вторых, допускались одновременные запросы с разных IP.
Реальная атака выглядела бы так: с очень большого количества IP-адресов в течение короткого времени отправляем по шесть запросов на каждый из шести серверов Apple. Для перебора всех вариантов одноразового кода потребовалось бы ~28 тысяч IP-адресов. Сложно, но выполнимо. Попутно Лакшман выяснил, что пространство IP-адресов популярных облачных сервисов (AWS, Google Cloud), позволяющих организовать такой «ботнет», также заблокировано на стороне Apple.
Непростая, но реалистичная атака с тяжелыми последствиями для жертвы рассматривалась в Apple несколько месяцев. На этом бы все закончилось, но, проанализировав черновик исследования, представители компании попросили Мутхия изменить формулировку: дескать, атаке были подвержены не все учетки Apple ID и iCloud, а только те, что не связаны с каким-либо устройством Apple, защищенным кодом-паролем, который вводится для разблокировки самого аппарата. Этот намек позволил исследователю предположить, что и код-пароль каким-то образом замешан в этой истории.
На сцену выходит еще один элемент системы аварийного доступа к учетке: с помощью "
На телефоне с джейлбрейком исследователю удалось проанализировать систему проверки кода-пароля и алгоритм связи с сервером, но проверить догадку полностью не получилось. Уязвимость в данной конкретной точке либо уже закрыли, либо ее вовсе не существовало. В итоге Лакшман отказался от предложенной ему выплаты в 18 тысяч долларов по программе Apple Bug Bounty. Аргументация: даже за универсальную уязвимость к iCloud вендор обещал выплатить 100 тысяч долларов, а за кражу данных с физического устройства награда еще больше — 250 тысяч долларов.
Что еще произошло
Теоретическое
Интересная атака на цепочку поставок: пользователям криптокошелька Ledger (данные о покупателях ранее слили на одном из подпольных форумов)
Еще одно любопытное исследование описывает
Эксперты «Лаборатории Касперского»