Насколько SDK для Android Firebase защищен от фальсификации? - PullRequest
0 голосов
/ 23 октября 2019

Я создал простой проект с использованием Firebase Messaging, используя следующую зависимость:

implementation 'com.google.firebase:firebase-messaging:20.0.0'

Я создал приложение и проверил его объединенный файл AndroidManifest.xml. Единственный экспортированный компонент Firebase Messaging SDK - это следующий получатель:

<receiver
    android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver"
    android:exported="true"
    android:permission="com.google.android.c2dm.permission.SEND" >
    <intent-filter>
        <action android:name="com.google.android.c2dm.intent.RECEIVE" />
    </intent-filter>
</receiver>

Я не смог найти определение разрешения com.google.android.c2dm.permission.SEND, хотя я расшифровал файл AndroidManifest.xml из Google Play Services APK итам ничего не нашел. Независимо от определения, каким бы оно ни было, оно не может помешать злонамеренному приложению use-permission передать его и передать поддельные намерения. Также из-за того, что Содержимое доставляется system_server, получатель не может проверить личность отправителя.

Как Firebase Messageing SDK противодействует этой угрозе?

1 Ответ

2 голосов
/ 23 октября 2019

Вредоносное приложение, установленное из Play Store, не может использовать любые разрешения, начинающиеся с "com.google.android". Они зарезервированы для системных привилегированных приложений.

«Бэкэнд» приложения Play Services, установленный на каждом устройстве с хранилищем Play, фактически обрабатывает входящие сообщения FCM напрямую. Это привилегированное приложение, и оно единственное, которое будет использовать эти разрешения для отправки данных в ваше приложение.

Если вам удастся получить root-права на устройстве и установить вредоносное приложение с системными привилегиями, возможно, у вас естьпроблема. Но вы рискуете, обходя встроенные в устройство меры безопасности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...