1: 2018/01/08(月) 17:54:02.62 _USER9
 米GoogleのProject Zeroは3日(現地時間)、Intel、AMD、Armなどの多くのCPUに使われている、性能を最適化するための「投機実行」機能に欠陥があり、深刻な脆弱性が存在すると発表した。

 Project Zeroの研究員Jann Horn氏によると、悪意のある攻撃者は、CPUの投機実行を利用することで、本来アクセス権限のないソフトウェアで、アクセスできないはずのシステムメモリを読み取ることができ、パスワードや暗号化キー、アプリケーションで開いている機密情報にアクセス可能になるという。

 テストでは、研究チームは、HaswellベースのXeon E5-1650 v3、AMD FX-8320、AMD PRO A8-9600、およびArmのCortex-A75を搭載したスマートフォン「Nexus 5x」などを利用。1台の仮想マシン上でこの攻撃を利用し、ホストマシンの物理メモリにアクセスでき、同じホスト上の異なる仮想マシンメモリに対する読み取りアクセス権を得られたという。

 今回発見された脆弱性は3種類。1つ目は「Bounds Check Bypass」(共通脆弱性識別子:CVE-2017-5753)、2つ目は「Branch Target Injection」(CVE-2017-5715)、3つ目は「Rogue Data Cache Load」(CVE-2017-5754)だ。このうち1つ目と2つ目の脆弱性を突いた攻撃手法を「Spectre」、3つ目の攻撃手法を「Meltdown」と名付けた。

 Googleでは2017年6月にもこの脆弱性をIntel、AMDおよびArmに報告しており、問題解決に向け取り組んできたという。もともと2018年1月9日に公開を予定していたが、一部メディアがこの問題をすでに報じ、セキュリティリスクが高まっているため、公開に踏み切った。

 具体的な攻撃の手法については、Google Project Zeroのブログを参照されたいが、Intelが公開したホワイトペーパーで大まかな概要が明らかとなっている。

 Bounds Check Bypass攻撃の肝は、投機実行は条件分岐するさいに、命令を実行する必要があるかどうかを知る前に命令を実行する点と、投機実行ではデータなどを暗黙でキャッシングする点だ。投機実行の結果が正しければ処理時間が短くてすむが、間違っていれば命令を破棄して、メモリからほかのデータをロード、再処理しなければならない。その処理およびデータのロードにかかった時間を計測することで、投機実行中のデータを予測する。

 Branch Target InjectionはCPU内部の「間接分岐予測器」を利用するもの。条件付き直接分岐では投機実行するものには2つのオプションしかないが、間接分岐に投機的に「ガジェット」を実行させることにより、悪質なコードを投機的に実行させることができてしまう。

 Rogue Data Cache Loadはアプリケーションがカーネルメモリを直接プロービングする手法。典型的にこのような操作はプログラムエラー(ページテーブルのパーミッションによるページフォルト)となるのだが、L1データキャッシュに投機的な操作の実行を常駐することで、投機的に実行されデータを照会できてしまう。

 Intelによれば、次期プロセッサでは、この問題を軽減する対策と性能強化を行なうとしており、既存製品に関しては、それぞれの脆弱性に対応した緩和策などを提示している。

 今回の脆弱性の情報公開に伴い、各社が対応策を公開している。Microsoftによれば、今回の対策をすることにより性能が低下するとしているが、コンシューマレベルではその影響は少ないという。
https://pc.watch.impress.co.jp/docs/news/1099687.html

【投機実行】
命令処理の結果によって次に実行する命令処理が異なる場合、どの命令処理が実行されるかを予測に基づいて命令処理を先に実行する仕組み


no title

引用元: http://ai.2ch.sc/test/read.cgi/newsplus/1515401642/

3: 2018/01/08(月) 17:54:52.54
次期じゃ遅いんだよ

4: 2018/01/08(月) 17:55:00.94
なんという商売上手

8: 2018/01/08(月) 17:56:16.82
Intel「来月から本気出す」

15: 2018/01/08(月) 17:58:28.78
さてさてハード屋はどう言い訳するのかな
鯖屋だけじゃなくて個人にも影響出そうだしどうなるか

21: 2018/01/08(月) 18:00:35.31
>>15
次のステージは新しいのを買ってください路線になる。
新しい最新プロセッサには対策されるだろうけど
旧型はそのまま放置だろ
今更パソコンの時代じゃないので
Windowsがなくなるだけ
わかりきってますよ。

27: 2018/01/08(月) 18:02:24.86
車で言うならエンジンの不具合でリコールだろうが

31: 2018/01/08(月) 18:04:17.01
intel焦ってる

36: 2018/01/08(月) 18:05:08.50
> Intelによれば、次期プロセッサでは、この問題を軽減する
> 対策と性能強化を行なうとしており

「軽減」措置しか出来ないのかよ
原理的に、根本的な対策が出来ないのかよ

99: 2018/01/08(月) 18:31:47.22
>>36
完全に穴をふさぐにはCPUの設計を一から見直して
対策がされたCPUに交換しないとダメだから
次に発売するCPUには間に合わないわけだろ
穴は完全にはなくならないけど現実的に不正にメモリ内容をを覗き見るのは無理
みたいな対処療法的対策しか今迄に出たCPUには無理なわけだろ

56: 2018/01/08(月) 18:15:05.65
高速化のために用意した機能の脆弱性を突いた攻撃が可能であることが判明したけど
それを対策すると高速化の利点も失われるから困ってるってところ?

60: 2018/01/08(月) 18:16:22.12
新しい奴に買い換えて下さいか
独占企業でなければ潰れてるぞ

77: 2018/01/08(月) 18:23:13.27
ハードの欠陥なのに
なんでソフトウェアなパッチで直せるのだ?
不思議じゃね?

80: 2018/01/08(月) 18:24:14.35
>>77
読み込むようなコードを実行前にスキャンすればいい。

101: 2018/01/08(月) 18:32:01.29
>>80
特権モードから抜けるときにL1dキャッシュをクリアするだけじゃ無いのか?

94: 2018/01/08(月) 18:29:14.43
>>77
>ハードの欠陥なのに
>なんでソフトウェアなパッチで直せるのだ?
>不思議じゃね?

今回の不具合は、リングプロテクションに穴があることが原因。

Ring 0のプロセスとRing 1のプロセスは、メモリは共有しているのだが、
Ring 1からはRing 0のメモリを読めない様にできているはずだった。

たとえて言うなら、湯を共有している男湯と女湯があって、
互いに見えないようになっている様なかんじ。


今回のLinuxのパッチは、ユーザーモード(Ring 1)になったら、カーネルのデータを待避させるもの。

これは、男湯に誰かが入ってきたら、女湯から人払いをするのに等しい。
おそろしく非効率なのは、当然。

111: 2018/01/08(月) 18:34:44.33
うちのペンティアム4を新しいやつに交換してくれれ

114: 2018/01/08(月) 18:35:07.71
デジタル放送みたいなもんか
あれで日本中でテレビを買い替えた

118: 2018/01/08(月) 18:36:59.21
自社のサーバの対応も面倒なんだけど、正直クラウド系サーバってどーすんだろって思う
AWSとかAzureとか…どうしてんだろう…アナウンスあるのかなぁ…

141: 2018/01/08(月) 18:43:53.70
いや、次期じゃなく我が家の第7世代i7はどうしてくれるんだ