北森瓦版 - Northwood Blog (Author : 北森四葉. Since July 10, 2006.)
Intel has barely spoken about 10nm at CES 2018(OC3D)
Intel at CES 2018: Brian Krzanich Keynote Live Blog (18:30 PT, 02:30 UTC)(AnandTech)
CESの基調講演でIntelがCPUの脆弱性対策について説明、過去5年の製品は月内に対応(Impress PC Watch)

CES 2018のkeynoteでIntelは量子コンピュータ向けのテストチップである“Tangle Lake”や脳型コンピュータ向けのテストチップである“Loihi”を紹介、車載向け製品やVRへの取り組みを説明したが、同社の次世代プロセスとなる10nmプロセスノードについては全く触れらなかった。
 
少なくともCES 2018開幕日前日夕方に行われた基調講演では、10nmプロセスに関する話は出てこなかったようで、CES 2018も中盤にさしかかった1月10日時点でもIntelから10nmプロセスに関する話は出ていません(昨年後半には“Cannon Lake”を搭載した製品が2017年末から2018年初めの時期に極めて少量出てくるのではないかという話もあったが、これに相当しそうな動きは今のところない)。

上記の“Tangle Lake”(量子コンピュータ向けチップの試作品)や“Loihi”(脳型コンピュータ向けの試作品。データがなくとも自己学習を行うらしい)、VRや車載向けへの取り組みに加え、今年初めに発覚したProcessorの脆弱性―“Spectre”及び“Meltdown”への対策の説明が行われたようです。
 
“Spectre”と“Meltdown”については既に詳しい日本語記事が多数出ています。以下は関連する話をメモがてら。



◇“Spectre”と“Meltdown”
Googleが発見した「CPUの脆弱性」とは何なのか。ゲーマーに捧ぐ「正しく恐れる」その方法まとめ(4Gamer.net)
Google、CPUの投機実行機能に脆弱性発見。業界をあげて対策へ(Impress PC Watch)

わかりやすいのは上述の2つだろうか。

◇経緯
Reading privileged memory with a side-channel (Google Project Zero)

脆弱性を発見したのはGoogle Project Zero。現在の多くのCPUに搭載されている「投機実行」に起因するもので、アクセス権限のないソフトウェアが保護されたシステムメモリを読み取り、パスワードや暗号化keyなどの機密情報にアクセス可能になるというもの。

Google Project ZeroではCPU data cache timingを乱用し、本来推測不可能な命令情報がリークする可能性を発見した。最悪の場合、ローカルのセキュリティ境界を越えて、任意の仮想メモリデータを読み出せてしまう脆弱性となる。

報告された問題は3種類

  ・Variant 1: bounds check bypass (CVE-2017-5753)
  ・Variant 2: branch target injection (CVE-2017-5715)
  ・Variant 3: rogue data cache load (CVE-2017-5754)

このうちVariant 1とVariant 2が“Spectre”と呼ばれ、Variant 3が“Meltdown”と呼ばれる。最も深刻なものがVariant 3で、Google Project Zeroが想定する最悪の脆弱性をはらむものとなる。


それぞれのVariantにより影響を受けるCPUが異なっている。

  ・Variant 1:Intel CPU, ARM CPU IPコア, AMD CPU
  ・Variant 2:Intel CPU, ARM CPU IPコア
  ・Variant 3:Intel CPU, ARM Cortex-A75

Variant 2についてはAMD CPUも原理的には影響を受ける可能性はあるが、GoogleのチームはAMD CPUにおいてVariant 2を使用した攻撃に成功していない。またAMD CPUはVariant 3の影響を受けない。

今は各メーカーからパッチないしは対応策が出始めている段階。

◇AMDの旧世代CPUとパッチの話
Warning: Microsoft's Meltdown and Spectre patch is bricking some AMD PCs(betanews)
After installation of KB4056892 boot failure, after roll-back error 0x800f0845(Microsoft)

MicrosoftのKB4056892 patchによりコンピューターが使用不能になるという報告がいくつかのAMDユーザーから寄せられた。

報告はAthlon64 X2 6000+とASUS M/Bを使用している環境でKB4056892を宛てた際に、Windowsのロゴは出るもののアニメーションが表示されず、それ以上進まない状態となり、起動に失敗するというもの。いくつかの起動失敗の後にerrox 0x800f0845の発生が確認されたという。

この問題はいずれもK8世代のCPUで報告されており、最新のRyzenで起きたという報告はない。また“Bulldozer”系列のCPU/APUやK10世代のCPU/APUも言及はないが、今のところ起きたという確固たる報告はないよう。

A12-9800E (2017年12月30日)

我が家で昨年末に導入したこれにも知らぬ間にパッチが充てられてそうだが、今のところ起動不能になる様子はなく、大丈夫だったとみてよさそうか。
幸いにもAMD processorにおいては脆弱性の修正に関連する性能低下は軽微と報じられており、今のところは安心してよさそうである。

◇Intel CPUと脆弱性修正、性能への影響
投機実行の脆弱性修正、Haswell世代以前では性能への影響大(Impress PC Watch)
Understanding the performance impact of Spectre and Meltdown mitigations on Windows Systems(Microsoft)

Intelはここ5年に出荷されたCPU製品において対策を行うと説明している。並行する形でMicrosoftも対策に乗り出しているが、CPUとOSにより性能への影響が異なると説明している。

Windows 10と“Skylake”や“KabyLake”及びそれ以降のCPUではベンチマークで一桁%の低下が見られるが、ミリ秒単位の世界であり、多くのユーザーはこの性能低下を体感することはない。

Windows 10と“Haswell”及びそれ以前のCPUではベンチマークでより目立つ性能低下が見られる。そしてシステムの低下に気づくユーザーもいるだろう。

Windows 8及び7と“Haswell”以前のCPUでは、多くのユーザーがシステム性能の低下に気づく。

WindowsサーバーではCPUに関わらず、特にI/O集中型のアプリケーションでは、性能により大きな影響を及ぼす。Windowsサーバー環境においては信頼できないコードのリスク評価と、セキュリティと性能のトレードオフを環境毎に評価することが必要である。

Windows 10 Meltdown/Spectre Patch Performance Impact Assessment(OC3D)

Core i7 6950Xを用いてパッチ適用前後でベンチマークを評価した記事。

一般的なベンチマークでは性能低下は3%程度で、コンシューマ向け用途では性能に対する影響は軽微だろうと結論づけている。5~30%低下するという報道もあるが、Microsoftの説明に沿えばサーバー・データセンター向けでの話になると思われる。

ARM系も全く無縁ではないため、GoogleやAppleが対策に乗り出しているが・・・。

Android端末では,修正プログラムの配布をメーカーの裁量――国内においては多くの場合,携帯電話キャリアの裁量――で行っているからだ。なので端末によっては,未来永劫,修正プログラムが配信されないという可能性もある。

どうしようもない話である 腐ったキャリアの方がセキュリティリスクとかいうのはやめよう

コメント
この記事へのコメント
158997 
AMD、この脆弱性は関係ないとか言い切っちゃったけど、原理からして変形バージョンが通用する可能性は高い
ただ単にシェアが低いから調査が雑というだけなんだよなぁ
2018/01/11(Thu) 08:21 | URL | LGA774 #-[ 編集]
158998 
Haswell使ってますが、ベンチで影響出るならエンコもだろうな。RyzenかCoffee検討するか…

2018/01/11(Thu) 13:07 | URL | LGA774 #-[ 編集]
159000 
4gamerの記事を読むとSkylake辺りで脆弱性に気付いて修正掛けてるように見えるな
やっぱり知ってて根本の修正せずにKabyやCoffeeを発売してたんだな
2018/01/11(Thu) 20:01 | URL | LGA774 #-[ 編集]
159001 
>158997
でも報告したGoogle本家でもAMDは出来なかったみたいだからね
CPU内部の実装依存なのでは

この問題よりか沈黙した10nmのほうが雲行き怪しい
2018/01/11(Thu) 20:35 | URL | LGA774 #-[ 編集]
159004 
>158997
3は調べればすぐ分かる事だとおもう
2は条件があわなさそうではある
2018/01/12(Fri) 04:11 | URL | LGA774 #sSHoJftA[ 編集]
159006 
Cannonlakeは2017年末にごく少量出荷したようですね
2018/01/12(Fri) 10:14 | URL | LGA774 #EBUSheBA[ 編集]
159008 
例としてx265にパイプ処理で渡してる人は性能ガタ落ちなので注意
2018/01/12(Fri) 12:31 | URL | LGA774 #cRy4jAvc[ 編集]
159009 
AMDCPUはFXシリーズで詳しくテストしてましたよね…v2が起こるのは1coreあたり2threads以上で動作するものがほとんどなので……
GoogleはHaswellの動作を調べ上げてこの脆弱性発見していますから、Ryzenで新しく搭載された"人工知能を用いた分岐予測"の詳しいふるまいが分かればv2の脆弱性が明らかになると思いますね…
2018/01/12(Fri) 12:45 | URL | LGA774 #-[ 編集]
159010 
※158997
MSやGoogleの検証チームに難癖を付けられるレベルならば
頑張って脆弱性を発見してくださいとしか…
2018/01/12(Fri) 13:03 | URL | LGA774 #-[ 編集]
159011 
エンコードはユーザーモードとカーネルモードの行き来が少ないから影響は少ないはず。
2018/01/12(Fri) 14:14 | URL | LGA774 #-[ 編集]
159012 
158997
可能性とか持ち出してAMDを叩いたところで、Intelの性能低下やガバガバなセキュリティが改善するわけじゃないんだよなぁ悲しいなぁ
2018/01/12(Fri) 17:18 | URL | LGA774 #-[ 編集]
159013 
usbドライバーでwin7切り
win7/8.1サポート早期打ち切りとかmicrosoftが企ててた時期ってskylake当たりじゃなかったけ?
2018/01/13(Sat) 07:20 | URL | LGA774 #-[ 編集]
159014 
>159001

10nmが上手くいっていないという話自体が
なんらかの対策を施さずに出すと不味いので
延期していたと思えてしまうのだよな

Intelのプロセス技術が他社よりも細かくて高い
技術を要するにしても、他所から出てくる話よりも
上手くいかなさ過ぎているので
2018/01/13(Sat) 08:16 | URL | LGA774 #-[ 編集]
159015 
個人で使うPCでも20%落ち込む報告が出ている
脆弱性も今後発売されるインテル製CPUは欠陥を抱えたままだし
今まで20年Intel買ってたけど4~5年はぶっちゃけ期待できないなー
2018/01/13(Sat) 08:31 | URL | LGA774 #t50BOgd.[ 編集]
159016 
2500k、GTX980でニーアオートマタを久しぶりに起動したら、10~20fps落ちてたのはこういうことか
OCして4.6Ghzにしても傾向はあまり変わらず
今は設定を二段階くらい落としてやってるけど、次に組むならRyzen2だろうな
2018/01/13(Sat) 08:40 | URL | LGA774 #-[ 編集]
159017 
POWERとかSPARCはどうなんだろうね
こんな時のためにGoogleではPOWERにテコ入れしてたはずだけど
2018/01/13(Sat) 10:36 | URL | LGA774 #-[ 編集]
159018 
メルトダウンは、Intel64というx64実行のための後発命令セットを使用したIntelのCPUで発生している脆弱性なので、先発のAMD64命令セットを搭載したコアでは発生しない

そも、V3のメルトダウンが動作してしまう原因は単純明快で、数個先の命令までをまとめて実行してしまうことにある
1.数個先の命令まで、成立条件を無視して実行する
2.実行結果を平文のパブリックデータとしてキャッシュ(おそらく命令が入っていれば外部への出力自体も実行される)
3.実行結果の内、分岐や条件に正しく合うデータのみをピックアップ、正規の処理として出力し、キャッシュクリア
概ねの流れはこれで合ってるはず

つまり、CPUが全ての条件を無視して実行してしまうので、2行目にキャッシュ内のパスワードの呼び出し、3行目にそれを平文で出力させるプログラムがあると、平文のパスワードが出力される事になる
そりゃヤバイ脆弱性過ぎて対処した、AMDだって同じような脆弱性問題があるとしか言えんわな(しかも根幹のIntel64が原因なので、付け焼き刃で対処出来るような問題じゃない)
2018/01/13(Sat) 16:08 | URL | LGA774 #-[ 編集]
159021 
159018
詳しい解説Tnx
2018/01/13(Sat) 19:52 | URL | LGA774 #-[ 編集]
159022 
>159018
自分が読んだ感じだと違うかな
・本来できないことも実行されるけど戻される
・IntelのCPUは特定条件で一部戻らない
だからデータ読めちゃうよって話だとおもう
2018/01/13(Sat) 20:20 | URL | LGA774 #sSHoJftA[ 編集]
159023 
初っ端のコメが変形だのAMDのシェアだのとクッサイ臭いを全く隠す気がなくて腹筋に悪い
2018/01/14(Sun) 06:15 | URL | LGA774 #-[ 編集]
159024 
5%の性能ってほぼ1世代分くらいやね
intelはモデルナンバー増やすたびに毎度大幅な性能改善って言うけど
今回は6~10%低下しても「性能低下に気がつかないユーザーも多い」とさw
こんな適当なことばっかりやってたらリーナスじゃなくてもキレるだろ
2018/01/14(Sun) 11:08 | URL | LGA774 #-[ 編集]
159025 
性能低下の話はIntelじゃなくMSの人の話だったかと
2018/01/14(Sun) 17:41 | URL | LGA774 #ex3yOCrA[ 編集]
159029 
>159024
そして将来の製品は性能の落ちた旧製品と比較して向上と謳われる。性能向上の予備代が生まれたという見方もできる。
まぁ世の中そんなもん。文句言いだしたらきりないよ。
2018/01/15(Mon) 11:40 | URL | LGA774 #-[ 編集]
159031 
言ってしまうと普通の人相手ならばCPU性能がいまは必要十分であるから
ベンチなどで回す以外はフル性能を出して利用する人がレアだろうし
ゲームだって条件によって違うだろうから
下がっているかどうかもわからない事が多そう

下がるのを気にかけるほどピーキーなシステムで
ピーキーなゲームをやっている人。レアじゃないの?
2018/01/15(Mon) 16:38 | URL | LGA774 #-[ 編集]
159033 
>159018
>159022

さすがにそんなにショボい脆弱性ではない
本来実行できない読み出し命令ができてしまうとかいうレベルだったらとっくに発覚しているし、そもそもまともにプログラムが動かない恐れもある

キャッシュのタイミングでサイドチャンネル攻撃ができた、という話でしょ
命令の実行結果的には何の矛盾もないけど、本来読めない部分のデータの値で条件分岐を仕掛けておくとキャッシュのふるまい(先読みしたデータがキャッシュに乗るかどうかとか?)で微妙にタイミングが変わりそれを観測すると推測できてしまうとかなんとか
2018/01/15(Mon) 23:23 | URL | LGA774 #-[ 編集]
159036 
>159031
ゲームはフレームレートと相談しながら画質を設定して
プレイしてるような人が大多数だと思う。
その点ではどんなシステムでもピーキーになり得るかと。
2018/01/16(Tue) 07:32 | URL | LGA774 #-[ 編集]
コメントを投稿する(投稿されたコメントは承認後表示されます)
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
https://northwood.blog.fc2.com/tb.php/9243-e9c99678
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック