当前位置: 首页 > news >正文

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 trueproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}

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

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

6.应用加固

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

7.网络安全

使用Https和ssl证书校验

8.数据存储

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

9.业务漏洞

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

http://www.lryc.cn/news/298908.html

相关文章:

  • C#的Char 结构的像IsLetterOrDigit(Char)等常见的方法
  • 部分意图分类【LLM+RAG】
  • 1277. 统计全为 1 的正方形子矩阵
  • Python 3 时间序列可视化指南
  • [算法前沿]--059-大语言模型Fine-tuning踩坑经验之谈
  • 【Docker】01 Docker安装与配置
  • Unity3d Shader篇(六)— BlinnPhong高光反射着色器
  • Go-zero微服务个人探究之路(十二)定时任务的选择调研
  • Java中,List、Map和Set的区别是什么?
  • Google刚刚推出了图神经网络Tensorflow-GNN
  • 链表基础知识汇总
  • Educational Codeforces Round 2(远古edu计划)
  • 【Tauri】(1):使用Tauri1.5版本,进行桌面应用开发,在windows,linux进行桌面GUI应用程序开发,可以打包成功,使用 vite 最方便
  • 「Linux」软件安装
  • Ubuntu Desktop - Terminal 输出全部选中 + 复制
  • Java 三大并大特性-可见性介绍(结合代码、分析源码)
  • 【漏洞复现】狮子鱼CMS某SQL注入漏洞01
  • 《Java 简易速速上手小册》第6章:Java 并发编程(2024 最新版)
  • C++初阶:容器(Containers)list常用接口详解
  • HARRYPOTTER: FAWKES
  • 嵌入式Qt 第一个Qt项目
  • 【OpenHarmony硬件操作】风扇与温湿度模块
  • Vue3.4+element-plus2.5 + Vite 搭建教程整理
  • STM32Cubmax stm32f103zet6 SPI通讯
  • 每日OJ题_位运算⑤_力扣371. 两整数之和
  • Mysql中索引优化和失效
  • 使用Python+OpenCV2进行图片中的文字分割(支持竖版)
  • Qt中程序发布及常见问题
  • C语言第二十三弹---指针(七)
  • 用HTML5 + JavaScript绘制花、树