少し前 チェックポイントの研究者がリリースした日数 2021つの脆弱性(CVE-0661-2021、CVE-0662-2021、CVE-0663-XNUMX)を特定したというニュース MediaTek DSPチップのファームウェアでは、 また、MediaTek Audio HAL(CVE-2021-0673)のオーディオ処理レイヤーの脆弱性もあります。 脆弱性の悪用に成功した場合、攻撃者はAndroidプラットフォーム用の非特権アプリケーションからのユーザーの盗聴を組織化する可能性があります。
EN 2021、 MediaTekは約37%を占めています 専用チップの出荷台数 スマートフォンとSoC (他のデータによると、2021年の第43四半期には、スマートフォン用のDSPチップのメーカー間のMediaTekのシェアはXNUMX%でした)。
とりわけ、MediaTekDSPチップ Xiaomi、Oppo、Realme、Vivoの主力スマートフォンで使用されています。 Tensilica XtensaマイクロプロセッサをベースにしたMediaTekチップは、スマートフォンで使用され、音声、画像、ビデオ処理、拡張現実システムのコンピューティング、コンピュータビジョン、機械学習などの操作を実行したり、充電を高速に実装したりします。
DSPチップのリバースエンジニアリングファームウェア FreeRTOSプラットフォームに基づくMediaTekから ファームウェア側でコードを実行し、DSP操作を制御するさまざまな方法を明らかにしました Androidプラットフォーム用の非特権アプリケーションから特別に細工されたリクエストを送信する。
攻撃の実際的な例は、MediaTek MT9 SoC(Dimensity 5U)を搭載したXiaomi Redmi Note 6853Gで実証されました。 OEMは、MediaTekの800月のファームウェアアップデートですでに脆弱性の修正を受け取っていることに注意してください。
私たちの研究の目標は、AndroidオーディオDSPを攻撃する方法を見つけることです。 まず、アプリケーションプロセッサ(AP)で実行されているAndroidがオーディオプロセッサとどのように通信するかを理解する必要があります。 明らかに、Androidユーザースペースからのリクエストを待機し、何らかのプロセッサ間通信(IPC)を使用して、これらのリクエストをDSPに転送して処理するコントローラーが必要です。
テストデバイスとして、MT9(Dimensity 5U)チップセットをベースにしたルート化されたXiaomi Redmi Note 6853Gスマートフォンを使用しました。 オペレーティングシステムはMIUIGlobal 800(Android 12.5.2.0 RP11A.1)です。
デバイスに搭載されているメディア関連のドライバーはごくわずかであるため、APとDSP間の通信を担当するドライバーを見つけることは難しくありませんでした。
DSPチップのファームウェアレベルでコードを実行することによって実行される可能性のある攻撃の中には、次のものがあります。
- アクセス制御システムのバイパスと特権の昇格:写真、ビデオ、通話録音、マイクからのデータ、GPSなどのデータの非表示のキャプチャ。
- サービス拒否および悪意のあるアクション:情報へのアクセスをブロックし、急速充電中の過熱保護を無効にします。
- 悪意のあるアクティビティを非表示にする-ファームウェアレベルで実行される、完全に非表示で消えない悪意のあるコンポーネントを作成します。
- 画像や動画に微妙なタグを追加したり、投稿されたデータをユーザーにリンクしたりするなど、ユーザーをスパイするためのタグを付けます。
MediaTek Audio HALの脆弱性の詳細はまだ明らかにされていませんが、 しかしl他のXNUMXつの脆弱性として DSPファームウェアで IPIメッセージを処理するときの誤ったエッジチェックが原因です (プロセッサ間割り込み)audio_ipiオーディオドライバによってDSPに送信されます。
これらの問題により、ファームウェアによって提供されるハンドラーで制御されたバッファーオーバーフローが発生する可能性があります。この場合、共有メモリに割り当てられた実際のサイズを確認せずに、送信データのサイズに関する情報がIPIパケット内のフィールドから取得されます。 。
実験中にコントローラーにアクセスするには、通常のAndroidアプリからはアクセスできない直接ioctls呼び出しまたは/vendor/lib/hw/audio.primary.mt6853.soライブラリを使用します。 ただし、研究者は、サードパーティアプリケーションで利用可能なデバッグオプションの使用に基づいてコマンドを送信するソリューションを見つけました。
指定されたパラメーターは、Android AudioManagerサービスを呼び出して、DSPと対話するための呼び出しを提供するMediaTek Aurisys HALライブラリ(libfvaudio.so)を攻撃することで変更できます。 このソリューションをブロックするために、MediaTekはAudioManagerを介してPARAM_FILEコマンドを使用する機能を削除しました。
最後に あなたがそれについてもっと知りたいのなら、 詳細を確認できます 次のリンクで。