| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> Android应用安全 -> 正文阅读 |
|
[移动开发]Android应用安全 |
一、前言 互联网时代,移动应用已经进入到大众生活的各个方面,娱乐、出行、金融、支付等等,应用中包含了用户的各种隐私数据,如聊天记录,金融账户等等敏感数据,以及一些涉及用户个人财产安全的交易支付操作等,所以移动应用的安全性显得尤为重要。作为移动应用开发者我们需要考虑从各个方面最大限度的提高应用的安全性;这篇文章就来讨论一下Andoid应用开发中的安全性问题 二、Android应用的安全 1.组件安全 组件安全 组件安全是指我们在使用Android提供的组件时,需要做一些访问限制,Activity
为了防止我们的Activity被其他应用恶意启动,我们需要对我们的Activtiy做访问权限控制;
两个应用的用户ID一致,则两个应用之间的数据都可以相互访问,没有任何限制; 但是我们如果希望Activity被特定的外部程序启动,就不能设置android:exported=“false”,但是我们可以通过给Activtiy android:permission 设置一个自定义的权限字符串来限定拥有指定权限的应用可以 -要被启动的目标Activity (应用B中)
-要启动应用B中目标Activity的应用中需要配置权限(应用A中) AndroidManifest.xml
当然除了Activity,Service,ContentProvider,BroadcastReceiver都是可以通过android:exported -BroadcastReceiver的安全 BroadcastReceiver设计的初衷是从全局考虑方便应用程序和系统、应用程序之间、应用程序内的通信,但是对于单个应用程序而言,BroadcastReceiver是存在安全性问题的,比如恶意程序不断的去发送你所接收的广播为了解决这个问题,LocalBroadcastManager就诞生了; 2.通信安全 在大多数的移动应用中会涉及到网络通信,所以通信安全也是非常重要的;如使用HTTPS/WSS 加密通信协议来替代HTTP和WS协议,来防止通信被中间人劫持以及通信数据的泄露,对通信的敏感数据如密码等进行加密后再进行网络传输 3.APK的安全 APK的安全是非常重要的,因为通过APK反编译,可以看到我们的代码实现,窃取我们的代码逻辑,通过修改代码,二次打包,可以篡改我们的代码逻辑,也会造成严重的问题; -对代码进行混淆 使用Android提供的proguard混淆器混淆代码来增加反编译之后代码的阅读难度; -对APK进行加固 我们可以使用一些加固工具,如360加固,腾讯加固来对APK进行加固,防止APK被反编译; 4.本地数据安全 -数据机密 5.数据备份安全 AndroidManifest.xml中的application中可以配置android:allowBackup 属性来设置是否允许 所以如果开启了allowBackup,则通过adb backup命令就可以恢复数据,在另外一个设备中安装了该应用, 就可以将应用数据恢复到到备份的状态,还是有很大的安全问题的,所以一般都需要将allowBackup关闭;一般的应用安全检测检测到allowBackup没有设置false,也会报高危漏洞警告的; 备份应用数据
恢复应用数据
6.截屏安全 对于一些敏感页面,如密码登录页面,支付交易密码输入页面,像付款二维码页面,这样
以上就是Android应用开发中一些需要注意的安全问题,我们在开发过程中需要严格遵守这些安全规范,提高应用的安全性,保护用户的数据财产安全; |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 1:25:01- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |