セキュリティ

IntelのCPUで新たな脆弱性「Portsmash」が発見される、ハイパースレッディングに関する2つ目の脆弱性


2018年初めにIntelのCPUで発見された脆弱性の「Spectre」「Meltdown」や、同年8月に見つかった脆弱性「Foreshadow」などを悪意のあるアタッカーが利用すると、PCや一部のスマートフォンのプロセッサにアクセスし、パスワードや秘密鍵といった情報を盗み出すことが可能です。また、この攻撃は従来のセキュリティでは検出または防御することができないということで、大きな問題となりました。「Spectre」や「Meltdown」、「Foreshadow」と同様に、既に流通しているIntel製CPU上に存在する新しい脆弱性「Portsmash(CVE-2018-5407)」の存在をセキュリティ研究者が公表しており、Intel以外のチップメーカーにも影響を及ぼす可能性があるとしています。

GitHub - bbbrumley/portsmash
https://github.com/bbbrumley/portsmash

Intel CPUs fall to new hyperthreading exploit that pilfers crypto keys | Ars Technica
https://arstechnica.com/information-technology/2018/11/intel-cpus-fall-to-new-hyperthreading-exploit-that-pilfers-crypto-keys/

新しく発見された脆弱性の「Portsmash(CVE-2018-5407)」は、Intelのハイパースレッディング・テクノロジーで見過ごされているサイドチャネルを利用したものです。


ハイパースレッディング・テクノロジーは、同時マルチスレッディング(SMT)の独自実装により、多数の計算または実行が同時に行われるような並列コンピューティングタスクの処理に必要な時間を短縮することが可能となる技術。このパフォーマンス向上は、2つの論理プロセッサコアが1つの物理プロセッサを共有することにより可能となっており、論理プロセッサコアが大きなタスクをより小さなものに分割することで、全体のタスクがより迅速に処理可能となっています。

インテル® ハイパースレッディング・テクノロジー


そんなハイパースレッディングに関する脆弱性として報告された「Portsmash」は、OpenSSLで動作するTLSサーバーから秘密鍵を盗み出すことが可能とのこと。

具体的には、IntelのSkylakeもしくはKaby Lake世代のプロセッサを搭載したUbuntuマシンでTLSサーバーを運用し、マシンCPUの単一の論理プロセッサコアに命令を送り、実行に要する時間を慎重に測定。すると、同じCPUのもうひとつの論理プロセッサコアから、処理される秘密鍵を推測することが可能であったとのこと。これは、同じ物理プロセッサを利用して複数の命令をさまざまなポートに割り当てることで発生する現象だそうです。

セキュリティサービスを提供するサイオステクノロジーのセキュリティブログも、「この脆弱性を利用してリサーチチームがOpenSSL(1.1.0h以下)のP-384秘密鍵をTLSサーバから盗み出すことが出来た」と報告しています。

この脆弱性「Portsmash」は、PCとサーバーの両方に影響を及ぼすものですが、主にサーバーへの影響が大きいものと考えられています。また、Portsmashは移植性が高く、実行のための前提条件が最小限で済むため、メモリキャッシュラインや機械学習、リバースエンジニアリングなどの知識がなくても悪用可能なものとなっているとのこと。

by Markus Spiske

フィンランドにあるタンペレ工科大学の教授であり、Portsmashについての論文の著者でもあるビリー・ボブ・ブレムリー氏は、攻撃コードにわずかな変更を加えればSkylakeやKaby Lake世代のチップ以外にも脆弱性が有効であると予測しています。また、「SMTを採用したAMDのRyzenアーキテクチャは脆弱であると強く疑っており、今後の作業でそれを明らかにする」としています。

ブレムリー氏はPortsmashを悪用した場合の最も現実的なシナリオとして、Infrastructure as a Service(IaaS)をターゲットとした攻撃を挙げています。また、「個人的には、リモートログインシナリオが最大の脅威と感じている」と記しており、資格情報を持つ悪意のあるユーザーがSSH経由などでログインし、悪意のあるコードをコンパイルし、それを実行して並列実行されている他のプロセスから情報を抽出する可能性を指摘しています。

PortSmashは、2018年6月に公開された「TLBleed」に次ぐ、ハイパースレッディングをターゲットにした脆弱性です。TLBleedが発見されたことで、セキュリティを重視するOSの「OpenBSD」では、開発者にハイパースレッディングを無効にするように推奨しました。PortSmashを発見したブレムリー氏は、ユーザーがBIOSでSMTを無効にするか、アプリケーションがポートに依存しないコードを使用することを推奨しており、「OS開発者は起動時にSMTを無効にすべき」と述べています。

by Alexandru-Bogdan Ghita

PortSmashは、主に信頼できない人物がマシンの同じ物理プロセッサを使用できるようなコンピューターおよびサービスを使用している場合にユーザーに脅威を与える脆弱性です。そういったケースに当てはまるという人は、研究結果に細心の注意を払い、慎重に推奨事項を検討する必要があります。

なお、Intelは「この問題は投機的実行に依存しないため、Spectre、Meltdown、L1 Terminal Faultといった脆弱性とは無関係です。また、この脆弱性(Portsmash)はIntelプラットフォーム特有のものでもないと考えています」とコメントしており、さらに「お客様のデータを保護し、製品のセキュリティを確保することはIntelにとって最優先事項であり、引き続き顧客、パートナー、研究者と協力して、特定された脆弱性を理解し軽減していきます」としています。

・関連記事
Intelのプロセッサチップに根本的な設計上の欠陥が発覚、各OSにアップデートの必要性 - GIGAZINE

Intelが脆弱性「Spectre」「Meltdown」をハードウェアレベルで対策したCPUを2018年後半にリリースすると発表 - GIGAZINE

IntelのCPUに新たな8つの脆弱性が発見される、内4つは「高い危険性」との評価 - GIGAZINE

Intel製チップの製造段階における「マニュファクチャリング・モード」がMacBookの脆弱性を引き起こした可能性 - GIGAZINE

「Intelの脆弱性情報の開示が遅すぎた」ことでLinux開発者が大変な目に遭っていたことが発覚 - GIGAZINE

in ハードウェア,   セキュリティ, Posted by logu_ii