2018年1月11日

投機的実行機能の脆弱性

昨年末、突然問題としてクローズアップされ、新年早々Microsoftをはじめ緊急パッチがリリースされている、CPUの投機的実行機能の脆弱性問題。Intelからも、やっとこの件に関しての言及が出てきました。最初に「投機的実行機能ってなんじゃそれ」と、最近のハードウェア技術に疎い自分は困惑しましたが、想定される分岐条件先の処理を事前に準備しておくことで、処理速度を向上させるという、多分未来予測機能の拡張版なんでしょうね。実際に実行されるかは不確かな処理を事前に準備して億から「投機的」という言い方をするんでしょうね。本の英語では"Speculative Execution"というから、それを翻訳したものだと思うけれど、"Speculative"を投機的とそのまま訳してしまうのは堂だろうか。「推論的な」とか「思惑の」という意味もあるので、そちらの言葉を当てはめて「推論実行機能」当たりの方が、意味としてはより正しい気がするんだけど。

この機能を使わないようにするパッチが既に提供されているんですが、これを適用することで課なりのパフォーマンス低下が現れると言われています。実際どの程度の影響があるのか分からないけれど、逆の意味ではこの「投機的実行機能=先読み実行機能」が、それなりに意味のある有効な機能であった証明でもあるわけで、その技術的な所は流石だなと感心してしまいます。だって、想定される分岐条件を洗い出して、その先の処理を事前に準備しておくことを一つや二つじゃ無い部分で用意して、しかもそれを何度も何度も繰り返していくわけですから、それだけシステムリソースに余裕が無いと出来ないだろうし、逆に言えば「それって効率的には、かなり無駄なのでは」という気もしないでも無いけれど(笑)。

今回の問題が深刻なのは、原因がCPU内部の論理設計に関わるところで有る事と、Intelだけで無く同様の機能を提供しているAMDやAMRにも影響するという事。最近5年間くらいのCPU殆どに影響するらしいので、世の中でまだまだ現役のパソコンはほぼ影響する問題。ただ、深刻ではあるけれど、実際にこの脆弱性を利用して何か使用とすると課なり大変らしく、不正実行の技術的可能性はあるけれど、現実的にはどの程度のリスクがあるのかは不明。まぁ、だからといって何もしなくて良いというわけでは無いけれど。今回の問題は、3種類あるうち一つの問題点を悪用することで、サーバー等での仮想マシンに対しての攻撃が可能になることが最大の問題でしょうね。元々、仮想化することで安全性と独立性を担保しているはずの仮想マシンなのに、それが出来なくなるわけだから。だから、クライアントよりもサーバー関係に対しての影響が大きいと思うし、そういう意味ではアドミの皆さんは大変だろうなぁ(いゃ、自分もその一人何だけれど)。

今回、OSのパッチとともに、システム側のパッチも提供されていて、それはBIOSの更新になるんですが、BIOS更新をするとシステムを再起動しないといけない。で、サーバー管理者は一度動き出したサーバーはできる限り止めたくないわけで、しかもそれまで調子よく動作していたサーバーを再起動した途端にトラブルに見舞われるのは、管理者あるある。去年も、館内電気の定期検査で全館停電があったんですが、停止後の再起動時にトラブルがあり結構しんどい思いを経験しました。だから、OSパッチだけで何とかして欲しいなぁ... まぁ、これも技術革新の中のリスクではあるけれど。

0 件のコメント:

コメントを投稿