Android性能调优 - 应用安全问题

Android应用安全

1.组件暴露:

像比如ContentProvider,BroadcastReceiver,Activity等组件有android:exported属性;

如果是私有组件 android:exported= "false";

如果是公有组件 android:exported= "true" 且进行权限控制;

2.Log敏感信息泄漏:

3.权限申请

敏感权限调用

在Manifest文件中调用一些敏感的用户权限,敏感行为包括发送、拦截短信,读取、修改通讯录、通话记录,拨打电话,发送地理位置,使用摄像头,访问浏览器历史记录等。函数调用这些敏感行为,可能导致用户隐私数据泄露,钓鱼扣费等风险。

冗余权限

如果调用了非必须的权限,就会出现冗余权限,冗余权限可导致串谋攻击,串权限攻击的核心思想是程序A有某个特定的执行权限,程序B没有这个权限。但是B可以利用A的权限来执行需要A权限才能完成的功能。

4.代码混淆

Android平台的混淆原理是把代码中原来有具体含义的包名,类名,变量名,方法名 等名称全部替换成按顺序排列的无意义的英文字母a、b、c;这样就算反编译出来的代码,也比较难理解;

Android中使用SDK中自带的Proguard工具,添加相应配置即可。

复制代码
release {
    minifyEnabled true
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}

但是混淆后可能会造成编译不通过,需要在proguardFiles文件中进行混淆保护:

5.数据加密(对称和非对称加密)

6.应用加固

加固的原理是通过加密原应用的安装包中的dex文件...

7.网络安全

使用Https和ssl证书校验

8.数据存储

  1. 存储内容不要使用明文
  2. 代码中禁止硬编码重要信息内容
  3. 存储到手机内部存储上
  4. 慎重使用allowBackup属性,设置是否支持备份,默认值为true,如无必要,将值设置为false,避免应用内数据通过备份造成的泄露问题

9.业务漏洞

业务漏洞比如,未登录就允许调用支付等敏感接口,需要后台和app共同校验;

相关推荐
sinat_286945194 小时前
AI应用安全 - Prompt注入攻击
人工智能·安全·prompt
安卓开发者4 小时前
Android RxJava 组合操作符实战:优雅处理多数据源
android·rxjava
阿华的代码王国4 小时前
【Android】RecyclerView复用CheckBox的异常状态
android·xml·java·前端·后端
一条上岸小咸鱼4 小时前
Kotlin 基本数据类型(三):Booleans、Characters
android·前端·kotlin
Jerry说前后端5 小时前
RecyclerView 性能优化:从原理到实践的深度优化方案
android·前端·性能优化
alexhilton5 小时前
深入浅出着色器:极坐标系与炫酷环形进度条
android·kotlin·android jetpack
一条上岸小咸鱼11 小时前
Kotlin 基本数据类型(一):Numbers
android·前端·kotlin
Huntto12 小时前
最小二乘法计算触摸事件速度
android·最小二乘法·触摸事件·速度估计
数据智能老司机12 小时前
实现逆向工程——理解 x86 机器架构
安全·逆向
一笑的小酒馆12 小时前
Android中使用Compose实现各种样式Dialog
android