Appleは昨年のWWDCカンファレンスで、macOSの「カーネル拡張」(KEXT)を廃止し、「システム拡張」という新しい仕組みに置き換える計画を発表しましたが、
この発表に向けた第一歩は、2019年9月にリリースしたmacOS Catalina(10.15.0) により、カーネル拡張と同時にシステム拡張が導入されたことでした。
Appleの計画の最終ステップは、今後数週間のうちに、macOS Catalina 10.15.4のリリースで実施されます。
Appleによると、macOS 10.15から、システム拡張が導入される予定です。4 からは、カーネル拡張を使用すると、ソフトウェアに非推奨の API が含まれていることをユーザーに通知し、代替品について開発者に連絡するよう求めることになります。 それらは、ユーザーが macOS オペレーティング システムのネイティブ機能を拡張するアプリをインストールすることを可能にします。
アプリはカーネル/システム拡張をインストールして、macOS にネイティブ機能または関数がない操作を実行することを可能にします。
Mac のウイルス対策ソフトウェア、ファイアウォール、VPN クライアント、DNS プロキシ、USB ドライバーなどはすべて、カーネル拡張を利用しています。
これら 2 つの新しい拡張システムの違いは、古いカーネル拡張は macOS カーネル レベルでコードを実行し、新しいシステム拡張はより厳密に制御されたユーザー領域で実行されるという点です。
Great move for security
「Apple の観点からすると、これは macOS のセキュリティ向上に向けた大きなステップです」と、Jamf の主席セキュリティ研究員で macOS セキュリティのエキスパートとして知られる Patrick Wardle は今週の ZDNet とのインタビューで語っています。 「特に、攻撃者として、カーネル拡張を悪用したり、(それが署名されていると仮定して)自分自身のものをロードしたりできる場合です」
KEXT を含む攻撃は、過去に起こりました。 「多くのセキュリティ機構がカーネルで実装/強化されています」
Wardle氏によると、システム拡張はユーザーモードで実行されるため、このような攻撃は機能しません。
「それらはカーネルで実行されないため、KEXTエクスプロイトで行われたように、悪用してもカーネルモードのアクセスは得られなくなりました」
「つまり、Appleは基本的にすべての人をキックアウトしたいのです。「
Potential downsides
しかし、Wardle は、この動きにはマイナス面もあると言います。
1つは、アプリ開発者をカーネルから追い出すことにより、Apple は iOS に対するコントロールと同様に macOS に対するより大きなコントロールを獲得しています。 macOS に特定の機能がない場合、開発者はアプリを作成し、カーネル拡張機能を利用して必要な機能を追加できました。
2番目の欠点は、多くのセキュリティ ツール自体が、カーネル拡張機能がユーザーの Mac に与えるフルアクセスに大きく依存し、それを中心に構築されてきたことです。 Apple のシステム拡張に向けた動きは、セキュリティ製品を無力化し、マルウェアを検出および阻止する能力を失わせるかもしれないと主張する人もいるかもしれません。
しかし、多くの無料の macOS セキュリティ ツールの作者である Wardle は、Apple が「サード パーティのセキュリティ ツールに必要な機能を提供するいくつかの素晴らしいユーザー モード フレームワーク」を提供していると述べており、Apple が足元から枝を切っているわけではないようです。 これは、macOS 開発者が今後ゆっくりとシステム拡張への切り替えを行うための時間が必要であるため、まだわかりません。
しかしながら、Wardle は、Apple の動きに対する他の考えられる理由にかかわらず、この動きは全体として macOS セキュリティにとって良い動きであると指摘しています。