Android操作系统建立于Linux操作系统之上,该平台由操作系统、中间件、用户界面和应用软件层组成 。相对于PC的安全性而言 , 手机安全对用户的威胁更大 。因为手机相对于PC而言私密性更强,一旦手机遭受到安全攻击,将带来直接的经济损失 。智能手机浏览网站、下载图片、收发E-mail、接收短信 , 都有可能会遇到安全问题 。本文从android系统安全机制出发,分析其安全性能与可能出现的漏洞,并依次列出大致的解决方案 。
Android宣布的基于Linux内核的手持终端操作系统的名称 。由于该系统自身具备开放源码的特征 , 所以它的安全性能正在成为信息安全领域研究的一个重要课题,也对我们的现实工作有较大借鉴作用 。
1.Android的安全设计原则
Android的安全设计包括以下两个原则:
(1)在默认情况下,在Android OS平台下运行的应用程序没有权限执行对其它应用程序、操作系统有害的操作 。这些操作包括读/写用户的隐私数据(例如联系方式或e-mail)、读/写其它应用程序的文件等 。
(2)Android应用程序的进程是运行在一个安全“沙箱”环境中 。它不能干扰其它应用程序,除非它明确声明权限 。这些权限请求能够被不同方式的操作所处理,特别的要基于证书和用户的提示被自动允许或禁止 。而且权限请求在应用程序中被声明为静态,所以在此之后在安装时系统会预先知道 。
2.Android的数据安全机制
(1)数据完整性的实现
根据Android的安全原则可以知道,Android OS中的数据在默认情况下(除系统授权外)不会被其它程序破坏、读取、修改、删除或丢失 。如果一个程序需要对其它程序数据进行读取等操作,系统(或者手机用户)将会在程序安装阶段审核它有无相应的权限 。
(2)数据可用性的实现
Android OS在保障数据的完整性和机密性基础上,采用赋予相应权限的方法来保证数据可被有效使用,也就是保障了数据的可用性 。一般程序要对文件(或者系统服务)进行操作,需要三步走——权限声明、权限审核和权限确认 。
3.Android安全性能分析
针对上述Android安全性能现状,从下面几个方面进行研究分析:
(1)Android内核存在大量漏洞
由于Android系统平台自身开源性的特征,它已成为现今黑客重点攻击目标 。黑客针对现有漏洞,已开发出众多漏洞利用工具,其中窃取用户隐私、恶意扣费等行为的工具和木马类型的恶意软件占多数 。此类病毒会自动联网,在系统后台启动恶意进程,窃取手机中的隐私内容,直接威胁用户的安全 。
(2)Android缺乏功能强大的病毒防护或者防火墙
现阶段专业从事手机系统防护和手机病毒查杀的公司比较少,公众手机防病毒意识不强,Android系统作为基于Linux系统的智能手机平台,其病毒防护或防火墙功能较弱,目前基于Android平台的病毒变种也正呈集群式爆发 。
(3)Android应用软件缺乏安全审核及监管
Android手机系统自身的验证机制相对薄弱,只能保证对下载程序的稳定性、数据完整性进行检测,无法验证Android手机软件的来源,以及对安装后程序可能存在的行为进行判定,故无法对安全性进行保证 。另外,第三方应用商店因为准入门槛较低,监管相对宽松,使不少盗版/克隆应用混迹在正规软件应用里 。在这些发布盗版应用的人中,有部分居心不良者存在,通过这些应用传播针对Android系统的木马病毒 。
4.解决方案
通过对android安全机制分析,android的安全防护不应仅仅局限于单一攻击方式,需从硬件到应用程序各个层次进行防护 。以下将从设置高级权限和基于主机的入侵检测框架(hids),selinux在android上的实施三个方面探讨android的安全解决方案 。
(1)设置高级权限
通过AndroidManifest.xml文件可设置高级权限,以限制访问系统的所有组件或使用应用程序 。所有的这些请求都包含在所需要的组件中的android:permission属性,命名这个权限可以控制访问此组件 。
Activity权限限制能够启动与Activity权限相关联的组件或应用程序 。如果调用者没有请求权限,那么会为调用抛出一个安全异常 。
Service权限限制启动、绑定关联服务的组件或应用程序 。如果调用者没有请求权限,那么会为调用抛出一个安全异常 。
(2)基于主机的入侵检测系统
基于主机的入侵检测系统包括异常检测和基于知识的时间抽象方法 。
异常检测是指入侵检测系统框架持续采样各种各样的系统参数指标,采用机器学习和时序推理的方法分析采集的数据 。通过收集系统参数指标,与已知的恶意软件引发的系统参数指标作对比,检测相同点,进而发现先前未曾遇到的新恶意软件 。
基于知识的时间抽象方法是指结合时间抽象知识基础 , 持续测量数据和事件 , 从面向时间的原始的安全数据抽象得出高层次的有意义的概念和模式 。
(3)selinux(security-enhanced linux)
selinux是基于“域—类型”模型的用于强制访问控制的安全系统 。这是一种混合的安全性策略,其逻辑和通用接口一起封装在与操作系统独立的安全服务器中,通过替换安全服务器 , 可以支持两种不同的安全策略:目标策略,严格策略 。目标策略仅针对部分系统网络服务和进程执行selinux策略 。严格策略是执行全局的默认策略,此时几乎所有的网络服务都受控 。
通过以上的介绍和分析,为尽可能避免android手机受到安全攻击,手机使用者应养成良好的使用智能手机的习惯 , 避免手机信息的泄露 。在安装软件和游戏的时候 , 须仔细查看安装过程中的软件权限需求列表,在平时不安装软件的时候,在工具->权限管理中,可以按“菜单键”,在弹出的列表中关闭root权限 。随着手机朝着智能化方向的发展,android智能手机操作系统越来越被人们所关注 。android会在应用中不可避免出现大量针对其的攻击行为和恶意软件,但是攻防演绎是一个呈双螺旋增长过程 。随着时间的推移 , android平台的漏洞会越来越少 , 系统将会越来越安全可靠 。
【Android安全机制分析】