Android的安全不容易做,但是可以通过第三发的安全扫码软件进行一定的安全措施还是有必要的,下面内容都是通过第三方检测提出的应该做的安全保障
- 敏感权限情况
Android6.0系统增加了危险权限的许可操作,从安全性考虑应用应该采取最小权限的原则,避免申请冗余权限 - 四大组件暴露漏洞
Activity、Service、BroadcastReceiver、Content Provider组件都有【exported】属性,该属性被设置为true或是未设置exported值
但IntentFilter不为空时,被认为是可以导出的,黑客可能构造恶意数据针对导出组件实施越权攻击; 如果不涉及跨进程或者与其他App没有共享数据或者交互就在清单文件中设置为false - 隐式意图调用漏洞
隐式意图调用只设置Action,没有其他校验措施;建议使用显示调用或者增加Category或者Data数据做校验 - 数据任意备份漏洞
清单文件中android: allowBackup为true时,app数据可以被备份导出;设置为false就可以了 - 可被任意调试漏洞
清单文件中android:debuggable为true时,app可以被任意调试,攻击者可以发起动态调试攻击;发布版本时设置为false - 配置文件SP可读、可写漏洞
getSharedPreferences打开文件时,mode模式如果设置为MODE_WORLD_WRIT EABLE、MODE_WORLD_READABLE时,当前文件可以被其它应用写入或者读取;建议设置为MODE_PRI
VATE或者存储的数据经过加密; - Broadcast Receiver全局广播漏洞
全局广播时,其它应用内也可以收到广播;建议使用本地广播LocalBroadcastManager - webview明文存储密码漏洞
webview浏览器内保存的数据会存储在databases/webview.db中,如果
手机root且涉及敏感数据,则可以明文拿到数据
WebView.getSettings().setSavePassword(false)来禁止保
存密码 - Android应用克隆漏洞
该漏洞影响使用WebView控件,开启file域访问并且未按安全策略
开发的Android应用APP;可以控制禁止访问file域,mWebView.setAllowFileAccess(false);
android4.1版本以前默认setAllowFileAccessFromFileURLs(true)/setAllowUniversalAccessFromFileURLs(true),即允许通过file域URL中的js读取其他本地文件,在之后的版本默认为false;当设置了setAllowUniversalAccessFromFileURLs(true),那么setAllowFileAccessFromFileURLs函数将失效 - unzip解压缩(ZipperDown)漏洞
解压zip文件,使用getName()获取压缩文件名后未对名称进行校验
。攻击者可构造恶意zip文件,被解压的文件将会进行目录跳转被解
压到其他目录,覆盖相应文件导致任意代码执行。建议解压文件时,判断文件名是否有../特殊字符。 - AES/DES硬编码密钥漏洞检测
使用AES或DES加解密时,采用硬编码在程序中的密钥。通过反编
译拿到密钥可以轻易解密APP通信数剧;密钥加密存储或是用过变形后进行加解密运算,切勿硬编码到代码中
网友评论