(Fortify) 类别:Android 不良做法:缺少 Google Play 服务更新的安全提供程序(1 期)

2024-04-15

我们正在使用 Fortify 扫描我的 Android 源代码,但我无法摆脱这个问题:

类别:Android 不良做法:缺少 Google Play 服务更新的安全提供程序(1 期)

Fortify指向这行代码:

工具:替换=“android:allowBackup”>

AndroidManifest.xml:37 null()
  <application
    android:name=".test"
    android:allowBackup="false"
    android:hardwareAccelerated="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:networkSecurityConfig="@xml/network_security_config"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"
    tools:replace="android:allowBackup"> <!--FORTIFY POINTS TO THIS LINE-->

强化推荐:

修补安全提供程序的最简单方法是调用 同步方法 installIfNeeded()。这是适当的,如果用户 等待时不会因为线程阻塞而影响体验 要完成的操作,否则应该在 异步方式。

有关此的更多信息issue https://vulncat.fortify.com/en/detail?id=desc.configuration.java.android_bad_practices_missing_google_play_services_updated_security_provider

我关注的是安卓的更新您的安全提供商以防止 SSL 漏洞 https://developer.android.com/training/articles/security-gms-provider

并尝试了两种方法:

安装如果需要() and installIfNeededAsync()

但问题仍然存在。我测试了我的代码,它工作正常。

这是我的清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="test">

    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:name=".test"
        android:allowBackup="false"
        android:hardwareAccelerated="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:networkSecurityConfig="@xml/network_security_config"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        tools:replace="android:allowBackup">

        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />

        <provider
            android:name=".syncadapter.StubProvider"
            android:authorities="com.neseapl.nyp.provider"
            android:exported="false"
            android:syncable="true"/>

        <service
            android:name=".syncadapter.SyncService"
            android:exported="false">
            <intent-filter>
                <action android:name="android.content.SyncAdapter" />
            </intent-filter>
            <meta-data
                android:name="android.content.SyncAdapter"
                android:resource="@xml/syncadapter" />
        </service>

        <service
            android:name=".syncadapter.AuthenticatorService">
            <intent-filter>
                <action android:name="android.accounts.AccountAuthenticator"/>
            </intent-filter>
            <meta-data
                android:name="android.accounts.AccountAuthenticator"
                android:resource="@xml/account_authenticator" />
        </service>

        <activity
            android:name=".activities.Test"
            android:configChanges="orientation|screenSize">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

我的清单中缺少任何内容吗?谢谢!


我最近在使用 Fortify 时遇到了类似的问题。正如 Silvia Ragui 指出的那样,Fortify 没有正确分析这个运行时进程。虽然 installIfNeeded() 和 installIfNeededAsync() 将更新 APK 实际部署中的安全提供程序,但当您重新提交到 Fortify 时,它似乎不会清除错误。

然而,根本问题是过时的安全提供程序,这通常是由于您的包中的游戏服务库过时造成的。

以下是直接来自 fortify 仪表板的建议:

Android 依靠安全提供程序来提供安全的网络通信。默认设备加密库通常是旧版本的 OpenSSL,其中包含已知缺陷。为了克服这个问题,Google 提供了一种机制,让应用程序可以通过 Google Play Services ProviderInstaller 客户端“修补”其本地 OpenSSL 副本。已确定该应用程序未使用更新的提供程序,从而使该应用程序暴露于较旧的已知 OpenSSL 漏洞和弱点。>

实际问题与 Silvia 日志中的最后一行相同:

W/GooglePlayServicesUtil Google Play 服务已过时

在我们的例子中,我们更新到了包中的 Play Services 的最新版本,并实施the fix https://developer.android.com/training/articles/security-gms-provider上面(当我们这样做时,我们发现有一个必须修复的小错误,并且可能阻止更新修补安全提供程序)

新版本成功解决了该问题。我建议您更新到最新的 Play 服务,因为这也会更新安全提供商。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(Fortify) 类别:Android 不良做法:缺少 Google Play 服务更新的安全提供程序(1 期) 的相关文章

  • Android 上的 Firebase:如何检查 Firebase 身份验证失败原因?

    我在 Android 上使用 Firebase 和 Firebase Auth 功能 I try FirebaseAuth signInWithEmailAndPassword如果失败 我想知道为什么登录过程失败 The signInWit
  • 使用 Google Places Autocomplete API 的 REQUEST_DENIED 响应

    我正在开发 Android 应用程序 它使用谷歌的地点自动完成 API 当尝试点击以下网址时 我得到的答复如下 预测 状态 REQUEST DENIED 我从下面的链接获得了 API 密钥Google API 控制台 http code g
  • 检索子值 -firebase-

    System out println ref child email protected cdn cgi l email protection child email 我正在尝试获取 child 的值 但我始终获取该值的 URL 当我尝试使
  • 应用程序实例是否始终在任何活动之前创建?

    在 Android 中 您可以通过扩展 Application 类并在 Manifest 中声明名称来提供您自己的 Application 类实现 我的问题是 这个实现是否总是在初始活动之前创建 或者活动可以在应用程序实例有时间创建之前启动
  • 为什么我将可绘制文件重命名为 .9.png 后出现“Some file crunching failed”?

    我正在测试 9 patch 图像 在一切正常之前 我重命名drawable file ic button beat box default png to ic button beat box default 9 png 然后我收到错误 某些
  • 在 WebView 中完成 AdBlock

    我即将在我的 Android 应用程序中推出 WebView AdBlocking 我想知道这是否会有效地阻止广告 或者在 Webview 本身内是否还有更多工作要做 我尚未修改 基本上我有一个存储在 Android 资产中的主机文件 其中
  • Android-工具栏中的SearchView

    我只想在我的应用程序中添加 searchview 但我不想搜索任何东西 只是我想要用户输入的查询 到目前为止 我尝试了这段代码 但是当我运行我的应用程序时它崩溃了 Update 我尝试了这个 但即使我的应用程序崩溃了 main menu x
  • 使用 Android 播放任意音调

    有没有办法让Android发出任意频率的声音 意思是 我不想预先录制声音文件 我环顾四周 音调发生器 http developer android com reference android media ToneGenerator html
  • 监听什么来检测 Android 中的请勿打扰模式更改?

    我希望我的应用程序在手机设置为请勿打扰模式 仅限闹钟 仅限优先级或完全静音 时显示通知 通过聆听 这效果非常好android media RINGER MODE CHANGED在快速设置中检查此模式并在已选择的选项卡中选择模式时 但是 当选
  • window.onbeforeunload 在 Android Chrome 上不会触发 [alt.解决方案?]

    我开发了一个简单的聊天应用程序 我正在使用 window onbeforeunload当有人关闭选项卡 浏览器时 基本上是当用户离开房间时 通知其他用户 这是我的代码 scope onExit function scope chatstat
  • Google 移动广告和 Kindle Fire

    我最近用 Google 移动广告替换了 AdMob 库 对此我有一个疑问 广告会出现在 Amazon Kindle Fire 设备上吗 我问这个是因为我知道 Google 移动广告依赖于 Google Play 服务 所以我有点困惑 Goo
  • 加快 ImageView 中的缩放功能

    我目前正在处理非常大的图像 7 10mb 由于多种原因无法调整大小或压缩 现在 我们的想法是在自定义 ImageView 中显示它们 使用户能够进行双击缩放 捏合缩放等 我使用这个库来完成这项工作 https github com Mike
  • android 中camera.setParameters 失败

    我已将相机功能包含在我的应用程序中 我还在市场上推出了该应用程序 我从一位用户那里收到一条错误消息 称他在打开相机时遇到错误 我已经在 2 1 的设备上测试了该应用程序 我从用户那里得到的错误是使用 Nexus One 它主要运行 2 2
  • 删除Android所有语言中的字符串

    我有一个包含多个翻译的应用程序 我想删除一些字符串 我怎样才能重构并删除它们一次 例如在默认情况下strings xml文件并自动将删除传播到其他翻译的其他 strings xml 文件 您可以通过 Android Studio 中的 翻译
  • 如何获取android手机型号、版本、sdk详细信息?

    如何获取android手机型号 版本 sdk详细信息 首先 看看 android sdk 页面上的这些 Build 类 http developer android com reference android os Build html h
  • Android:确定 2.2 及更高版本上的摄像头数量

    我的应用程序需要在 Android 2 2 及更高版本上运行 我需要一种方法来确定可用摄像机的数量 有很多帖子解决了这个问题 但我找不到一个有效的 一种解决方案是简单地检测操作系统版本 任何 2 2 版本的设备都仅限于 1 个摄像头 即使该
  • Android - iphone 风格 tabhost [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • “无法实例化活动”错误

    我的一个 Android 应用程序拥有大约 100 000 个用户 每周大约 10 次 我会通过 Google 的市场工具向我报告以下异常情况 java lang RuntimeException Unable to instantiate
  • android:layout_alignParentBottom 在没有显式布局高度作为 ListView 中的行的情况下使用时会被忽略

    当我使用RelativeLayout与任一fill parent or wrap content作为高度和一个指定的元素 android layout alignParentBottom true 它被忽略并在顶部对齐 设置高度Relati
  • 在状态栏下方显示DialogFragment内容

    我试图显示高度和宽度均具有 match parent 的 DialogFragment 但碰巧在顶部 DialogFragment 显示在 StatusBar 下方 DialogFragment 正在应用一些默认值来填充底部 右侧 左侧和顶

随机推荐

  • java中通过POST方法发送Xml字符串

    我想通过 POST 方法将 xml 字符串传递到 URL 我尝试了下面的代码片段 但它没有返回任何内容 disableCertificateValidation String url https url https Properties s
  • 什么是“void(*old_sigint_handler)(int)”?

    这是一个语法问题 我遇到了这条线 void old sigint handler int 我不知道它在做什么 看起来像是没有变量名的三种类型的串联 我希望得到澄清 void old sigint handler int 这定义了old si
  • 线程模拟的多级使用

    我对一些很久以前编写的进行线程级模拟和进程生成的类遇到了一些问题 问题似乎是我对这些实用程序类的使用超出了其他人尝试使用它们所做的事情 第一个通过使用 OpenThreadToken 和 DuplicateToken 以及 Imperson
  • 从远程应用程序服务器连接到 Websphere Liberty jmsServer

    是否可以从远程应用程序服务器连接到部署在 Websphere Liberty 中的队列 我使用该产品的免费版本 Liberty 8 5 5 7 我在 server xml 中配置了连接工厂
  • 使用node.js和backbone.js进行模板渲染

    有没有人找到一个好的解决方案来开发可在服务器和客户端上使用的backbone js模板 这对于backbone js历史堆栈来说是非常理想的 因为用户可以在浏览器位置栏中共享和链接到真实的url 并且node js服务器可以在第一个页面视图
  • Android:旋转动画完成动画后恢复到真实状态?

    我将在 我的应用程序 中旋转图像 旋转一切正常 但是 当我旋转动画完成时 图像将返回到其先前的位置 我想要的是将图像保持在旋转状态 而不是让它回到真实状态 那么怎样才能让它成为可能呢 要旋转图像 我使用以下代码
  • 在应用程序中嵌入 C++ 编译器

    着色器不是很酷吗 您可以只输入一个纯字符串 只要它是有效的源 它就会编译 链接和执行 我想知道是否有一种方法可以将 GCC 嵌入到用户应用程序中 以便它 自给自足 例如具有编译与其自身兼容的本机二进制文件的内部功能 到目前为止 我一直在从应
  • 构建不使用 CRT 函数的 Visual C++ 应用程序仍然引用一些

    这是至少两个密切相关但又截然不同的一系列问题的一部分 我希望通过分别询问他们来做正确的事情 我正在尝试让我的 Visual C 2008 应用程序在没有 C 运行时库的情况下运行 它是一个 Win32 GUI 应用程序 没有 MFC 或其他
  • 为什么使用关键字或符号作为函数从地图中查找值有效?

    引用自Clojure 的乐趣 第 4 3 1 节 由于关键字是自我评估的并提供快速的相等性检查 因此它们几乎总是在映射键的上下文中使用 使用关键字作为映射键的一个同样重要的原因是它们可以用作函数 以映射作为参数来执行值查找 def popu
  • 理解 JS Promise

    我想更深入地了解 Promise 内部是如何工作的 因此我有一些示例代码 var p1 new Promise function resolve reject window setTimeout function resolve res c
  • 核心显卡圆形图像模糊

    我正在使用核心图形绘制圆形图像 并对其进行修改后的实现所以答案 https stackoverflow com a 18664917 1369331 这是我的来源 UIImage circularImageWithRadius CGFloa
  • Spring security 有 SimpleGrantedAuthority 但 hasRole 不起作用

    我有以下代码 private static Collection
  • 为什么 jspService() 不能被重写?

    为什么不能jspService 方法被重写 其中jspInit and jspDestroy 可以被覆盖吗 This 论坛帖子 http www geekinterview com question details 23904解释了为什么不
  • 如何使用具有 BASIC 身份验证的 Service Worker(NTLM、协商)

    我一直在尝试在 IIS 托管网站中使用服务工作线程来缓存该网站的一些静态内容 该站点是使用 Windows 身份验证的内部应用程序 我已经能够注册并运行服务工作线程 没有太多麻烦 但是一旦我打开缓存并开始向缓存添加文件 承诺就会因授权失败而
  • rspec - 为什么仅在 ubuntu 上,当它们相同时,使用 assert_equal 进行此属性比较会失败?

    两个测试都失败了 但仅在 Ubuntu 12 上失败 但在我的 新 Mac 上却失败了 失败的两个是 Active Record 对象属性比较 但我尽了最大努力来比较它们 例如在命令行创建哈希并粘贴属性 比较表明它们是相同的 这是一个真正的
  • Airflow initdb slot_pool 不存在

    我面临一个问题airflowpostgres 后端初始化 乌班图 18 04 1 气流 v1 10 6 Postgres 10 10 Python 3 6 当我跑步时 airflow initdb I get 2019 11 22 10 1
  • 在本例中如何避免 VBA 中的 select/active 语句?

    需要导出一个PDF文件中的所有工作表 所以我找到了这段代码 它有效 导出一个PDF 每张工作表一个页面 但我不想使用 select active 语句 我更喜欢使用存储对象的变量 问题 如何避免此代码中的 select ActiveShee
  • WPF MVVM 可观察集合不更新 GUI

    我正在设计一个 MVVM WPF 应用程序 并且有一个 ViewModel 它有一个名为 SelectedCustomer 的属性 类型为 Customer 该对象有一个名为 SummaryDetails 的 ObservableColle
  • 如何在 GWT 的 Jetty 中启用 HTTPS?

    如何在 GWT 附带的 Jetty 中启用 HTTPS gwt dev jar 中 隐藏 了一个 README SSL txt 你可以找到最新版本在 Github 上 https github com gwtproject gwt blob
  • (Fortify) 类别:Android 不良做法:缺少 Google Play 服务更新的安全提供程序(1 期)

    我们正在使用 Fortify 扫描我的 Android 源代码 但我无法摆脱这个问题 类别 Android 不良做法 缺少 Google Play 服务更新的安全提供程序 1 期 Fortify指向这行代码 工具 替换 android al