Intereting Posts
Qt для android: измените значок приложения INSTALL_FAILED_UPDATE_INCOMPATIBLE отображается даже после полного удаления оригинала Обоснование текста в TextView Android Командная строка ADB Подвешивание во время установки (PhoneGap) Как получить смещение вида внутри ScrollView? Как я могу изменить разрешения на чтение / запись в папке / mnt / SDcard на Kindle Fire? Запретить изменение ориентации в приложении Xamarin для Android При нажатии кнопки DatePicker на моем устройстве (с личным приложением) «Не удается вернуть голову нулевого дерева или дерева» с помощью CoreNLP на Android Как управлять использованием памяти при вызове нескольких WebView в Android? Пользовательская анимация для просмотра Как сделать EditText не сфокусированным при создании Activity NavigationDrawerFragment не работает с панелью инструментов AppCompat Ящик навигации без панели действий Textview Lazyloading, setText в неправильном положении в gridview?

Каковы последствия обнаружения 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, поэтому риск получения ими законных пользователей довольно мал.