今度は論理コアが対象。
Intelだけじゃない
11月2日、IntelのHyper-Threadingテクノロジーなど、物理コア上で複数の実行スレッドを同時実行する機能について、サイドチャネル攻撃が可能となる脆弱性「PostSmash」が公開された。
理解するには、結構な知識を要するが、PostSmashは実行エンジンが実行スレッドを同時実行する際に情報等を共有する事を利用してプロセスが別のプロセスの情報を読み取る事ができるというものになる。これによって、アプリケーションのシークレットデータが漏洩する可能性がせあるという。
実際に攻撃を行うためには、悪意あるプロセスが攻撃対象と同じ物理的コアで実行されている必要があるが、複数命令が処理を待つためにポートに割り当てられる際に起きる“ポートの競合”を利用して、単一の論理コアに一定の命令ストリームを送り、それらの「命令の実行にかかる時間」を測定する事で、暗号キーを推測できるらしい。
実際に行われた実験では、OpenSSLの楕円曲線暗号のキーをTSLサーバから窃取できる事を確認しているようで、概念実証コードも公開されているという。
この公開されている概念実証コードでは、SkylakeコアやKaby Lakeコアにおいて、Hyper-Threading有効化時にOpenSSLから暗号キーを盗み出すことが可能としており、基本的にIntelコアでなくても同様の処理を行っている事から、AMDのRyzenでも同様にPostSmashに対して脆弱性があるらしい。
発動するまでの条件や、可能性を考えると、かなり限定的とも言える脆弱性ではあるが、一定のハッキングが行われている状態であれば、漏洩する可能性はゼロとは言えない。
Intelでは、この情報に対し脆弱性の理解と軽減に努めるとし、またAMDも報告内容を調査し、潜在的な製品影響を検証するとしている。
せっかくのハード対応が…
Intelの第9世代コアは、SpectreやMeltdown、L1 Terminal Faultなどの脆弱性に対してハードレベルの対応が実施された。
これにより、従来UEFI BIOSやOS上で脆弱性に対応していたものが不要となったワケだが、ここにきてまた新たな脆弱性が登場となると、さらに数世代をかけてハードレベルでの対策を織り込んでいかねばならない。
プロセッサの設計、製造は常にこの繰り返しだと言えばそうなってしまうのかもしれないが、ここに来て大きな脆弱性が報告されたというのは、やっている事が高度化しているという事だけでなく、各メーカーのチェック機構が甘くなっている背景があるのではないかと思えてならない。
不思議なのは、全世界でx86系コアよりも多く出荷されているARM系コアで、このような脆弱性はあまり聞かないという事である。
ARMは、基本設計をライセンスし、それを各社がベースにコアを設計するのだが、当然ながら基本設計部分に致命的な脆弱性があれば全てのARM系コアに脆弱性が発見される事になる。
しかし、大きな話ではそうした脆弱性の話を聞かないので、ARM系に関して言えばこうした問題はあまりないのかもしれない。逆を言えばx86系の方が高機能で脆弱性に繋がるポイントが多いと言う事なのかもしれない。
それとも…私が知らないだけで、ARM系コアでもこうした脆弱性は多数報告されているものなのだろうか?
より高度になっていくプロセッサ事情では、脆弱性は常に隣り合う問題なのかもしれないが、セキュリティが以前より大きく取り上げられている昨今、この問題にどれだけメーカーが力を入れられるかが、一つの企業のイメージを決める。
メーカーが限られるだけに、それぞれにはもっと慎重になってもらいたいものである。