android播放器sdk测试报告,Android安全检测报告

1.高危 Intent Scheme URL攻击

详情:恶意页面可以通过Intent scheme URL执行基于Intent的攻击

建议:将Intent的component/selector设置为null

2.高危 WebView应用克隆风险

详情:APP使用WebView访问网络,当开启了允许JS脚本访问本地文件,一旦访问恶意网址,存在被窃取APP数据并复制APP的运行环境,造成“应用克隆”的后果,可能造成严重的经济损失。

建议:建议禁用setAllowFileAccessFromFileURLs和setAllowUniversalAccessFromFileURLs;若需要允许JS访问本地文件,则应使用白名单等策略进行严格的访问控制。

3.高危 不安全Zip文件解压

详情:zip压缩包中的文件名中可以包含“/”所以如果文件名字是包含多个“../”就会造成文件被恶意放置,覆盖掉APP原有的文件

建议:对 ZipEntry.getName() 字段进行 ../ 筛查

4.高危 进程注入

详情:Android 系统使用的是 Linux 内核,进程间是弱相互作用,可以在应用进程空间内创建线程来加载自定义的 .so 文件,也就是进程注入。具体的实现依赖于 linux 下的 ptrace() 函数,将客户端进程作为我们自定义进程的子进程,操作客户端进程的寄存器和内存,来运行加载自定义的 .so 文件,将 .so 链接到客户端进程,最后让客户端进程的执行流程跳转到自定义的.so。总结来讲,如果Android 客户端没有对进程进行有效的保护,攻击者就可以向从 Native 层面向客户端进程远程加载任意 .so 链接库,从而侵入客户端进程的进程空间,以搜索、篡改敏感内存或干涉客户端的执行过程。

建议:1、ptrace 附加失败。2、修改 linker 中的 dlopen 函数,防止第三方 so 加载。3、定时检测应用加载的第三方 so 库,如果发现是被注入的 so,卸载加载的 so

5.高危 服务端证书弱校验

详情:使用HTTPS协议时,客户端必须验证服务器是真实合法的目标服务器。Android默认的HTTPS证书验证机制不接受不可信的连接,因而是安全的,但Android允许开发者重定义证书验证方法。当自定义的X509TrustManager类,未检查证书是否合法时,会存在客户端与仿冒服务器通讯的风险,可能导致账号、密码等敏感信息被窃取,甚至通信内容被篡改。

建议:利用X509TrustManager子类中的checkServerTrusted函数,校验服务器端证书的合法性

6.中危 WebView同源策略绕过

详情:JavaScript的延时执行能够绕过file协议的同源检查,从而够访问受害应用的所有私有文件。通过WebView对Javascript的延时执行,将当前Html文件删除掉并软连接指向其他文件就可以读取到被符号链接所指的文件,然后通过JavaScript再次读取HTML文件,即可获取到被符号链接所指的文件。恶意应用通过该漏洞,可在无特殊权限下盗取应用的任意私有文件。比如浏览器应用存在此漏洞,可获取到的信息,包括但不限于,保存的密码、Cookie、收藏夹以及历史记录等。

建议:1、不必要导出的组件设置为不导出,建议显式设置所注册组件的“android:exported”属性为false。2、对于需要导出包含WebView的组件,建议禁止使用File域协,webView.getSettings. setAllowFileAccess(false)。3、如需使用File域协议,建议禁止File域协议调用JavaScript,webView.getSettings. setJavaScriptEnabled(false)

7.中危 隐式Intent劫持

详情:APP使用隐式的Intent,存在被恶意三方APP钓鱼的风险

建议:尽量使用显式Intent

8.中危 残留URL

详情:APP 中残留开发或测试阶段使用的 URL 地址时,存在被攻击者当做攻击目标的风险。

建议:移除APP 中的 URL 地址 。

9.中危 动态注册BroadcastReceiver风险

详情:APP使用动态BroadcastReceiver时,未对广播增加权限控制,可以被任意外部应用访问,存在数据泄漏或是越权调用等风险

建议:在AndroidManifest.xml文件中声明广播权限,在注册广播时限制相同的action应用够使用此广播。

10.中危 不安全哈希算法

详情:android系统提供Hash算法签名重要数据,当应用使用MD5/SHA-1计算重要数据的哈希值时,更容易遭到碰撞攻击。攻击者利用碰撞攻击的方式,逆向获取Hash签名的重要数据

建议:使用SHA-256哈希算法

11.中危 主机名弱校验

详情:使用HTTPS协议时,客户端必须验证服务器是真实合法的目标服务器。Android默认的HTTPS证书验证机制不接受不可信的连接,因而是安全的,但Android允许开发者重定义证书验证方法。当自定义的HostnameVerifier类,未检查证书中的主机名与使用该证书的服务器的主机名是否一致或被配置为接受任何服务器主机名时,会存在客户端与仿冒服务器通讯的风险,可能导致账号、密码等敏感信息被窃取,甚至通信内容被篡改。

建议:利用HostnameVerifier子类中的verify函数,校验服务器主机名的合法性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值