供給電圧を変化させてプロセッサを攻撃する新ハッキング手法「プランダーボルト」が発見される

現代のデバイスは無数のソフトウェア攻撃から保護されている。だがPlundervolt(プランダーボルト、略奪的電圧)と呼ばれる新しい攻撃手法は、物理的手段を使用してチップのセキュリティを破る。攻撃者は供給されている電気量を調整することでチップを欺き、最も奥にある秘密を暴くのだ。

画像クレジット: Ian Cuming / Getty Images

プランダーボルトはインテルのプロセッサーで発生したメルトダウンやスペクターのような大規模な欠陥ではないが、強力かつユニークな手法であり、チップの設計方法を変えてしまう可能性があることに注目してほしい。

プランダーボルトがチップを攻撃する仕組みを理解するためには、2つの重要な点を知る必要がある。

1つ目は、最近のチップには、特定のタイミングで消費する電力に関して、非常に厳密で複雑なルールがあるという点だ。チップは24時間365日フル稼働しているわけではない。もしそうならすぐにバッテリーが枯渇して大量の熱が発生してしまう。従って最近の効率的なチップ設計では、特定のタスクに対してプロセッサーが必要となる電力を過不足なく正確に供給するようになっている。

2つ目は、他の多くのチップと同様にインテルのチップにはセキュアエンクレーブと呼ばれるプロセッサーを備えているという点だ。セキュアエンクレーブは暗号処理などの重要な処理が行われるチップ内の特別な隔離エリアだ(エンクレーブはもともとは「飛び地」という意味)。このエンクレーブ(ここではSGXと呼ぶ)には通常のプロセスからはアクセスできないため、コンピューターが完全にハッキングされても攻撃者は内部のデータにアクセスすることができない。

好奇心の強いセキュリティ研究者がたちが、リバースエンジニアリングを通して最近発見したインテルチップが自身の電力を管理する隠れたチャネルに関する研究が、プランダーボルトの作成者の興味を刺激した。

このチャネルは隠されてはいるが、アクセス不可ではないと判明した。もし多数の攻撃手段が存在しているOSの制御ができたならば、チップの電圧を制御している「モデル特有レジスター」を狙うことも可能になり、思うがままに電圧を変えられるようになる。

しかし、最新のプロセッサは極めて慎重に調整されているため、こうした調整は通常チップの誤動作を引き起こすだけだ。ここでのポイントは、意図する誤動作を正確に引き起こすために、ちょうど十分な調整だけを実行するということだ。また、すべてのプロセスがチップ内で行われるため、外部からの攻撃に対する保護機構には効果がない。

プランダーボルト攻撃は、隠しレジスターを使用して、セキュアエンクレーブが重要なタスクを実行しているまさにその瞬間、チップに流れる電圧をわずかに変化させる。そうすることでSGX内で予測可能な障害を誘発させることが可能となり、これらの巧みに制御された障害によって、SGXと関連プロセスに特権的な情報を公開させられることになる。またこのプランダーボルト攻撃はOSへのフルアクセスが前提だが、リモートで実行することも可能だ。

ある意味では、これは非常に原始的な攻撃だ。ガムボールマシンのように、基本的に適切なタイミングでチップを強打することによって、何か良いものを吐き出させられるということだ。もちろん、実際には非常に洗練されていいる。この場合の「強打」はミリボルト単位の電気的操作であり、マイクロ秒刻みで正確に行う必要がある。

研究者たちは、プランダーボルトへの対応はインテルによってある程度対応することが可能だが、通常のユーザーが一切意識することがないBIOSおよびマイクロコードレベルでの更新によってのみ可能だと説明している。幸いなことに、重要なシステムでは別のデバイスと信頼できる接続を確立する際に、攻撃手段に対するパッチが当たっているかどうかを確認する方法がある。

インテルは、プランダーボルト攻撃の深刻さをより控え目に表現している。「この種の問題に『ボルトジョッキー(VoltJockey、電圧騎手)』とか『プランダーボルト』といった興味深い名前を付けた、さまざまな学術研究者による発表があることを私たちは知っています」と、同社はブログの中で悪用の可能性が存在することを認めている。「これらの問題が、実際に起こった事例は報告されていませんが、いつものようにできるだけ早くセキュリティ更新プログラムをインストールすることをお勧めします」。

プランダーボルトは、ここ数年におけるコンピューティングハードウェアの進化を利用する最近出現した攻撃手段の1つだ。通常、効率の向上は複雑さの増大を意味するが、プランダーボルトのようなこれまで存在しなかった面でも攻撃される可能性の増加も意味している。

プランダーボルトを発見し報告したのは、英国のバーミンガム大学、オーストリアのグラーツ工科大学、そしてベルギーのルーベンカトリック大学の研究者たちだ。彼らはIEEE S&P 2020で論文を発表する予定だ。

原文へ

(翻訳:sako)