一种检验Android系统安全并加强手机使用安全的方法与流程

文档序号:12916066阅读:258来源:国知局
一种检验Android系统安全并加强手机使用安全的方法与流程

本发明涉及智能手机安全保护技术领域,具体为一种检验android系统安全并加强手机使用安全的方法。



背景技术:

随着智能手机的普及以及社交网络的迅猛发展,越来越多的人们都在使用手机。据2017年谷歌i/o大会统计,全球使用android操作系统的激活设备超过了20亿台。android作为世界上使用最多的操作系统,国内有很多厂商例如华为、小米、魅族都很深受年轻人的喜爱。但是,android在其技术安全上仍旧存在很多的安全隐患。我们不仅要会用手机,还要安全的使用手机,保证自己的财产和隐私安全。

在android早期的系统,不法分子往往利用一些用户层程序的漏洞即可将手机root,现在则主要依赖内核漏洞。android为linux内核引入了新的内核模块,以及不同厂商的驱动方案。这就为系统内核引入了新的安全隐患,无论是高通、mtk或者华为海思的芯片,多少都出现过一些内核漏洞,这是android平台内核的一个主要攻击点。随着google将selinux引入android,攻击面有所减小,但不能完全解决内核漏洞利用的问题。从防御角度来说,同样面临着挑战:一些apt攻击如果利用内核漏洞,将能拿到系统的完全控制权。android平台内核漏洞长期以来一直都在持续曝光,漏洞利用与防范依然是持续的热点。



技术实现要素:

本发明的目的在于提供一种检验android系统安全并加强手机使用安全的方法,采用android技术分析,为用户打造更安全的使用,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:一种检验android系统安全并加强手机使用安全的方法,包括以下步骤:

s1:启用手机自带的android系统;

s2:在android系统内引入了一套基于selinux的安全机制,并命名为seandroid;

s3:将主动防御获取隐私的程序集成到基于seandroid机制的厂商的rom代码或apihook中;

s4:系统管理员基于seandroid机制制定安全访问策略,并规定进程与访问文件相对应;

s5:构建android应用程序,基于seandroid机制使用私有密钥数字签名与android系统相关的应用程序。

优选的,所述android系统内存在一定的内核漏洞。

优选的,所述seandroid中的每一个进程和文件均关联有一个安全上下文,安全上下文由用户、角色、类型、安全级别四个部分组成,每一部分通过一个冒号来分隔。

优选的,所述两个应用程序被相同数字签名签署可以相互授予权限来访问基于签名的api。

优选的,所述应用程序签名首先生成一个私有、公共密钥对和一个相关公共密钥证书,简称为公共密钥证书。

优选的,所述s5中构建android应用程序时可采用调试模式和发布模式,调试模式为采用一个调试私有密钥自动签名应用程序,未签名的或者使用调试私有密钥签名的应用程序不能通过androidmarket发布。

优选的,所述s5中采用私有密钥数字对应用程序签名,方便识别代码的作者检测应用程序的改变,并在应用程序之间建立信任,使得应用程序可以安全地共享代码和数据。

与现有技术相比,本发明的有益效果是:

本检验android系统安全并加强手机使用安全的方法,通过了解linux内核,研究漏洞方向,并基于seandroid安全机制,加强安全管理;采用应用程序签名,保护不被恶意篡改,同时,了解android恶意软件攻击原理,哪些权限需要注意,从而提高android手机使用安全度,能够更清晰更有效的去使用,使得用户都能了解android技术,识破现在市场上存在的androidapk骗术,提高用户的使用安全。

附图说明

图1为本发明的整体结构流程图;

图2为本发明安全机制结构示意图;

图3为本发明实施例二第一步界面图;

图4为本发明实施例二第二步界面图;

图5为本发明实施例二第三步界面图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一:

请参阅图1-2,本发明实施例中:一种检验android系统安全并加强手机使用安全的方法,包括以下步骤:

第一步:启用手机自带的android系统,android系统内存在一定的内核漏洞;在android早期的系统,不法分子往往利用一些用户层程序的漏洞即可将手机root,现在则主要依赖内核漏洞,android为linux内核引入了新的内核模块,以及不同厂商的驱动方案,这就为系统内核引入了新的安全隐患,无论是高通、mtk或者华为海思的芯片,多少都出现过一些内核漏洞,这是android平台内核的一个主要攻击点;随着google将selinux引入android,攻击面有所减小,但不能完全解决内核漏洞利用的问题;从防御角度来说,同样面临着挑战:一些apt攻击如果利用内核漏洞,将能拿到系统的完全控制权,android平台内核漏洞长期以来一直都在持续曝光,漏洞利用与防范依然是持续的热点;从这个方向入手,首先需要了解linux内核,然后不断对目前已公开的cve漏洞进行分析,理解漏洞的成因和各个类型,在漏洞利用方面,有开源项目run_root_shell可作为参考,该项目包含了多个经典漏洞的利用实现,是入门的好材料,除此之外,还可以关注国外的poc程序或对一键root类产品做分析;

第二步:在android系统内引入了一套基于selinux的安全机制,并命名为seandroid;从android4.0开始,android不遗余力地改善其流畅性,特别是在发布的l版本中,用art替换了dalvik,会越来越流畅,至于安全性,android也没有遗忘,从4.3开始,android引入了一套基于selinux的安全机制,称为seandroid,来加强系统安全性;

第三步:将主动防御获取隐私的程序集成到基于seandroid机制的厂商的rom代码或apihook中;从近几年的安全事件来看,隐私窃取和钓鱼软件是目前android平台主要的恶意软件类型,虽然android6.0加入了很严格的权限管理机制,使得用户在使用app时,都会提示该权限的授权,但是目前来看,6.0的使用频率并不广泛,现在各大应用市场还是6.0以下的用户居多,如果用户对于应用申请的权限毫不知情,那么这款应用就能轻松获取用户的短信、通讯录、地理位置、录音等私密信息;例如:先前支付宝被国内某位高端技术人员曝光其安全问题,支付宝在后台每隔一段时间就会对用户进行一次拍照和录音,一旦用户在安装的时候毫不知情就赋予他权限,那么这些隐私问题就会在这里暴露,这无疑会使得我们对android系统的安全感到担忧,所以android平台需要有主动防御程序控制应用获取隐私的行为,现有的两种方法中,一种是集成到厂商的rom代码中,另一种则是利用apihook实现,无论使用哪种方式,目前面临的问题都是如何更智能地为用户管理权限,以减少防御软件频繁弹窗带来的打扰;

第四步:系统管理员基于seandroid机制制定安全访问策略,并规定进程与访问文件相对应;在seandroid中,每一个进程和文件都会关联有一个安全上下文,这个安全上下文由用户、角色、类型、安全级别四个部分组成,每一部分通过一个冒号来分隔;例如,u:r:t:so描述的就是一个seandroid安全上下文,当每一个进程和文件都关联上一个安全上下文之后,系统管理员就可以基于这些安全上下文制定一个安全访问策略,用来规定什么样的进程可以访问什么样的文件;

第五步:构建android应用程序,基于seandroid机制使用私有密钥数字签名与android系统相关的应用程序;有android应用程序都将被签名,以便识别代码的作者检测应用程序是否发生了改变,在应用程序之间建立信任,基于这一信任关系,应用程序可以安全地共享代码和数据,使用相同数字签名签署的两个应用程序可以相互授予权限来访问基于签名的api,如果它们共享用户id,那么也可以运行在同一进程中,从而允许访问对方的代码和数据;其中,应用程序签名首先是生成一个私有、公共密钥对和一个相关公共密钥证书,简称为公共密钥证书,构建android应用程序时可以采用调试模式和发布模式:使用android构建工具(命令行和eclipseadt)构建的应用程序是用一个调试私有密钥自动签名的;这些应用程序被称为调试模式应用程序,调试模式应用程序用于测试,不能够发布,而且,未签名的或者使用调试私有密钥签名的应用程序不能够通过androidmarket发布。

实施例二:

请参阅图3-5,一种检验android系统安全并加强手机使用安全的方法,检验seandroid安全访问例子:当我们想从手机上下载一个文件到电脑上时,我们使用adbpull命令来实现,当我们执行adbpull命令的时候,实际上是由手机上的守护进程adbd来读出指定的文件,并且将读出来的内容发送给在电脑上运行的adb进程的,接下来,就按照以下步骤尝试从启用了seandroid的三星noteii上下载文件/system/bin/gpsd到电脑上来:

第一步:执行ls-1命令检查手机上存在/system/bin/gpsd文件,以及它基于传统的linuxuid/gid的权限位;从命令的输出可以看到,如果只考虑传统的linuxuid/gid安全机制,手机上的/system/bin/gpsd文件是所有用户均可以读取的;

第二步:执行adbpull命令下载手机上的/system/bin/gpsd文件;从命令的输出可以看到,没有按照预期那样将手机上的/system/bin/gpsd文件下载电脑上来,原因是“permissiondenied”,也就是权限不够;

第三步:分别通过1s-z和ps-z命令检查文件/system/bin/gpsd和进程adbd的安全上下文;从命令的输出可以看到,文件/system/bin/gpsd的安全上下文为u:object_r:gpsd_exec:s0,而进程adbd的安全上下文为u:r;adbd:s0,因此可以断定,在三星noteii运行的系统上,一定存在一个访问策略不允许安全上下文为u:r;adbd:s0的进程访问安全上下文为u:object_r:gpsd_exec:s0的文件。

综上所述:本检验android系统安全并加强手机使用安全的方法,通过了解linux内核,研究漏洞方向,并基于seandroid安全机制,加强安全管理;采用应用程序签名,保护不被恶意篡改,同时,了解android恶意软件攻击原理,哪些权限需要注意,从而提高android手机使用安全度,能够更清晰更有效的去使用,使得用户都能了解android技术,识破现在市场上存在的androidapk骗术,提高用户的使用安全。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1