Подтвердить что ты не робот

Каковы последствия обнаружения GCM SENDER ID?

Сценарий: Предположим, что при обратном проектировании файла .apk злоумышленник получает SENDER ID для службы регистрации Push, используемой в приложении. Злоумышленник разрабатывает аналогичное поддельное приложение с одинаковым/различным именем пакета и загружается в другой магазин приложений, кроме Google Play.

Мой вопрос: Может ли он использовать тот же идентификатор SENDER с приложением? Каковы последствия этого для пользователя, который устанавливает это поддельное приложение?

Вопросы, относящиеся: защита облачных сообщений Google, похоже, немного похожа. Также ответ Android GCM: тот же самый идентификатор отправителя для дополнительного приложения предоставляет ценную информацию. Чтение обоих принятых ответов делает вывод, что это абсолютно возможно, и поэтому рекомендуется не иметь конфиденциальных данных в Push-сообщениях.

Но это не похоже на решение проблемы. Я не могу понять эффект вышеупомянутого нарушения безопасности.

4b9b3361

Ответ 1

Идентификатор отправителя (он же ИД проекта API Google) не привязан к уникальному имени пакета приложений. Фактически, несколько приложений могут зарегистрироваться в GCM, используя тот же идентификатор отправителя, который позволит использовать тот же ключ API для отправки сообщений GCM во все эти приложения. Конечно, у каждого приложения будет другой идентификатор регистрации (даже на том же устройстве).

Если кто-то знает ваш идентификатор отправителя, они могут зарегистрироваться в GCM с этим идентификатором отправителя, но, не зная ключа API, они не смогут отправлять сообщения GCM ни поддельному приложению, ни к реальному приложению. Когда они регистрируются в GCM, GCM получает идентификатор пакета своего поддельного приложения. Поэтому, если вы отправляете сообщение в регистрационный идентификатор своего реального приложения, оно не дойдет до поддельного приложения. Чтобы поддельное приложение получало сообщения с вашего сервера, ему нужно будет отправить свой собственный идентификатор регистрации на ваш сервер и обмануть ваш сервер, считая его настоящим приложением. В нашем серверном приложении вы должны указать наш ключ API. Если вы хотите отправить все необходимые уведомления.

Ответ 2

Они не смогут использовать ваш идентификатор отправителя GCM для публикации уведомлений.

Помните, что когда вы получили идентификатор отправителя, вам также необходимо отправить имя своего пакета приложений и подпись подписи SHA-1. Эта подпись привязана к идентификатору отправителя GCM, так что только приложения, подписанные вашим ключом освобождения, могут регистрировать и получать уведомления GCM.

Google Play также не позволит публиковать публикации с двойным именем пакета, поэтому никто не может создать поддельное приложение с именем своего пакета, который уже находится в магазине Play.

Однако ничто не защищено на 100%. Я предполагаю, что хакер может также определить ваш ключ подписи SHA-1 и взломать APK таким образом, чтобы обмануть систему, чтобы думать, что приложение подписано вашим ключом освобождения. Я видел, что приложения "взломаны" таким образом, чтобы обойти библиотеку лицензирования Android. Это может помешать GCM-серверу думать, что поддельное приложение имеет право получать сообщения GCM. Тем не менее, "взломанные" приложения по-прежнему не могут быть опубликованы в Google Play, поэтому риск получения законных пользователей довольно мал.