2019年02月28日 14時00分 セキュリティ

Thunderboltポート経由でPCのシステムメモリを直接読み書き可能となる脆弱性「Thunderclap」



セキュリティ研究者がMicrosoftのWindowsやAppleのmacOS、Linux、FreeBSDといった主要OSに影響を与える新しい脆弱性を発見しました。この脆弱性を用いればDirect Memory Access(DMA)ベースの攻撃に対する防御メカニズムをバイパスしてPCのシステムメモリに直接読み書きすることが可能になります。



Thunderclap: Exploring Vulnerabilities in Operating System IOMMU Protection via DMA from Untrustworthy Peripherals

(PDF)https://www.ndss-symposium.org/wp-content/uploads/2019/02/ndss2019_05A-1_Markettos_paper.pdf



New Flaws Re-Enable DMA Attacks On Wide Range of Modern Computers

https://thehackernews.com/2019/02/thunderbolt-peripheral-dma-attacks.html



ケンブリッジ大学およびライス大学、SRIインターナショナルの合同サイバーセキュリティチームが、DMAベースの攻撃をブロックするために用いられるメモリ管理ユニット「IOMMU」をバイパス可能な脆弱性の「Thunderclap」が、主要なOSに存在することを明らかにしました。







Thunderboltポートでは、接続されている周辺機器がOSのセキュリティポリシーをバイパスし、パスワード・銀行のログイン情報・プライベートなデータなどの個人情報を含むシステムメモリに直接読み書きすることが可能です。そのため、DMAベースの攻撃のターゲットとなる危険性をセキュリティ研究者は指摘しています。



実際、オープンソースのハッキングツール「Inception」などを用いれば、周辺機器にマルウェアを仕込むことは簡単で、後はその感染したデバイスをターゲットとなるPCのThunderboltポートにつなぐだけで攻撃はほぼ完了となります。前述の通り、Thunderboltポート経由ならば通常のUSBポート経由よりもはるかに高い特権でシステムメモリを操作可能となるため、感染デバイスから任意のコードを実行させ、PCのロックを解除したりターゲットとなるPCを遠隔操作したりすることが可能となります。



つまり、Thunderclapを駆使したDMAベースの攻撃を仕掛ける場合、ハッカーはマルウェアを仕込んだ外付けのネットワークカードやマウス、キーボード、プリンター、外付けストレージ、グラフィックカードといった周辺機器を、Thunderbolt 3対応のUSB-Cポートに接続するだけでターゲットとなるPCの侵害が可能となるわけです。







論文には「IOMMUを使用してDMA攻撃に対する防御メカニズムを構築していても、OSのIOMMU使用における脆弱性を利用すれば、DMA経由でターゲットシステムを危険にさらすことができる」と記されています。これに加えて、そもそもIOMMUはほとんどのOSでデフォルトでは無効となっており、最新のデバイスはUSB-Cポートを搭載したものも多くなっているため、Thunderclapの影響度はますます高まっているといえます。



以下の図は主要OSの各バージョンがIOMMUに対応しているかや、デフォルトで有効になっているかなどを示したもの。図の中でデフォルトでIOMMUが有効になっているのはmacOSの10.10～10.13のみです。







セキュリティ研究者たちは「電源入力、ビデオ出力、周辺機器のDMAをすべて同じポートに組み合わせたThunderbolt 3対応のUSB-Cポートのようなものの出現により、脆弱性・Thunderclapが現実世界で広がる可能性が一気に高まってきています」と、多くの機能をひとつのポートでまかなおうとする流れによりThunderclapの危険性が高まることとなったと指摘しています。



加えて、特に2011年以降に製造されたApple製コンピューターは、12インチのMacBookを除いてすべて脆弱であるとのこと。また、2016年以降に製造されたWindowsもしくはLinuxを搭載するPCも大きな影響を受けることになる、と研究者は指摘しています。





研究者たちはThunderclapについてすでにOSベンダーおよびPCメーカーに報告しており、すでに多くのメーカーがThunderclapに対処しているとのこと。具体的には、AppleはmacOS 10.12.4以降でルートシェルを実現するために使用していた特定のネットワークカードの脆弱性を解決しており、IntelはLinuxカーネルのバージョン 5.0向けにパッチを配布しています。



すべてのソフトウェアパッチがDMA攻撃を完全にブロックできるわけではありませんが、攻撃対象を減らすために有用であることは明らかであるため、The Hacker Newsは「セキュリティ更新プログラムをインストールすることをオススメします」としています。また、セキュリティ研究者はThunderclapに対する最善の保護策として「PCのThunderboltポートを無効にすること」を挙げています。







なお、セキュリティ研究者たちはThunderclapを用いて対象のシステムをハッキングするための概念実証用のハードウェアも開発したそうですが、記事作成時点ではこれを公開していません。

