米Intelのプロセサ「Pentium 4」や「Xeon」などに実装されている「ハイパースレッディング技術(Hyper-Threading Technology:HTT)」に脆弱性があることが,米国時間5月13日に明らかにされた。脆弱性を突かれると,別のローカル・ユーザーに重要な情報(例えば,暗号化のための秘密カギ)などを盗まれる恐れがある。リモートから攻撃を受けることはない。

 影響を受けるのは,複数のユーザーが同時に利用するサーバー・マシンなどに限られる。特定のユーザーだけが利用するデスクトップPCなどは影響を受けない。

 脆弱性を発見したのは,米Oxford University Computer Science専攻の学生で,FreeBSD Projectのセキュリティ・チームの一員であるColin Percival氏。脆弱性の内容はカナダで開催された「BSDCan 2005」で発表された。発表内容は,同氏のWebサイトで公開されている(PDFファイル)。

 ハイパースレッディング技術とは,実際には1つしかないプロセサを,OSからは2個のプロセサに見せかけて命令の実行効率を高める技術。プロセサは,2つのスレッドの命令をOSから同時に受け取り処理していく。

 ハイパースレッディングでは,プロセサのキャッシュを2つのスレッドで共有する。このため,あるスレッドが取り扱っている情報を,同一マシンで稼働する別スレッドで取得できる。例えば,暗号化処理をするプログラム(スレッド)の“裏側”で,悪質なプログラム(ウイルスなど)を稼働させれば,暗号化プログラムが取り扱っている暗号カギ情報などを盗める可能性がある。

 実際,Percival氏は2.8GHzのPentium 4マシンを使って,FreeBSD上で稼働するOpenSSLのカギ情報を盗むデモを実施し,悪用が可能であることを示した。

 今回の脆弱性を突いた攻撃を受ける可能性があるのは,(1)ハイパースレッディングを備えるプロセサを使っているハードウエアで(2)ハイパースレッディング対応OSを利用している(3)マルチユーザー環境(一台のマシンを複数のユーザーで利用する環境)。

 いくつかのOSベンダー/グループからは,今回の脆弱性に関するアドバイザリが公開されている(あるいは,公開される予定)。例えば,FreeBSDからは5月13日付けでアドバイザリが公開されている。それによると,FreeBSD/i386およびFreeBSD/amd64のすべてのリリースが影響を受けるという。修正版やパッチが既に公開されている。回避策は,設定ファイルを変更して,ハイパースレッディングを無効にすること。

 米SCO Groupも5月13日付けでアドバイザリを公開済み。それによると,Update Packを適用しているSMPが有効なOpenServer 5.0.7や,ハイパースレディングを有効にしているUnixWare 7.1.4/7.1.3(デフォルトでは無効)が影響を受けるという。同社では,対策(Solution)として「ハイパースレッディングを無効にする」ことを挙げている。

◎参考資料
Hyper-Threading Considered Harmful
FreeBSD Security Advisory FreeBSD-SA-05:09.htt
SCO Security Advisory OpenServer 5.0.7 UnixWare 7.1.4 UnixWare 7.1.3 : Hyper-Threading information leakage

(勝村 幸博=IT Pro)