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

相关推荐
ii_best5 小时前
按键精灵支持安卓14、15系统,兼容64位环境开发辅助工具
android
安全系统学习5 小时前
网络安全之SQL RCE漏洞
安全·web安全·网络安全·渗透测试
美狐美颜sdk5 小时前
跨平台直播美颜SDK集成实录:Android/iOS如何适配贴纸功能
android·人工智能·ios·架构·音视频·美颜sdk·第三方美颜sdk
恋猫de小郭9 小时前
Meta 宣布加入 Kotlin 基金会,将为 Kotlin 和 Android 生态提供全新支持
android·开发语言·ios·kotlin
aqi0010 小时前
FFmpeg开发笔记(七十七)Android的开源音视频剪辑框架RxFFmpeg
android·ffmpeg·音视频·流媒体
hanniuniu1311 小时前
AI时代API挑战加剧,API安全厂商F5护航企业数字未来
人工智能·安全
zhulangfly11 小时前
API接口安全-1:身份认证之传统Token VS JWT
安全
androidwork12 小时前
深入解析内存抖动:定位与修复实战(Kotlin版)
android·kotlin
梦天201512 小时前
android核心技术摘要
android
时时三省13 小时前
【时时三省】vectorcast使用教程
安全·安全架构