Security Week 25: уязвимость в Apple ID

Security Week 25: уязвимость в Apple ID
На прошлой неделе исследователь Лакшман Мутхия (Laxman Muthiyah) опубликовал детали уже закрытой уязвимости в серверной инфраструктуре компании Apple. Ранее известный разбором похожих проблем в аккаунтах Instagram и Microsoft , Лакшман нашел нетривиальный способ обойти достаточно строгие ограничения на количество запросов к серверам Apple.

166c66ddc87ac9e148391bd88a62ed7c.png
Эта лазейка, в свою очередь, позволяет взломать любую учетную запись 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, защищенным кодом-паролем, который вводится для разблокировки самого аппарата. Этот намек позволил исследователю предположить, что и код-пароль каким-то образом замешан в этой истории.

b199fd8a30c14b7b9b72492acfbfbe08.jpeg

На сцену выходит еще один элемент системы аварийного доступа к учетке: с помощью " «доверенного устройства» ". Это iPhone, iPad, iPod touch или компьютер Apple, на котором вы уже залогинены. Если вы пытаетесь сбросить доступ к Apple ID с другого устройства, вам предложат ввести код-пароль для этого доверенного девайса. Но ведь они, по утверждению Apple, хранятся только на устройстве? Да, но на серверах Apple реализован достаточно надежный криптографический алгоритм, позволяющий удостовериться, что код-пароль реальный, не передавая сам код-пароль. По утверждению Лакшмана, обход ограничений rate limiting, скорее всего, распространялся и на этот процесс проверки кода-пароля. Если это так, то успешная атака позволила бы злоумышленнику не только получить доступ к Apple ID, но и узнать код доступа к устройству.

На телефоне с джейлбрейком исследователю удалось проанализировать систему проверки кода-пароля и алгоритм связи с сервером, но проверить догадку полностью не получилось. Уязвимость в данной конкретной точке либо уже закрыли, либо ее вовсе не существовало. В итоге Лакшман отказался от предложенной ему выплаты в 18 тысяч долларов по программе Apple Bug Bounty. Аргументация: даже за универсальную уязвимость к iCloud вендор обещал выплатить 100 тысяч долларов, а за кражу данных с физического устройства награда еще больше — 250 тысяч долларов.

Что еще произошло

Теоретическое исследование показывает, как использовать систему управления проектами Monday.com в качестве командного сервера для ботнета.

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

Еще одно любопытное исследование описывает взлом кнопок Amazon Dash. Эти устройства, снятые с производства, предназначались для быстрого заказа в интернет-магазине. В связи с прекращением обслуживания на уже приобретенные устройства рассылалось обновление, выключающее их. Обойти необходимость регистрации на серверах Amazon удалось с помощью нетривиальной атаки. Помимо WiFi-соединения, Amazon Dash можно сконфигурировать «ультразвуком», почти как обычный модем. Атака эксплуатирует уязвимость, найденную в 2016 году, и это красивый хак: берем наушники, подносим к устройству и проигрываем WAV-файл.

Эксперты «Лаборатории Касперского» разбирают шифровальщик, использующий уязвимости в Microsoft Exchange Server.
apple id rate limiting
Alt text

Телевизоры следят за нами, шпионы поколения Джеймса Бонда страдают от новых технологий, а неудачный пост в Whatsapp десятилетней давности может привести к тюремному сроку в нашем новом Youtube выпуске.