なんとなく綴ってみた

アクセスカウンタ

zoom RSS 今年一発目はインテルプロセッサにおける深刻な不具合……次が遅れる理由はこれか?

<<   作成日時 : 2018/01/04 10:15   >>

なるほど(納得、参考になった、ヘー) ブログ気持玉 1 / トラックバック 0 / コメント 0

今年最初のネタは、不穏なネタである。
ちなみに、これはITmediaのこのネタとは違う

米国時間で話が最初に出たのは2日か3日かな、日本では一昨日になるだろうか?インテルのプロセッサに深刻が不具合が見つかったようだ。しかも、マイクロコードの更新(BIOS/UEFIのアップデート)では改善しないもので、OSそのものを相応にアップグレード(アップデート)する必要がある類いである。
https://www.nikkei.com/article/DGXLASFL03H25_T00C18A1000000/
https://www.theregister.co.uk/2018/01/02/intel_cpu_design_flaw/

内容を詳しく確認した限りでは、AMDでは発生しないIntel固有の問題であることが分かった。しかも、年数にばらつきがある凡そ10年前〜の品なようだ。Core Family(Yonah世代またはConroe/AllendaleのCore 2世代/10年+α)から発生しているように見える。

この脆弱性は、どうもx86 Protection Ring(以下PR)のRing 0(カーネル保護モード)をRing 3(アプリケーションモード)で透過する恐れがある脆弱性のようだ。しかし、PRそのものに脆弱性がある訳では無い。AMDでは起きないからだ。

情報によると、これは高度な投機的分岐(マルチスレッド)を搭載した製品から生じるようになったようだ。
この流れから見ると、Conroe/Allendale辺りを考えると2年ほどタイムラグはあるがよいのかも知れない。この辺りの世代でフューズドopデコードやその前世代のopデコードが搭載され飛躍的に分岐精度が向上し、性能も上がった。

どうも設計ミスはそこにあるのだろう。
詳しい情報はないが、いくつかの記事を見る限り、マイクロコードを分岐デコードする予測ユニットに考慮不足があったようで、フェッチされたデータ上で、PRのチェックが省かれ、Ring 3の権限実行が、Ring 0でも行えるというものだ。命令ポートに纏めて送る際に、使い回すコードではリング0からでも3からでもアクセスできることがあるようだ。これが出来てしまうと、PGの設計次第で何でも出来てしまう。

この問題を解決するには、CPUそのものの設計を見直すか、OS側でカーネルの動作モードを今以上に厳格化する必要がある。既存製品ではOSでカバーするしかない。当初、このOS設計改善を加えると性能が、約0.5-3割低下するという話があり、ニューヨーク証券取引所(NYSE)やNASDAQのIntel株価は暴落したようだ。そして、この問題が起きないことが確実となったAMDの株価は上がったようだ。

尚、どうも既にAppleのOSではリリースビルドが出ているようだという報告もある。当初は、実際にパフォーマンスも落ちたようだが、現在改良ビルド(一部はテスター/βビルド)を重ねているようで、徐々に速度も持ち直しているという話もある。即ちこの問題は、カーネル側でμOPにパックドする命令順序を考慮させれば、速度低下を最小限に抑えられるということなのだろう。マイクロソフト社は、Insider Previewでどうも改善版のテストを行っているようだ。

Windowsは1月にパッチが出る予定となっているらしい。


<この問題は昨春〜夏以降に発覚か?……辻褄が合うロードマップの後ろズレ>

確かなことは、この問題が発覚したのは、どうも去年(2017年)の春〜夏以降のどこかだということだ。修正情報のタイミングから考えると、そのぐらいの時期だと思われる。
不具合そのものが、システム(OS)を透過するほど危険なものとなり、過去最高に深刻なものであるため、これまでは隠蔽されていたのだと思われる。一方で、詳細な攻撃コードなどの情報が発表されていない辺りを考えると、まだ全てのOSで十全な対応が出来ている訳ではないと思われる。先にどこからかリークしたのだろう。

そして、これらの情報から分かるのは、Intelが次のプロセッサを遅らせている理由の一つにこれがあるということだろう。今回の脆弱性はPRというOSの信頼性をハードウェアで担保する部分に対して、ハード(マイクロコード/BIOSやUEFI)では解決不能な脆弱性を作ってしまったという汚点である。

これをハードウェアレベルで改善しなければ真の安全性は担保できず性能も低下するリスクが付きまとう。そのため、今後のプロセッサ向けに設計変更を行う必要が生じているのは間違いないだろう。そうすると、プロセッサロードマップは後ろにずれてしまう。
そこで、Tigerlakeの能力を少し先取りしつつ改善したIcelakeという形でプロセッサロードマップを2019年にずらし、Cannonlake及び、whiskeylakeでこれらの不具合にたいする問題を調整した製品を出し、実売でテストするという意図もあったのかもしれない。

この手の不具合を改善するには、ダイを確実に弄る必要がある。そうすると、コードネームが付く理由も見えてくる。デスクトップよりモバイルを先行させるのは、デスクトップでテストすると問題が発覚したときに、ビジネスPCやワークステーションへの影響があると不味いからだろう。パフォーマンスをさして求めない規模が小さくコア数の少ない製品の方が、弄りやすい。


<ソフトウェア対応も……痛手>

尚、一部ではパフォーマンスの低下はほぼないだろうという話も今は出ている。が、しかし、パフォーマンスの低下は限定的でも、間違いなく生じると見るのが妥当だ。あくまで、ベンチマークテストの一部では数字を押し下げないように対応が取られているだけだろうから……結局、投機的予測が全て予定通りに使えなくなれば、いくらベンチで改善されても、性能の低下を完全に覆い隠すことは出来ないだろう。

また、OSのアップデートが登場しても、根本的なハードウェアの脆弱性は存在し続ける。そのため、OSのアップデートが提供されていないハードウェアや、ハイパーバイザーなどの仮想環境では、この脆弱性が生き続けるだろう。また、この脆弱性はハードウェアの根幹となるものの不具合に対して、ソフトウェアの改善で修正するというものだ。
ハードも深い部分であるため、OS側も深い部分を修正せざる終えない。ハードウェアのためにそれが行われる訳だ。

修正は、カーネルのスレッド管理等を弄ることになるのは確実であり、別の不具合を生み出したり、脆弱性を産む可能性などもある。

一部アプリは動作が若干遅くなるかもしれない。
この辺りはアプリケーションソフトにとっての痛みになる可能性もある。それなのに、このアップデートは速やかに適用する必要がある。攻撃に使われると、OS上にある全てのデータが漏れてもおかしくないほど、深刻なものだ。Intel製プロセッサなら、今Windows8以上を搭載する全てがその影響を受けるだろう。7系なら古いアップグレードした製品のごく一部を除いて全てだ。

そう考えると、速やかなアップデートが必須なのに、互換性などのリスクやパフォーマンスリスクを持つため、本当は適用を遅らせたい更新という、とても管理者には辛いものとなる訳だ。
何とも嫌な話だが、このところこの手の話が多い。


<信頼の低下は否めない守勢のIntel>

今回の問題は、Intelの信頼を短期的に下げるだろう。まあ、よほど攻撃コードが広まれば別として、消費の動向に大きく影響を与えることはないと思う。どちらかというと、これが、本当にIntelだけに留まる問題であれば、改善されるまでに、時間を要する可能性が高いため、懸念する投資家やユーザーが出てくるという点でマイナスである。ファーム(マイクロコード)で改善出来ない不具合となると、ちょっとの設計変更ではないかもしれない。

そして、ちょっとの設計変更で出来ると分かっても、この場合は何からの回路を止めることになると思われる。それは、性能低下に繋がる。結局、これらを全て改善するには、それを(セキュリティ脆弱性を改善し)考慮したプロセッサの世代交代が必須である。

即ち、消費者が意識することは少ないと思うが、Icelake辺りまで根本的な性能低下を含まない解決策は提示されない可能性が高いだろう。小規模なラインナップに留まるとされるCannonlakeでは、性能低下を抑制するような完全解消はしないだろうから……。
その間、AMDが成長するかどうかは別として、Intelにとっては2018年の始まりから躓きを示す形になったのは、辛いところだろう。


<性能が高いほどハードウェアの脆弱性には配慮が必要>

セキュリティ上の脆弱性は、性能が高いほど、致命傷を招く可能性が高い。
その理由は、脆弱性攻撃を突かれた場合に、それに気が付くまでの時間が、5秒だと仮定して、同じ性能の2コアプロセッサで15秒で攻撃の第一波が完了する場合、4コアでは7.5秒、8コアでは3.75秒で攻撃が終わる可能性もあるからだ。

検知の速度も早くなると言いたいところだが、検知する側は、今では包括的(周りのコンピュータやスイッチの挙動を含めた監視を元)に守る仕組みを採り入れており、それらの情報を全て集めて、判断し攻撃をブロックするまでの時間は、そこまで短縮されていない。だから、ソフトウェアは仕方がないにしても、ハードウェアの脆弱性は、可能な限り少ない方が良いのだ。特に、クリティカル(24時間)な運用では重要だ。

まあ、この問題、多少はIntelに影響するだろう。最近、ハードウェア起因のファームウェア修正が多いので、またかぐらいにしか思わない人も多いかもしれないが……。

今回の問題がIntelで終わるなら、Intelにとって厳しいだけで、消費者にとってはまだAMDなども選択肢にあるため良いが、もしこれがx86 Protection Ring全体に及ぶようなことがあると、ちょっとPC市場には嫌な風となりそうだ。先の記事のように、TXE関係(Intel ME)の問題は、他のCPU(ARM含む)でも影響があることが分かったが、結果的にそれに近い流れにはならないことを祈りたいと思う。










YD160XBCAEWOF AMD AMD CPU 1600X(Ryzen 5) Ryzen 5 1600X BOX [YD160XBCAEWOF]【返品種別B】【送料無料】
Joshin web 家電とPCの大型専門店
在庫状況:最短24時間以内出荷□「返品種別」について詳しくはこちら□2017年04月 発売【ご購入後


楽天市場 by YD160XBCAEWOF AMD AMD CPU 1600X(Ryzen 5) Ryzen 5 1600X BOX [YD160XBCAEWOF]【返品種別B】【送料無料】 の詳しい情報を見る / ウェブリブログ商品ポータル



テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ
気持玉数 : 1
なるほど(納得、参考になった、ヘー)

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
今年一発目はインテルプロセッサにおける深刻な不具合……次が遅れる理由はこれか? なんとなく綴ってみた/BIGLOBEウェブリブログ
文字サイズ:       閉じる