SpectreとMeltdown ITソリューション塾・第28期 2018年5月30日 株式会社アプライド・マーケティング 大越 章司

Slides:



Advertisements
Similar presentations
FPGA 株式会社アプライド・マーケティング 大越 章司
Advertisements

情報理工学系研究科 コンピュータ科学専攻 上嶋裕樹
オペレーティングシステムJ/K 2004年10月18日(5時限目)
基本情報技術概論(第10回) 埼玉大学 理工学研究科 堀山 貴史
Ibaraki Univ. Dept of Electrical & Electronic Eng.
セキュリティ機構のオフロードを考慮した仮想マシンへの動的メモリ割当
榮樂 英樹 LilyVM と仮想化技術 榮樂 英樹
Android と iPhone (仮題) 情報社会とコンピュータ 第13回
北海道大学 理学院 宇宙理学専攻 惑星物理学研究室 M 2 齊藤 大晶
IaaS 仮想マシン(VM)をネットワーク経由で提供 負荷に応じてVM数や性能を変更できる ハードウェアの導入・管理・維持コストの削減
計算機システムⅡ 主記憶装置とALU,レジスタの制御
中村孝介(九州工業大学) 光来健一(九州工業大学/JST CREST)
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
Vulnerability of Cross-Site Scripting
記 憶 管 理(2) オペレーティングシステム 第10回.
仮想計算機を用いたファイルアクセス制御の二重化
OSが乗っ取られた場合にも機能するファイルアクセス制御システム
ARM 株式会社アプライド・マーケティング 大越 章司
高性能コンピューティング論2 第1回 ガイダンス
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
第5回 CPUの役割と仕組み3 割り込み、パイプライン、並列処理
アスペクト指向プログラミングを用いたIDSオフロード
サスペンドした仮想マシンの オフラインアップデート
型付きアセンブリ言語を用いた安全なカーネル拡張
CPUの仕組み 1E16M002-5 阿部知也 1E16M007-3 伊藤達哉 1E16M026-9 小島祥太郎 1E16M069-8 峰晴晃優 1E16M070-0 宮路暁久 1E14M070-5 南元喜.
プロジェクト実習 LSIの設計と実現 パイプライン実行とハザード.
仮想計算機を用いて OSを介さずに行う安全な ファイルアクセス制御
「OSで儲けない」 Microsoftの新戦略
Microsoftのマルチプラットフォーム戦略
梅澤威志 隣の芝は茶色いか 梅澤威志
IaaS型クラウドにおける インスタンス構成の動的最適化手法
ARMとIoT 株式会社アプライド・マーケティング 大越 章司
アップデート 株式会社アプライド・マーケティング 大越 章司
実行時情報に基づく OSカーネルのコンフィグ最小化
オペレーティングシステム イントロダクション
アップデート 株式会社アプライド・マーケティング 大越 章司
セキュリティ(2) 05A2013 大川内 斉.
クラウドにおけるIntel SGXを用いた VMの安全な監視機構
FPGA 株式会社アプライド・マーケティング 大越 章司
ARM 株式会社アプライド・マーケティング 大越 章司
アップデート 株式会社アプライド・マーケティング 大越 章司
ARM 株式会社アプライド・マーケティング 大越 章司
ARMとIoT 株式会社アプライド・マーケティング 大越 章司
Intel SGXを用いた仮想マシンの 安全な監視機構
軽量な仮想マシンを用いたIoT機器の安全な監視
オペレーティングシステムJ/K 2004年11月15日2時限目
コンピュータの仕組み 〜ハードウェア〜 1E15M009-3 伊藤佳樹 1E15M035-2 柴田将馬 1E15M061-1 花岡沙紀
仮想環境を用いた 侵入検知システムの安全な構成法
ARM、IoT、AI 株式会社アプライド・マーケティング 大越 章司
Cell/B.E.のSPE Isolationモードを用いた監視システム
第5回 メモリ管理(2) オーバレイ方式 論理アドレスとプログラムの再配置 静的再配置と動的再配置 仮想記憶とメモリ階層 セグメンテーション
Ibaraki Univ. Dept of Electrical & Electronic Eng.
実装について 前田俊行.
仮想マシンに対する 高いサービス可用性を実現する パケットフィルタリング
Cell/B.E. のSPE上で動作する 安全なOS監視システム
パイプラインとは何か? マイクロプロセッサ(MPU)の高速化手法の一つのこと。
VMリダイレクト攻撃を防ぐための 安全なリモート管理機構
FPGA 株式会社アプライド・マーケティング 大越 章司
ネットワーク・プログラミング デバイスドライバと環境変数.
SpectreとMeltdown ITソリューション塾・第27期 2018年3月20日 株式会社アプライド・マーケティング 大越 章司
第4回 CPUの役割と仕組み2 命令の解析と実行、クロック、レジスタ
ARM 株式会社アプライド・マーケティング 大越 章司
強制パススルー機構を用いた VMの安全な帯域外リモート管理
ARM 株式会社アプライド・マーケティング 大越 章司
L4-Linux のメモリ管理における問題点とその解決策
Ibaraki Univ. Dept of Electrical & Electronic Eng.
強制パススルー機構を用いた VMの安全な帯域外リモート管理
管理VMへの キーボード入力情報漏洩の防止
情報システム基盤学基礎1 コンピュータアーキテクチャ編
Presentation transcript:

SpectreとMeltdown ITソリューション塾・第28期 2018年5月30日 株式会社アプライド・マーケティング 大越 章司 shoji@appliedmarketing.co.jp

ほとんどのCPUに影響する脆弱性 http://www.itmedia.co.jp/news/articles/1801/04/news009.html https://jp.techcrunch.com/2018/01/05/2018-01-03-kernel-panic-what-are-meltdown-and-spectre-the-bugs-affecting-nearly-every-computer-and-device/

CPUへのサイドチャネル攻撃を可能にする脆弱性 SpectreとMeltdown CPUへのサイドチャネル攻撃を可能にする脆弱性 Spectre variant1 (投機的実行における) 条件付き分岐における境界チェックの回避 Intel、AMD、ARMのCPU Spectre variant2 (投機的実行における) 分岐先のインジェクション Spectre variant3 (Meltdown) キャッシュへの不正なデータロード IntelのCPU CPU上で複数のプロセスが動作している場合、他のプロセスが使っているメモリ空間にはアクセスできないようOS/CPUが制御 https://ja.wikipedia.org/wiki/Spectre http://ascii.jp/elem/000/001/613/1613155/index-2.html アクセス制限されているメモリ空間に他のプロセスがアクセスできてしまう パスワードなどの重要な情報を盗み見られる可能性

Spectre-NG:新たなCPU脆弱性 4つが「高い危険性」、4つが「中程度の危険性」 IntelのCPUとAMD、ARMの少数のCPUに影響 https://www.heise.de/ct/artikel/Exclusive-Spectre-NG-Multiple-new-Intel-CPU-flaws-revealed-several-serious-4040648.html 仮想マシンからの攻撃が可能 対策が整っていないため、詳細は未公表

CPUの特権モードとアクセス制限 OS、デバイスドライバはRing0 アプリケーションはRing3 カーネルモードでプロテクトされたメモリエリアにアプリケーション(ユーザーモード)は直接アクセスできない これを利用して、パスワードや暗号鍵など重要なデータを守っている OS https://ja.wikipedia.org/wiki/CPUモード カーネルモードメモリ X ユーザープロセス① ユーザーモードメモリ① ユーザープロセス② X ユーザーモードメモリ②

CPUのパイプライン処理 昔のCPU 最近のCPU 命令① 命令② 命令③ 命令④ 命令⑤ 命令① 命令② 命令③ 命令④ 命令⑤ 命令① デコード 処理 読込 書込 最近のCPU 命令の順序を変えてパイプラインを埋めるのがアウトオブオーダー 命令① 命令② 命令③ 命令④ 命令⑤ 命令① 命令② 命令③ 命令④ 命令⑤ 1クロック

3 GHzとはどれくらいの周波数なのか 3 GHz = 3,000,000,000 Hz = 30億 Hz 光速 = 秒速30万キロ = 30,000,000,000 cm =300億 cm 3 GHz で動作する CPU の 1 クロックの間に光は 10cmしか進まない

投機的実行(Speculative Execution) プログラム内にループや条件分岐がある場合、条件判断(命令③や④)が確定しないと次にどちらへ進めば良いかわからない 命令① 条件判断 命令② パイプラインが埋められない =実行速度が落ちる ループ 命令③ 命令④ 分岐 進む可能性の高いルートを予測(分岐予測)してパイプラインを埋めておく →予想が外れた場合にそれまでの結果を破棄(投機的実行) 命令⑤ 先に実行できそうな命令を実行してしまうアウトオブオーダー実行も投機的実行

今後使うであろうデータをあらかじめ読み込んでおく キャッシュメモリ 超高速 数GHz (nsec以下) CPU キャッシュメモリ 数百M~数GHz 高速 高速だが小容量で高価 今後使うであろうデータをあらかじめ読み込んでおく 数百MHz (数十nsec) DRAM 低速 μ~msec HDD

Meltdownの仕組み 不正なメモリ アクセス メモリからの読み込み =キャッシュへも読み込まれる 不正な命令をキャンセル 命令① 命令② 不正な命令① 不正な命令② 命令③ 不正なメモリ アクセス メモリからの読み込み =キャッシュへも読み込まれる 不正な命令をキャンセル (キャッシュにデータは残ったまま) キャッシュ内のデータを読み出す

問題の深刻度 最終的な解決のためには世界中のCPUをすべて対策済みのものに交換する必要がある 実際の攻撃は確認されていないが、油断はできない(不審な動きが観測されている) ソフトウェアでの対策はパフォーマンスに影響を与える 全てのプロセッサが影響を受けるわけでは無い(高速性が要求されない分野では影響は少ない)が、高性能が要求される分野では深刻な影響が及ぶ 特に、今回発見された脆弱性は仮想マシンからの攻撃を可能にするため、クラウド事業者などへの影響が大きい IoTデバイスは脆弱性が見つかってもパッチを当てられない場合も考えられるため、セキュリティについて考えておく必要がある http://blog.trendmicro.co.jp/archives/17154