MediaTek プロセッサの重大な欠陥は、OEM の怠慢によりデバイスにパッチが適用されないままでした。 Google は、2020 年 3 月の Android セキュリティ情報でこの問題が修正されることを期待しています。
毎月第 1 月曜日に、Google は Android セキュリティ速報、Google 自身または他のサードパーティによって提出されたすべてのセキュリティ脆弱性とそのパッチを公開するページ。 今日も例外ではありませんでした。Google は、2020 年 3 月の Android セキュリティ情報を公開したばかりです。 最新のセキュリティ情報で文書化されている脆弱性の 1 つは CVE-2020-0069 です。これは重大なセキュリティ エクスプロイトであり、特に ルートキット、台湾の大手チップ設計会社 MediaTek のチップセットを搭載した数百万台のデバイスに影響します。 2020 年 3 月の Android セキュリティ情報は、CVE-2020-0069 が初めて公開されたものと思われますが、 このエクスプロイトの詳細は、実際には 4 月以来、インターネット上、具体的には XDA-Developers フォーラム上に公然と公開されています。 2019年の。 MediaTek は発見から 1 か月後にパッチを公開しましたが、この脆弱性は依然として数十のデバイス モデルで悪用可能です。 さらに悪いことに、この脆弱性はハッカーによって積極的に悪用されています。 MediaTek は現在、このパッチのギャップを埋め、この重大なセキュリティ攻撃から数百万台のデバイスを保護するために Google に頼ることにしました。
よく知らない読者のために XDA-開発者, 私たちは、Android ソフトウェアの変更に関する最大のフォーラムの本拠地であるサイトです。 通常、これらの変更は、ブロートウェアの削除、カスタム ソフトウェアのインストール、またはデフォルトのシステム パラメーターの調整を行うために、デバイス上で root アクセスを取得することが中心となります。 Amazon の Fire タブレットは、私たちのフォーラムで趣味のハッカーの人気の標的になっています。アンインストール可能なものがたくさんあります。 ブロートウェア、Google Play ストアのような基本的なソフトウェア アプリケーションにアクセスできない、そして最も重要なことに、 安い。 Amazon Fire タブレットを root 化する際の課題は、ユーザーが Amazon の壁に囲まれた庭から出られないよう厳重にロックダウンされていることです。 Amazon は、Fire タブレットのブートローダーのロックを解除する公式の方法を提供していません。これは通常、特定の Android デバイスを root 化する最初のステップです。 したがって、(ハードウェアを変更せずに) Amazon Fire タブレットを root 化する唯一の方法は、ユーザーが Android のセキュリティ モデルをバイパスできるようにするソフトウェア内のエクスプロイトを見つけることです。 2019 年 2 月の時点では、
まさにXDA上級会員の外交官がやったこと 彼が Amazon Fire タブレットのフォーラムにスレッドを公開したときのことです。 彼は、このエクスプロイトの範囲が単なる Amazon の Fire タブレットよりもはるかに広いことにすぐに気づきました。XDA メンバーの外交官や他のコミュニティ メンバーによるちょっとしたテストの結果、このエクスプロイトが多数の MediaTek チップで動作することが確認されました。 著者は、このエクスプロイトは「事実上、MediaTek の 64 ビット チップすべて」で動作すると述べており、具体的には MT6735、MT6737、MT6738、 MT6739、MT6750、MT6753、MT6755、MT6757、MT6758、MT6761、MT6762、MT6763、MT6765、MT6771、MT6779、MT6795、MT6797、MT6799、MT8163、MT8167、MT8 173、MT8176、MT8183、MT6580、および MT6595。 このエクスプロイトの影響を受ける MediaTek チップセットの数に応じて、このエクスプロイトには「MediaTek-su」、略して「MTK-su」という名前が付けられました。 2019 年 4 月 17 日、外交は「」というタイトルの 2 番目のスレッドを公開しました。MediaTek ARMv8 の素晴らしい一時ルート「その他の Android 開発」フォーラムで。 このスレッドで、彼は、ユーザーがシェルでスーパーユーザー アクセスを許可するために実行できるスクリプトを共有しました。 SELinux、プロセスのアクセス制御を提供する Linux カーネル モジュールで、安全性の高い「寛容な」 州。 ユーザーが root アクセスを取得し、SELinux を自分のデバイスで許可するように設定することは驚くほど簡単です。必要なのは、 スクリプトを一時フォルダーにコピーし、スクリプトが保存されているディレクトリに変更し、スクリプトに実行権限を追加して、 脚本。
XDA コミュニティのメンバーは、このエクスプロイトが少なくとも次のデバイスで機能することを確認しました。
- エイサー アイコニア ワン 10 B3-A30
- エイサー アイコニア ワン 10 B3-A40
- アルバタブレットシリーズ
- アルカテル1 5033シリーズ
- アルカテル 1C
- アルカテル 3L (2018) 5034 シリーズ
- アルカテル 3T 8
- アルカテル A5 LED 5085 シリーズ
- アルカテル A30 5049 シリーズ
- アルカテルアイドル5
- アルカテル/TCL A1 A501DL
- アルカテル/TCL LX A502DL
- アルカテル テトラ 5041C
- Amazon Fire 7 2019 -- Fire OS 6.3.1.2 ビルド 0002517050244 までのみ
- Amazon Fire HD 8 2016 -- Fire OS 5.3.6.4 ビルド 626533320 までのみ
- Amazon Fire HD 8 2017 -- Fire OS 5.6.4.0 ビルド 636558520 までのみ
- Amazon Fire HD 8 2018 -- Fire OS 6.3.0.1 までのみ
- Amazon Fire HD 10 2017 -- Fire OS 5.6.4.0 ビルド 636558520 までのみ
- Amazon Fire HD 10 2019 -- Fire OS 7.3.1.0 までのみ
- Amazon Fire TV 2 -- Fire OS 5.2.6.9 までのみ
- ASUS ZenFone Max Plus X018D
- ASUS ZenPad 3s 10 Z500M
- ASUS ZenPad Z3xxM(F) MT8163ベースシリーズ
- Barnes & Noble NOOK タブレット 7 インチ BNTV450 & BNTV460
- Barnes & Noble NOOK タブレット 10.1 インチ BNTV650
- ブラックビュー A8 マックス
- Blackview BV9600 Pro (Helio P60)
- BLUライフマックス
- BLU ライフワン X
- BLU R1シリーズ
- ブルーR2LTE
- ブルーS1
- BLU タンク エクストリーム プロ
- BLU ヴィボ 8L
- BLU ヴィボ XI
- BLU ヴィボ XL4
- ブルーブーS8
- BQ アクアリス M8
- CAT S41
- クールパッド クールプレイ 8 ライト
- ドラゴンタッチ K10
- エコーフィーリング
- ギオニー M7
- ハイセンス インフィニティ H12 ライト
- ファーウェイ GR3 TAG-L21
- ファーウェイY5II
- Huawei Y6II MT6735シリーズ
- ラヴァアイリス 88S
- レノボC2シリーズ
- レノボ タブ E8
- レノボ Tab2 A10-70F
- LG K8+ (2018) X210ULMA (MTK)
- LG K10 (2017)
- LGトリビュートダイナスティ
- LG Xパワー2/M320シリーズ(MTK)
- LG Xpression Plus 2/K40 LMX420シリーズ
- ルミゴン T3
- メイズ M5c
- メイズM6
- Meizu プロ 7 プラス
- ノキア1
- ノキア 1 プラス
- ノキア3
- ノキア 3.1
- ノキア 3.1 プラス
- ノキア 5.1
- ノキア 5.1 プラス/X5
- 7 インチ Android タブレットに搭載
- Onn 8 インチ & 10 インチ タブレット シリーズ (MT8163)
- OPPO A5s
- OPPO F5 シリーズ/A73 -- Android 8.x のみ
- OPPO F7 シリーズ -- Android 8.x のみ
- OPPO F9 シリーズ -- Android 8.x のみ
- オウキテル K12
- まさかのD7
- レルム 1
- ソニー エクスペリア C4
- ソニー Xperia C5シリーズ
- ソニー エクスペリア L1
- ソニー エクスペリア L3
- ソニー Xperia XAシリーズ
- ソニー Xperia XA1シリーズ
- サザンテレコム Smartab ST1009X (MT8167)
- テクノスパーク3シリーズ
- Umidigi F1シリーズ
- 海デジパワー
- ウィコライド
- ウィコ・サニー
- ウィコビュー3
- Xiaomi Redmi 6/6Aシリーズ
- ZTE ブレード A530
- ZTE ブレード D6/V6
- ZTE クエスト 5 Z3351S
続きを読む
Vivo、Huawei/Honor (Android 8.0 以降)、OPPO (Android 8.0 以降)、および Samsung と XDA コミュニティのメンバーは、影響を受けるデバイスで MediaTek-su を試みると、頻繁に動作することを発見しました。 チップセット。 XDA メンバーの外交関係者によると、Vivo、Huawei/Honor、OPPO、Samsung デバイスは「カーネルの変更を使用して、ルート アクセスを阻止している」 これは、開発者がこれらのデバイスのカーネル ソース コードを詳しく調べて、その「調整されたバージョン」を作成する必要があることを意味します。 悪用する。 これには追加の労力を費やす価値がなかったため、開発者は、たとえ「理論上は」エクスプロイトがまだ機能する可能性があるにもかかわらず、これらのデバイスのサポートを追加しないことを選択しました。
このエクスプロイトが市場の多数のデバイスに影響を与えることは、もう明らかになっています。 MediaTek チップは、数百もの低価格および中価格帯のスマートフォン モデル、安価なタブレット、およびブランド外製品に搭載されています セットトップ ボックスのほとんどは、メーカーからのタイムリーなアップデートを期待せずに販売されています。 そのため、MediaTek-su の影響を依然として受けている多くのデバイスは、たとえ修正版が提供されたとしても、今日の公開後、数週間または数か月は修正版を入手できない可能性があります。 では、MediaTek-su が「緊急」の重大度を獲得する理由は何でしょうか。 CVSS v3.0 スコア9.3?
MTK-su が重大なセキュリティ脆弱性である理由
繰り返しになりますが、Android デバイスで root アクセスを実現する一般的な方法は、まずブートローダーのロックを解除し、ブート パーティションの検証を無効にすることです。 ブートローダーのロックが解除されると、ユーザーはシステムにスーパーユーザー バイナリを導入できるほか、どのプロセスがルートにアクセスできるかを制御するスーパーユーザー管理アプリも導入できます。 ブートローダーのロックを解除すると、デバイス上の主要なセキュリティ機能の 1 つが意図的に無効になるため、ユーザーは次のことを行う必要があります。 通常、開発者向けオプションでトグルを有効にしてからロック解除コマンドを発行することで、その発生を明示的に許可します。 ブートローダー。 ただし、MediaTek-su を使用すると、ユーザーはルート アクセスを取得するためにブートローダーのロックを解除する必要がありません。 代わりに、スクリプトをデバイスにコピーしてシェルで実行するだけです。 ただし、これを実行できるのはユーザーだけではありません。 携帯電話上のどのアプリでも MediaTek-su スクリプトをプライベート ディレクトリにコピーし、それを実行してシェルで root アクセスを取得できます。 実際、XDA メンバーの外交官は、 この可能性を強調する フォーラムのスレッドで、 Android アプリ用ターミナル エミュレーター または テルマックス ADBではなく。
root アクセスがあると、Android のセキュリティ モデルは基本的に崩壊します。 たとえば、root シェルにアクセスできるアプリは、必要なあらゆる権限を自分自身に付与できるため、root のコンテキストでは権限は無意味になります。 さらに、ルート シェルを使用すると、通常はアクセスできないアプリケーションのプライベート データ ディレクトリに保存されているファイルを含む、データ パーティション全体にアクセスできます。 root を持つアプリは、必要な他のアプリをバックグラウンドでサイレントにインストールし、プライバシーを侵害するために必要な権限をそれらのアプリに付与することもできます。 XDA 認定開発者によると トップジョンウ、悪意のあるアプリは「ptrace を使用して Zygote にコードを直接挿入」することもできます。これは、デバイス上の通常のアプリが攻撃者の命令に従ってハイジャックされる可能性があることを意味します。 これらの例では、アプリがユーザーの知らないうちにバックグラウンドでユーザーの信頼を侵害する可能性があるいくつかの方法についてのみ触れています。 ただし、悪意のあるアプリは、その動作を隠さずにデバイスに大損害を与える可能性があります。 たとえばランサムウェアは、 非常に root アクセスによる強力な機能。 料金を支払わないと、架空のランサムウェア アプリが侵入する可能性があります。 完全かつ不可逆的に デバイス全体をきれいに拭いて、デバイスを動作不能にします。
MediaTek-su の唯一の「弱点」は、アプリケーションに「一時的な」ルート アクセスしか許可しないことです。これは、デバイスの再起動後にプロセスがスーパーユーザー アクセスを失うことを意味します。 さらに、Android 6.0 Marshmallow 以降を実行しているデバイスでは、 検証済みブートと dm-verity システムやベンダーなどの読み取り専用パーティションへの変更をブロックします。 ただし、これら 2 つの要素は、ほとんどの場合、悪意のある攻撃者ではなく、フォーラムの Modder にとって単なる障害です。 一時ルートの制限を克服するために、悪意のあるアプリは起動するたびに MediaTek-su スクリプトを再実行するだけで済みます。 一方で、システムまたはベンダー パーティションへの永続的な変更はほとんどのマルウェア作成者にとって関心が低いため、dm-verity を克服する必要はほとんどありません。 結局のところ、すでに存在しています トン 悪意のあるアプリが root シェルで実行できることの一部を示します。
MediaTek-su が何を悪用しているのか技術レベルで知りたい場合は、MediaTek がエントリー ポイントをまとめた以下の表を共有してくれました。 この欠陥は明らかに、「CMDQ」と呼ばれる MediaTek の Linux カーネル ドライバの 1 つに存在します。 説明には「IOCTLを実行することで、 [CMDQ デバイス ノードでコマンドを実行すると、ローカル攻撃者は物理メモリを任意に読み書きし、カーネル シンボル テーブルを 事前に割り当てられた DMA バッファ、[および] DMA バッファを操作してカーネル設定を変更し、SELinux を無効にし、「root」にエスカレーションします。 特権。"
MediaTek が共有した表によると、この脆弱性は、Android バージョン 7 Nougat、8 Oreo、または 9 Pie を実行する Linux カーネル バージョン 3.18、4.4、4.9、または 4.14 を搭載した MediaTek デバイスに影響します。 Android 10 を実行している MediaTek デバイスでは、明らかに「CMDQ のアクセス許可が存在しないため、この脆弱性は悪用できません」 デバイス ノードも SELinux によって強制されます。」 この軽減策は、Android からではなく、MediaTek の BSP へのアップデートによってもたらされる可能性があります。 自体。 Android 10 のこの脆弱性に対する唯一の緩和策は、 ホームディレクトリでバイナリを実行するアプリの制限; ただし、XDA 認定開発者である topjohnwu 氏が指摘しているように、悪意のあるアプリは動的ライブラリ内の MediaTek-su コードを実行するだけで済みます。
MediaTek は、影響を受けるすべてのチップセットでこの問題にパッチを適用しましたが、デバイス メーカーにパッチの実装を強制することはできません。 MediaTek は、2019 年 5 月の時点からパッチの準備ができていたと語った。 当然のことながら、Amazon はこの問題を認識すると、すぐに自社のデバイス全体にパッチを適用しました。 ただし、MediaTek がパートナーに修正プログラムを提供してから 10 か月が経過しましたが、まだ 2020 年 3 月、数十の OEM がデバイスを修正していない. 影響を受けるデバイスのほとんどは、Android セキュリティ パッチ レベル (SPL) が古い古い Android リリースを搭載しており、アップデートの状況を考慮するとさらに悪化します。 何百もの これらの MediaTek チップを使用する、あまり知られていないデバイス モデルの例。 メディアテックには、 深刻な ここではこの問題を抱えているため、Google に助けを求めました。
MediaTek とは異なり、Google できる OEM にデバイスの更新を強制する ライセンス契約 またはプログラム規約 (Android One など)。 OEM がデバイスが 2020-03-05 セキュリティ パッチ レベル (SPL) に準拠していると宣言するには、デバイスにすべてのフレームワークが含まれている必要があります。 Linux カーネル、および 2020 年 3 月の Android セキュリティ情報にある該当するベンダー ドライバーの修正 (CVE-2020-0069 の修正が含まれています)、または メディアテクス。 (Googleは実際にはそれを強制していないようです) OEM は実際にすべてのパッチをマージします ただし、特定の SPL を宣言する場合は除きます。) 2020 年 3 月の速報が公開されたので、この話は終わったはずですよね? 残念ながら、パッチの導入に足を引っ張っている Google にも火をつけなければなりません。
セキュリティパッチプロセスの欠陥
まだ明確でない場合のために説明しますが、すべてのセキュリティ脆弱性を Android セキュリティ情報に掲載する必要はありません。 多くの脆弱性は、月次報告書に掲載されることなく、ベンダーによって発見され、パッチが適用されます。 MediaTek-su もその 1 つであるはずでしたが、さまざまな理由により、いくつかの OEM が MediaTek が提供するパッチを統合できませんでした。 (リソース不足からビジネス上の意思決定、コミュニケーションの失敗に至るまで、潜在的な理由はたくさんあります。) MediaTek が「Google に助けを求めた」と述べたが、これは MediaTek が OEM に最終的に問題を修正してもらうために Google に積極的に支援を求めたことを暗示している。 デバイス。 しかし、実際にはそうではなかったのかもしれません。 私の理解では、Google は MediaTek-su のことを、Google のセキュリティ レポートで偶然取り上げられるまで知らなかったと理解しています。 トレンドマイクロ 2020年1月6日に公開されました。 報告書では、 トレンドマイクロ 文書化していました 別の 「」と呼ばれるセキュリティ上の脆弱性バインダードライバーでの解放後の使用「この脆弱性は、実際に活発に悪用されていました。 トレンドマイクロ 3 つの悪意のあるアプリが、「バインダー ドライバーでの解放後の使用」脆弱性または MediaTek-su の 2 つの方法のいずれかを使用してどのようにルート アクセスを取得したかを指摘しました。
コードでは、 トレンドマイクロ 共有すると、悪意のあるアプリがどのように特定のデバイス モデルをターゲットにしていたのかが明確にわかります (例: Nokia 3、OPPO F9、Redmi 6A) に MediaTek-su を採用しています。
話すことはできません トレンドマイクロ, しかし、MediaTek-su がまだパッチが適用されていないエクスプロイトであることは知らなかったようです。 結局のところ、彼らの焦点は「バインダードライバーでの解放後の使用」エクスプロイトにあり、MediaTek-su の使用の発見は後回しだったようです。 (もしそうなら トレンドマイクロ MediaTek-su を取り巻く状況を認識していれば、Google と情報開示の取り組みを調整していたでしょう。) このエクスプロイトは 2020 年 2 月 5 日に私たち自身で発見され、それがどれほど悪質かを自分たちで調査した後、2 月 7 日に Google に連絡しました。 2020. Google は、MediaTek-su を公開することによる影響を非常に懸念していたので、今日までこの記事の公開を保留するよう私たちに依頼しました。 マルウェアの標的となったユーザーに取り返しのつかない損害を与える可能性があることを考慮した結果、 MediaTek-su、私たちは 2020 年 3 月の Android の発表までこの話を保留することに同意しました。 セキュリティ速報。 それでも、最新のセキュリティ アップデートが提供された場合、多くのデバイスがそれを入手するまでにどれくらいの時間がかかるかを考えると、 それはわかりますが、数か月後も MediaTek-su に対して脆弱なデバイスが大量に存在するはずです。 今。 これは、脆弱なデバイスを使用している人にとっては恐ろしいことです。
この非常に深刻な「クリティカル」の重大度の脆弱性が実際に悪用されているにもかかわらず、Google だけが悪用されています。 この問題の修正は、2020 年 3 月のセキュリティ情報に組み込まれています。これは、この問題が認識されてから約 2 か月後です。 問題。 Google は、最新の Android セキュリティ情報を公開する 30 日前までに Android パートナーに最新の Android セキュリティ情報を通知します。 OEM は、2020 年 3 月のセキュリティ情報の内容を 2020 年 2 月初旬に認識していました)、Google は変更や新しい修正を加えてセキュリティ情報を更新できますし、頻繁に更新しています。 特に MediaTek が 10 か月前にこの問題を修正していたにもかかわらず、なぜ Google がこのような深刻な問題に対するパッチの適用を急ぐことを選択しなかったのか、私には理解できません。 もしそのようなバグが Apple のデバイスで発見されたとしたら、彼らは修正プログラムを発行しただろうと私はほとんど疑いません。 ずっとずっと速い. Googleは基本的に、MediaTek-suが2020年3月の速報まではこれまでと同様に目立たないままでいるだろうという危険な賭けに賭けた。 この点では Google は幸運に恵まれたようですが、何人のマルウェア作成者がこのエクスプロイトについてすでに知っているかはわかりません。 結局のところ、それはランダムな XDA フォーラムのスレッドに放置されています。 ほぼ一年中.
この大失敗にはもう 1 つの当事者がいますが、これまであまり取り上げてきませんでした。それはエクスプロイトの作成者である XDA メンバーの外交官です。 彼の名誉のために言っておきますが、私は彼が MediaTek-su を出版することに悪意があったとは思いません。 このエクスプロイトの起源を明らかに追跡できるのは、Amazon Fire タブレットを改造したいという外交官の願望です。 Diplomatic 氏によると、このルート メソッドを開発した彼の主な目的はコミュニティを支援することでした。 デバイスをカスタマイズすることが XDA のすべてであり、コミュニティでの外交官の取り組みが人々がフォーラムで楽しんでいる点です。 外交官がこのプロジェクトのオープンソース化を拒否したことはいくつかの懸念を引き起こしますが、コミュニティにルートアクセス権をできるだけ長く楽しんでもらいたかったと彼は説明します。 私が最初に外交官に連絡したとき、彼はまた、一部のパートナーと協力しているため、プロジェクトのソースコードと研究を共有することができないとも述べました。 このコラボレーションに関する詳細は得られませんでしたが、もし MediaTek がバグ報奨金プログラムを提供していたら、外交官はこのエクスプロイトを公開することを選択しただろうかと疑問に思います。 MediaTek が実際にそのようなプログラムを持っていたとしても、この規模の脆弱性によって多額の金銭が支払われないとは考えられません。 Diplomatic は、このエクスプロイトは 2015 年後半の MediaTek MT6580 チップセットから可能になったと主張しているため、Diplomatic がこのエクスプロイトを最初に発見した人物なのかどうか疑問に思う必要があります。 彼は、この記事が公開されるまで、MediaTek-su が積極的に悪用されていたとは知らなかったと私に言いました。
デバイスが MediaTek-su に対して脆弱かどうかを確認したい場合は、XDA メンバーの外交官が投稿したスクリプトを手動で実行してください。 この XDA フォーラムのスレッドで. ルート シェルに入ると (記号が $ から # に変わるとわかります)、エクスプロイトが機能することがわかります。 それが機能する場合は、デバイスのメーカーが MediaTek-su にパッチを適用するアップデートを公開するまで待つ必要があります。 お使いのデバイスが 2020 年 3 月の最新 SPL である 2020-03-05 のセキュリティ パッチ レベルを報告している場合、そのデバイスはほぼ確実に MediaTek-su から保護されています。 それ以外の場合は、デバイスに脆弱性があるかどうかを確認するだけで済みます。
アップデート 1 (2020 年 3 月 2 日 @ 9:45 PM EST): この記事は、XDA メンバーの外交官が実際にこの脆弱性の範囲を知っていたことを明確にするために更新されました。 彼はこのエクスプロイトを 2019 年 2 月に発見しましたが、このエクスプロイトが公開されるまで、このエクスプロイトが実際に使用されていることを知りませんでした。 記事。 また、外交当局がプロジェクトのソースコードの共有を拒否した理由の 1 つに関する表現も修正しました。