- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于安卓系统的移动应用程序安全加固系统的设计.doc
基于安卓系统的移动应用程序安全加固系统的设计
摘要: 随着时代的发展,互联网移动技术不断进步,智能移动终端也在日益普及,与之密不可分的移动应用的数量也得到了前所未有的增长。由于安卓系统低成本、开放性等特点,大量的开发者进入并且开发出了各式各样的移动应用程序。但其带来的问题也接踵而至:盗版、重打包等等。这类隐患不仅损害了开发者的利益,也威胁到了用户的财产、隐私、信息等方面的安全问题,更是不利于互联网的可持续发展。因此,设计基于安卓系统的移动应用程序安全加固系统则显得尤为必要。
关键词:安卓系统 移动应用程序 安全隐患 加固系统
中图分类号:TP311.5 文献标识码:A 文章编号:1007-9416(2016)06-0201-01
1 前言
根据调查,目前市场上的智能操作系统主要有 IOS、Android、Windows Phone等。其中,由于安卓系统有着开放性较高等多个优势,从而被广大开发商所青睐,占有最大的市场份额。但是也因为安卓系统兼具兼具开放性与灵活性,基于安卓系统开发的病毒、木马、恶意软件等应用程序层出不穷,从而导致用户隐私被非法窃取、财产被恶意转移、电脑系统被破坏等问题的产生。另一方面,由于安卓系统程序应用的发布缺乏严格的软件审核机制,并且相关法律规定的监管也不到位,导致安卓系统的移动应用程序安全受到了极大的威胁。
2 安卓系统应用安全加固方案设计
2.1 加固方式归纳
通过制定访问控制规则与框架,以修改安卓系统内核方式实现对应用程序实施强制访问控制;基于UPX加壳技术的代码混淆机制,降低反编译后代码可读;通过安全加载机制,将核心代码转为代码,从而提升应用整体破解难度;配合平台通信,在应用内集成安全组件,将敏感信息隔离于服务端,防止因代码泄露带来的信息风险[1]。
2.2 设计原则
为了向开发者提供易于理解和操作的安卓系统应用安全加固方案,保护移动应用程序不受破坏,避免用户利益受损,遵守以下设计原则:降低开发者额外操作同时,保证原应用功能可以正常运行;防止病毒或恶意应用利用本系统隐藏自身代码,逃避代码检测;提升应用破解门滥,使得应用能够有效防止逆向工程导致的安全风险;提供灵活的保护方案组合,兼顾性能指标与用户体[2]。
2.3 软件安全加固加固基本功能
2.3.1 防软件盗版
为了防止软件盗版等问题,有两类方案:一种是在应用程序中添加数字签名或数字水印来证明程序使用者的合法性,另一种是进行网络交互,通过与数据库中存储的校验值进行比较,来证实应用的合法性。
2.3.2 防隐秘数据窃取
对于移动终端应用中的隐私信息进行加密保护,防止攻击者盗取用户信息谋利,一般采用标准加密算法,因为常规的非对称加密算法效率过低,一般使用小型对称密码,需要对密码算法进行改造,定制化处理以确保其安全性[3]。
2.3.3 防动态调试反编译反汇编
攻击者想要对程序进行深层次的攻击必须要获得程序的源码,针对代码容易被反编译的问题,我们决定通过使用代码混淆进行隐私保护。对于代码交叉编译生成的可执行文件,进行加载器的安全加载,在加载器中实现完整性校验等函数,实现对动态调试,反编译等攻击手段的防御。
2.4 软件安全加固核心技术
2.4.1 白盒加密算法
由于移动终端处理性能有所限制,而传统的非对称加密算法的处理速度不够快,不适合应用的使用,因此须使用对称加密算法――白盒加密算法。具体是指?用算法的白盒加密方案,可以做到每一台主机有一个定制的解密盒,即使一个终端被破解,其他终端不会收到影响,仍然能够正常使用,有利于提高安卓系统应用的安全性。
2.4.2 调试技术
针对Java代码,一般进行代码混淆处理,新的代码版本虽然与原始代码行为方式相同,但是更加复杂,难以理解。另外为了增强安卓应用的安全性,在安全加固系统中使用安全加载器加载原有文件中的文件,将核心代码写入生成的代码中,然后在实现反反汇编,反动态调试等功能。
2.4.3 安全加载技术
壳属于软件保护技术中的一种,主要针对反编译和篡改行为。经过加壳处理后,应用程序的手保护程度会提高,还可以在一定程度上实现对动态调试的抵抗[4]。
2.5 加固保护方案
2.5.1 dex文件加固
对于安卓系统移动应用程序中的文件,?用代码混淆的方式对其实现加固,对应用中原来dex头部文件进行混淆,原有的dex头部只有70个字节,我们现在将安卓系统应用的dex文件加到文件的dex头部后,经过如此混淆后,反编译器就无法进行正常的反编译了。执行的过程中会通过一个加载器,先把这1000个字节解出来,然后再执行剩余的dex文件,将应用正常调用起来。
2.
文档评论(0)