В iOS нашли серьезную уязвимость

Чарли Миллер, занимающийся исследованиями и аналитикой компьютерной безопасности, планирует демонстрацию обнаруженной им уязвимости, позволяющей обычным приложениям из App Store загружать и выполнять непредусмотренные изначально участки кода на любом iOS устройстве.

Миллер уже давно занимается вопросами безопасности продуктов Apple. В 2008 году он получил приз в $10000 в рамках конференции Pwn2Own за создание эксплойта для MacBook Air. В следующем году он продемонстрировал десятисекундный взлом браузера Safaru, а также уязвимость iPhone, связанную с передачей коротких сообщений. На этот раз Чарли создал Instastock — казалось бы, обычное приложение, которое выполняет функции мониторинга. Instastock успешно прошло в App Store. Однако, через некоторое время Миллер выложил на YouTube видео, на котором приложение ведёт совсем не так, как сказано в его описании. После того, как Apple узнали о этом приложении и видео, Instastock было изъято из App Store, а сам Миллер был исключен из iOS Developer Program.

При запуске приложение ведёт себя как и предписывается, но после того, как Миллер активирует «скрытый» функционал на своём сервере, каким-то образом имеющим доступ к приложению, Instastock начинает загрузку и выполнение непредусмотренного изначально кода. Согласно правилам, приложения из App Store могут исполнять только одобренный Apple код. Однако, написанное Миллером приложение позволяет удалённо включать виброзвонок, открывать видео на YouTube, и даже загружать адресную книгу с устройства. Ролик также демонстрирует возможность выполнения множества различных команд на iPhone удалённо через интерфейс командной строки.

По всей видимости, подобный взлом стал возможен благодаря тому, что JavaScript движок Nitro, представленный в iOS 4.3, предоставляет некоторые исключения для браузера Safari, чтобы ускорить рендеринг страниц. По словам Миллера «Apple использует все свои проверки лишь для того, чтобы убедиться, что только браузер использует это исключение, но в данном случае это возможно обойти и не беспокоиться о используемом коде вообще».

Instastock уже удалён из App Store. Скорее всего, Apple включат исправление для данной уязвимости в обновление iOS 5.0.1, которое уже имеет статус beta 2 и содержит в себе исправления для безопасности системы.

[via MacStories]