web-dev-qa-db-ja.com

Spectreとして知られている脆弱性を悪用する既知の攻撃はどれですか?

報告されたように 昨日 LinuxおよびWindowsカーネルは、「カーネルメモリリーク」に関連する脆弱性をクローズするために、まもなくセキュリティアップデートを受け取ります。

2017年の終わりにおそらく特定された設計上の欠陥が正確に何であるかは、一般の人々には不明です。しかし、いくつかの憶測があります。

リンクされた記事からの引用:

Intelのような最新のプロセッサは、投機的実行を実行します。 CPUコアは、内部パイプラインが従う命令で準備された状態を保つために、次に実行されるコードを推測し、フェッチして実行するために最善を尽くします。

AMDのソフトウェアエンジニアであるトムレンダッキーが上で示唆していたことから、IntelのCPUはセキュリティチェックを行わずにコードを投機的に実行しているように見えます。プロセッサが、通常はブロックされる命令(ユーザーモードからのカーネルメモリの読み取りなど)の実行を開始し、特権レベルのチェックが行われる前にその命令を完了するようにソフトウェアを作成できる可能性があります。

これにより、リング3レベルのユーザーコードがリング0レベルのカーネルデータを読み取ることができます。そしてそれは良くない。

この記事では、2017年半ばに公開された paper についても触れており、KASLRを倒す方法について説明しています。

私は個人的に、この方法または現在修正中の脆弱性を悪用する方法を利用する攻撃に遭遇していません。いずれかがあります?


更新:

Alexanderのコメントで述べたように、これらの脆弱性にはMeltdownおよびSpectreという名前が付けられています。

Meltdown 簡単に言うと、「最新のプロセッサでのアウトオブオーダー実行を悪用して、特権のないユーザー空間プログラムから任意のカーネルお​​よび物理メモリの場所を読み取る、新しいソフトウェアベースのサイドチャネル攻撃」です。リンクされた論文とGoogle Project ZeroのJann Hornによる この投稿 は、この脆弱性に関する頼りになるリソースです。

Spectre 攻撃は、正しいプログラムの実行中には発生せず、サイドチャネルを介して被害者の機密情報を敵に漏らす操作を投機的に実行するように被害者を誘導することを含みます。」この場合も、リンクされた論文と前述のGPZ投稿は頼りになるリソースのようです。

どちらの論文も、脆弱性を悪用する実用的な攻撃を提示しています。私のこれまでの理解では、スペクターに対する攻撃は、メルトダウンに対する攻撃よりも、影響が大きく、移植性が高いように思われます。議論のためにオープン
これが、この質問をSpectreにシフトし、次のように指定したい理由です。

Spectreとして知られている脆弱性を悪用する、Spectreペーパーまたは他のPoCで見られた攻撃以外に、既知の攻撃はありますか?

24
Tom K.

私が見たレポートから、これらの方法を使用した既知の攻撃(概念実証デモ以外)はありません。そうは言っても、誰かがこれらの問題を見つけられなかったことを確認する実際の方法はなく、攻撃に痕跡を残すことについては非常に慎重でした。さまざまな政府がこれらの方法について沈黙を守り、独自のサイバー機能を強化するためにそれらを使用したと思います。今後、脆弱なシステムに対してこれらの方法を悪用しようとする多くの人々がいると確信しています。

3
ScarySpider