11

Company creates a project and receives a sender ID. Company creates an app, bakes in its sender ID and places the app in the store.

Attacker reverse engineers the app and extracts both the sender ID and the server interface used to receive GCM registration IDs.

Attacker creates his own app, bakes in Company's sender ID and server registration interface, puts app in the store. The attack app basically impersonates Company's real app as far as GCM goes: it registers to receive messages from Company's sender ID and then sends its GCM registration ID to Company's servers just like the "real" app does.

Now Company wants to broadcast some information to all instances of its app. Maybe it's a reminder than an update is available. Is there any way to differentiate the "attack app" (which registered just like the real one) from "real" versions of the Company's app?

4

7 に答える 7

3

あなたのシナリオから、攻撃者が登録IDを持っていても、攻撃者がユーザーにメッセージを送信することはできないと思います。認証(OAuth2)に必要なメッセージを送信する会社のサーバーは、最初にGoogleを介してアカウントを作成します。そのため、攻撃者が送信側のパスワードと登録 ID を知っている場合にのみ、ユーザーを送信できます。ただし、送信側のパスワードはもちろんクライアント側に送信されることはありません。

于 2012-07-06T05:48:06.643 に答える
2

これは、攻撃者のアプリのデバッグ バージョンでも機能する可能性がありますが、アプリをストアに置くことはできません。GCM ID の一部は、ストア内で一意である必要があるアプリ ID です。

于 2012-07-05T21:14:43.827 に答える
1

GCM のプロジェクト ID ではなく、送信者の電子メール アドレスを盗聴できる C2DM にも同じ問題が存在する可能性があります。

C2DM または GCM は、機密性の高いユーザー情報 (アカウント名、個人情報など) の送信には使用しないでください。主に、実際のアプリがそれを使用してさらにアクションを実行できる通知に役立ちます。

「偽/ハッキング」アプリにとって通知がどれほど役立つかわかりません。「新しいメッセージがあります」通知で何をするつもりですか?

于 2012-07-06T03:24:11.367 に答える
0

APIキー(あなたが言及した送信者ID)を使用する独自の「暫定サーバー」を用意することをお勧めします。アプリ自体に埋め込む代わりに。

于 2015-08-12T18:12:22.223 に答える
0

この場合、GCM は安全です。
アプリを GoogleApiConsole に登録する前に、元のアプリで Sender ID を使用することさえできません。これは、GoogleApiConsole で秘密鍵の指紋を指すことを意味します。それは十分だ。

于 2013-12-04T10:09:58.507 に答える