一、Android安全机制分析(2012《探索与观察》)
1.Android的安全设计原则
(1)默认情况下,在Android平台下运行的应用程序没有权限执行对其他应用程序、操作系统有害的操作。
(2)Android应用程序的进程是运行在一个安全“沙箱”环境中。它不能干扰其他应用程序,除非它明确声明权限。
2.Android数据安全机制
(1)数据完整性的实现。根据Android的安全原则可知,Android中的数据在默认情况下(除系统授权外)不会被其他程序破坏、读取、修改、删除或丢失。
(2)数据可用性的实现。Android在保障数据完整性和机密性基础上,采用赋予相应权限的方法来保证数据可有效使用,也即保障了数据的可用性。一般程序要对文件(或者系统服务)进行操作,需要三步走——权限声明、权限审核和权限确认。
3.Android安全性能分析
(1)Android内核存在大量漏洞。
(2)Android缺乏功能强大的病毒防护或者防火墙。
(3)Android应用软件缺乏安全审核及监管(第三方应用商店准入门槛低)。
4.解决方案
(1)设置高级权限。
通过AndroidManifest.xml文件可设置高级权限,以限制访问系统的所有组件或使用应用程序。Activity权限限制能够启动与Activity权限相关联的组件或应用程序。如果调用者没有请求权限,那么会为调用抛出一个安全异常。Service权限限制启动、绑定关联服务的组件或应用程序。如果调用者没有请求权限,那么会为调用者抛出一个安全异常。
(2)基于主机的入侵检测系统。包括异常检测盒基于知识的时间抽象方法。
异常检测:指入侵检测系统框架持续采用各种各样的系统参数指标,采用机器学习和时序推理的方法分析采集的数据。通过收集系统参数指标,与已知的恶意软件引发的系统参数指标做对比,检测相同点,进而发现先前未曾遇到的新恶意软件。
基于知识的时间抽象方法:指结合时间抽象知识基础,持续测量数据和事件,从面向时间的原始的安全数据抽象得出高层次的有意义的概念和模式。
(3)selinux(security-enhanced linux)。
selinux是基于“域一类型”模型的用于强制访问控制的安全系统。这是一种混合的安全性策略,其逻辑和通用接口一起封装在与操作系统独立的安全服务器中,通过替换安全服务器,可以支持两种不同的安全策略:目标策略和严格策略。目标策略仅针对部分系统网络服务和进程执行selinux策略。严格策略是执行全局的默认策略,此时几乎所有的网络服务都受控。
5.总结
(1)为避免Android手机受到安全攻击,要养成良好的使用智能手机的习惯,避免手机信息的泄露。
(2)安装软件时,仔细查看软件权限需求列表。平时不安装软件时,可以关闭root权限或者开启应用权限管理。