当前位置: 首页 > 专利查询>天津大学专利>正文

基于深度学习的安卓应用程序中信息流测试系统及方法技术方案

技术编号:35994808 阅读:18 留言:0更新日期:2022-12-17 23:11
本发明专利技术公开了一种基于深度学习的安卓应用程序中信息流测试系统及方法,包括输入部、信息流分析模块和输出部;输入部用于为该系统输入使用了深度学习的应用程序;信息流分析模块用于理解和测试基于深度学习的安卓应用程序中的信息流,对全局控制流图的节点集合和边集合进行清洗和编码处理;在所述信息流分析模块中,以预处理之后的全局调用图作为接口,依序执行单点回溯算法和敏感信息泄露检测算法;所述输出部用于信息流分析报告与敏感信息泄露检测报告两种报告的输出。本发明专利技术有效检测基于深度学习的安卓应用程序中深度学习模型在推理过程中是否将用户敏感信息在信息流中泄露,实际检测能力优于传统的静态分析方法。实际检测能力优于传统的静态分析方法。实际检测能力优于传统的静态分析方法。

【技术实现步骤摘要】
基于深度学习的安卓应用程序中信息流测试系统及方法


[0001]本专利技术涉及深度学习和安卓应用程序、敏感信息泄露和静态分析领域,特别是涉及一种基于深度学习的安卓应用程序、敏感信息泄露和静态分析领域。

技术介绍

[0002]污点分析技术是一种信息流分析技术,将漏洞检测转化为追踪用户敏感数据流向恶意Sink点上的问题,因此污点分析技术是检测敏感信息泄露的有效手段。随着机器学习的发展,越来越多的移动端应用程序使用了深度学习(Deep Learning)模型,但是还没有专门面向基于深度学习的安卓应用程序(DL

based APP)中深度学习模型推理过程信息流分析的工具。本专利技术将污点分析思想运用到检测DL

based APP中,同时调研发现现有的敏感数据泄露分析工具直接用于分析DL

based APP性能不佳。
[0003]1、传统的安卓应用程序(Traditional APP)污点分析技术
[0004]污点分析是一种信息流分析技术,是分析敏感信息泄露的重要方法。总体来说,污点分析技术可以与动态和静态两种方法结合。动态分析方法是在程序运行时对应用程序中的行为、数据的情况进行实时检测,TaintDroid就是一个典型的动态分析方法,它能在程序运行时追踪隐私数据,从而确定隐私数据被泄露的情况、过程,它可以追踪并标记多个敏感Source。但TaintDroid对基于安卓运行时(Android Runtime,简称ART)的新版本安卓应用支持不足。而TaintART的出现解决了这一问题,TaintART重新设计了支持ART的动态信息流追踪方法。
[0005]当前的面向Traditional APP的静态污点分析工具如Flowdroid,又存在检测能力不足,无法广泛识别第三方API,并且在性能和效率上存在局限性。最新被提出的SEEKER扩展了FlowDroid,通过传感器API Source,报告安卓传感器触发的隐私泄露,但是没有将敏感Source推广到更普遍的深度学习移动应用中,当前研究社区中还缺乏面向深度学习的敏感Source和Sink的识别技术。为了填补这一研究空白,本专利技术将静态污点分析技术应用到DL

based APP的检测当中,并整理总结了最新的面向深度学习的敏感Source和Sink的集合。
[0006]与部分代码只能在某些特定条件下执行的动态检测方法相比,静态分析在程序不执行的情况下可以确保剖析应用程序的可伸缩性,以覆盖程序的全部代码和路径,通过分析程序的代码结构、控制流和数据流等抽象特征,从而检测程序中的错误代码段或恶意特征。但静态分析在检测采用了动态代码加载或加密等复杂模糊技术的应用程序时常常无效。FlowDroid是一种可用于污点分析的静态分析工具,它基于从Android SDK自动提取的敏感Source API和Sink API来跟踪敏感数据,能较高精度地检测传统安卓应用程序中隐私信息泄露。FlowDroid是域敏感、对象敏感、上下文敏感、流量敏感型数据流分析工具。但FlowDroid不能分析在给定应用程序中不同组件的相互作用。
[0007]DroidSafe在FlowDroid基础上支持了组件中通信及对象敏感,且为每个组件都单独创建一个虚拟主函数用来模拟单个组件的生命周期,但不支持流量敏感,该工具的特点
是可以基于安卓应用代码对安卓应用运行环境进行建模。与DroidSafe类似的工具还有IccTA。Amandroid也是一个可用于传统安卓应用的静态分析平台,它可检测隐私数据泄露、数据注入及API误用滥用。与FlowDroid相比,Amandroid的别名分析更加简单与容易实现,这是因为Amandroid在检测前就进行大规模别名分析,获取所有对象的别名信息,但是这种全面的别名分析会使得开销更大。
[0008]当前的污点分析的检测工具,专门面向于检测传统Traditional APP。同时,大多数的静态分析器基于著名分析框架Soot扩展,这些静态污点分析器的分析的对象是程序代码或中间表示,Soot可以将要分析的对象转换为其对应的中间表示,而支撑深度学习技术的API,大多为第三方API,Soot不能将其表示为中间表示,从而限制了现有检测工具分析DL

based APP中深度学习模型推理过程中信息流的能力。
[0009]近年来研究人员开始关注深度学习技术在移动端的应用,一些针对使用了深度学习模型的应用程序(DL

based APP)的研究工作开始涌现。
[0010]2、DL

based APP技术
[0011]在过去的几年里,人工智能技术在语音、图像、自然语言等领域取得了成功,深度学习被应用到各个前沿领域。而移动应用程序是近年来机器学习最有前景的应用之一,使用模型压缩技术让深度学习模型在移动端完成离线推理任务成为可能,且不降低深度学习模型性能,因此极大地丰富了移动应用程(Android APP)的功能。在这些DL

based APP中,常常包括金融、医疗健康等这些包含用户敏感信息的领域,随着深度学习技术在移动端的广泛应用,用户隐私也面临更多安全威胁。如何检测深度学习应用程序中的敏感数据泄露,是一个值得研究的问题。而面向DL

based APP的研究他们只关注DL

based APP的基本信息,对具体的信息流分析理解以及自动化识别DL

based APP中模型的功能还没有涉及。
[0012]随着人工智能在机器视觉与自然语言处理领域取得的极大的成功,机器学习模型被用在各个前沿领域。深度学习技术在智能手机上的应用,有许多的面向智能手机端侧的轻量深度学习框架出现,如谷歌公司推出的TensorFlow Lite(TFLite)、Facebook推出的Caffe2、苹果公司推出的Core ML。由于把深度学习框架集成在应用程序中比把深度学习框架放在云端运行效率更高且不受网速限制,因此越来越多的APP集成了深度学习模型,在这种情况下,在DL

based APP中模型的安全问题(如逃避、中毒、窃取)不可避免地出现了。至于PC平台,已经在深度学习模型(DL模型)安全方面做了广泛的工作。然而,到目前为止,针对移动平台的深度学习模型(DL模型)安全的研究非常有限。相关现有方法例如模型水印技术,将水印注入并隐藏在模型中,同时水印验证规避的技术也应运而生。另一项并发工作则重点关注DL

based APP中DL模型的鲁棒性,通过识别来自TensorFlow Hub的高度相似的预先训练的模型,对移动设备上的模型进行了对抗性攻击。移动平台中的模型存在泄露的风险和成本,也存在在内存中被窃取纯文本格式的深度学习模型的风险。相关研究认为混淆处理和加密是提高DL

based APP中深度学习模型安全性的两个途径,混淆技术降低了模型本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于深度学习的安卓应用程序中信息流测试系统,其特征在于,该系统包括输入部、信息流分析模块和输出部;其中:所述输入部用于为该系统输入使用了深度学习的应用程序;所述信息流分析模块用于理解和测试基于深度学习的安卓应用程序中的信息流,对全局控制流图的节点集合和边集合进行清洗和编码处理;在所述信息流分析模块中,从全局控制流图中提取节点集合和边集合并进行清洗和编码处理,以预处理之后的全局控制流图作为接口,依序执行单点回溯算法和敏感信息泄露检测算法;所述输出部用于信息流分析报告与敏感信息泄露检测报告两种报告的输出。2.如权利要求1所述的一种基于深度学习的安卓应用程序中信息流测试系统,其特征在于,所述全局控制流图中汇总了节点和调用边的原始数据,其中:进行数据清洗是处理每个原节点存储的属性信息,保证输出分析报告的易读性;数据编码是将全局控制流图中所有节点进行编码,使用节点编码对表示一条调用边,在信息流分析中使用编码来代替节点和调用边,在输出报告前将编码再映射回节点的原信息。3.一种基于深度学习的安卓应用程序中信息流测试方法,其特征在于,该方法包括以下步骤:步骤1、进行数据集收集,包括使用基于深度学习的安卓应用程序集合收集方法、敏感源和敏感汇的收集方法;步骤2、进行数据预处理,获取安卓应用程序安装包文件中的全局控制流图,对全局控制流图做预处理;将待检测...

【专利技术属性】
技术研发人员:张洁李晓红
申请(专利权)人:天津大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1