给 Android 研发的一些的建议
作为应用程序开发人员,我们需要注意在开发应用程序时的一些问题. 这些问题的安全级别是取决于应用程序的类型和使用域. 在这里列举了一些我们在开发中需要注意的一些问题:
开发日志输出相关:
1. 不要在 LogCat 中打印敏感信息。比如:用户名,密码,Web服务的URL,请求或响应信息等细节信息。
2. 在应用上线前去除没有必要的log日志
研发过程细节相关
1. 移除 AndroidManifest.xml中不必要的权限.
2. 慎用 DexClassLoader 加载应用程序之外的dex文件.
3. 服务器验证方面可以使用基于Https的访问.
4. 对于跨应用程序的功能,应用程序响应之前验证调用.
5. 限制Activity的访问,.如果只有自己的应用使用时可以加上 exported = false.
6. 给Service加上对应的自定义权限.如果只有自己的应用使用时可以加上 exported = false(同ContentProvider).
7. 不接收处理一些恶意伪造的Intent.在之前的BroadcastReceiver的方法的OnReceive()方法中收到的Intent,验证调用者的包名,动作等信息
8. 限制的WebView来访问本地数据。 HTML5和相关技术已经普遍应用在移动Web应用程序或混合型(Hybird)应用程序。对于Hybrid采用的WebView从本地存储显示的HTML或从服务器获取HTML和的其他内容。对于webview重大安全问题是setAllowFileAccess()和setAllowContentAccess()方法.
应用打包发布相关:
1. 使用ProGuard.cfg 文件混淆代码
2. 应用发布之前确保debug mode 为 false.