チャットのリンクを投稿してくれたAndrewTに感謝します。回答の 1つにこの研究論文が参考になりました。この回答は、このペーパー(2015年5月)に完全に基づいており、一般的なユーザーが理解できる側面を強調しています(関心のある人のためのセキュリティ関連の資料がたくさんあります)
回答: マルウェアの脆弱性がすべてです。ルートエクスプロイトを使用することは、大きなセキュリティリスクであり、他の利点よりも重要です
ソフトルートとハードルートとは何ですか?
マルウェアの脅威-一般的に
正当ではありますが、多くの便利なワンクリックルートメソッドは、Androidシステムの脆弱性を悪用して動作します。慎重に制御されない場合、そのようなエクスプロイトはマルウェア作者によって悪用され、不正なルート権限を取得する可能性があります。
Android Malware Genome Project で説明されているように、 36.7%(1260)のマルウェアサンプルに少なくとも1つのルートエクスプロイトが埋め込まれていました。
これらの巧妙に設計されたエクスプロイトは十分に保護されていないため、悪意のあるユーザーの手に渡ると非常に危険です。
主要なルートプロバイダーは誰ですか?
ルートエクスポリットのタイプは何ですか?
この論文は、調査された78のエクスプロイトをカバーしています。一般に、影響の順序(最高から最低まで):
カーネルのエクスプロイト:特権的地位のため、Linuxカーネルをターゲットにすることは、Androidデバイスの完全な制御を実現するのに自然です-例、TowelRoot
ライブラリエクスプロイト: Androidシステムプロセスで使用されるライブラリをターゲットとするエクスプロイト、またはさまざまなアプリケーションのサポートに使用される外部ライブラリ、たとえばZergRushエクスプロイト、ボリュームマネージャデーモンで使用されるlibsysutils
アプリケーションおよびアプリケーションフレームワークアプリケーション層のルートエクスプロイト:システムアプリケーションまたはサービスを標的とするエクスプロイトには、主にsetuid
ユーティリティ、システムアプリケーション、またはサービスによって導入された脆弱なロジックが含まれます。例は、setuid
コマンドインジェクションの脆弱性があるXoomFEデバイスにのみ存在する脆弱なユーティリティです。
ベンダー固有のカーネルまたはドライバー:ベンダーは、カーネルをカスタマイズする(たとえば、QualcommのカスタムLinuxカーネルブランチ)か、さまざまな周辺機器(カメラ、サウンドなど)にベンダー固有のデバイスドライバーを提供します。そのようなコードはカーネル空間内で実行され、その妥協はデバイスの完全な制御につながる可能性があります。
数字に関しては、エクスプロイトは下図のとおりです
エクスプロイト(ソースまたはバイナリ)に手を置くのはどれくらい難しいですか?
非常に簡単。Google検索から簡単に入手でき、マルウェア作成者がそのようなエクスプロイトを活用するための簡単な手順になります。73個のエクスプロイトをグーグルで検索すると、68個が利用可能になります-46個がソースコード、22個がバイナリ
これらのエクスプロイトはどのように機能しますか?
エクスプロイトが機能するための主要な要件(最も困難なものから最小のものへと並べられています)(マルウェアタグにはこれらのインスタンスが多数あります)
ユーザーインタラクションが必要:(調査対象78人中6人)
- ユーザーにアプリをダウンロードしてインストールを手動で中断するように依頼する
- 少なくとも1回は回復モードで起動するようにユーザーに要求します。
- デバイスを手動で「バッテリー節約」モードにするようにユーザーに依頼します。
- ベンダー固有のアプリを開いてボタンを押すようにユーザーに要求する
adb
PC接続経由のシェルが必要:(調査した78のうち17)。一部のエクスプロイトでadb
は、次の最も一般的な理由により、シェル接続が必要です。
このエクスプロイトはlocal.prop
、adb
シェルに対してのみルートを有効にする設定を正常に変更できます。
このエクスプロイトは、グループシェルおよびグループ書き込み可能(世界書き込み不可)が所有するファイルに書き込む必要があります
このエクスプロイトは、攻撃プロセスをシェルユーザーで実行する必要があるadbデーモンプロセスを対象としています。たとえば、Rage Against the Cageエクスプロイトは、adbデーモンの戻り値のチェックが欠落している脆弱性を対象としています。setuid()
再起動:(調査対象の78人中6人)一般に、多くのルートエクスプロイトでは少なくとも1回の再起動が必要です。たとえば、シンボリックリンク攻撃により、攻撃者はシステムが所有するファイルを弱い権限で削除し、同じ場所に保護されたファイルへのリンクを設定できます。再起動後、対応するinitスクリプトは元のファイルの権限を誰でも書き込み可能に変更しようとしますが、実際にはリンクされたファイルの権限が変更されます
なしまたは許可:( 調査した78のうち44)このカテゴリのエクスプロイトには厳しい要件はありませんREAD LOGS
が、プロセス所有者を特定のユーザーグループに配置するためなど、特定のAndroid許可が必要なものもあります。
これらのエクスプロイトはアンチウイルスによって検出できますか?
ルートエクスプロイトは非常に機密性が高く、さまざまなAndroidマルウェアによって悪用される可能性があるため、ルートプロバイダーによって実装されたものを含め、Androidプラットフォームのアンチウイルスソフトウェアがそれらのほとんどを識別できることが期待されます。全体として、Androidプラットフォームの最先端のセキュリティ製品は、ルートエクスプロイトに効果的に対処できないことを全体的に示しています。
4つの代表的なAndroidアンチウイルス製品を使用して、167個のエクスプロイトを持つ最大のプロバイダー(名前は明らかにされていません)をテストしました。プロバイダーデータベースから最初にダウンロードされたエクスプロイトは、実際のエクスプロイトコードをパックし、改ざん検出メカニズムを採用しているため、調査では、エクスプロイトごとに3つの異なるバージョンを作成しました。
パッキングと改ざん検出をオンにして、プロバイダーのサーバーから直接フェッチされた元のエクスプロイト。
解凍されたエクスプロイト。実際のエクスプロイトロジックをすべてウイルス対策製品に公開します。
改ざん検出を無効にした再利用されたエクスプロイト。
大規模なルートプロバイダーが設計したエクスプロイトバイナリは、以下の表に示すように、すべての主要なウイルス対策ソフトウェアで検出が困難なため、驚くほど「クリーン」です。
結論
シンプル。結果に対処できない場合を除き、ソフトルートメソッドに近づかない