DMA攻撃に抵抗するようにLinuxシステムをどのように設定しますか?不可能にする方法はありますか?
DMA攻撃
抜粋ウィキペディアで
最新のオペレーティングシステムでは、非システム(ユーザーモードなど)アプリケーションは、仮想メモリコントローラ(MMUまたはメモリマッピングデバイスと呼ばれる)によって明示的に承認されていないメモリ位置にアクセスできません。意図しないソフトウェアエラーによる損傷を抑制し、物理メモリをより効率的に使用できるようにすることに加えて、このアーキテクチャは最新のオペレーティングシステムセキュリティの不可欠な部分を構成します。しかし、カーネルモードドライバ、多くのハードウェアデバイス、および時々発生するユーザモードの脆弱性により、物理メモリアドレス空間への直接的で邪魔にならないアクセスが許容される。物理アドレス空間には、すべての基本システムメモリだけでなく、メモリマップされたバスおよびハードウェアデバイス(通常のRAMと同様に、読み取りおよび書き込みを介してオペレーティングシステムによって制御されます)も含まれます。
ベストアンサー1
つまり、潜在的な攻撃経路を完全にブロックすることは不可能です。 Wikipediaの記事を見ると、基本的に4つのルートを理解する必要があります。
- カーネルモードドライバ
- 多くのハードウェアデバイス
- ユーザーモードの脆弱性
- 社会工学
リスクを軽減するための最良の方法(何かを保護するときにできるすべて)は、上記の4つの項目への露出を制御することです。
1をブロックするには、誰にもカーネルドライバをロードする権限を与えないでください。また、不要なドライバをインストールしないでください。
2をブロックするには、人々がシステムに物理的にアクセスすることを拒否します。物理的なアクセスがコンピュータのコアオペレータに制限される安全なデータセンターを使用してください。
ポイント3を避けるために、ユーザーが必要以上に多くのアプリケーションを実行することを許可しないでください。これは作業範囲外であるため、必要以上に設置しないでください。gcc
たとえば、本番サーバーの場合は、そのサーバーにインストールしないでください。
ポイント4、詐欺を検出するためにサポートスタッフを訓練します。
もう1つの方法は、アップデートをタイムリーにインストールして確認できるようにすることです。たとえば、年に一度システムを更新しないでください。