Intereting Posts
Хотите загрузить картинку на сервер с помощью phonegap в android Избегайте жесткого кодирования режима отладки; Предупреждение в Android Manifest Как изменить размер пользовательского представления программно? В каких условиях АРТ сокращает кучу? На Android, как вы переключаете действия программно? Android ArrayList пользовательских объектов – Сохранить в SharedPreferences – Serializable? Как изменить настройки прокси-сервера в Android (особенно в Chrome) Панель действий Android с видом поиска Параллельная анимация в Imageview Что такое папка с бинами для Android? Android – Как программно использовать элемент ListView Тип ввода для экрана редактирования EditText? Как передавать данные между действиями в приложении Android? Студия Android: эмулятор работает, но не отображается в Run App «выберите запущенное устройство» Как проверить, является ли приложение не системным приложением в Android?

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

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

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

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

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

Solutions Collecting From Web of "Каковы последствия обнаружения GCM SENDER ID?"

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

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

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

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

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

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