среда, 12 февраля 2020 г.

API расширения ядра Apple не рекомендуется использовать в macOS 10.15.4.



На конференции WWDC в прошлом году Apple объявила о планах отказаться от «расширений ядра» (KEXT) macOS и заменить их новым механизмом, называемым «расширения системы».

Первый шаг к этому объявлению был сделан с выпуском macOSCatalina (10.15.0) в сентябре 2019 года, когда наряду с расширениями ядра были введены системные расширения.




Последний шаг плана Apple вступит в силу в ближайшие недели, с выходом MacOSCatalina 10.15.4.

Согласно пояснениям от компании Apple, начиная с macOS 10.15.4, использование расширений ядра вызовет уведомление пользователя о том, что программное обеспечение содержит устаревший API, и попросит пользователя связаться с разработчиком для поиска альтернатив.

В чем разница?
И расширения ядра, и системные расширения служат одной и той же цели. Они позволяют пользователям устанавливать приложения, которые расширяют собственные возможности операционной системы MacOS.

Приложения устанавливают расширения ядра / системы, которые позволяют им выполнять операции, для которых у macOS нет собственных функций.



Антивирусное программное обеспечение Mac, брандмауэры, VPN-клиенты, прокси-серверы DNS, драйверы USB и другие используют расширения ядра.

Разница между этими двумя новыми системами расширений состоит в том, что более старые расширения ядра выполняют свой код на уровне ядра macOS, в то время как более новые системные расширения работают в более жестко контролируемом пользовательском пространстве.

«С точки зрения Apple, это важный шаг на пути к повышению безопасности macOS», - заявил в интервью Патрик Уордл, главный исследователь безопасности в Jamf и известный эксперт по безопасности macOS.

«Сторонние расширения ядра представляют собой интересный вектор атаки для атакующих, нацеленных на macOS», - добавил он. «Особенно, если вы, как злоумышленник, можете использовать расширение ядра или загрузить свое собственное (при условии, что оно подписано)».



А атаки с участием KEXT происходили в прошлом и не раз.

«Это действительно игра для MacOS», - сказал Уордл. «В ядре реализовано много механизмов безопасности».

Уордл говорит, что подобная атака не будет работать с системными расширениями, так как они запускаются в пользовательском режиме.

«Поскольку они не работают в ядре, эксплойт больше не дает вам доступа в режиме ядра, как это было с эксплойтом KEXT», - сказал Уордл.

«Поэтому Apple в основном хочет выгнать всех [из ядра], в основном из соображений безопасности».
Однако Уордл говорит, что у этого шага есть и обратная сторона.

Во-первых, выгоняя разработчиков приложений из ядра, Apple также получает гораздо больший контроль над macOS, аналогично тому, как они контролируют iOS.

До сих пор macOS была раем для разработчиков и пользователей. Если у macOS нет конкретной функции, разработчики могут просто создать приложение и использовать расширение ядра, чтобы добавлять необходимые функции.

Вторым недостатком является то, что многие инструменты безопасности сами по себе в значительной степени опирались и были построены вокруг расширений ядра полного доступа, предоставляемых Mac пользователю. Кто-то может возразить, что переход Apple на системные расширения может привести к тому, что продукты для обеспечения безопасности не будут стерилизованы, что лишит их способности обнаруживать и останавливать вредоносное ПО на этом пути.
Тем не менее, Уордл, который является автором многих бесплатных инструментов безопасности macOS, говорит, что Apple предоставила «некоторые отличные среды пользовательского режима, которые предоставляют сторонним инструментам безопасности необходимые им возможности», так что похоже, что Apple «не стреляла в свою ногу», только пока.

Но пока неясно, будут ли системные расширения обеспечивать такую же универсальность и свободу кодирования, как расширения ядра. Это еще предстоит выяснить - и тема для другой статьи - поскольку  потребуется больше времени для разработчиков MacOS, чтобы постепенно переключаться на системные расширения в будущем.


Тем не менее, Уордл отмечает, что этот шаг в целом хорош для безопасности macOS, независимо от других возможных причин перехода Apple к нововедениям.

Комментариев нет:

Отправить комментарий