2011-02-03 27 views
2

私は最近、いくつかのAndroidアプリを設計しています。私の次の実験的な冒険の1つは、外部のIntent:Google Voiceを最初に聞くことです。私は、悪意のあるユーザーが既存の信頼できるIntentとほぼ同じ別のIntentを作成して悪意のあるコードを自分のアプリに挿入する可能性について疑問を抱いていました。Android Intent Security

+1

申し訳ありませんが、「外部からの助力を求めていますか?あなたはインテントを聞くか、またはエミットします。どちらを心配していますか? –

+1

申し訳ありませんが、私が聞いたことを聞いて、OPを編集します。たとえば、自分のアプリケーションがGoogle Voiceだと思っているものを聞いた場合、Malciious App Aは同じアイコンとタイトルなどを持つGoogle Voiceであり、潜在的な悪意のあるフィードバックを受け取ると考えるのは間違いですか? – CuddleBunny

答えて

2

インテントは、(rootでないか、またはまだ発見されていない、かなり根本的な欠陥がない限り)アクティビティを互いに分離するので、互いにコードを注入することはできません。しかし、あなたが始めたどんな活動も、そのマニフェストに従ってそれが許可されていることはもちろんです。

悪意のあるアプリに対する主なセキュリティ対策は、意図しているかどうかに関係なく、manifestであり、インストール時にユーザーの承認を受けます。ユーザーがRecognizerIntentを処理するアプリをインストールした場合、音声認識を取得しようとするとそのアプリがエンドユーザにオプションとして提示されます。エンドユーザがそれを選択すると、それが実行されます。あなたのアプリでできることは、onActivityResultを通じてActivityに結果を返すことです。そのデータをどのくらい信頼するかを決める必要があります(たとえば、迷惑メールを送信する前にユーザーに確認を依頼するなど)。

セキュリティ上の脅威モデルは、保護する資産、誰と信頼するもの、外部のやりとりと攻撃のポイントを考慮する必要があります。音声認識に関しては、Androidセキュリティモデルでは最悪のことは、外部アプリが単独で最悪の場合(アプリをトリガーと同じように使用する)、悪い音声認識結果を戻すことです。

+0

さて、これは私が望んだことです。機密情報を含むアプリを設計する際には、この点を念頭に置いておく必要があります。どうもありがとう! – CuddleBunny