CPUのバグ、深刻度はいかほどか

ソフトウェア同様、CPUにもバグはある。IntelはBIOSベンダーと大手OSメーカーに詳細なフィックスを提供しており、オープンソースOSはおおむね蚊帳の外に置かれているようだ。

» 2007年07月05日 11時22分 公開
[Larry Seltzer,eWEEK]
eWEEK

 これは普通のバグ報告やパッチとは違う。問題があるのはCPUだ。人々はその深刻度を議論している。

 CPUのバグは何も新しいものではない。1990年ごろ、わたしはIBMのDOSバージョンに取り組んでいたプログラマーと1日過ごしたことがある。彼は一部のIntel CPUにいかにバグが多いか、そのことについてどれだけIntelに苦情を言ったか(そして無駄だったか)をひっきりなしに話していた。これはOSを書く仕事ではよくあることだが、セキュリティの角度から見ると比較的新しいと言える。

 この件に関するシオ・デ・ラット氏の率直なブログは、さまざまなセキュリティリストで引用されている。デ・ラット氏はCore 2 CPUラインには「ひどいバグがある」とし、この問題はパッチが当てられているものの、無害なバグではなく、userlandコードからそのまま悪用できるセキュリティ問題だと断言している。つまり、悪用するにはコードを実行するためのローカルアクセスが必要になるが、特権アクセスは不要だということだ。

 Intelによるこれらプロセッサの「Specification Update」には、修正されたバグの多くに含まれるエラッタセクションが入っている。デ・ラット氏は、このエラッタの幾つかを恐ろしいと言っている。わたしが見たところでは、これらのバグはプロセッサのハングアップや「予測不可能なシステムの振る舞い」につながる可能性がある。とりあえず、Intelが正直で正確であると仮定しよう。そうすると、これらは明らかに問題であっても、わたしには特に恐ろしいものには見えない。

 Microsoftのマイケル・ハワード氏が最近、DoS(サービス停止)攻撃について話したように、誰かのシステムをクラッシュさせるのは、ドアベルを鳴らして走り去るようなものだ。迷惑な行為ではあるが、何事かを成し遂げるものではないし、ちょっとくだらないくらいのことだ。名声のためのハッキングは数年前に流行遅れになってしまったとわたしは思っている。だから、どうしてわざわざそんな攻撃を広めるのだろうか。

 問題のバグのフィックスは、プロセッサのマイクロコードの形で提供されている。(最近知ったのだが)このCPUマイクロコードのアップデートは実行時にロードできるが、それは持続しないということが分かっている。これを適用する一般的な方法は、ブート時にBIOSで適用するというものだ。従ってCPUアップデートはBIOSフラッシュアップデートとして提供できる。

 だがアップデートはOSによって適用されることもある。このケースでは、Microsoftがそれを行った。Knowledge Base 936357には、「Intelプロセッサを使っているシステムの信頼性を向上させる」とする「マイクロコード信頼性アップデート」へのリンクが掲載されている。

 確かに、バルディス・クレトニクス氏がfunsecリストへの投稿で以下のように説明している通り、Intelはプロセッサにマイクロコードの一時的なパッチのためのスペースを残している。

約294Kバイトのデータがあり、現在は125のチャンクがある。それぞれのチャンクは基本的に、ファミリー、モデル、ステッピング、チェックサム、長さ、<ランダムに見えるバイト>で構成されている。分解できるようになっており、もしもDellが特定のノートPCに6種のCPUのうち1つが搭載されている可能性があって、ほかの119種のいずれでもないと*知って*いれば、これらの6種をBIOSに含めるだけでいい。もちろんMicrosoftのアップデートに294Kバイトをすべて含める必要があるだろう。

 Microsoftがこのようなフィックスを提供しており、それが何のためのものかをはっきりさせていないという事実は、同社がこの問題を深刻なものと受け止めていることを物語っている。このアップデートがWindows UpdateまたはMicrosoft Updateに現れるかどうかじきに分かるだろう。

 このようなパッチを書くのは、Microsoftのような企業が単独でやれることではない。マイクロコードは普通のコードとは違う。プロセッサのバージョンあるいはステッピングによって変わる傾向がある。MicrosoftはIntelからさまざまなアップデートを受け取り、それを1つのプログラムにパッケージ化したのだろう。例えば、Appleなどから同様のアップデートが提供されることも考えられるが、デ・ラット氏は、「IntelはBIOSベンダーと大手OSメーカーに詳細なフィックスを提供しているだけだ。オープンソースOSはおおむね蚊帳の外に置かれている」と述べている(同氏はそれを知っているはずだ)。

 プロセッサのバグが、実際のコンピュータへの本格的な攻撃手段に変えられるという心配はしていない。手間がかかるわりにリターンが少ないように思えるからだ。Microsoftが先月修正した脆弱性を利用する方がいい。だがデ・ラット氏が言うように、Intelはおそらく幾つかのエラッタを隠しているだろう。同社は長年の間、文書を公開してこなかった。この未知の問題がどれほど深刻か、誰に分かるだろうか?

関連キーワード

バグ | CPU | ハッキング | Intel | パッチ | 脆弱性


Editorial items that were originally published in the U.S. Edition of “eWEEK” are the copyrighted property of Ziff Davis Enterprise Inc. Copyright (c) 2011. All Rights Reserved.

注目のテーマ