一种基于联邦学习的移动端恶意软件检测系统技术方案

技术编号:37668620 阅读:9 留言:0更新日期:2023-05-26 04:28
本发明专利技术公开了一种基于联邦学习的移动端恶意软件检测系统,涉及软件检测领域,包括客户端进程行为序列数据采集模块、客户端联邦学习模型训练模块、客户端恶意软件识别模块、服务端联邦学习中央控制模块;所述客户端进程行为序列数据采集模块实现对应用程序行为序列的采集;所述服务端联邦学习中央控制模块接收所述客户端联邦学习模型训练模块上传的参数,进行聚合,并更新云端的模型参数;所述客户端恶意软件识别模块实现对软件安全性的评估。本发明专利技术能够有效的通过应用行为序列数据建模,实现对恶意软件的分辨,同时保护用户隐私。同时保护用户隐私。同时保护用户隐私。

【技术实现步骤摘要】
一种基于联邦学习的移动端恶意软件检测系统


[0001]本专利技术涉及软件检测领域,尤其涉及一种基于联邦学习的移动端恶意软件检测系统。

技术介绍

[0002]随着移动互联网发展日新月异,移动设备所面对的网络安全风险也在飞快增长。我们在日常的使用中会接触到大量的应用程序,应用程序的数量随着移动互联网的发展也在不断的飞速增长,到2018年3月时,全球最大的移动应用下载商店Google Play中的应用程序已经突破了360万。在如此繁多的应用程序中隐藏着大量的恶意软件,恶意软件的存在已经是互联网安全的主要威胁之一,它从网络上衍生出复杂且成熟的犯罪产业,危害社会甚至国家的安全,对金融,交通,物流,医疗等许多行业都造成严重的影响,因此,对于恶意软件的检测和防范一直是所有人都关注的问题。
[0003]随着恶意软件数量的不断增多,传统的基于软件静态特征的检测方法已经落后,这种方法主要是依靠安全厂商所积累的恶意软件特征库,对应用软件进行逆向分析,提取关键特征并和云端特征库进行比对。该方法的不足在于:1.无法针对快速变化的互联网环境,新的恶意软件出现后需要安全厂商添加到特征库中,用户再获取更新,这个时间周期太久;2.不法分子很容易通过简单的修改、混淆、加壳等对抗技术逃避特征对比,识别率不高;3.只针对静态特征,无法识别应用程序运行时体现出的动态特征,如API调用序列、存储信息的变化、网络请求数据等等。
[0004]基于动态特征和机器学习的检测方法也已经有被提出,但是都限于要么将训练和推理都放在移动设备上进行,要么将训练完全放到服务端,推理放在移动端进行,这两种方案都有其难以避免的劣势。训练在移动设备上进行,受限于移动设备的性能,训练时间长,训练效果差。训练在服务端进行,如何采集数据传输到服务端又是一个问题,如果直接采集数据,那么就会涉及到用户的隐私,如果传输隐私数据到服务端,则用户的隐私会受到极大的威胁。
[0005]因此,本领域的技术人员致力于开发一种既可以保证训练效果,又能保护用户隐私的检测方法。

技术实现思路

[0006]有鉴于现有技术的上述缺陷,本专利技术所要解决的技术问题是如何在保证训练效果的同时,保护用户数据隐私。
[0007]为实现上述目的,本专利技术提供了一种基于联邦学习的移动端恶意软件检测系统,其特征在于,包括客户端进程行为序列数据采集模块、客户端联邦学习模型训练模块、客户端恶意软件识别模块、服务端联邦学习中央控制模块;所述客户端进程行为序列数据采集模块实现对应用程序行为序列的采集;所述服务端联邦学习中央控制模块接收所述客户端联邦学习模型训练模块上传的参数,进行聚合,并更新云端的模型参数;所述客户端恶意软
件识别模块实现对软件安全性的评估;
[0008]所述服务端联邦学习中央控制模块用于管理客户端以及云端的机器学习模型训练状态,收集客户端训练的结果,对客户端训练结果参数进行甄别和聚合;所述联邦学习中央控制模块还包括对于机器学习模型预热训练,超参数设定,当前模型训练状态和历史数据可视化查看与分析等功能
[0009]所述客户端进程行为序列数据采集模块用于采集客户端用户使用的app的行为数据,包括app的基本信息,API调用信息,内存信息和磁盘存储信息等;然后将采集的数据进行记录,按照预定义的格式进行存储;
[0010]所述客户端联邦学习模型训练模块用于在客户端接收云端服务器下发的模型和参数,利用所述行为序列数据采集模块存储到硬盘的数据在客户端本地训练模型以及发送训练后的新模型参数到云端服务器的所述联邦学习中央控制模块。
[0011]所述客户端恶意软件识别模块用于在客户端利用训练所得到的机器学习模型来对软件进程的行为序列数据进行判别,得到对软件进程行为序列数据的判定结果,并将特定的行为序列数据上传到服务端进行复核。
[0012]进一步地,所述客户端进程行为序列数据采集模块进行数据采集时,需分析系统框架层的API以及安卓系统内核的API;
[0013]进一步地,选择179条所述系统框架层的API作为框架层关键API,修改代码对其进行插桩,记录调用所述框架层关键API时的调用者、时间点、参数等信息;同样,选择9条所述内核的API作为内核层关键API,修改代码对其进行插桩,记录调用所述内核层关键API时的调用者、时间点、参数等信息。
[0014]进一步地,所述客户端进程行为序列数据采集模块进行数据采集时,记录的数据经过切分为10秒长度的片段和格式化后,统一其长度和调用信息项格式,使用开源的SqlLite数据库进行持久化存储。
[0015]进一步地,所述客户端联邦学习模型训练模块使用Python编写的Keras库辅助构建了ResNet网络模型,选择tanh作为激活函数,SGD作为优化器,采用开源的TensorFlow Lite框架作为后端来训练模型;通过OKHttp与服务端建立连接,传输模型参数更新。
[0016]进一步地,所述客户端联邦学习模型训练模块实现了设备状态监测功能,通过后台守护线程进行监控,当出现设备电量低于百分之三十,用户当前前台进程强度较高,设备温度大于40摄氏度等情况时,主动暂停计算过程,并在计算过程中动态地调整进程优先级;
[0017]所述客户端联邦学习模型训练模块实现了用户隐私保护功能,在上传参数到服务器时,需要对计算所得的参数加入高斯噪声扰动,以解决差分隐私攻击等安全问题。
[0018]进一步地,所述客户端恶意软件识别模块从所述服务端联邦学习中央控制模块获取模型,采用开源的ncnn框架部署模型来完成推理任务,当判定某段行为序列数据属于恶意时,发送给所述服务端联邦学习中央控制模块进行二次确认,最后报告结果给用户。
[0019]进一步地,所述服务端联邦学习中央控制模块使用Go+Vue的技术栈完成服务端应用程序,使用Keras+TensorFlow构建ResNet网络模型。
[0020]进一步地,所述移动端恶意软件检测系统检测步骤如下:
[0021]S1、在所述服务端联邦学习中央控制模块上设置模型的类型和超参数;所述模型类型包括ResNet、AlexNet、VGGNet,所述超参数包括学习率、Batch Size、优化器类型;所述
模型类型包括ResNet、AlexNet、VGGNet,所述超参数包括学习率、Batch Size、优化器类型;
[0022]S2、在沙箱中运行有标注的应用程序,包括经人工确认的绿色安全应用和恶意应用,记录它们的行为序列;
[0023]S3、在所述服务端联邦学习中央控制模块将S2所得数据作为输入训练模型,使模型的参数达到一个较好的起始值,提高后续训练效率;
[0024]S4、启动联邦学习训练过程,发送网络请求到客户端,启动所述客户端进程行为序列数据采集模块;
[0025]S5、所述客户端进程行为序列数据采集模块监控记录应用运行时的行为序列数据,对其进行时长切分和格式统一,存储到数据库;
[0026]S6、所述服务端联邦本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于联邦学习的移动端恶意软件检测系统,其特征在于,包括客户端进程行为序列数据采集模块、客户端联邦学习模型训练模块、客户端恶意软件识别模块、服务端联邦学习中央控制模块;所述客户端进程行为序列数据采集模块实现对应用程序行为序列的采集;所述服务端联邦学习中央控制模块接收所述客户端联邦学习模型训练模块上传的参数,进行聚合,并更新云端的模型参数;所述客户端恶意软件识别模块实现对软件安全性的评估;所述服务端联邦学习中央控制模块用于管理客户端以及云端的机器学习模型训练状态,收集客户端训练的结果,对客户端训练结果参数进行甄别和聚合;所述联邦学习中央控制模块还包括对于机器学习模型预热训练,超参数设定,当前模型训练状态和历史数据可视化查看与分析等功能所述客户端进程行为序列数据采集模块用于采集客户端用户使用的APP的行为数据,包括APP的基本信息,API调用信息,内存信息和磁盘存储信息等;然后将采集的数据进行记录,按照预定义的格式进行存储;所述客户端联邦学习模型训练模块用于在客户端接收云端服务器下发的模型和参数,利用所述行为序列数据采集模块存储到硬盘的数据在客户端本地训练模型以及发送训练后的新模型参数到云端服务器的所述联邦学习中央控制模块。所述客户端恶意软件识别模块用于在客户端利用训练所得到的机器学习模型来对软件进程的行为序列数据进行判别,得到对软件进程行为序列数据的判定结果,并将特定的行为序列数据上传到服务端进行复核。2.根据权利要求1所述的基于联邦学习的移动端恶意软件检测系统,其特征在于,运行在云端服务器的所述服务端联邦学习中央控制模块通过以下方法,以达到对联邦学习模型训练过程的优化:a.在启动联邦训练过程之前,先对模型进行预热训练过程,预热训练过程在云端进行,目标是在下发模型参数之前,通过预热训练使模型参数达到一个范围,提高后续训练的效率;b.在预热训练过程中,利用人工标注的数据来保证模型的初始参数范围利于后续训练过程;c.预热训练过程采用方法包括但不限于:使用沙箱作为运行环境,测试运行人工标注过的软件程序,获得有标注的行为序列数据,并将这些数据用于机器学习模型训练。3.如权利要求2所述的一种基于联邦学习的移动端恶意软件检测系统,其特征在于,所述客户端进程行为序列数据采集模块进行数据采集时,需分析系统框架层的API以及安卓系统内核的API。4.如权利要求3所述的一种基于联邦学习的移动端恶意软件检测系统,其特征在于,选择179条所述系统框架层的API作为框架层关键API,修改代码对其进行插桩,记录调用所述框架层关键API时的调用者、时间点、参数等信息;同样,选择9条所述内核的API作为内核层关键API,修改代码对其进行插桩,记录调用所述内核层关键API时的调用者、时间点、参数等信息。5.如权利要求4所述的一种基于联邦学习的移动端恶意软件检测系统,其特征在于,所述客户端进程行为序列数据采集模块进行数据采集时,记录的数据经过切分为10秒长度的
片段和格式化后,统一其长度和调用信息项格式,使用开源的SqlLite数据库进行持久化存储。6.如权利要求5所述的一种基于联邦学习的移动端恶意软件检测系统,其特征在于,所述客户端联邦学习模型训练模块使用Python编写的Keras库辅助构建了ResNet网络模型,选择tanh作为激活函数,SGD作为优化器,采用开源的TensorFlo...

【专利技术属性】
技术研发人员:马汝辉田子申管海兵张刘庆庆
申请(专利权)人:江苏嘉图网络科技股份有限公司
类型:发明
国别省市:

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

1