Як і очікувалося, WWDC 2019 розпочала місяць великими анонсами про наступну версію операційної системи настільної операційної системи Apple, MacOS 10.15 Catalina. Враховуючи проблеми безпеки, що виникли протягом останніх кількох релізів — від карколомних багів до повторних обходів вбудованих засобів безпеки Mac — не дивно, що Catalina отримала багато уваги від інженерів Apple на фронті безпеки. У 10.15 ми бачимо деякі важливі розробки, які торкнуться як компаній-користувачів, так і розробників рішень безпеки. У цій статті ми обговоримо те, що було оголошенео, і пояснимо, як це може вплинути на вас.
Прощавайте Kext, привіт SystemExtensions
Починаючи з MacOS 10.15 Catalina, розробникам рішень з безпеки пропонується перейти до нових фреймворків EndpointSecurity і SystemExtensions, та відходити від kernel extensions, які тепер формально застаріли. У Catalina Apple запровадила системні розширення(system extensions) для заміни розширень ядра(kernel extensions). Ідея полягає в тому, щоб надавати розробникам подібну функціональність під час виконання коду повністю в просторі користувача, а не безпосередньо в ядрі.
Важливо відзначити, що подібно до того, як Apple змінила розширення Safari у минулому році, розширення системи повинні бути частиною головного додатка — автономні розширення системи не будуть дозволені. Це має серйозну перевагу — жоден інсталятор або пакет не буде необхідним як системне розширення. Аналогічно, видалення має бути більш зручним, оскільки просто перенесення програми до Кошику деактивує системне розширення, вважаючи, що видалений додаток є останньою або єдиною копією на комп’ютері.
Однією з важливих змін, яка негайно набуває чинності і яка можуть вплинути на робочі процеси підприємства, зокрема на парк техніки під управлінням MDM або керованих профілів, є те, що в той час, як розширення ядра(kernel extensions) залишаються функціональними на macOS Catalina, встановлення будь-яких нових kexts тепер вимагає перезавантаження.
З знеціненням kexts пов’язаний новий API FileProvider для постачальників хмарних сховищ (Google, Dropbox, OneDrive, BoxDrive тощо).
Цей новий API допоможе провайдерам хмарних сховищ відійти від розширень ядра(kernel extensions) але все ще інтегрувати свої служби в Finder. Без необхідності kernel extensions ці постачальники тепер зможуть доставляти свої програми через Mac App Store.
Що це означає для підприємства:
Відхід від kernel extensions — це велика зміна, але, ймовірно, хороша в довгостроковій перспективі і більш болюча для розробників, ніж підприємств, якщо тільки ви не запускаєте свої власні kernel extensions. Для тих, хто в даний час покладається на kexts для доставки сервісів, у вас все ще є достатній пристойний період, щоб розпочати відхід і дізнатися про нові фреймворки EndpointSecurity та SystemExtensions. Давайте сподіватися, що ця нова технологія, яку Apple дає нам настільки ж потужна, як і технологія яку Apple замінює.
Не один, але два розділи
У macOS Catalina компанія Apple представила нову архітектуру розділення файлової системи. В одному розділі є виділений, “тільки для читання” системний том, що містить саму macOS. Це повністю відокремлено від усіх даних користувача, і — окрім підписаного Apple коду, такого як оновлення — не може перезаписати файли операційної системи. Це здебільшого System Integrity Protection (SIP), перенесений на наступний рівень. Замість того, щоб захищати місця в незахищеній секції, весь розділ закривається.