web-dev-qa-db-ja.com

「ThinkPwn」の脆弱性とは何ですか?攻撃者はこれをどのように行うことができますか?

最近、ThinkPwnファームウェアの脆弱性が公開されました 概念実証 および かなり長い説明 。しかし、攻撃者がこれを実行できるようにするために、(ファームウェアの動作に関する広範な知識を必要とせずに)簡単な言葉で誰かが説明できますか?

また、この脆弱性も HP Pavillonコンピューターに存在する と他の多くの可能性があるようですが、これらのマシンにはファームウェアのシグネチャチェックが搭載されていないようです。そのため、保護された領域を上書きするためにこのエクスプロイトを必要とせずに、悪意のあるファームウェアをすでに作成している可能性があります。

13
André Borie

簡単に言えば、要求どおり、この脆弱性は特権昇格攻撃の特定のケースに単純に要約できると思います。それは同じように続き、同じ目標を追求します(そしてSMMに対するそのような攻撃は新しいものではありません。他の2つの出来事が 2008 および 2015 のBlack Hatカンファレンスで発表されました) 。

仕組み:より高い権限で実行されているソフトウェアに任意のコードを挿入することで機能します。ここでの独創性は、脆弱なソフトウェアがOSの内部ではなくファームウェアの中で実行されることです。

それが達成すること:いくつかの目的のために特権昇格を行うことができます:

  • アクセスできないデータにアクセスします。たとえば、Windows 10は virtualization-based テクノロジーに依存しており、OS全体から一部の認証情報を保存しているようです。このエクスプロイトは、さらに高い特権レベルを提供するため、そのような保護されたすべてのデータへのアクセスを許可します。
  • 低い特権のコードから身を隠す。すべてのウイルス対策ソリューションは、OSカーネル特権レベルで最高の状態で実行されています。このレベルを超えると、従来の方法では検出できない、さらに細かいソフトウェアを作成できます。
  • その他の許可されていないアクションを実行します。ここでも下位層で可能なすべてのアクションが可能ですが、OSよりも優先されるという利点があります(たとえば、非表示のネットワークサービスをインストールできるため、OSは決して実行されません)そのようなバックドアによって送受信されたパケットを認識してください)。新しいアクションも可能になる可能性がありますが、ほとんどの場合、プラットフォームに依存します。最終的に得られるのは、ある種の悪意のあるバージョンの Intel's Management Engine です。唯一の制限は、コードがプラットフォームのメインCPUにバインドされていることです。たとえば、
    • mayマシンがオフになっている間は実行できない(ただし、マシンがスリープ状態になっている場合、wake-on-lanなどの機能を有効にしている場合、またはバックドアそのような機能を有効にするか、またはそれはシミュレートされたもので本物の電源オフを置き換えました)、
    • may TPM内部プロセッサのような他のプロセッサにはアクセスしません。ただし、ARMのTrustZone(特にAndroidで使用される)の場合のようにTPMチップがメインCPUで実際にエミュレートされている場合、または信頼レベルが取得すると、OSで利用できない新しい通信チャネルへのアクセスが開かれます。
4
WhiteWinterWolf

これにより攻撃者は何ができますか?

これにより、攻撃者はシステム管理モード(SMM)(x86プロセッサの非常に特権的な実行モード)で任意のコードを実行できます。このモードは、オペレーティングシステム(OS)に対して透過的であり、他のどのモードよりも特権的です。攻撃者がSMMでコードを実行できる場合、それは基本的にプラットフォーム/コンピューターを所有します(OSのカーネル内の他のルートキットよりも強力です)。

このような脆弱性には要件があることに注意してください。システム管理割り込み(SMI)をトリガーしてエクスプロイトを実行するには、カーネル権限が必要です。

攻撃者には2つのアプローチがあります。

  • ファームウェアフラッシュストレージを上書きし、起動時に一部のセキュリティ機能を無効にすることができます。そうすれば、ハードディスクの内容を消去したり、別のハードディスクを購入したりしても、問題なくOSを再感染させることができます。さらに、マルウェアを検出またはファームウェアから削除することは、コンピューターで実行される初期のコードの1つを制御するため、困難な作業になります。ただし、Trusted Platform Module(TPM)チップを使用して測定されたブートは、ファームウェアフラッシュの変更を検出し、行われた測定(暗号化ハッシュ)が本物ではないため、ブート時に一部のセキュリティ機能が無効になります。このような検出は、測定されたブートプロセスがベンダーによって適切に実装されている場合に可能です。測定プロセスは、次のコンポーネントを測定する最初のコンポーネントが信頼される信頼のコアルートに依存しています。したがって、この最初のコンポーネントがフラッシュに含まれるファームウェアである場合、攻撃者は検出されずに測定値を偽ることができます。
  • ステルス性があり、フラッシュを変更せずに、SMRAMにあるSMMで実行されるコードを上書きするだけです。このようにして、SMMで実行されるコードを制御し、OSの動作を監視または変更できます。ステルス性は、コンピュータを再起動した場合、フラッシュに攻撃の痕跡がないことから発生します(すべてがRAMにあったため)。ただし、多くのコンピューターはそれほど頻繁に再起動しないため(例:サーバー)、攻撃者はマシンを再感染させてマシンを制御する必要はありません。
6
Ronny