ハードウェアセキュリティ
パソコンにつないだ外部の機器が、DMAを使ってメインメモリの内容を勝手に読み書きする攻撃への対策として正しいものはどれか。
- A外部の機器の電源の電圧を上げる
- BDMAの転送を速くする
- CIOMMUを使って、各機器がDMAでアクセスできるメモリの範囲を、OSが許可した領域だけに制限する
答えと解説を見る
正解:C. IOMMUを使って、各機器がDMAでアクセスできるメモリの範囲を、OSが許可した領域だけに制限する
DMAは、機器がCPUを通さずにメモリを直接読み書きする仕組みなので、悪意のある機器や乗っ取られた機器がつながると、OSのメモリや鍵を読んだり書き換えたりできてしまいます。高速な外部の端子でつながる機器では特に問題になりました。IOMMUを使えば、機器ごとにアクセスできる番地をOSが決めた範囲に限れるので、許されていない場所へのDMAは拒否されます。
- A. 電圧は関係ありません。
- B. 速くしても防げません。
- C. 正しい。機器ごとに番地の変換と保護を行います。