DMA 攻撃に対して Linux システムを安全に構成するにはどうすればよいでしょうか? DMA 攻撃を不可能にする方法はありますか?
DMA 攻撃
最新のオペレーティング システムでは、非システム (つまりユーザー モード) アプリケーションは、仮想メモリ コントローラ (MMU またはメモリ マッピング ユニットと呼ばれる) によって明示的に許可されていないメモリ位置にアクセスできません。このアーキテクチャは、不注意なソフトウェア バグによる損害を抑制し、物理メモリをより効率的に使用できるだけでなく、最新のオペレーティング システムのセキュリティの不可欠な部分を形成します。ただし、カーネル モード ドライバ、多くのハードウェア デバイス、および時折発生するユーザー モードの脆弱性により、物理メモリ アドレス空間に直接、妨害なくアクセスできます。物理アドレス空間には、すべてのメイン システム メモリ、およびメモリ マップ バスとハードウェア デバイス (通常の RAM のように読み取りと書き込みを通じてオペレーティング システムによって制御されます) が含まれます。
答え1
簡単に言えば、潜在的な攻撃ベクトルを完全に阻止することはできません。Wikipedia の記事を見ると、基本的に注意しなければならない 4 つの方法があります。
- カーネルモードドライバー
- 多くのハードウェアデバイス
- ユーザーモードの脆弱性
- ソーシャルエンジニアリング
露出を軽減する最善の方法(何かを保護するときにできるすべて)は、上記の 4 つのことに対するリスク露出を制御することです。
1 を阻止するには、カーネル ドライバーをロードする権限を誰にも与えないでください。また、不要なドライバーもインストールしないでください。
2 を阻止するには、システムへの物理的なアクセスを拒否します。コンピューターのコア オペレーターのみに物理的なアクセスが制限されている安全なデータ センターを使用します。
3 を阻止するには、絶対に必要なアプリケーション以外のアプリケーションをユーザーが実行できないようにします。これは実行だけにとどまらず、必要なもの以外は何もインストールしないということになります。gcc
たとえば、実稼働サーバーの場合はインストールしないでください。
4 番目を阻止するには、サポート スタッフに詐欺の検出方法をトレーニングします。
もう 1 つ注意すべき点は、更新プログラムがタイムリーにインストールされ、検査されていることを確認することです。たとえば、システムを 1 年に 1 回更新しないでください。
答え2
Thunderbolt および FireWire アダプタを無効にし、ボックスを物理的にロックして、誰かが PCI(e) カードを挿入できないようにします。
答え3
ペンチを使って、ボード上のポートやアクセス ポイントを物理的に切り離します。泥棒がハードウェアに物理的に侵入する方法を見つけられなければ、安全はほぼ確保できると思います。周囲のものを壊さないように注意すれば大丈夫です。もちろん、そうすると特定のポイントが動作しなくなるので、本当にそうしたいかどうかよく確認してください。