ニュース

Hyper-Threading有効時にスレッド上の情報が盗まれる「PortSmash」

~Intel製品のほかRyzenにも影響か

 11月2日、Intelの「Hyper-Threading」テクノロジーなど、物理コア上で複数の実行スレッドを同時実行する「SMT(Simultaneous Multi-Threading)」について、サイドチャネル攻撃が可能となる脆弱性「PortSmash (CVE-2018-5407)」が公開された。

 PortSmashは、実行エンジンがSMTアーキテクチャ上で共有されることを利用し、プロセスが別のプロセスの情報を読み取ることができるというもの。これによって、アプリケーションの秘密データが漏洩する可能性があるという。

 攻撃を行なうためには、悪意のあるプロセスが攻撃対象と同じ物理的なコアで実行されている必要がある。

 フィンランド タンペレ工科大学のBilly Brumley氏のEメールによれば、PortSmashを利用することで、研究チームがOpenSSL(1.1.0h以下)の楕円曲線暗号の秘密鍵をTLSサーバーから窃取できることを確認。同氏のGithubにて、概念実証コード(PoC)も公開されている。

 論文は現時点では未公開となっているが、Ars Technica誌によれば、論文では同一の物理コアを使用する複数命令が、処理を待つためにポートに割り当てられるさいに起きる“ポートの競合”を利用し、単一の論理コアに一定の命令ストリームを送り、それらの「命令の実行にかかる時間」を測定することで、そこから秘密鍵を推測できると解説されているという。

 公開されているPoCでは、SkylakeおよびKaby Lakeプロセッサにおいて、Hyper-Threadingが有効化されている場合にOpenSSLから秘密鍵を盗み出すことが可能となっているが、Brumley氏はArs Technica誌に対し、「機材がないため未検証ではあるが、AMDのRyzenなどそのほかのアーキテクチャも同様にPortSmashに対して脆弱であると考えている」と説明している。

 IntelはArs Technica誌に対し、「このPortSmashの脆弱性は投機的実行に依存しないため、SpectreやMeltdown、L1 Terminal Faultなどの脆弱性とは無関係なものであり、Intel製品に限定されたものでもないと考えている」と述べ、「顧客やパートナー、研究者と協力し、脆弱性の理解と軽減に努める」と回答。AMDも、The Register誌に対し「受け取ったPortSmashのレポートを調査し、潜在的なAMD製品への影響を検証している」と回答している。