Android 常见安全漏洞修复理论与实践

本文介绍了Android应用遵循最小化特权准则的重要性,详细阐述了如何修复Activity的权限问题,包括设置`android:exported`和自定义安全权限。同时,文章还探讨了数据越权备份的风险,讲解了`adb backup`的使用,并提供了解决方案,如禁用应用数据备份功能以防止数据泄露。
摘要由CSDN通过智能技术生成

前言

前段时间公司对应用在爱加密上进行了安全扫描,本文将基于爱加密的漏洞分析报告,针对部分内容,介绍理论修复实践

最小化特权准则概念介绍

最小化特权准则,即指组件只能供自身应用调用,尽可能禁止其他应用访问及调用。

违反最小化特权的危害

若组件违反最小化特权准则,则会带来如下危害:

1.攻击者恶意调用应用的 Activity, 修改程序的状态或关键数据。举个例子,如果您的应用的应用需要人脸认证才可以登录,一般需要保存一个人脸认证状态,如果攻击者修改了人脸状态,改为已认证通过,则可以直接进入应用主页。2.通过调用 Activity 内部的方法,可获取私密数据,甚至造成拒绝服务和应用崩溃。例如,如果您的登录 Activity 违反了最小化特权准则,攻击装者可通过反射,来调用您的 Activity 有一个私有方法,用来获取账号和密码。#### 解决方案

1.设置 Activity 组件 android:exported = false
2.必须 exported 的 Activity 组件必须仅限于授权用户或者特定组件调用
3.谨慎使用 intent-filter 属性,若必须使用,则需强制设置 android:exported = false

这里涉及几个概念,简要介绍一下:

1. android:exported

适用于 Android 四大组件,其作用是控制其他应用程序是否可以与当前组件交互。其中 true 为可以与之交互。若设置为 false ,意味着对于 Service 组件,只有相同应用程序的组件或相同用户 ID 的程序才能启动或绑定该服务。值得注意的是,如果该组件在 AndroidManifest 中声明了 intent-filter , 该组件的 exported 属性将自动设置为 true。若没有声明,则默认为 false.

2. 用户 ID (UID)

对于 Android 应用,每个应用程序都有一个 UID, 默认情

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值