web-dev-qa-db-ja.com

銀行は根ざしたAndroidについて不平を言います。それは本当にWindowsデスクトップよりも悪いですか?

銀行の Androidアプリケーション を使用すると、アプリは私のルートがルート化されていることを認識し、大きな赤い「危険」の記号が付いたメッセージと「脆弱なデバイス」というメッセージを表示します。金融機関は常に安全側にいるのが好きなので、私は彼らがこれを行うことを完全に理解しています。その後、銀行は「警告しました!」と言うことができます。ルート権限を取得されたデバイスを持つ誰かがオンラインバンキングを危険にさらした場合。

今、私は私の電話が根ざしていないAndroidデバイスよりも安全であるより少ないです。これに同意します(どのくらい少ないほど明らかに多くのものに依存します。)

しかし、私が考えているのは、これは本当に、Windowsデスクトップで実行されているブラウザでネットバンキングを使用することと何か違うのでしょうか。つまり、Windowsは、必要なアプリに「ルート」(管理)特権を与えることができるという意味で「ルート化」されています。

私の携帯電話にアプリに「ルート」権限を付与する機能があると不満を言っているという意味では、これはその機能を備えたデスクトップOSでオンラインバンキングを使用するのと同じではないですか?

スマートフォンのブラウザーアプリからオンラインバンキングを使用した場合はどうなりますか?これはアプリより安全でしょうか?

私の電話のブラウザーアプリでオンラインバンキングを使用することは、Windowsデスクトップのブラウザーで使用することと何が違うのでしょうか? (どちらも「ルート化された」OSで実行されているブラウザです。)

セキュリティモデルのすべて

ほぼすべてのモバイルアプリケーションセキュリティチェックリスト(「 [〜#〜] owasp [〜#〜] など)に「脱獄/ルート化されたデバイスのチェック」への参照が表示されます。それをデスクトップまたはWebブラウザーと比較する場合、それらには異なる脅威モデルがあることを覚えておく必要があります。
たとえば、アプリケーションを設計するときのデスクトップマシンでは、管理者権限を持つ他のアプリケーションがあることはすでにわかっています。

たとえば、WindowsやLinuxなどのオペレーティングシステムのセキュリティモデルは、アプリケーションが別のアプリケーションのディレクトリやメモリにアクセスすることを妨げません。

Android=を例にとると、モバイルコンテキストでは、オペレーティングシステムはアプリケーションが互いのディレクトリにアクセスすることを防ぎ、root権限はこのセキュリティ制御をバイパスします。デバイスをroot化することで、アプリケーション開発者が予測できないデバイスとそのリスクは考慮されない場合があります。

OWASPのモバイルセキュリティプロジェクト(脱獄/ルート化の危険性) に戻ると、ルート化メソッドは次のように分類されます。

  • ユーザーランドの悪用:ジェイルブレイクされたアクセスはユーザーレイヤー内でのみ取得されます。たとえば、ユーザーはrootアクセス権を持っているかもしれませんが、起動プロセスを変更することはできません。これらのエクスプロイトは、ファームウェアアップデートでパッチを適用できます。
  • iBoot Exploit:ユーザーレベルおよび起動プロセスへのジェイルブレイクされたアクセス。 iBootエクスプロイトは、ファームウェアアップデートでパッチを適用できます。
  • Bootromの悪用:ユーザーレベルと起動プロセスへの脱獄アクセス。 Bootromエクスプロイトは、ファームウェアアップデートでパッチを適用することはできません。このような場合、パッチを適用するにはbootromのハードウェアアップデートが必要です。

そしてリスクは:

一般モバイル

  1. いくつかの脱獄方法では、攻撃者がCommand&Controlに使用できる既知のデフォルトパスワード(Alpineなど)でSSHを有効のままにします。
  2. ジェイルブレイクされたデバイスのファイルシステム全体は、ファイルを挿入または抽出する悪意のあるユーザーに対して脆弱です。この脆弱性は、Droid Kung Fu、Droid Dream、Ikeeなどの多くのマルウェアプログラムによって悪用されます。これらの攻撃は、達成されたロック解除レベルによっては、ロック解除されたWindows Phoneデバイスにも影響を与える可能性があります。
  3. バンキングアプリケーションや企業アプリケーションなどの機密アプリケーションの資格情報は、キーロギング、スニッフィング、その他の悪意のあるソフトウェアを使用して盗まれ、インターネット接続を介して送信される可能性があります。

iOS

  1. ジェイルブレイクされたデバイス上のアプリケーションは、iOSサンドボックスの外でrootとして実行されます。これにより、アプリケーションは他のアプリに含まれる機密データにアクセスしたり、サンドボックス機能を無効にする悪意のあるソフトウェアをインストールしたりできます。
  2. ジェイルブレイクされたデバイスにより、ユーザーは自己署名アプリケーションをインストールして実行できます。アプリはApp Storeを経由しないため、Appleはアプリを確認しません。これらのアプリには、デバイスの悪用に使用される可能性がある脆弱または悪意のあるコードが含まれている可能性があります。

Android

  1. デバイスの権限を変更してアプリケーションへのルートアクセスを許可するAndroidユーザーは、悪意のあるアプリケーションや潜在的なアプリケーションの欠陥に対するセキュリティの危険性を高めます。
  2. サードパーティAndroidアプリケーション市場は、リモート管理(RAT)機能を備えた悪意のあるアプリケーションをホストしていることが確認されています。

非技術的リスク

  1. ソフトウェアの更新を適用すると、脱獄が解除されるため、すぐに適用することはできません。これにより、デバイスはパッチされていない既知のソフトウェアの脆弱性に対して脆弱になります。
  2. ユーザーをだまして悪意のあるソフトウェアをダウンロードさせることができます。たとえば、マルウェアは一般的に次のような手法を使用して、ユーザーをだましてソフトウェアをダウンロードさせます。
    多くの場合、アプリは追加機能を提供したり、人気のアプリから広告を削除したりするだけでなく、悪意のあるコードも含んでいることを宣伝します。
    一部のアプリには、アプリの初期バージョンの一部として悪意のあるコードが含まれていませんが、その後の「アップデート」により、悪意のあるコードが挿入されます。

Web、モバイルアプリケーション、デスクトップアプリケーションなど、プラットフォームごとに数え切れないほどのリスクがあり、これらのプラットフォームをセキュリティの観点から比較することは簡単ではありません。特定のプラットフォーム(Android対iOS、Windows対Linux)に大きく依存し、ユーザーの行動にも依存します(多くのジャンクアプリケーションを備えたモバイルデバイスを持っているか、既知のアプリのみを備えたモバイルデバイスを持っている)。それぞれの状況において、リスクを軽減するための対策を講じており、プラットフォームが不安定になりすぎると、サービスの提供を停止する場合があります(固定電話やUSSDによるテレフォンバンキングなど)。

携帯電話のWebブラウザーの使用とモバイルバンクのネイティブアプリケーションの使用についての質問に戻ると、リスクは、モバイルバンキングアプリケーションの実装と携帯電話に存在するマルウェアの種類によって異なります。

21
Silverfox

Androidのアプリケーションには、基盤となるLinuxで異なるUID/GIDが割り当てられているため、このように互いに分離されています。ユーザーが実行するすべてのプログラムが通常持っている標準のデスクトップアプリケーションとは対照的です同じ権限(LinuxのAppArmorまたはSELinux構成がない場合)。Windowsは似ていませんか?ブラウザーはいくつかのサンドボックス機能を提供しますが、他のブラウザー実行コードからのみ提供され、この環境でさえ、潜在的な悪用のクロスサイト手段に悩まされています。

ルート権限を取得すると、ユーザーは任意のアプリケーションに昇格した権限を許可することができます。これは確かに脅威であり、銀行は手に負えないと感じているため、銀行を悩ませています。しかし、それはユーザーの管理下にあります。重要な点は、ユーザーの能力と行動は常に銀行の管理外にあるということです。おそらく、自分の電話をルート化する誰もが、リスクについてのある程度の高い理解と、付随する緩和についての理解を持っている可能性があります。したがって、確かに、銀行はユーザーが他に誰と一緒に眠っているのか(昇格された特権で)、またはどの程度精通しているのかを知りません。一方、応援はセキュリティを強化できる対策を可能にします。ユーザーが不注意な場合、ルート権限を取得すると、ユーザーが非常に危険にさらされる可能性があります。

Root権限がなくても、どのアプリケーションでも銀行アプリケーションのふりをして、ユーザーに認証情報を提供するように仕向ける表示を表示できます。これを成功させる方法は確かに困難ですが、多くの潜在的な犠牲者にとって間違いなく可能です。

私は、根が電話を「安全ではない」とする教義-正しく定義されていない用語-は誤解を招くものであり、銀行は他の問題に注意を向けるべきだと思います。

FWIW、私は特に、ルートを使用してiptablesを構成しています。興味深いのは、株式Androidでは、アプリケーションがインターネットにアクセスすることを選択的に承認することを許可していないためです。その状況。

4
Bill Michaelson

@Silverfoxが提供する情報に同意します。金融機関は、ターゲットデバイスに固有の脅威モデルにセキュリティポリシーを基づいて、詐欺のリスクを減らすことを確実に目指しています。

多くのオンラインバンキングシステムは、ユーザーの身元を証明するために多要素認証(MFA)を採用しています。これは、ユーザー名とパスワードの組み合わせを取得した攻撃者がアカウントにアクセスできないことを意味します(確認コードを取得するか、以前の「信頼されたPC」を偽装/侵害する必要があります)。

特権の昇格により、攻撃者は分離を解除し、機密データにアクセスできます。現在、電話はユーザー認証スキームの重要な部分であるため、ルート化されたデバイスは、侵害された場合、金融会社にとってはるかに大きなリスクとなります。たとえば、マルウェアは銀行アプリから認証情報を盗むか、MFAの一部として送信されるSMS確認コードを取得し、すぐに削除してユーザーからトレースを非表示にします。

ただし、考慮すべき重要な点の1つは、これらのランタイム環境のチェックを簡単にバイパスできることが多いことです。チェックを実行するためのさまざまなメソッドとAPIがありますが、たとえば、多くのアプリケーションは大まかにこれを実行します。「su」バイナリが存在するかどうかを確認し、存在する場合は、デバイスにroot権限があると想定します。簡単に「su」の名前を変更することにより、このタイプのチェックをバイパスすることはかなり可能です。

より良い結果を得るために、多くの最新のAndroidアプリケーションは、Google SafetyNet APIのラインに沿って何かを使用して、リモート認証を行い、デバイスのコンプライアンスステータスをチェックします。さらに、モバイルデバイス管理(MDM)アプリケーション。これは通常、従業員が機密データを運ぶリスクを共有する大企業によって展開されます。たとえば、ルート権限を取得されたデバイスが感染すると、仕事用のメールアプリが危険にさらされます。

2
Amir