Вийшла утиліта iDevceReRestore для відновлення 32-бітних пристроїв на будь-яку версію iOS 9.X

Можливо ви пам'ятаєте приголомшливу новину про знайдену вразливість в прошивці iOS 9.x, що дозволяє відновити будь-який 32-бітовий пристрій.

При наявності цифрового підпису, дана утиліта дозволяє відновити будь-який 32-бітовий пристрій на будь-яку версію прошивки iOS 9.x, незалежно від встановленої початкової версії, без всяких ключів, додаткового ПЗ і навіть без виконання процедури джейлбрейка.


Як видно з цього опису, даний пролом у безпеці володіє великим потенціалом і дозволяє повернути в стрій всі 32-бітні пристрої. У зв'язці з джейлбрейком Home Depot для версій iOS 9.1-9.3.4, всі сумісні пристрої більше ніколи не залишаться без джейлбрейка, назавжди збережуть можливість повернення на версію iOS 9 без страху перед процедурою оновлення або відновлення.

Гарною новиною є те, що розробка утиліти iDevceReRestore завершена і доступна для всіх користувачів. Випуск остаточної версії перевіреного часом інструменту idevicerestore відбувся завдяки розробникам @ alitek123, @ Thmitt, і @ JonathanSeals, які скористалися виявленою @ alitek123 пролом у безпеці. Проведення процесу бета тестування є заслугою розробників @ Mirko, @ ee _ csw і @ DjSn0wfall.

Для перевірки роботи інструмента в дії його можна завантажити з вебсайту iDeviveReRestore. Поточний номер утиліти - 1.0.1, в якій була вирішена проблема управління залежностями, присутня в початковій версії інструменту. Зараз існують версії інструмента для роботи під керуванням Linux і macOS. Версія для роботи під ОС Windows відсутня, але я знаю безліч прикладів успішного застосування цього інструменту в режимі роботи віртуальної машини.

Деталі про роботу інструменту:

  • Підтримка тільки 32-бітових пристроїв.
  • Відновлення тільки на версії прошивок iOS 9.x.
  • Вихідна версія прошивки може бути будь-якою, протестовані версії з iOS 6 за iOS 10.
  • Наявність джейлбрейка для вихідної версії не обов'язкова.
  • Процес не вимагає наявності ключів, додаткового ПЗ та інших спеціальних інструментів для даного випадку.
  • Обов'язково наявність збережених цифрових підписів для встановленої версії прошивки.
  • Наявність особливих вимог для цифрових підписів. Цифрові підписи не можуть бути з розряду тих, що отримані «по повітрю». Можна використовувати підписи з розряду «Erase» або «Update», хоча для процесу не всі вони підійдуть. Цифрові підписи повинні бути збережені без спеціального для даного випадку одноразового коду. Якщо цифровий підпис починається з рядка «MIIKkj», то все нормально, його можна використовувати. Якщо ні, то вона можливо підійде, але буде потрібна додаткова перевірка.
  • Метод вимагає наявності підписаного «baseband», наприклад Prometheus. Тим не менш, більшість, якщо всі пристрої, повинні без проблем отримати робочий baseband починаючи від поточної версії для iOS 10 і підписаною версією, отриманою «по повітрю».
  • Відновлення з версії iOS 9 на версію iOS 9 можна виконати в режимі відновлення, відновлення з версії, відмінної від iOS 9, на версію iOS 9 необхідно виконувати тільки в режимі «DFU».
  • Цифрові підписи повинні мати окремі квитки iBSS для відновлення в режимі DFU. У разі їх відсутності, ці цифрові підписи можуть бути використані тільки для відновлення з версії прошивки iOS 9 на версію прошивки iOS 9.

Для перевірки сумісності наявного цифрового підпису з утилітою «iDevceReRestore», можна скористатися цим «nonce-checker» сервісом. Або відкрити цифровий підпис у текстовому редакторі та перевірити його на предмет вмісту квитків iBSS та вмісту початкового рядка.

За словами розробника @ DjSn0wfall, компанія Apple не зможе закрити цю вразливість з наступних причин. У режимі «DFU» пристрій знаходиться в режимі очікування перевірки легітимності компонента підпису, чим є квиток iBSS. Після завантаження цифрового підпису з квитком iBSS, строго кажучи ми не порушуємо роботу механізму безпеки, що дозволяє нам в наступному кроці завантажити підписаний компонент iBEC, в якому вже присутня необхідна пролом - відсутність спеціального одноразового коду "no-nonce. Після цього ми ініціалізуємо процес відновлення пристрою, ігноруючи будь-які інші вимоги щодо безпеки і перевірки цілісності. Слід зазначити, що даний експлойт також частково присутній починаючи з версії iOS 8 і аж до версії iOS 10.2.1, але в цих версіях даний експлойт не може бути використаний.

COM_SPPAGEBUILDER_NO_ITEMS_FOUND