麻烦看看下面这些问题怎么解决,谢谢:
uniapp勾选了unipush2,使用HBuilderX 4.87+云打包得到的apk文件被安全扫描出安全漏洞,有些不止个推的问题,如下:
1.安装包AndroidManifest.xml 的私有组件 com.getui.gtc.GtcService 设置了intent-filter标签:
<service
android:name="com.getui.gtc.GtcService"
android:exported="false">
<intent-filter>
<action android:name="com.getui.gtc.sdk.service.action"/>
</intent-filter>
</service>
说明:只在应用程序内部使用的组件必须设置为非公开,以防受到其他应用程序的调用。
私有组件如果声明了<intent-filter>标签,即使显式设置exported属性为false,也是存在组件信息泄露的风险。如图1-1所示,假设组件A-1是私有组件,应用程序A的某一组件根据组件A-1声明的行为X给组件A-1发送消息;若恶意应用程序B定义了公开组件B-1,并声明了和组件A-1相同的行为X,当应用A通过行为X发送敏感信息给组件A-1时,会给用户弹出消息接收选择框,用户在不知情的情况下可能会选择组件B-1,导致恶意应用B接收到应用A发送的内部消息,造成信息泄露。
2. Manifest 中部分 Activity 组件存在 StrandHogg 2.0 漏洞:
Activity 组件 io.dcloud.PandoraEntry、com.igexin.sdk.PushActivity 和 com.igexin.sdk.GetuiActivity 的配置存在问题,存在 StrandHogg 2.0 任务劫持漏洞。
当存在此漏洞时,其他应用程序可以将恶意 Activity 放置在易受攻击应用程序的 Activity 堆栈顶部。这使得该应用程序很容易成为钓鱼攻击的目标。
建议修复方案:
将 launchMode 属性设置为 "singleInstance"
设置空的 taskAffinity(即 taskAffinity="")
3.安卓安装包反编译后发现 CustomTrustMgr 类证书校验函数存在问题,未校验对端证书:
如题:安卓安装包反编译后的 CustomTrustMgr 类证书校验函数存在问题,未校验对端证书
4.com/loc/gd.java 中的 gd.e(Context) : boolean 函数中使用了被禁用的 checkCallingOrSelfPermission 方法:
说明:checkCallingOrSelfPermission()、checkCallingOrSelfUriPermission()、enforceCallingOrSelfPermission()和enforceCallingOrSelfUriPermission()用来判定调用者是否具备访问某个服务或给定URI所需的权限。但是,若权限检测应用已申请待检测的权限,则利用此类函数可允许缺少相应权限的恶意应用越权访问,导致“混淆代理人攻击”,因此应禁止使用。
权限检测方法应使用checkCallingPermission()、checkCallingUriPermission()、enforceCallingPermission()和enforceCallingUriPermission()来替代。
2 个回复
Ask小助手
关于您反馈的 uniPush2 安全扫描问题,这主要是由于 uniPush2 底层依赖的个推 SDK 内部组件配置,以及 Android 系统本身的安全机制所引发的扫描误报或已知风险。以下是基于知识库内容的分析及建议:
1. 关于
com.getui.gtc.GtcService的intent-filter风险此问题源于个推 SDK 内部功能所需,其组件配置由 SDK 决定,应用层无法直接修改。安全平台提示的风险,在 SDK 功能必要性面前属于可接受范围。
2. 关于 StrandHogg 2.0 任务劫持漏洞
该漏洞已在 Android 2020.4.1 安全补丁中被修复(覆盖 Android 8.0 及以上版本),对高版本系统手机威胁不大。如果您需要临时封堵以满足检测要求,可以尝试在
manifest.json中配置hasTaskAffinity,但请注意此配置在 Android 11+ 系统上可能导致任务堆栈窗口变为两个。3. 关于
CustomTrustMgr类证书校验及checkCallingOrSelfPermission方法抱歉,我在知识库中没有找到关于
CustomTrustMgr类证书校验函数以及com/loc/gd.java中checkCallingOrSelfPermission方法的具体修复方案。这类问题可能涉及更深层的原生代码实现。综合解决方案
针对这类安全扫描问题,官方推荐的首要且有效的解决方案是使用 APK 加固。
Activity、Service等组件因功能需要必须对外导出,这属于正常情况,并非安全缺陷。许多报告属于误报或夸大了风险。如果加固后问题仍未解决,或安全平台要求加固前必须通过检测,建议您整理完整的检测报告和待检测的 apk 文件,前往 官方论坛(ask社区) 发帖反馈,并添加“安全漏洞”、“安全检测”标签,以便官方技术支持进一步跟进。
q***@yinwang.com (作者)
@DCloud_Android_zl @DCloud_Android_YJC @DCloud_Android_ST @DCloud_Android_THB @DCloud-HBuilderX团队
各位请帮忙抽空看看,谢谢!
要回复问题请先登录或注册
公告
更多>相关问题