Apple оставила ядро iOS 10 без защиты
Специалисты безопасности Apple iOS поделились интересной информацией с изданием MIT Technology Review. Согласно их информации, Apple пошла на беспрецедентный для себя шаг, оставив код ядра iOS 10 в открытом виде. Известно, что Apple славится своим закрытым подходом не только к разработке приложений для iOS, но также к ее системным компонентам. До выхода предварительной версии iOS 10, Apple подвергала исполняемый код и данные ядра этой мобильной ОС операциям шифрования и обфускации, создавая тем самым большие проблемы даже тому узкому кругу security-ресерчеров, которые занимаются анализом безопасности iOS.
Известно, что в случае стоимости эксплойтов для актуальных версий iOS, речь идет о больших суммах денег. Недавно мы писали, что эксплойт для успешного обхода механизмов anti-bruteforce кода разблокировки iOS был продан неизвестными хакерами ФБР за сумму, превышающую миллион долларов. Компания Zerodium, которая также специализируется на покупке информации об уязвимостях и эксплойтах, предлагала миллион долларов за RCE+rootLPE эксплойт для iOS. Закрытость iOS, механизмы ее защиты и очень узкий круг исследователей безопасности iOS являются основными причинами таких высоких сумм, которые могут быть выплачены исследователям за эксплойты.
Ранее мы также писали, что Apple удалила из App Store легитимное приложение System and Security Info известного исследователя безопасности iOS под ником i0n1c. Приложение прошло все необходимые проверки, которые предъявляются App Store по отношению к размещаемым приложениям, но было удалено, поскольку, по мнению Apple, показывала слишком детальную информацию о системе пользователя. Этот шаг в очередной раз подогрел спекуляции по поводу закрытости iOS.
Apple часто обвиняют в отсутствии лояльности к security-ресерчерам, которые занимаются поиском уязвимость в iOS. Ранее в блоге мы указывали, что подобная тактика сыграла с Apple злую шутку, так как спецслужбы просто обратились к хакерам по поводу разблокировки iOS и отказались потом предоставлять Apple информацию об используемых уязвимостях. Такая ситуация является следствием того, что у компании отсутствует программа bug bounty и она не выплачивает денежное вознаграждение за найденные уязвимости в продуктах.
Вышеуказанное издание TechCrunch предполагает, что Apple пошла на своего рода уступки и упростила задачу security-ресерчерам iOS, которые могли бы сослужить хорошую службу компании и помочь более быстрому поиску уязвимостей в коде ядра. Как правило, подобные уязвимости относятся к типу Local Privilege Escalation (LPE) и присутствуют в системных компонентах и ядре iOS, они позволяют запускать в ОС произвольный код с высокими системными привилегиями.
The kernel cache doesn’t contain any user info, and by unencrypting it we’re able to optimize the operating system’s performance without compromising security
Комментарий эксперта Apple, который объясняет снятие крипто-защиты с ядра предварительной версии iOS 10 заботой о производительности.
Apple публикует информацию об обнаруженных уязвимостях в ядре с своих бюллетенях безопаности, а также рассылке Apple Product Security. Обнаруженные в ядре iOS уязвимости имеют следующее описание. В описании указывается список устройств под управлением iOS, которые подлежат обновлению, а также описание самой уязвимости.
Kernel
Available for: iPhone 4s and later,
iPod touch (5th generation) and later, iPad 2 and later
Impact: An application may be able to execute arbitrary code with
kernel privileges
Description: A use after free issue was addressed through improved
memory management.
CVE-ID
Описание типичной LPE-уязвимости в ядре iOS.
Ядро любой ОС имеет ключевую роль в вопросах ее функционирования, iOS не является исключением. Так, актуальные 64-битные версии Windows снабжены специальным механизмом защиты под названием PatchGuard, который контролирует целостность ядра Windows, а также указателей в критических структурах объектов ядра. Метод модификации ядра, а также системных указателей объектов ядра используется руткитами для получения управления в процессе работы Windows. Ядро Windows также использует механизмы обфускации и шифрования своего кода и данных при реализации PatchGuard.
Кроме реализации базовых примитивов ОС, таких как процессы, работа с памятью и микропроцессором, ядро iOS также специализируется на ключевых вопросах обеспечения безопасности, включая, проверку цифровой подписи запускаемых приложений, а также загрузчика, что является гарантом безопасности и легитимности используемой на устройстве копии iOS.