Windows 10
 Computer >> コンピューター >  >> システム >> Windows 10

CPUの保護リング(特権リング)とは?Ring 0〜3の仕組みと役割を解説

CPUの保護リング(プロテクションリング/特権リング)とは、コンピュータにインストールされたアプリケーションと、システムの中核プロセスとのやり取りを制限するための階層構造のことです。一般的には、最も外側にある「Ring 3」から、最も内側にある「Ring 0」(カーネルとも呼ばれます)までの複数のレベルで構成されています。

特権リングはどのように連携するのか

Ring 0はすべてのシステムプロセスの中心に位置し、スーパーバイザーモードで動作します。カーネルを制御できる者は、事実上コンピュータのあらゆる側面を支配できることになります。この中核部分が悪用されるのを防ぐため、システム設計者はカーネルへのアクセスを厳しく制限しており、一般ユーザーがアクセスできるプロセスのほとんどはRing 3に限定されています。

Ring 0で動作するプロセスはユーザーの入力を必要とせず、これらに干渉すると重大なシステムエラーや解決困難なセキュリティ問題を引き起こしかねません。だからこそ、意図的にユーザーからアクセスできないよう設計されているのです。

Windowsを例に挙げてみましょう。Ring 3のプロセスがRing 0にアクセスできるのは、ごく限られたデータ命令のみです。カーネルへアクセスするには、仮想化メモリによって処理される接続を確立する必要があり、それが許可されているアプリケーションもごくわずかです。該当するのは、ネットワークアクセスが必要なブラウザや、ネットワーク接続を行うカメラなどです。さらに、こうしたデータ呼び出しは隔離されており、重要なシステムプロセスに直接干渉することはできません。

なお、Windows 95/98などの初期のWindowsでは、特権リング間の遮蔽が不十分でした。これが当時のシステムが不安定でエラーを起こしやすかった主な理由の一つです。現代のシステムでは、専用のハードウェアチップによってカーネルメモリのセキュリティが強化されています。

現在のWindowsにおけるカーネルメモリ保護

MicrosoftはWindows 10バージョン1803以降、カーネルメモリに対して強力な保護機能を導入してきました。

中でも注目すべきは「カーネルDMA保護」です。これは、Direct Memory Access(DMA)攻撃、特にPCIホットプラグ経由で実行される攻撃からPCを守るために設計された包括的な機能です。ビルド1903では保護範囲が拡大され、M.2スロットなどの内部PCIeポートも対象となりました。

Microsoftがこれらの領域に追加の保護を施した主な理由は、PCIデバイスが当初からDMA対応である点にあります。DMAにより、PCIデバイスはCPUの許可を得ることなくシステムメモリの読み書きが可能です。この特性こそがPCIデバイスの高性能を支える一方で、悪用されれば重大な脅威にもなり得ます。

DMA保護の仕組みの詳細

Windowsは、IOMMU(Input/Output Memory Management Unit)プロトコルを利用して、不正な周辺機器によるDMA操作をブロックしています。ただし例外もあり、DMAリマッピングによるメモリ分離をサポートするドライバーを持つデバイスは許可される場合があります。

とはいえ、追加の権限は依然として必要です。通常、OS管理者に対してDMA承認を求めるプロンプトが表示されます。また、IT担当者はDmaGuard MDMポリシーを変更することで、DMAリマッピング非対応のドライバーの扱いを細かく制御・自動化できます。

自分のシステムにカーネルDMA保護が有効になっているか確認するには、「Windowsセキュリティ」を開き、「コア分離」の詳細にある「メモリアクセス保護」の設定を確認してください。なお、この機能はWindows 10バージョン1803以降でリリースされたOSにのみ搭載されています。

CPUがRing 1と2をほぼ使わない理由

Ring 1と2は主にデバイスドライバーやゲストOSで使用されますが、これらのレベルのコードの多くは別の用途へ半ば転用されてきました。その結果、現代のWindowsプログラムの大多数は、システムに「カーネル」と「ユーザー」の2つのレベルしか存在しないかのように動作しています。

ただし、VirtualBoxや各種仮想マシンなどの仮想化ソフトウェアは、例外的にRing 1を利用して動作します。

まとめ:特権リングの今後

多重の特権リングという設計は、x86アーキテクチャに由来するものです。しかし、すべてのリング権限レベルを常に使用するのは実用的ではなく、レイテンシの増加や互換性の問題を招きます。そのため、実際にはRing 0とRing 3を中心としたシンプルな運用が主流となっているのです。

  1. Windows 10 PCのCPU速度を最適化する方法|メモリクリーナーで動作を高速化

    パソコンの動作が遅くて困っていませんか?これはどのコンピューターにも一度は起こりうる問題です。パソコンの反応が鈍い、コマンドの実行に時間がかかる原因はさまざまですが、主な原因の一つとして挙げられるのがメモリ(RAM)不足です。搭載容量自体は十分でも、不要なプロセスがメモリを占有しているケースが少なくありません。そこで重要になるのが、RAMブースターやWindows 10対応のメモリクリーナーを活用してメモリを最適化・解放し、パソコンを常にベストな状態で動かすことです。 Advanced System Optimizerを使うメリット Advanced System Optimizer(ASO

  2. Windows 10の「タンパープロテクション」とは?セキュリティ設定を守る機能の有効化・無効化手順

    Windows 10の「タンパープロテクション(Tamper Protection)」機能とは? コマンド操作に頼らずにWindowsパソコンのセキュリティを管理したいなら、2019年5月のアップデート(May 2019 Update)で追加された「タンパープロテクション」機能について知っておくことをおすすめします。バージョン1903以降のWindows 10には、パソコンを守るためのセキュリティシステムが標準搭載されており、これらの設定を正しく管理できれば、より細かいコントロールが可能になります。 「Windowsセキュリティ」では、WindowsファイアウォールやMicrosoft Def