面向混合应用的Web到Native调用机制的安全性研究

来源 :山东大学 | 被引量 : 0次 | 上传用户:youthboy
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
目前,越来越多的混合应用出现在了各大Android应用市场中,根据IDC的数据统计显示,截至2016年第三季度,Android占据了智能手机操作系统份额的86.8%。这些应用包含了 Android原生的Java代码以及Web页面。为了提高用户的使用体验,混合应用一般都会向Web页面暴露一些本地Java方法供Web页面中的JavaScript代码调用,访问一些设备资源。JavaScript代码调用本地Java方法时,应用程序首先会与远程服务器建立链接,随后在建立起的链接中调用本地的Java方法。然而,仔细分析发现,整个调用过程存在比较明显的攻击面。第一,在建立链接过程中,为了保护数据的传输,Android混合应用通常使用SSL或TLS与远端服务器建立HTTPS链接。但是由于开发者的安全意识不够强或者开发时的疏忽,一些HTTPS链接并没有想象的那么安全,特别是当HTTPS链接中的SSL证书出现错误时,对这些错误的不恰当处理也容易引起中间人攻击和钓鱼攻击。第二,假如JavaScript调用的本地Java方法可以执行敏感的操作,如发送短信、访问联系人信息、获取地理位置信息等,如果这种调用发生在HTTP这种不安全的链接中时,容易引发中间人攻击,恶意代码被注入后可以在用户不知情的情况执行敏感的操作,造成用户隐私数据泄露甚至对设备造成一定的危害。为了检测Web到Native调用机制的安全性,论文设计并实现了一个检测模型,该检测模型包括静态分析部分和动态分析部分,能够(1)判断应用程序与远程服务器建立的HTTPS链接是否安全;(2)并可以在HTTP链接中检测是否存在JavaScript调用本地敏感的Java方法。为了测试此检测模型的对Web到Native调用机制安全性的检测能力,检测模型检测了从国内第三方市场中下载的13820个应用程序,静态分析发现1360个应用可能存在SSL证书错误处理不当,随后动态分析确定了 711个存在SSL错误处理安全问题的应用程序。为了更加详细的分析JavaScript在HTTP链接中调用本地敏感的Java方法,实验进一步选取了 400个应用程序对其进行详细分析,最终发现43个应用程序会在HTTP链接中调用敏感的Java方法。
其他文献
现实生活中的很多决策问题都要考虑同时优化若干个目标,而这些目标之间往往是彼此冲突的,多目标优化算法就是要从所有可能的方案中找到最合理、最可靠的解决方案。其主要面临
数据库自然语言查询界面(NLIDBs)是指允许用户用自然语言访问数据库的一种方式,它的出现大大简化了人机交互的过程。它是多学科交叉的产物,涉及自然语言理解、数据库技术、人工智
信息检索系统中最核心的数据结构是倒排索引。随着信息化水平的不断提高,索引数据也越来越庞大,必须保存在辅助存储器中。目前常用的辅存设备是磁盘,磁盘虽然具有容量大、便宜等
数据重要性越来越受到企业和用户的关注,系统可靠性也是企业在选购存储设备时首要考虑的因素。RAID(Redundant Array of Independent Disk独立冗余磁盘阵列)存储系统的可靠性可
随着计算机的广泛使用与网络技术的深入发展,人们更多的将各种资料信息以电子文本的形式存储于计算机及网络空间中。这些文本信息的大规模增长,导致人们对信息的过滤、筛选出
办公自动化系统是利用计算机技术提高办公的效率,进而实现办公自动化处理的系统。它采用互联网技术,基于工作流的定义,使企业内部人员方便快捷地实现信息的共享,高效地协同工
无线通信技术和嵌入式技术的发展极大带动了灵巧对象(Smart Things)的发展和应用。由于灵巧对象体积小、能耗少,具有一定的通信和计算能力,能够组网,成为物联网的一部分,其应用越来
每一个网站(又称为数据源)都会提供一些数据值集合,用来反映事实信息,例如一个网上书店,它会提供很多书的信息,包括作者、书名、出版社和书的价格等。那么这些数据值就对应着一个集
内存资源是虚拟化技术管理的重要资源之一,对虚拟化系统的性能影响很大。目前,虚拟机在启动之前都会配置一个内存上限,该内存上限在虚拟机运行过程中不可更改。然而,虚拟机上运行