- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
移动应用程序代码注入攻击安全技术探讨
移动应用程序代码注入攻击安全技术研究 摘 要:本文在基于HTML5移动应用程序上对代码注入攻击进行了系统性的研究,针对漏洞检测的结果,分别对开发者和普通用户就漏洞防御方面提出建议
关键词:代码注入攻击 HTML5 漏洞防御;
1、HTML5移动应用程序代码注入攻击
编写移动应用程序的时候,使用基于HTML5的Web技术可以使应用程序在不同的移动平台间移植。然而,Web技术有它的危险特性,它容许数据和代码混合在一起。即当一个同时有数据和代码的字符串被Web技术处理时,代码会辨识并送到JavaScript引擎执行。在这种情况下,若是开发人员不小心,代码内部数据就可能会被错误触发。基于HTML5的移动应用程序建立在与Web应用程序相同的技术上,也会受到代码注入攻击。基于HTML5的移动应用程序比Web应用程序有一个更广泛的攻击范围。基于HTML5的WEB前端除了与web站点交互外,还会与多种形式的实体进行交互,如其他应用程序、条形码、Wi-Fi接入点、其他移动设备等。这也导致了潜在的攻击,攻击的基本思想如图1所示
2、代码注入攻击检测以及案例分析
应用检测工具,对市场中基于HTML5的移动应用进行检测,动态测试的代码覆盖率有限,本文通过静态分析找到可行的程序执行路径从而发现代码注入攻击。检测代码注入攻击的问题相当于一个数据流分析的问题,检测来自不受信任的渠道数据,通过传播,被用到不安全的移动应用程序中
作业帮是在百度应用商店下载量为1513万的移动应用。对其进行检测分析,通过对内嵌统计接入检测,数据存储检测,敏感权限检测,调试信息,资源索引引用检测,字符串初始化检测,得到相应的检测结果和漏洞详情,如表1所示
为了评估HTML5移动应用程序代码注入攻击漏洞率,从百度应用商城下载了100个下载量在20万以上的移动应用,用检测工具分别从5个方面进行漏洞分析。结果显示,其中87个应用在内嵌SDK检测上表现为不安全,43个应用在数据存储检测方面表现为不安全, 49个应用在源码检测方面表现为不安全,23个应用在敏感信息方面表现为不安全,52个应用在So库使用检测和调试信息检测方面表现为不安全。其中两个通道显示了极大的不安全性,一个是不安全的HTML5 API,比如地理位置,另一个通道是Cordova提供的插件,如发送短信。整个对国内市场中移动应用的取样分析显示了目前国内移动应用开发者对安全问题的重视程度不够,并需要引起极大的重视
3、针对注入攻击的解决方案
分别从开发者和普通用户的角度讨论如何减轻对基于HTML5的移动应用程序的代码注入攻击
从应用开发者角度,可以在三个不同层次进行缓和:应用层面,框架层面,和操作系统层面。框架层面,本文只关注Cordova框架,但同样的概念也适用于其他框架。在操作系统级别,本文只关注Android
通过应用层面缓解,应用程序开发人员可以为自己的应用程序提供保护,防止注入攻击。本文提出以下应用程序开发的相关建议。(1)过滤,在显示不受信任源处的数据前,需要过滤掉数据内部的执行代码。开发者可以使用现有的HTML过滤器进行过滤。(2)使用安全的API,使用对代码注入攻击免疫的API属性。(3)使用不同的方式来显示数据,在不触发可执行代码的情况下来显示数据
通过框架层面缓解,这里以Cordova为例,Cordova框架包括两个部分:桥梁和插件。桥连接JavaScript和本地代码部分,插件的部分是用于直接访问不同类型的资源,如相机、短信、联系人等,是可以由第三方开发的插件。为了避免代码注入攻击,开发者可以在框架内加过滤器,因为所有的数据必须通过这座桥和插件。可以在两个方向上加过滤器,一个选择是插件里面的过滤器,另一个是桥内的过滤器
通过系统层面缓解,系统级解决方案旨在抵抗XSS攻击,这个解决方案称为内容安全策略(CSP)。CSP执行一个相当强大的限制通过禁止内联JavaScript和JavaScript eval()。CSP可以用来击败代码注入攻击识别,但CSP WebView尚未完全支持。可以找到的代码实现CSP在WebKit,WebView的基础,但目前尚不清楚,如果有的话,WebView将使用CSP,因为CSP是相当严格的,执行它可能打破许多现有的应用程序,尤其是那些有内联JavaScript代码的,一旦CSP执行,需要大量的努力改写现有的应用程序
从普通用户角度出发,首先普通用户需要对自己的移动设备设置密码;其次,只阅读安全的网站;再次从正规的安卓市场下载程序。最后尽量避免在没有加密的公共网络进行支付,隐私数据传输
4、结论
基于HTML5移动应用程序,可移植性好,被大规模使用。但其可以与多种实体进行交互,也导致了移动应用程序受到代码
原创力文档


文档评论(0)