spectre
「spectre」の意味・「spectre」とは
「spectre」とは、英語で「幽霊」や「恐怖の対象」を意味する単語である。また、比喩的には「不安の種」や「恐怖の象徴」といった意味も含む。具体的な例としては、経済的な困難や政治的な危機など、人々が恐れる抽象的な事象を指す際に用いられることが多い。「spectre」の発音・読み方
「spectre」の発音は、IPA表記では /ˈspɛk.tər/ となる。IPAのカタカナ読みでは「スペクター」となり、日本人が発音するカタカナ英語では「スペクトル」と読む。この単語は発音によって意味や品詞が変わる単語ではない。「spectre」の定義を英語で解説
「spectre」は、英語で"a ghost or apparition; a terrifying object or prospect"と定義される。つまり、「幽霊や亡霊、または恐怖を感じさせる物体や見通し」という意味を持つ。例えば、"The spectre of unemployment looms over the city."という文では、「失業の恐怖が都市に立ちはだかる」という意味になる。「spectre」の類語
「spectre」の類語としては、「ghost」、「phantom」、「apparition」などがある。これらの単語も「幽霊」や「亡霊」を意味するが、そのニュアンスや用途は異なる。例えば、「ghost」は一般的な幽霊を指し、「phantom」は特に恐ろしい幽霊を、「apparition」は突然現れる幽霊を指す。「spectre」に関連する用語・表現
「spectre」に関連する用語としては、「haunt」、「frighten」、「terror」などがある。「haunt」は「幽霊が出る、取り憑く」、「frighten」は「怖がらせる」、「terror」は「恐怖」を意味する。これらの単語は、「spectre」が持つ「恐怖」や「不安」を引き立てる表現として用いられる。「spectre」の例文
1. The spectre of war haunts the region.(戦争の恐怖がその地域を脅かしている)2. He was like a spectre in the dark room.(彼は暗い部屋の中で幽霊のようだった)
3. The spectre of poverty looms over the city.(貧困の恐怖が都市に立ちはだかる)
4. The spectre of disease frightened the villagers.(疾病の恐怖が村人たちを怖がらせた)
5. The spectre of failure haunts him.(失敗の恐怖が彼を取り憑いている)
6. The spectre of climate change is a global concern.(気候変動の恐怖は世界的な懸念事項である)
7. The spectre of his past mistakes haunts him.(彼の過去の失敗の恐怖が彼を取り憑いている)
8. The spectre of nuclear war is terrifying.(核戦争の恐怖は恐ろしい)
9. The spectre of bankruptcy looms over the company.(破産の恐怖が会社に立ちはだかる)
10. The spectre of famine haunts the region.(飢饉の恐怖がその地域を脅かしている)
スペクター【specter】
スペクトル【(フランス)spectre】
スペクター(Spectre)
![]() |
ヘリックス種(Helix) スペクターとは「お化け」とか「恐ろしいもの」のことでイギリスから送られてきたこのアイビーを見たときなぜこれが「お化け」だろうといぶかしく思った。 「お化け」がそれらしく見えるようになったのは2、3年後の気温の高い頃だった。 鋭く尖った幅の広い葉がカールして猛獣の爪のようだがその葉一面に黄色味を帯びたこまやかな掃込斑が現れる。 このアイビーを名付けた人にはそれが「恐ろしいほど美しく」見えたのだろう。 「お化け」が本領を発揮するのは夏場のことでその点だけ日本古来のお化け達と通じる。 気温が下がると掃込斑は消えてなくなる。そしてこの色は毎年現れるとは限らない。 丁寧な管理を怠ると「お化け」には出会えない。 このアイビーはトリトンの変異種らしい。大鉢に植えて他のアイビーより多めの施肥を施す。 塀に這わせる方がこの猛々しいアイビーの色をより楽しめる。 (トリトン参照) |
Spectre
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/03/26 21:32 UTC 版)

Spectre(スペクター)は、今日の幅広いマイクロプロセッサに存在するハードウェアレベルの脆弱性であり、正当な権限のないプロセスが保護されたメモリの領域(例:サンドボックスの外側)にアクセスすることが可能になる[1][2][3][4][5]。
概要
悪意あるプログラムが任意のメモリ領域(機密情報を含む可能性がある)の読み取りを可能とする、マイクロプロセッサの分岐予測・投機的実行の実装に含まれる脆弱性である[1][2] [3][4][5]。
特定のCPUアーキテクチャに依存した脆弱性ではなく、x86(インテル、AMDおよび互換CPU)、ARMでも発生することが示唆されている。GPUでは不詳、あるいは確認されていない[6]。
Spectreに関連するCVE番号は次の2つである。
- Variant 1
- (投機的実行における)条件付き分岐における境界チェックの回避 "bounds check bypass" (CVE-2017-5753)
- Variant 2
- (投機的実行における)分岐先のインジェクション "branch target injection" (CVE-2017-5715)
このうち、CVE-2017-5753は、ブラウザ・ベースのJavaScriptのJITエンジンに発見された脆弱性である。ウェブサイトから、端末の他のブラウザで使用されるデータや、ブラウザ・プロセスそのもののデータを読み取ることができる。Firefox 57.0.4とGoogle Chrome 64で、ウェブサイトごとにプロセスを分割することで対処されるとしている[7][8][9][10]。
新しい亜種
2018年5月21日、Spectreの新しい亜種(Variant 3a/4)が発表された[11][12]。
- Variant 3a
- "Rogue System Register Read" (CVE-2018-3640)
- Variant 4
- "Speculative Store Bypass" (CVE-2018-3639)
経緯
Googleのゼロデイ攻撃研究のプロジェクトProject Zeroと暗号学者のポール・コッフェルが中心となった研究チームが別々に発見し、Meltdownのチームとの共同作業となり、2018年1月3日に発表された。 「Spectre」(幽霊)と命名した理由は、投機的実行 (speculative execution) に由来しており、修復が困難なことから、相当のあいだ幽霊のように我々に取り憑くだろうと説明されている[13]。
詳細
Spectreは、以下の2つの脆弱性を内包している [14]
- (投機的実行における)条件付き分岐における境界チェックの回避 (CVE-2017-5753)
- (投機的実行における)分岐先のインジェクション (CVE-2017-5715)
いずれの脆弱性も、権限のないデータの読み取りが可能であることを示唆している。 また、共通する事象として、通常、これらの攻撃の痕跡は残らないため、攻撃を受けて流出したデータの特定が困難であることを意味する。
境界チェックの回避
メモリアクセスにおいて、通常はマイクロプロセッサの境界チェックにより、読み取り可能な領域かどうかをチェックされているが、特定の条件下で投機的実行を行った場合に境界チェックが適切に行われず、盲目的にメモリ命令が発行されるケースがほとんどのプロセッサで存在しており、結果として読み取る必要のない領域がキャッシュに読み込まれることがあり、その変化を追跡することで秘密情報のアドレスを特定し、秘密情報を入手が可能としている[15]。 原理的には他プロセスでの攻撃も成功すると推測するが、Exploitは自プロセスのデータ読み取りが提示されている。
また、eBPF JITを有効にしたカーネルにおいて、AMDのプロセッサでも攻撃に成功したとされている[16]。
分岐先のインジェクション
処理の概要としては、Return-oriented programming (ROP) とよく似ており、悪意のあるプロセスで分岐予測を学習させ、ターゲットとなるプロセス内の間接分岐命令がガジェットを投機的実行することを試みる [17]。 攻撃の成否をキャッシュヒットミスの測定することで確認している(サイドチャネル攻撃)。
攻撃成立の前提として投機的実行により副作用が発生することが必要で、検証では同一物理コア内のSMTによる論理コア間でデータを読み出すことが可能であったと示されている[18]。
評価
自プロセス内の機密データを読み取るExploitによる攻撃が成功している(ブラウザベースのJavaScriptによる攻撃等)。
他プロセスのデータを読み取る場合は、確率的な挙動を示し、攻撃の容易度はプロセッサのアーキテクチャに依存するとされている。 AMDは、内部アーキテクチャの違いから、CVE-2017-5715はほぼゼロリスク、Meltdownはゼロリスクである、と述べている[19]。
対策
攻撃対象のプロセスのメモリ構造を知っていれば攻撃の成功率を劇的に向上することができるため、逆説的に、メモリ構造を推測させなければ、攻撃を劇的に緩和させることが可能である。
ユーザランドの対策としては、他のメモリに対する攻撃同様、アドレス空間配置のランダム化 (ASLR) とPosition Independent Code (PIC) を組み合わせるなどして、メモリマップをランダム化する手法が知られており、この脆弱性でも有効とされている。また、LLVMにパッチを充てることで、同様の効果が得られる[20]。
また、成功・失敗の判別にはサイドチャネル攻撃的なアイデアで判別されることがあるが、これらは例えばスクリプトの応答時間を均一化したり、処理時間を高精度で測定させない等の方法により緩和することも可能である(ブラウザのJavaScriptの実行にて同様のアプローチがとられている[21])。
ウイルス対策ソフトウェアでの防御は、有効性が疑問視されている[22]。 影響を完全に排除するには、プロセッサアーキテクチャの大幅な刷新が必要であると述べられている。
影響
原理的には、分岐予測・投機的実行を実装するプロセッサに潜在的影響があるとされている。
インテル
GoogleはXeon E5-1650 v3をテストに使用し、攻撃に成功している。その他のCPUではテストされていない[16]。
2018年3月までに、Spectre Variant2に対するCPUマイクロコードのアップデート状況を公表している[23]。現実のシステムへの適用は、BIOS/UEFIのファームウェアアップデート、またはオペレーティングシステム (OS) によるマイクロコードリリースパッチの提供に依存する(これらで未提供の場合、適用されない)。
2018年4月2日付文書で、Intel Core 2世代と、第1世代Core iシリーズの一部について、脆弱性パッチの適用を中止すると公表した。対象CPUのコードネームは以下の通り[24][25][26]。
なお、Core 2よりも以前の世代のCPU(LGA775ではCore Duo/Solo/Pentium M/4/D/EEなど、およびNetBurstマイクロアーキテクチャとそれ以前)については何も発表されていない。
- Penryn
- Core 2の殆どのリリース
- Pentium T4200/4300/4400/4500など
- Celeron 900/925, SU2300, T3100/3300/3500, ULV763など
- Celeron M ULV 722/723/743など
- Yorkfield
- Core 2の殆どのリリース
- Xeon L3360/3320/3330/3350/3360/3370/3380など
- Wolfdale
- Core 2の殆どのリリース
- Pentium E5200/5300/5400/5500/5700/5800/6300/6500/6500K/6600/6700/6800など
- Celeron E3200/3300/3400/3500など
- Xeon E3110/3120(E0)/5205/5220, L3110(E0)/5215(E0)/5240, X5260/5270(E0)/5272など
- Bloomfield
- Core i7-920/930/940/950/960/965/975など
- Xeon W3520/3530/3540/3550/3565/3570/3580など
- Clarksfield
- Core i7-720QM/740QM/820QM/840QM/920XM/940XMなど
- Gulftown
- Core i7-970/980/980X/990Xなど
- Xeon W3690など
- Jasper Forest
- Celeron P1053など
- Xeon EC3528/3529/5509/5539/5549, LC3518/3528/5518/5528など
- Harpertown
- Xeon L5408/5410/5420/5430(E0), E5405/5410/5420/5430/5440/5450/5462/5472, X5450/5460/5470/5472(C0)/5482(C0)/5492(E0)など
- SoFIA 3GR
- Atom x3-C3200RK/3230RKなど
AMD
GoogleはeBPF JITを有効にしたカーネルにおいて、AMD PROで攻撃に成功したとしている(eBPF JITを無効にした場合は成功していない)[16]。その他のCPUではテストされていない[16]。
AMD Radeon GPUについては不詳。
ARM
ARMは、Cortex-R7/R8/A8/A9/A15/A17/A57/A72/A73/A75はSpectreの影響を受け、これに加えてCortex-A75はMeltdownの影響を受ける事を認めた[16]。
ミドルレンジAndroid携帯電話端末の多数に使用されるオクタコアのARM Cortex-A53/A55 は、アウト・オブ・オーダー実行をしないため、MeltdownやSpectreのいずれの脆弱性の影響も受けないとされている。Qualcomm Snapdragon 630/626/625/4xxもベースコアがCortex-A53/A55 のため同様である[27]。Raspberry Piも影響を受けないとされている[28]。
NVIDIA
その他のCPUおよびベンダー
不詳。
![]() | この節の加筆が望まれています。 |
回避策、アップデート
本見出し中の日付は特記ない場合2018年。
Spectreは、Meltdownと同様にCPUのハードウェアレベルの脆弱性であるため、OS側やブラウザなどのアプリケーション側で回避策が取られつつある。KPTI(kernel page-table isolation)パッチはMeltdownに有効、Spectreには無効であるが、多くのベンダーはパッチがMeltdownとSpectreのどちら(又は双方)を回避、緩和するのか明確にしていない(そのようなパッチに関しては、Meltdown側で記述する)。
Windows
macOS
macOSは1月8日にリリースされた"macOS High Sierra 10.13.2 Supplemental Update" で、Meltdown対策に加え、Spectre対策が適用されている(同時にSafariもアップデートされる)[29]。
Linux
SpectreはKPTIによっては回避されないので、2018年1月5日時点でOSレベルのパッチは出ていない。
Android
GoogleはAndroid OSのセキュリティパッチを配信している[30]が、現実の端末へのパッチの互換性は、端末のメーカーあるいは携帯電話事業者の対応に依存する。
iOS
iOS 11.2以降、tvOS 11.2以降でMeltdown対策パッチが当てられている[31]。なお、1月8日にリリースされた"iOS 11.2.2 にてSpectre対策が適用されている[29]。
Google Chrome
1月23日リリース予定のChrome 64においてJavaScriptエンジンにSpectre対策を施す予定である
[10]。
また当面のSpectre対策として、Strict site isolation(厳格なサイト分離)機能を有効にする事をGoogleは提案している[32][33]。ブラウザの互換性については多少の問題がある。
Firefox
1月4日(現地時間)にリリースされたFirefox 57.0.4 で、perfomance.now()
の精度を意図的に低下させ、SharedArrayBuffer
を無効化する事により対処したとしている。なお、Firefox 52 ESRでは既にSharedArrayBuffer
が無効化されているが[34]、1月23日(現地時間)リリースのESR 52.6で57.0.4と同レベルの修正が掛かっている[35]。
デバイスドライバ
シスコ
シスコはルーター、アプライアンス製品やソフトウェアに脆弱性がある事を認めた[36]。
POWER
主要ベンダー・メーカー
その他の対象CPU組み込み製品
メーカー等の対応に依存する。
副作用
脚注
- ^ a b Greenberg, Andy (2018年1月3日). “A Critical Intel Flaw Breaks Basic Security for Most Computers”. Wired. 2018年1月3日時点のオリジナルよりアーカイブ。2018年1月3日閲覧。
- ^ a b Bright, Peter (2018年1月5日). “Meltdown and Spectre: Here's what Intel, Apple, Microsoft, others are doing about it”. Ars Technica. 2018年1月6日閲覧。
- ^ a b Staff (2018年). “Meltdown and Spectre”. Graz University of Technology. 2018年1月3日時点のオリジナルよりアーカイブ。2018年1月3日閲覧。
- ^ a b Metz, Cade; Perlroth, Nicole (2018年1月3日). “Researchers Discover Two Major Flaws in the World's Computers” (英語). The New York Times. ISSN 0362-4331. オリジナルの2018年1月3日時点におけるアーカイブ。 2018年1月3日閲覧。
- ^ a b Warren, Tom (2018年1月3日). “Intel's processors have a security bug and the fix could slow down PCs”. The Verge. オリジナルの2018年1月3日時点におけるアーカイブ。 2018年1月3日閲覧。
- ^ a b c “NVIDIA、CPUの脆弱性対応でドライバのアップデート公開 GPUは影響受けず”. ITmedia エンタープライズ (2018年1月11日). 2025年2月20日閲覧。
- ^ Mozilla Foundation Security Advisory 2018-01
- ^ https://www.theregister.co.uk/2018/01/04/intel_amd_arm_cpu_vulnerability/ Meltdown, Spectre: The password theft bugs at the heart of Intel CPUs, the Register, 2018-01-04.
- ^ Chromium Security, Site Isolation, chromium.org, accessed: 2018-01-08.
- ^ a b Chromium Security, Actions Required to Mitigate Speculative Side-Channel Attack Techniques, chromium.org, accessed 2018-01-08.
- ^ “JVNVU#97971879:投機的実行機能を持つ CPU に対するキャッシュサイドチャネル攻撃”. Japan Vulnerability Notes (2018年5月22日). 2018年6月15日閲覧。
- ^ Hideto Tarui (2018年5月22日). “セキュリティ>脆弱性>Windows>“Spectre”脆弱性の新しい亜種、各ベンダーが一斉に製品への影響と回避策を案内”. 窓の杜. 2025年2月20日閲覧。
- ^ https://spectreattack.com/#faq-why-spectre
- ^ https://googleprojectzero.blogspot.jp/2018/01/reading-privileged-memory-with-side.html
- ^ https://spectreattack.com/spectre.pdf section 4
- ^ a b c d e https://googleprojectzero.blogspot.jp/2018/01/reading-privileged-memory-with-side.html Variant 1: Bounds check bypass/Theoretical explanation
- ^ https://spectreattack.com/spectre.pdf section 5
- ^ https://googleprojectzero.blogspot.jp/2018/01/reading-privileged-memory-with-side.html Variant 2: Branch target injection
- ^ https://www.amd.com/en/corporate/speculative-execution
- ^ http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20180101/513630.html
- ^ https://blog.mozilla.org/security/2018/01/03/mitigations-landing-new-class-timing-attack/
- ^ https://spectreattack.com/#faq-antivirus
- ^ 2018年3月時点ニュースリリース:https://newsroom.intel.com/wp-content/uploads/sites/11/2018/03/microcode-update-guidance.pdf
- ^ http://tech.nikkeibp.co.jp/it/atcl/idg/14/481542/040600489/
- ^ https://gigazine.net/news/20180405-intel-abandon-old-cpu/
- ^ https://www.itmedia.co.jp/enterprise/articles/1804/06/news062.html
- ^ https://www.androidauthority.com/meltdown-spectre-kpti-827527/
- ^ https://www.raspberrypi.org/blog/why-raspberry-pi-isnt-vulnerable-to-spectre-or-meltdown/
- ^ a b https://news.mynavi.jp/techplus/article/20180109-meltdown_sol/
- ^ https://source.android.com/security/bulletin/2018-01-01
- ^ https://www.gizmodo.jp/2018/01/all-about-meltdown-and-spectre.html
- ^ https://blog.google/topics/google-cloud/what-google-cloud-g-suite-and-chrome-customers-need-know-about-industry-wide-cpu-vulnerability/
- ^ https://support.google.com/chrome/answer/7623121?hl=ja
- ^ https://www.mozilla.org/en-US/security/advisories/mfsa2018-01/
- ^ https://www.mozilla.org/en-US/firefox/52.6.0/releasenotes/
- ^ https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20180104-cpusidechannel
参考文献
- Ando, Hisa (2018年6月26日). “投機実行の隙を突くSpectre/Meltdownの仕組みを知る”. マイナビニュース. 2023年1月6日閲覧。
関連項目
- Meltdown - 同時に発表された別の脆弱性
外部リンク
- MeltdownとSpectre脆弱性の公式ウェブサイト
- Spectreの論文
- Google Project Zero の記事
- CVE-2017-5715(最新の各ベンダーの情報へのリンクが随時更新されている)
- CVE-2017-5753(最新の各ベンダーの情報へのリンクが随時更新されている)
Spectre
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/12 08:39 UTC 版)
Ryzenを含む今日のほぼ全ての高性能マイクロプロセッサで、新種の投機的実行に関する脆弱性「Spectre」の影響を受けることが判明している。この脆弱性はマイクロコードのアップデートやオペレーティングシステムの問題回避策により軽減することができるが、この方法ではパフォーマンスが低下する代償を負うことになる。AMDのプロセッサはMeltdown脆弱性に関連する回避策が不要なため、AMD RyzenやEpycはSpectre軽減策をとることによって負荷次第で0%から9%のパフォーマンスが低下するが、Intel CoreやXeonプロセッサでは50%を超える場合があることに比べれば優位である。 AMDは、2019年に発売する"Zen 2"でハードウェアの修正を含んでいることを発表した。
※この「Spectre」の解説は、「Ryzen」の解説の一部です。
「Spectre」を含む「Ryzen」の記事については、「Ryzen」の概要を参照ください。
- SPECTREのページへのリンク