В разгаре сражения Apple и ФБР в залах суда исследователи из университета Джона Хопкинса преодолели криптозащиту iMessage и смогли добраться до контента, пересылаемого с помощью этого приложения Apple.

На прошлой неделе стал известен другой, гораздо более простой подход к решению этой задачи. Три исследователя из консалтинговой компании Bishop Fox не стали разбираться в хитросплетениях криптопротокола, внедрять вредоносное ПО или проводить MitM-атаку, но, воспользовавшись возможностями десктопной версии iMessage, применили JavaScript и добились своего за один клик. «Сложность нашей атаки не идет ни в какое сравнение с ее последствиями, — рассказывает эксперт Bishop Fox Джо де Меси (Joe DeMesy). — Этим и ценен этот небольшой баг».

Дело в том, что до мартовского обновления iOS (версии 9.3) приложения iMessage преобразовывали URI в активные ссылки. Это открывало возможность для внедрения JavaScript с целью похищения базы данных приложения, то есть всех архивированных сообщений и вложений.

Де Меси, Шубхам Шах (Shubham Shah) и Мэтт Брайант (Matt Bryant) обнаружили уязвимость почти случайно. По словам Шаха, их троица исследовала некие баги в обработчике URI, когда он ненароком открыл iMessage вместо нужного мессенджера. Поскольку клиент уже был активирован, эксперт применил к нему уже опробованный PoC-эксплойт, и он отработал. Де Меси и Шах полагают, что аналогичная атака возможна и на других платформах, хотя они не готовы предъявить результаты.

О баге уведомили Apple, которая вскоре выпустила патч.

Данной уязвимости подвержены лишь приложения iMessage на OS X, однако Шах предупреждает: поскольку многие привязывают iCloud-аккаунт к MacBook и синхронизируют iPhone со службой iMessage, их эксплойт позволит украсть сообщения, связанные с этим аккаунтом.

«Конечной целью является кража базы данных iMessage, и, если [iPhone] синхронизирован с iMessage-приложением, все сообщения на телефоне тоже синхронизируются с его базой данных, — поясняет Шах. — В этом случае при получении и активации жертвой ссылки от любого пользователя атакующий получит не только сообщения, сохраненные на компьютере, но также содержимое телефона».

Созданный исследователями PoC-эксплойт позволяет передать на клиент любой код, но из-за присутствия уязвимости отработает лишь JavaScript. Остальные коды будут помещены в песочницу Apple OS X, способную в том числе предотвратить доступ к произвольным файлам.

В блог-записи Bishop Fox сказано, что уязвимость связана с особенностями реализации WebKit, а также с заложенной в проекте возможностью исполнения JavaScript и других веб-сценариев. «Приложение iMessage преобразовывает ссылки с нестрогими ограничениями, — комментирует Шах. — Если оно обнаруживает подобие линка, в окне это будет отображено гиперссылкой. Наличие уязвимости позволило нам внедрить JavaScript простейшим трюком. Мы подставили javascript://, используемый для комментариев, в URI, и iMessage преобразовало это в активную ссылку».

По словам де Меси, это дефолтная функция WebKit, привнесенная 20 лет назад. Выпущенное Apple обновление закрыло возможность преобразования JavaScript-ссылок в активный линк, что позволило смягчить последствия эксплойта. «В Chrome такой эксплойт невозможен, — отметил де Меси. — Множество приложений полагаются на эту функциональность, однако в данном случае мы уверены, что она используется в iMessage лишь для рендеринга, поэтому ее можно спокойно отключить [без ущерба для других функций]».

По свидетельству Шаха, их PoC требует лишь базовых знаний о JavaScript; полезная нагрузка представляет собой 50 строк JavaScript-кода, однако этот объем при желании можно уменьшить.

«В случае с багами порчи памяти или переполнения буфера отработка эксплойта чревата крэшем, и основной проблемой является надежность, — добавил в заключение де Меси. — Наш метод надежен на 100%. Это к тому же новый класс эксплойтов, аналогичных исследований в этой области пока немного».

Категории: Аналитика, Главное, Уязвимости