首页|基于云服务的移动终端软件安全性检测技术

基于云服务的移动终端软件安全性检测技术

刘霖

基于云服务的移动终端软件安全性检测技术

刘霖1
扫码查看

作者信息

  • 1. 西北工业大学
  • 折叠

摘要

随着当前移动互联网的迅速发展,移动终端应用软件已经广泛渗透到生活之中的各个领域,与此同时,移动终端软件安全性问题也日趋成为一个重要问题,及时发现移动终端软件中的安全漏洞,进行修复,可以有效地降低移动终端软件应用的安全风险,并保障移动终端软件应用的高效安全使用。 当前移动终端软件系统安全性检测技术主要存在三方面的问题:第一,静态代码检测时存在路径探索效率低下并且导致检测路径爆炸问题。第二,程序中的某些动态行为可能无法在静态分析期间被捕获,程序会根据输入数据的不同而改变执行路径,进而导致准确率不足。第三,传统移动终端软件漏洞检测方法(如静态分析和动态检测)当数据量过大以及执行环境变复杂时,无法自动学习并提取特征,从而不具有好的可扩展性。针对以上问题,基于云服务技术,本文提出了三种基于云服务的移动终端软件安全性检测方法,设计并实现了一个基于云服务的移动终端软件安全性检测系统,最后对本文提出的三种检测方法和检测系统进行了测试和验证。本文的主要研究内容如下: (1)针对传统的符号化检测的静态方法存在的路径探索效率低下从而导致检测路径爆炸问题,提出了一种基于向后追踪分析的符号化执行方法,该方法从安全敏感功能向后追踪敏感数据来降低路径探索,对探索路径进行符号化执行,通过求解程序约束和安全约束的合集来检测移动终端安全漏洞。实验表明:相对于当前的其他方法,本文提出的方法具有好的移动终端软件漏洞检测性能,在F1_Score指标上,数值达到91%;同时通过实验表明,检测方法可以实现接近一倍的检测路径缩减,因此该方法可以有效缓解传统符号化执行中的路径爆炸问题。 (2)针对传统的静态污点技术对程序中的某些动态行为无法捕获和分析,程序会根据输入数据的不同而改变执行路径,从而导致准确率和精确率低下的问题,本文提出了一种基于DyTaint框架的动态污点分析的移动终端软件安全性检测方法,该方法对移动终端软件二进制文件进行动态污点跟踪,标记输入数据作为污点数据,监视程序的运行时行为,并跟踪污点数据的传播路径,当污点数据被读取或修改时,该数据将被标记为“污点”,并跟踪数据的传播路径,以检测多种移动终端软件漏洞。实验结果表明:本文提出的方法精确度达到91%,召回率达到90%以上。 (3)针对传统移动终端软件漏洞检测方法(如静态分析和动态检测)当数据量过大以及执行环境变复杂时,无法自动学习并提取特征从而不具有好的可扩展性的问题,提出了一种基于多层卷积神经网络模型的移动终端软件安全检测方法,与前两部分基于规则化特征的移动终端软件检测的设计与研究不同,这种方法充分利用大数据,在大规模数据环境下分析已有的源代码和移动终端软件漏洞情况,建立训练数据与漏洞结果之间的关系,通过对源代码数据做基于CountVectorizer算法的特征提取、建立一个基于多层卷积神经网络模型以及通过Adam优化算法,利用反向传播方式根据特征数据训练检测模型参数,直到迭代算法收敛,根据训练好的深度学习模型建立对未知的移动终端软件源代码进行软件安全性检测。实验结果表明:该方法在针对XSS漏洞数据集上,基于多层卷积神经网络的移动终端软件漏洞检测技术可以实现较高精确度,方法准确率达到86%,精确率达到91%。 (4)设计并实现了一个基于云服务的移动终端软件安全检测系统。首先进行了系统搭建与部署的需求分析,而后进行系统结构设计和功能模块设计以及实现,系统主要实现了基于Hadoop移动终端软件的存储、基于Spark移动终端软件的计算与分析以及基于提出三种方法的检测分析等功能,并进行了系统和功能测试。实验结果表明:搭建与部署的基于云服务的移动终端软件安全性检测系统不仅能提高准确性,同时也解决了单机存在的资源和性能受限的问题。 综上所述,本文从传统基于源代码的静态检测到动态的二进制分析进行移动终端软件漏洞检测,再到基于复杂环境的大量数据进行自动学习的深度学习,进行的基于云服务的移动终端软件安全性检测,分别用了基于向后追踪技术的符号化执行研究,基于DyTaint框架的动态污点分析以及多层卷积神经网络方法在移动终端软件漏洞上的检测,并且进行了相关的实验验证和系统的设计与实现。

关键词

移动终端/软件系统/安全性检测/云服务

引用本文复制引用

授予学位

硕士

学科专业

计算机技术

导师

姚烨

学位年度

2023

学位授予单位

西北工业大学

语种

中文

中图分类号

TP
段落导航相关论文