基于Android系统的手机信息安全分析及策略改进
贾能
摘 要:随着移动互联网的发展,Android智能手机在市场上占据着很大的份额。文章首先分析了Android现有的安全机制沙箱模型和数字证书,然后提出Android系统存在的安全问题,最后从系统开发者和用户2个角度设计安全策略来对现有的安全策略进行改进。
关键词:Android;智能手机;信息安全;安全策略
1 Android概述
Android是基于Linux内核源代码开放的软件平台和操作系统,主要应用于智能手机和其他移动设备。它由谷歌和开放手机联盟开发和共同领导。谷歌在2007年11月5号宣布,经过2年的迅猛发展,终于把谷歌在网络应用上的成功扩展到个人移动设施上。Android目前是市场上占有率最大的移动操作系统,三星、魅族、小米等著名手机品牌都使用它作为默认的操作系统。但是,这项技术也是一把双刃剑,给人们带来方便的同时也带来了许多信息安全问题,造成了不少用户的隐私泄露和财产损失。
2 Android主要安全机制
2.1 沙箱隔离模型
在Linux操作系统中,一个给定用户由一个用户ID来标识。在Android系统中,一个应用程序由一个用户ID来标识。在应用市场下载完应用程序进行安装时,应用程序会被系统指派一个用户ID,只要应用程序一直安装在该手机设备上,用户ID就不会改变。权限是限制或者容许应用程序(不是用户)访问设备资源的资格。Android“沙箱”的实质是完成应用程序和进程之间的完全隔离,就是在默认情况下,应用程序对系统资源或其他应用程序资源是没有访问权限的。每个应用程序将通过系统获得固定和唯一的uid,该uid还有一个与此相对应的内核层进程uid。同时,系统也会为应用程序的资源设置正确的权限,只有拥有相同uid的应用程序才能访问它们。
由图1可知,2个不同的APP具备不同的uid,各自运行在一个相对独立的沙箱中,彼此相互隔离,互不干扰,访问、使用自己沙箱内的资源。
2.2 数字证书
在Android系统中,一切已安装的应用程序必须具有数字证书,这个数字证书是用来确认APP和APP的作者之间信赖关系的桥梁。装有Android系统的手机设备是不会安装没有数字证书的APP的,因为这很不安全。数字证书有2种模式:发布模式和调试模式。密钥工具在命令行模式可以被用来产生一个数字证书,而Jarsigner可以被用来为APK进行数字签名。只有采用同一包的名称,并且使用相同数字证书的应用程序才被认为是相同的应用程序。设置应用程序之间通讯的权限和升级应用是数字证书的最大用处,没有数字证书或者数字证书损坏是无法升级应用的。
3 Android安全问题
虽然Android开发人员为系统提供了很多安全保护机制,但它仍存在很多安全问题,给手机用户的隐私安全带来极大的威胁。
3.1 数据存储安全问题
外部存储区域(SD卡)以及内部存储区域(NAND闪存)共同组成Android软件的存储区域。对于存储在外部的文件来讲没有读取和写入的权限管理,因此所有的应用程序都可以添加、删除、查询、修改保存在外部存储上的任一文件。关于数据存储可能会有以下一些问题:将隐私数据和系统数据直接明文保存在外部存储上,那么攻击者可以通过一些工具或者写的程序将这些数据和信息读取出来,然后传送到特定的服务器上,隐私信息因此而泄露;将软件运行依赖的数据和配置文件存储在外部(SD卡)存储区域里,这些配置文件或数据可能会被攻击者修改,以实现他们想要控制该软件操作的目的。例如,把登录需要用的服务器列表保存在外部存储区域,攻击者作为第三方参与其中,将登录连接发送给特定的服务器,这可能造成会话劫持或账号泄露。
3.2 网络通信安全问题
安卓智能手机使用用户通常使用WIFI来进行网络通信。WiFi并不总是可靠而没有风险的,特别是弱加密网络或公共网络,虚假WiFi甚至会盗取支付账户、手机品牌模型信息、自拍照片、电子邮件账户密码和其他各类隐私数据。在这种情况下,网络流量可能会被攻击者监控。另外,在Android系统中,攻击者取得root账户后,可以获得最高权限,拥有至高无上的地位,因而还能够监听网络数据,进行会话劫持,把恶意数据插入到普通的数据包中去。攻击者也可以向连有虚假WiFi的终端设备发送带有病毒的页面或者邮件。假如这个带有病毒的文件被用户打开了,那么该用户的设备就可能会被植入木马程序,感染木马病毒,手机信息被攻击者窃取。还有一种方法就是给应用程序或网站种植病毒程序, 当对程序进行下载后,可能就已经中了病毒。
3.3 不安全的密码和认证策略
很多软件是不会直接把密码保存在数据库中的,而是采用各种加密方法对密码进行加密后存储在本地,然而攻击者通过各种工具和软件,可以对安卓软件进行反编译和反汇编。攻击者能够用这种方法来了解加密方法和编码参数。
另一个问题是使用IMEI(国际移动设备身份码)或者是IMSI(国际移动用户识别码)作为唯一的认证凭据。这2个编码被用来唯一认证移动设备和移动电话卡。假如使用国际移动设备身份码或国际移动用户识别码作为唯一的用户凭证,一些攻击者可能假冒用户来窃取用户本来的信息。第一,应用程序获取这2个编码不需要有特殊的权限,用*#06#这个命令就可以调出。第二,得到移动设备身份码和移动用户识别码后,黑客有多种办法来创建服务器和用户之间的伪通信。因而,如果利用国际移动设备身份码和国际移动用户识别码作为唯一的身份验证凭据,服务器中原用户的各种数据和账就很可能被黑客窃取,造成信息泄露。
4 安全策略改进
以上问题大多是由于Android目前主要的访问控制类型——任意访问控制(DAC)和用户不当的使用习惯造成造成,因此从系统开发者和用户2个角度设计了安全策略进行改进。
4.1 系统开发者:强制访问控制(MAC)
强制访问控制是一个基于规则的多层次的访问控制策略,这个“强制”指的是主客体之间的访问由系统来控制,而不是由主体或者客体来授权。这种控制策略由系统将系统中的数据和用户按密级来划分。在强制访问控制下,主体和客体都由系统指定了固定的安全属性和安全标签。在实施访问控制时,决定该主体能否访问该客体的关键要素是客体的安全标签和安全等级是否符合相关的访问原则。MAC主要有2项访问规则:
(1)保密性规则:主体s读客体o,仅当。(下读);主体s写客体o,仅当。(上写)。
(2)完整性规则:主体s读客体o,仅当。(上读);主体s写客体o,仅当。(下写)。
在以上公式中,s表示主体,o表示客体,l则表示主客体级别。
4.2 用户使用习惯
(1)用户应从正规、安全的渠道下载各类APP和升级包。(2)安装一些正规的安全监管软件对系统进行监测。(3)开机使用密码或者指纹识别,而且密码最好要有一定的强度。(4)不要轻易刷机,刷机需要提供ROOT账户,ROOT账户是安卓系统中的一个超级管理员用户账户,它可以访问系统中的所有客体和资源。然而为了维护系统的稳定性和安全性,一般情况下,ROOT权限是不开放的。因此刷机很可能造成手机信息泄露和权限的转移。(5)及时更新系统和APP,防止BUG对系统安全造成不良影响。(6)不要随便打开发信人不明的邮件和一些网站,注意网站的域名,防止钓鱼。
5 结语
如今,智能手机在人们的日常生活的方方面面都发挥着重要的作用,Android手机又在智能手机中占据着重要一席。无论是手机内部的安全漏洞还是外部的攻击都使各种手机信息泄露事件层出不穷。系统开发者应该设计出更加安全有效的策略来保障用户安全,而用户本身也应该时刻注意自己的隐私信息,让移动互联网更好地为人民服务。
[参考文献]
[1]袁志坚,王春平,陈融,等.Android平台安全威胁及其应对策略[J].计算机技术与发展,2013(9):110-113.
[2]张毓森,慎健.安全操作系统研究[J].解放军理工大学学报:自然科学版,2004(3):1-4.
The Information Security Analysis and Strategy Improvement of AndroidMobile Phone
Jia Neng
(Zhongnan University of Economics and Law, Wuhan 430073, China)
Abstract: With the development of mobile Internet, mobile phones using Androidsystem occupy a large share in the market. First of all, this paper analyzes sandbox model and digital certificate which are the existing security mechanisms of Androidsystem. Secondly, security problems in the Androidsystem have been put forward. Finally, security strategies are designed from two angles of system developers and users to improve the existing security strategy.
Key words: Android; mobile phone; information security; security strategy