Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
spectre-attack-demo — 公開された"Spectre"脆弱性 (CVE-2017-5753 および CVE-2017-5715) の利用例 | Kitploit
ツール/GitHubGitHub/pedrolucasoliva/spectre-attack-demo
脆弱性分析エクスプロイト暗号化ハードウェアセキュリティ学習と教育バイナリエクスプロイト
GitHubpedrolucasoliva/spectre-attack-demo

spectre-attack-demo

公開された"Spectre"脆弱性 (CVE-2017-5753 および CVE-2017-5715) の利用例

リポジトリを見る
118年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Spectre攻撃の例

2018年1月2日に公開された「Spectre」エクスプロイトの使用例(CVE-2017-5753 および CVE-2017-5715)

Spectreは異なるアプリケーション間の隔離を破ります。これにより攻撃者は、ベストプラクティスに従ったエラーのないプログラムを欺いて、秘密を漏洩させることができます。実際、そのベストプラクティスの安全性チェックは攻撃対象領域を増やし、アプリケーションをSpectreに対してより脆弱にする可能性があります。

  • Spectre paper - Spectre論文とコードソース

言語

C言語、使用ライブラリ:

  • stdio.h
  • stdlib.h
  • stdint.h
  • intrin.h - rdtscpとclflush用

この例の動作

メモリにテキスト「The Magic Words are Squeamish Ossifrage.」を配置し、エクスプロイトを使ってそれを読み取ろうとします。システムが脆弱であれば、出力に同じテキストがメモリから読み取られた状態で表示されます。


このコードでは、victim_function() 内のコンパイル済み命令が厳密なプログラム順序で実行されていた場合、array1のサイズが16であるため、関数は array1[0..15] からのみ読み取ります。しかし、投機的に実行された場合、範囲外読み取りが可能になります。readMemoryByte() 関数は victim_function() を数回トレーニング呼び出しして、分岐予測子にxの有効な値を期待させ、その後範囲外のxで呼び出します。条件付き分岐が予測を誤り、その後の投機的実行が範囲外のxを使って秘密のバイトを読み取ります。投機的コードは次に array2[array1[x] * 512] から読み取り、array1[x] の値をキャッシュ状態に漏洩させます。攻撃を完了するために、単純なflush+probeを使用して、array2 内のどのキャッシュラインがロードされたかを特定し、メモリ内容を明らかにします。攻撃は複数回繰り返されるため、ターゲットバイトが最初はキャッシュされていなくても、最初の反復でキャッシュに持ち込まれます。

最適化されていないコードは、i7 Surface Pro 3上で約10KB/秒の読み取り速度です。

ソース

  • Spectre exploits info
  • CVE-2017-5753 - バリアント1: 境界チェックのバイパス
  • CVE-2017-5715 - バリアント2: ブランチターゲットインジェクション
  • Intel affected CPUs list
ツールをダウンロード