Microcode Decryptor、Intelプロセッサのマイクロコードをデコードできるツール

のグループ uCodeチームのセキュリティ研究者がリリース プロジェクトのソースコードリリース マイクロコード復号化 これにより、名前が示すとおりのことを正確に実行できます。これは、XNUMXつのPythonスクリプトで構成され、GitHubで利用できるツールです。

マイクロコードデクリプター 一部のIntelプロセッサのマイクロコードをデコードできます GoldmontおよびGoldmontPlusマイクロアーキテクチャに基づくAtom、Pentium、Celeronなど、Intelが特定のプロセッサ機能を実装した方法や、さまざまな機能やセキュリティ修正を実装した方法を理解するなど、さまざまなシナリオへの扉を開きます。

開発されたレッドアンロック技術 2020年に同じ研究者によって 暗号化されたマイクロコードを抽出するために使用できます。 マイクロコードを解読する提案された可能性は、マイクロコードの内部構造とx86マシン命令を実装する方法を調査することを可能にします。 さらに、研究者は、ファームウェアの更新形式、暗号化アルゴリズム、およびマイクロコード(RC4)を保護するために使用されたキーを復元しました。

使用する暗号化キーを決定するには、 Intel TXEの脆弱性が、文書化されていないデバッグモードを有効にするために使用されました、研究者によってコードネーム「RedUnlock」。 デバッグモードでは、動作するマイクロコードを含むダンプをCPUから直接ロードし、そこからアルゴリズムとキーを抽出することができました。

マイクロコードデクリプター マイクロコードの解読のみが可能ですただし、マイクロコードの整合性はRSAアルゴリズムに基づくデジタル署名によってさらに検証されるため、変更することはできません。

Microcode Decryptorの開発がどのように可能であったかについては、00086年前、GoryachyとErmolovが、Intel SA-XNUMXとしてインデックス付けされた重大な脆弱性を発見し、チップに依存せずに選択したコードを実行できるようになったと述べています。カーネル。これには、IntelManagementEngineと呼ばれるサブシステムが含まれていました。

Intelはバグを修正してパッチをリリースしましたが、チップはいつでも以前のファームウェアバージョンにロールバックして悪用できるため、この脆弱性を効果的に取り除く方法はありません。

その後(XNUMXか月前)、XNUMX人の科学者がこの脆弱性を利用して、Intelチップに組み込まれたサービスモードにアクセスできるようになりました。映画「マトリックス」に賛同し、研究者たちは、以前は文書化されていなかったこのデバッガーにアクセスするためのツールに名前を付けました。ピル、それは研究者が通常は立ち入り禁止であるチップの内部の働きを体験することを可能にするからです。

インテルの広報担当者は次のように述べています。

ツールの可用性の結果として、「セキュリティリスクはないはずです」。 実際、同社は、より多くの人々がIntelのマイクロコードをレビューできるようにすることで、チップメーカーが将来さらに多くの脆弱性を特定するのに役立つ可能性があると述べた。 そうすることに成功した人にとって、それは潜在的にインテルのバグ報奨金プログラムを通していくらかのお金を稼ぐことを意味します。

「マイクロコードを分析する研究者の能力は、新しい脆弱性の発見を可能にする可能性があります。 このマイクロコードが公開されているため、問題が発見された場合に備えて、Intelは研究者にマイクロコードバグ報奨金プログラムへの参加を呼びかけています」と彼らは私たちに語った。

このツールの開発者は、次のようにコメントしています。

「CPUマイクロコードを読む機会は、IntelがIntel Trusted Execution Technology(TXT)などのテクノロジーを実装した方法や、MeltdownやSpectreなどの深刻な脆弱性を軽減した方法を理解するのに役立ちます。」

他の科学者の一人であるイェルモロフは、 ツールの可用性は意味することを追加しました その人々 これで、XuCodeを探索できます、マイクロコードアップデートとしてダウンロードされるIntelSGXの一部を実装するために使用される86ビットモードのx64コードバリアント。 SGXは、安全なメモリエンクレーブを作成するためのインテルのテクノロジーです。これらは、オペレーティングシステムやハイパーバイザーなど、他のプログラムやユーザーが干渉できない保護領域です。

XuCodeは非常に興味深いものです。SGXエンクレーブを管理するためのx86固有の命令は非常に複雑であるため、必要な操作を実行するXuCode命令のシーケンスに分割されます。

これらのXuCode命令は、いくつかの拡張機能を備えた86ビットx64アーキテクチャの標準であり、プロセッサによって通常のx86マイクロオペレーションに分解されます。 アプリケーションが高レベルのSGX命令を使用する場合、プロセッサはXuCodeにジャンプして動作することができます。

これらのXuCodeシーケンスはマイクロコードに保存され、上記のPythonスクリプトで抽出し、標準のx86リバースエンジニアリングキットで分析できるようになりました。

最後に あなたがそれについてもっと知りたいなら ツールについては、で詳細を確認できます。 次のリンク。


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:AB Internet Networks 2008 SL
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。