移动应用程序代码注入攻击安全技术研究.doc移动应用程序代码注入攻击安全技术研究
摘要:本文在基于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)使用不同的方式来显示数据,在不触发可执行代码的情况下来显示数据。
通过框架层面缓解,
移动应用程序代码注入攻击安全技术研究 来自淘豆网m.daumloan.com转载请标明出处.