andriod安全机制分析与技术 (1501210968潘依南)

作者:潘依南

学号:1501210968

学院:北京大学软件与微电子学院

Android是Google于2007年11月5日宣布基于Linux内核的手持终端操作系统的名称。由于该系统自身具备开放源码的特征,所以它的安全性能正在成为信息安全领域研究的一个重要课题,也对我们的现实工作有较大借鉴作用。

1.Android的安全设计原则

Android的安全设计包括以下两个原则:

(1) 在默认情况下,在AndriodOS平台下运行的应用程序没有权限执行对其它应用程序、操作系统有害的操作。这些操作包括读/写用户的隐私数据(例如联系方式或e-mail)、读/写其它应用程序的文件等。

(2)Android应用程序的进程是运行在一个安全“沙箱”环境中。它不能干扰其它应用程序,除非它明确声明权限。这些权限请求能够被不同方式的操作所处理,特别的要基于证书和用户的提示被自动允许或禁止。而且权限请求在应用程序中被声明为静态,所以在此之后在安装时系统会预先知道。

1)Android内核存在大量漏洞

由于Android系统平台自身开源性的特征,它已成为现今黑客重点攻击目标。黑客针对现有的漏洞,已开发出众多漏洞利用工具,其中窃取用户隐私、恶意扣费等行为的工具和木马类型的恶意软件占多数。此类病毒会自动联接互联网,在系统的后台启动恶意进程,窃取手机中隐私内容,直接威胁用户安全。

2) Android缺乏功能强大的病毒防护或者防火墙

现阶段专业从事手机系统防护和手机病毒查杀的公司比较少,公众手机防病毒意识不强,Android系统作为基于Linux系统的智能手机平台,其病毒防护或防火墙功能较弱,目前基于Android平台的病毒变种也正呈集群式爆发。

3)Android应用软件缺乏安全审核及监管

Android手机系统自身的验证机制相对薄弱,只能保证对下载程序的稳定性、数据完整性进行检测,无法验证Android手机软件的来源,以及对安装后程序可能存在的行为进行判定,故无法对安全性进行保证。另外,第三方应用商店因为准入门槛较低,监管相对宽松,使不少盗版/克隆应用混迹在正规软件应用里。在这些发布盗版应用的人中,有部分居心不良者存在,通过这些应用传播针对Android系统的木马病毒。

4.解决方案

通过对android安全机制分析,android的安全防护不应仅仅局限于单一攻击方式,需从硬件到应用程序各个层次进行防护。以下将从设置高级权限和基于主机的入侵检测框架(hids),selinux在android上的实施三个方面探讨android的安全解决方案。

(1)设置高级权限

通过Android Manifest.xml文件可设置高级权限,以限制访问系统的所有组件或使用应用程序。所有的这些请求都包含在所需要的组件中的android:permission属性,命名这个权限可以控制访问此组件。Activity权限限制能够启动与Activity权限相关联的组件或应用程序。如果调用者没有请求权限,那么会为调用抛出一个安全异常。Service权限限制启动、绑定关联服务的组件或应用程序。如果调用者没有请求权限,那么会为调用抛出一个安全异常。

(2)基于主机的入侵检测系统

基于主机的入侵检测系统包括异常检测和基于知识的时间抽象方法。异常检测是指入侵检测系统框架持续采样各种各样的系统参数指标,采用机器学习和时序推理的方法分析采集的数据。通过收集系统参数指标,与已知的恶意软件引发的系统参数指标作对比,检测相同点,进而发现先前未曾遇到的新恶意软件。基于知识的时间抽象方法是指结合时间抽象知识基础,持续测量数据和事件,从面向时间的原始的安全数据抽象得出高层次的有意义的概念和模式。

(3)selinux(security-enhanced linux)

selinux是基于“域—类型”模型的用于强制访问控制的安全系统。这是一种混合的安全性策略,其逻辑和通用接口一起封装在与操作系统独立的安全服务器中,通过替换安全服务器,可以支持两种不同的安全策略:目标策略,严格策略。目标策略仅针对部分系统网络服务和进程执行selinux策略。严格策略是执行全局的默认策略,此时几乎所有的网络服务都受控。

5.手机杀毒技术的设计与实现

1) 手机杀毒技术的实现原理

介绍手机杀毒功能之前首先要介绍杀毒软件的原理:对手机病毒的查杀的主流技术是对基于签名的 hash码的扫描,通常通过hash算法找到其特征码,首先需要有一个病毒数据库, 用来保存的现有病毒对应的 hash。再把全部的文件的hash 与数据库中的 hash 值做比对,将这些病毒特征显示出来,提示用户进行杀毒。

2) 手机杀毒技术的实现

首先在 anti_anim.xml中定义好需要循环播放的图片资源文件、这些图片播放的时间间隔以及是否循环播放等条目信息,在Activity界面类的代码中利用背景图片的设置背景资源方法获取图片对象的背景资源,然后调用获取背景资源的方法获得背景图像的帧动画显示方式,并将帧动画的显示放在对屏幕的接触点击事件发生时被触发启动动画的显示。因此需要重写屏幕的接触点击事件,并在其中启动帧动画显示对象,该部分功能的核心代码如下:

public void on Create(Bundle saved Instance State)

{

iv = (Image View) this.find View By Id(R.id.iv);

lin L = (Linear Layout) this.find View By Id(R.id.ll);

iv.set Background Resource(R.drawable.anti_anim);

sv = (Scroll View) this.find View By Id(R.id.sv);

anim = (Animation Drawable) iv.get Background();

}

通过以上的介绍和分析,为尽可能避免android手机受到安全攻击,手机使用者应养成良好的使用智能手机的习惯,避免手机信息的泄露。在安装软件和游戏的时候,须仔细查看安装过程中的软件权限需求列表,在平时不安装软件的时候,在工具->权限管理中,可以按“菜单键”,在弹出的列表中关闭root权限。随着手机朝着智能化方向的发展,android智能手机操作系统越来越被人们所关注。android会在应用中不可避免出现大量针对其的攻击行为和恶意软件,但是攻防演绎是一个呈双螺旋增长过程。随着时间的推移,android平台的漏洞会越来越少,系统将会越来越安全可靠。

results matching ""

    No results matching ""