• <tfoot id='LqaJw'></tfoot>
    <i id='LqaJw'><tr id='LqaJw'><dt id='LqaJw'><q id='LqaJw'><span id='LqaJw'><b id='LqaJw'><form id='LqaJw'><ins id='LqaJw'></ins><ul id='LqaJw'></ul><sub id='LqaJw'></sub></form><legend id='LqaJw'></legend><bdo id='LqaJw'><pre id='LqaJw'><center id='LqaJw'></center></pre></bdo></b><th id='LqaJw'></th></span></q></dt></tr></i><div id='LqaJw'><tfoot id='LqaJw'></tfoot><dl id='LqaJw'><fieldset id='LqaJw'></fieldset></dl></div>

      <small id='LqaJw'></small><noframes id='LqaJw'>

        <bdo id='LqaJw'></bdo><ul id='LqaJw'></ul>
    1. <legend id='LqaJw'><style id='LqaJw'><dir id='LqaJw'><q id='LqaJw'></q></dir></style></legend>

        Android Firebase 消息传递 SDK 如何防止 Intent 欺骗?

        How is Android Firebase messaging SDK secure against Intent spoofing?(Android Firebase 消息传递 SDK 如何防止 Intent 欺骗?)
        1. <i id='F9v2s'><tr id='F9v2s'><dt id='F9v2s'><q id='F9v2s'><span id='F9v2s'><b id='F9v2s'><form id='F9v2s'><ins id='F9v2s'></ins><ul id='F9v2s'></ul><sub id='F9v2s'></sub></form><legend id='F9v2s'></legend><bdo id='F9v2s'><pre id='F9v2s'><center id='F9v2s'></center></pre></bdo></b><th id='F9v2s'></th></span></q></dt></tr></i><div id='F9v2s'><tfoot id='F9v2s'></tfoot><dl id='F9v2s'><fieldset id='F9v2s'></fieldset></dl></div>
          <legend id='F9v2s'><style id='F9v2s'><dir id='F9v2s'><q id='F9v2s'></q></dir></style></legend>
          <tfoot id='F9v2s'></tfoot>

            <small id='F9v2s'></small><noframes id='F9v2s'>

              <bdo id='F9v2s'></bdo><ul id='F9v2s'></ul>

                    <tbody id='F9v2s'></tbody>
                  本文介绍了Android Firebase 消息传递 SDK 如何防止 Intent 欺骗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我使用 Firebase Messaging 创建了一个简单的项目,使用以下依赖项.

                  I created a simple project using Firebase Messaging, using the following dependency.

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

                  我已经构建了应用程序并检查了它的 merged AndroidManifest.xml 文件.Firebase Messaging SDK 唯一导出的组件是以下接收器:

                  I have built the app and checked its merged AndroidManifest.xml file. The only exported component by Firebase Messaging SDK is the following receiver:

                  <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 的定义,即使我已经解码了 Google Play Services APK 的 AndroidManifest.xml 并且在那里什么也没找到.除了它的定义之外,它不能阻止恶意应用程序use-permission它并广播伪造的 Intent.另外由于system_server传递的Intents,接收方无法检查发送方的身份.

                  I couldn't find the definition of the permission com.google.android.c2dm.permission.SEND, even though I have decoded AndroidManifest.xml of Google Play Services APK and found nothing there. Apart from its definition whatever it is, it cannot prevent a malicious app to use-permission it and broadcast forged Intents. Also because of Intents being delivered by system_server, the receiver cannot check the identity of the sender.

                  Firebase Messageing SDK 如何应对这种威胁?

                  How does Firebase Messageing SDK counterattack this threat?

                  推荐答案

                  从 Play 商店安装的恶意应用无法使用以com.google.android"开头的任何权限.这些是为系统特权应用保留的.

                  A malicious app installed from the Play Store cannot use any permission that starts with "com.google.android". Those are reserved for system privileged apps.

                  安装在具有 Play 商店的每台设备上的 Play 服务后端"应用实际上直接处理传入的 FCM 消息.它是一个特权应用,并且是唯一会使用这些权限向您的应用发送数据的应用.

                  The Play services "backend" app, which is installed on every device that has the Play store, actually handles incoming FCM messages directly. It is a privileged app, and is the only one that will use those permissions to send data to your app.

                  如果您设法 root 设备并安装具有系统权限的恶意应用程序,那么您可能会遇到问题.但这就是您绕过设备内置的安全措施时所冒的风险.

                  If you manage to root your device and install a malicious app with system privileges, then you might have a problem. But that's the risk you take when you bypass the security measures built into the device.

                  这篇关于Android Firebase 消息传递 SDK 如何防止 Intent 欺骗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  When does a FCM token expire?(FCM 令牌何时到期?)
                  Firebase Cloud Messaging (FCM) - Launch Activity when user clicks the notification with extras(Firebase Cloud Messaging (FCM) - 当用户点击带有附加功能的通知时启动活动)
                  Implement Firebase inside of a Library(在库中实现 Firebase)
                  Firebase Backward compatibility with GCM(Firebase 与 GCM 的向后兼容性)
                  Receiving the FCM notifications multiple times on Nougat(在 Nougat 上多次接收 FCM 通知)
                  Push Notifications are delivered but didReceiveRemoteNotification is never called Swift(推送通知已交付,但 didReceiveRemoteNotification 从未被称为 Swift)

                  <i id='PNUUV'><tr id='PNUUV'><dt id='PNUUV'><q id='PNUUV'><span id='PNUUV'><b id='PNUUV'><form id='PNUUV'><ins id='PNUUV'></ins><ul id='PNUUV'></ul><sub id='PNUUV'></sub></form><legend id='PNUUV'></legend><bdo id='PNUUV'><pre id='PNUUV'><center id='PNUUV'></center></pre></bdo></b><th id='PNUUV'></th></span></q></dt></tr></i><div id='PNUUV'><tfoot id='PNUUV'></tfoot><dl id='PNUUV'><fieldset id='PNUUV'></fieldset></dl></div>
                    <bdo id='PNUUV'></bdo><ul id='PNUUV'></ul>

                      <legend id='PNUUV'><style id='PNUUV'><dir id='PNUUV'><q id='PNUUV'></q></dir></style></legend>

                        • <small id='PNUUV'></small><noframes id='PNUUV'>

                            <tbody id='PNUUV'></tbody>
                          <tfoot id='PNUUV'></tfoot>