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共同校验;

相关推荐
李斯维29 分钟前
循序渐进 Android Binder(二):传递自定义对象和 AIDL 回调
android·java·android studio
androidwork30 分钟前
OkHttp 3.0源码解析:从设计理念到核心实现
android·java·okhttp·kotlin
像风一样自由1 小时前
【001】frida API分类 总览
android·frida
casual_clover1 小时前
Android 之 kotlin 语言学习笔记四(Android KTX)
android·学习·kotlin
饮长安千年月3 小时前
JavaSec-SpringBoot框架
java·spring boot·后端·计算机网络·安全·web安全·网络安全
移动开发者1号3 小时前
Android 大文件分块上传实战:突破表单数据限制的完整方案
android·java·kotlin
移动开发者1号3 小时前
单线程模型中消息机制解析
android·kotlin
大咖分享课4 小时前
容器安全最佳实践:云原生环境下的零信任架构实施
安全·云原生·架构
淡水猫.5 小时前
ApacheSuperset CVE-2023-27524
安全·web安全
恰薯条的屑海鸥5 小时前
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
网络·学习·安全·web安全·渗透测试·csrf·网络安全学习