macOS Catalina バージョン 10.15.4 での変更点
macOS 10.15.4 以降、Apple は、非推奨の KPI (カーネルプログラミングインターフェイス) を活用する Kernel Extension が Mac に搭載されている場合に、エンドユーザーに警告し始めました。
Appleは、特定のmacOSインターフェイスとサポートドキュメントで、非推奨のKernel Extensionsを「レガシーシステム拡張」と呼び始めました。
このアラートの例は以下のとおりです。
このアラートを防ぐために
この通知がユーザーに表示されないようにするには、 Kandjiを介して関連するKernel Extensionを許可する必要があります。
アラートの原因となっている Kernel Extensionを特定し、エンド ユーザーに表示されるすべての開発者名の一覧を収集します。
Kernel Extension開発者のチーム ID (および必要に応じて KEXT バンドル ID)を確認します。次のKandjiサポート記事では、アラートを受け取ったMacからこの情報を収集する方法と、Kandjiで必要なKEXT承認プロファイルを作成する方法について説明します。
また、この変更の影響を受けるソフトウェアベンダーと協力し、 Kernel Extension を System Extension 同等のものに移行するよう依頼することを強くお勧めします。
Kernel Extensionとは何ですか?
基本的に、KEXT (Kernel Extensions) は、開発者がカーネルの機能を拡張できるようにするコードのバンドルです。これらのKPI(カーネルプログラミングインターフェイス)と呼ばれるプログラミングインターフェイスは、 Kernel Extensions を活用します。カーネルがシステム上のすべてを担当し、すべてのKEXTにカーネル特権が与えられているため、これらの拡張機能は非常に強力です。この高レベルの特権により、これらの拡張機能は「カーネルパニック」と呼ばれる macOS カーネルで発生し、回復不能でシステムの再起動が必要なエラーを引き起こす可能性があります。
System Extensionとは何ですか?
KEXTと同様に、System Extensionsはオペレーティングシステムの機能を拡張します。ただし、KEXTとは異なり、System Extensionsカーネルの外部にあるユーザーランド(ユーザースペース)で実行されるため、開発者がカーネルでコーディングする際に直面しなければならなかった多くの制限はありません(その多くは次のセクションで説明します)。このようにKEXT開発からの大幅な脱却により、macOSの信頼性が劇的に向上し、回復不能なエラーの可能性がほぼなくなしました。
macOS Catalinaで導入されたSystem Extensionsは、特定のタイプのKernel ExtensionsとKPIを置き換えます。System Extension同等の以下のKPI が1つ以上あるKernel Extensionsを利用すると、前述のアラートが発生します。
KPI | System Extensionの置き換え |
---|---|
KAUTH | |
Network Filter | |
IOHIDFamily | |
IOUSBFamily | |
USB Networking | |
USB Serial | USBSerialDriverKit (英語) |
USB Vendor Specific IPC |
レガシーSystem Extensionsについて
https://support.apple.com/en-us/HT210999
非推奨のKernel Extensionsに関する追加情報
https://developer.apple.com/support/kernel-extensions/
System Extensionsに関する追加情報