分析コンピュータは、メモリ内の機密データを不正なアクセスから守るのに苦労するため、接続された周辺機器に直接メモリ アクセス (DMA) を提供するのは賢明ではないと思われるかもしれません。
それでもなお、デバイスメーカーはDMAを採用しています。周辺機器がオペレーティングシステムの監視なしにメモリの読み書きを行えるようにすることでパフォーマンスが向上するためです。効率的なデータ転送が求められるネットワークカードやGPUでは、DMAが一般的になっています。
悪用を防ぐために、ベンダーは入出力メモリ管理ユニット (IOMMU) を実装し、接続されたデバイスが利用できる CPU メモリ領域を制限しようとしています。
残念ながら、投機的実行のような速度向上を目的としたCPUアーキテクチャの機能と同様に、デバイスメーカーは防御力に過信していることが判明しています。様々なノートパソコンやデスクトップパソコンが悪意のある周辺機器によって侵害され、本来備えられているはずの保護機能にもかかわらず、メモリから機密情報を抽出したり、ルートシェルにアクセスしたりされる可能性があります。
周辺機器があなたを圧倒できるという証拠
カリフォルニア州サンディエゴで開催されたネットワークおよび分散システム セキュリティ シンポジウム (NDSS) で本日発表された論文では、macOS、FreeBSD、Linux に存在する一連の脆弱性について説明されており、「概念上は DMA 攻撃者から保護するために IOMMU を利用している」とされています。
ここでの「概念上」は、「失敗する」という丁寧な学術用語として使われています。論文の著者は、「我々は、新しいI/Oセキュリティ研究プラットフォームを用いて、OS間のIOMMU保護の最新状況を調査しました。その結果、OSとの複雑な相互作用を悪意を持って利用する機能的なネットワーク周辺機器に対して、現在の保護対策では不十分であることがわかりました」と述べています。
前述の Thunderclap と呼ばれる研究プラットフォームとそれに関連する論文は、A. Theodore Markettos、Colin Rothwell、Allison Pearce、Simon W. Moore、Robert NM Watson (ケンブリッジ大学)、Brett F. Gutstein (ライス大学)、Peter G. Neumann (SRI International) といったさまざまな学術研究者やシンクタンクの専門家たちの研究成果です。
ThunderclapはFPGAベースの周辺機器エミュレーションプラットフォームです。研究者らは、ThunderclapがIOMMU保護を回避してコンピューターのオペレーティングシステムやデバイスドライバーとやり取りできると主張しています。デバイスに接続すると、数秒後には侵入されてしまいます。
「結果は壊滅的で、IOMMUを明示的に使用してI/O攻撃を抑制しているにもかかわらず、より高度な攻撃者が存在する場合、根深い脆弱性が明らかになった」と論文は説明している。「様々なハードウェアベンダーの脆弱なmacOS、FreeBSD、Linuxシステムに接続後数秒以内にIOMMUバイパスを実現できた。」
悪意のある周辺機器は、標的デバイスへのローカルアクセスが必要であり、物理的なセキュリティ対策が効果的であるため、リモートコード実行の脆弱性ほど深刻ではないかもしれません。しかし、DMA攻撃のシナリオを軽視すべきではありません。
「私たちの話の最も分かりやすいバージョンでは、悪意のある人物や組織から VGA/イーサネット ドングル、電源アダプター、または USB-C ストレージ デバイスを入手すると、デバイスが直ちに侵害されます」と、ケンブリッジ大学コンピューター研究所のシステム、セキュリティ、アーキテクチャの上級講師であるロバート NM ワトソン氏はThe Registerへの電子メールで説明しています。
「しかし、もう少し深く考える価値はあります。Thunderbolt や PCIe デバイス自体に対する攻撃など、サプライチェーンやリモート デバイスに対するさまざまな攻撃が考えられます。これらの攻撃は、エンド ユーザーに対して使用される可能性があります。」
需要と供給を考える
ワトソン氏は例として、工場やファームウェア開発から発生するサプライチェーン攻撃、あるいは悪意のあるネットワークトラフィックを介して引き起こされる可能性のあるイーサネットドングルファームウェアやWi-Fiファームウェアの脆弱性に起因するサプライチェーン攻撃を挙げています。また、公共のUSB充電ステーションにおける悪意のあるファームウェアを介したサプライチェーン攻撃の可能性も示唆しています。
Thunderboltポート(2011年以降のApple製ノートパソコンおよびデスクトップ、2016年以降の一部のLinuxおよびWindows製ノートパソコンおよびデスクトップ)を搭載したデバイス、またはThunderbolt 3(USB-C)もしくは旧バージョンのThunderbolt(Mini DisplayPortコネクタ)をサポートするデバイスが、この調査の対象となります。また、プラグインカードやマザーボード上のチップを介してPCIe周辺機器をサポートするデバイスも対象となります。
Apple、Microsoft、Intelは、明らかにされた脆弱性を部分的に修正するパッチをリリースしましたが、研究者によって特定された問題に対処するには、追加の緩和策が必要になります。IOMMUを限定的にしか使用していないWindowsは、依然として脆弱です。
例えば、論文によれば、macOS 10.12.4 はコード ポインター ブラインド機能を実装しており、カーネル ポインターの挿入は制限されるものの、データ ポインターなどの他のデータ フィールドを保護できず、システムが脆弱になる可能性があるとのことです。
Microsoft は、Windows 10 1803 (更新プログラムはカウントされない) で出荷されるデバイスで IOMMU サポートを提供するために Kernel DMA Protection をリリースしましたが、デバイス ドライバー メーカーがこのような防御を実装するためのドキュメントはまだ提供していません。
Linuxセキュリティチームは、周辺機器のセキュリティを脅威モデルに組み入れていますが、ドライバの種類が多様であるため、この問題への対処は困難だと考えています。カーネル4.21のIntelパッチは、ThunderboltポートのIOMMUを有効にし、ATSを無効にします。FreeBSDプロジェクトは、悪意のある周辺機器を脅威モデルに組み入れていませんが、レビューのために論文のコピーを要請しました。
自分を守る
「管理者が制御するシステム(LinuxおよびFreeBSD)では、起動時にIOMMUを有効にすることを推奨します」と、ケンブリッジ大学コンピュータ研究所の上級研究員であるセオドア・マーケットトス氏はThe Registerへの電子メールで述べた。
「これはパフォーマンスに影響を与える可能性が高いでしょう。さらに深く掘り下げると、DMA対応の周辺機器とカーネル間のインターフェースは、これまで考えられていたよりもはるかに豊富で、より繊細なものであることを強調しています。」
Markettos 氏は、オペレーティング システム カーネルとデバイス ドライバーは、オペレーティング システムとアプリケーションがインターネットからのデータを扱うのと同じ注意を払って周辺機器とのやり取りを扱うべきだと主張しています。
Intel Management Engine JTAG の欠陥の概念実証が公開されました
続きを読む
「プロセスとカーネル間のシステムコールインターフェースは徹底的に精査され強化されており、周辺機器とカーネル間のインターフェースにも同じプロセスを適用する必要がある」と氏は述べた。
研究者たちは2015年からIOMMUの問題を調査し、2016年からベンダーと協力してきました。そして現在、DMA攻撃の特定と修復を支援するオープンソースプロジェクトとしてThunderclapをリリースしています。
「私たちは2015年初頭にこの問題の研究を始めました。OSトレース技術を使って、IOMMUがさまざまなオペレーティングシステムでどのように管理されているかを調査しましたが、結果は芳しくありませんでした」とワトソン氏は語った。
これにより、私たちは数年にわたるより詳細な脆弱性分析、ハードウェアのプロトタイプ作成、そして複数のベンダーとの緊密な協議を行い、これらの取り組みが現在の製品と将来の製品に与える影響について理解を深めることができました。私たちのオープンソース研究プラットフォームが、今後ベンダーの皆様にI/Oセキュリティ保護の開発とテストに活用していただけることを心より願っております。
そして、まだやるべきことはあるようだ。Markettos氏によると、周辺機器におけるDMAは、パフォーマンス要件の高まりにより普及が進んでいるという。彼と彼の同僚たちは、スマートフォンのNVMeストレージ、Wi-Fi、GPU、オーディオ、モバイルベースバンド、カメラなどのその他の周辺機器、PCIe/NVMeをサポートするSDカード仕様v7、イーサネット経由のNVMeやその他のファブリック、そして組み込みシステムにおけるDMAについてはまだ調査を進めていない。
「ベンダーに対し、セキュリティ モデルを理解するまでは、DMA をサポートする新しいデバイスを追加する際には慎重になるようアドバイスしてきました」と Markettos は述べています。®