Appleプラットフォームのセキュリティ
macOS用のDriverKitのセキュリティ
DriverKitは、ユーザが各自のMacにインストールするデバイスドライバをデベロッパが作成できるようにするフレームワークです。DriverKitで作成したドライバは、カーネル拡張機能として実行されるのではなくユーザ空間で実行されるので、システムのセキュリティと安定性が向上します。これによってインストールが簡単になると共に、macOSの安定性とセキュリティが向上します。
ユーザがアプリをダウンロードするだけで(システム機能拡張またはDriverKitを使用する際にはインストーラは不要)、機能拡張が必要な場合にのみ有効になります。kextが使用されている場合、こうした多くのケースで置き換わりますが、/System/Libraryまたは/Libraryへのインストールには管理者権限が必要です。
カーネル拡張機能を必要とするデバイスドライバ、クラウドストレージソリューション、ネットワーク、およびセキュリティアプリを使用するIT管理者の方には、システム機能拡張に基づく新しいバージョンへの移行をおすすめします。新しいバージョンによって、Macでのカーネルパニックのリスクが大きく減少するほか、攻撃領域が狭まります。こうした新しい機能拡張はユーザ空間で実行され、インストールの際に特別な権限を必要としません。また、搭載しているアプリをゴミ箱に移動すると自動的に削除されます。
DriverKitフレームワークは、I/Oサービス、デバイスマッチング、メモリ記述子、ディスパッチキューのためのC++クラスを提供します。また、数字、コレクション、文字列などの一般的な型について、I/Oに適した型の定義も行います。ユーザはUSBDriverKitやHIDDriverKitなどのファミリー固有のドライバフレームワークと共にこれらを使用します。ドライバのインストールとアップグレードにはシステム機能拡張フレームワークを使用してください。