Некоторое время назад на портале GitHub появился исходный код программного компонента iBoot, отвечающего за загрузку операционной системы iOS для iPhone. Авторство выложившего код человека неизвестно, пишет издание Motherboard. «Это самая большая утечка в истории», — заявил автор серии книг по операционным системам Apple iOS и MacOS X Джонатан Левин. Он добавил, что код, скорее всего, является подлинным, поскольку он совпадает с кодом, который разрабатывал сам Левин.
iBoot — это критически важная программа, которая первой запускается при включении айфона. Она проверяет целостность ядра и аутентичность его цифровой подписи, после чего начинает процесс загрузки iOS. Выложенный на GitHub код относится к старой версии ОС Apple — iOS 9, однако некоторые его фрагменты наверняка используются в iOS 11. По словам Левина, исходники iBoot могут дать специалистам по безопасности лучшее представление об устройстве iOS.
Помимо профессионалов ими могут воспользоваться и хакеры. Разложенный на составные части исходный код предоставляет хакерам лакомую добычу для поиска уязвимостей, которые упростят взлом и расшифровку содержимого смартфона, а также создания джейлбрейка — инструмента, позволяющего разблокировать файловую систему iPhone. Кроме того, утечка может позволить продвинутым программистам эмулировать iOS на других платформах.
Более того, с помощью эксплойтов в iBoot хакерам в прошлом удавалось обходить блокировку устройств Apple и расшифровывать данные пользователей. Правда, в последних моделях есть специальный чип Secure Enclave Processor, существенно усложняющий взлом.
Стоит отметить, что Apple публикует исходные коды своих продуктов с большой неохотой, а исходный код iBoot тем более является закрытым и тщательно оберегается. Так, даже самая крупная выплата по программе поиска уязвимостей (200 тыс. долл.) предусмотрена именно за обнаружение уязвимостей в процессе начальной загрузки. В связи с этим СМИ предполагают, что исходный код iBoot, вероятно, был каким-то образом похищен у компании.
Для удаления кода Apple направила в GitHub уведомление о нарушении Закона об авторском праве в цифровую эпоху (Digital Millennium Copyright Act). Чтобы требование компании было исполнено, ей необходимо было подтвердить, что этот код является ее собственностью. Тем самым была подтвердена достоверность утечки. После обращения компании GitHub удалил код iBoot.