【技术实现步骤摘要】
一种基于权重共享卷积神经网络的Android间谍软件检测方法
[0001]本专利技术涉及移动安全
,尤其涉及一种基于权重共享卷积神经网络的
Android
间谍软件检测方法
。
技术介绍
[0002]随着智能手机的发展,手机成为了人们生活中不可或缺的一种工具,用户会将大量的个人信息,例如身份证
、
电话号码
、
银行卡账号等等输入到手机中,因此手机成为了隐私信息泄露的主要渠道之一
。
由于
Android
系统的开源属性,使得其成为主流的移动设备操作系统
。
现如今推崇代码复用,大量的软件都使用开源的框架,频繁调用各种接口,为攻击者实施信息窃取提供了可乘之机
。
以窃取隐私信息为主要目的的间谍软件也随之出现,间谍软件能够在用户不知情的情况下窃取用户的隐私信息
。
许多间谍软件都将恶意行为包装为恶意模块隐藏在
Android
软件中,用户也是在不知情的情况下在第三方应用商 ...
【技术保护点】
【技术特征摘要】
1.
一种基于权重共享卷积神经网络的
Android
间谍软件检测方法,其特征在于,包括如下步骤:步骤1:获取安卓软件数据集;所述安卓软件数据集中为若干个安卓应用程序
APK
文件;步骤2:对安卓软件数据集中的应用程序进行动态特征提取和静态特征提取,得到动态特征和静态特征;所述动态特征为一维的系统调用特征向量和二维网络流量特征矩阵;所述静态特征为一维的
API
特征向量;步骤3:构建共享卷积神经网络;步骤4:将一维的
API
特征向量
、
一维的系统调用特征向量
、
二维网络流量特征矩阵按照设定比例进行划分,得到训练集和测试集;步骤5:利用训练集对共享卷积神经网络进行训练,根据预测结果和应用程序的真实标签,采用交叉熵损失函数,对模型反向传播进行权重和参数的调整,直到模型满足收敛条件或者达到训练周期,得到训练完成的共享卷积神经网络;步骤6:按照步骤2的方法对待检测的应用程序进行处理,得到一维的
API
特征向量
、
一维的系统调用特征向量
、
二维网络流量特征矩阵;步骤7:将一维的
API
特征向量
、
一维的系统调用特征向量
、
二维网络流量特征矩阵输入共享卷积神经网络,得到应用程序的检测结果
。2.
根据权利要求1所述的一种基于权重共享卷积神经网络的
Android
间谍软件检测方法,其特征在于,所述步骤2具体包括:步骤
2.1
:获取
API
特征文件
、
应用程序运行时的网络数据包文件和系统调用特征文件;所述
API
特征文件中为若干
API
名称;所述系统调用特征文件中为应用程序运行时系统调用情况的记录;所述网络数据包文件中为若干个网络数据包;步骤
2.2
:分别对网络数据包文件
、
系统调用特征文件
、API
特征文件进行处理,将三种文本形式的特征转化为向量形式,分别得到二维网络流量特征矩阵
、
一维的系统调用特征向量和一维的
API
特征向量
。3.
根据权利要求1所述的一种基于权重共享卷积神经网络的
Android
间谍软件检测方法,其特征在于,所述步骤7具体包括:步骤
7.1
:将一维的
API
特征向量
、
一维的系统调用特征向量
、
二维网络流量特征矩阵分别输入
API
通道
、
系统调用通道和网络流量通道,分别得到学习后维度降低的
API
向量
、
学习后维度降低的系统调用向量
、
学习后维度降低的网络流量向量;步骤
7.2
:将
API
通道
、
系统调用通道和网络流量通道输出的学习后维度降低的
API
向量
、
学习后维度降低的系统调用向量
、
学习后维度降低的网络流量向量输入合并层得到一个一维向量;步骤
7.3
:将合并得到的一维向量依次通过
N
个全连接模块进行向前传播,得到第
N
级全连接模块输出的第
N
级降低维度的中间向量;步骤
7.4
:将第
N
级全连接模块输出的第
N
级降低维度的中间向量输入输出层,通过
sigmoid
激活函数输出最终的分类概率,并将最终的分类概率与设定阈值进行比较,得到检测结果
。4.
根据权利要求1所述的一种基于权重共享卷积神经网络的
Android
间谍软件检测方法,其特征在于,所述共享卷积神经网包括系统调用通道
、API
通道
、
网络流量通道
、
合并层
、
N
个全连接模块和一个输出层;所述
API
通道用于对
API
特征向量进行解析得到学习后维度降低的
API
向量,该通道依次为第一一维卷积神经网络
1d
‑
CNN、
第一归一化模块
、
第一最大池化层
、
第二一维卷积神经网络
、
第二归一化模块
、
第二最大池化层;所述系统调用通道用于对系统调用特征向量进行解析得到学习后维度降低的系统调用向量,该通道依次为第三一维卷积神经网络
1d
‑
CNN、
第三归一化模块
、
第四一维卷积神经网络
1d
‑
CNN、
第四归一化模块
、
第三最大池化层
、
第一展平模块;所述网络流量通道用于对二维网络流量特征矩阵进行解析得到学习后维度降低的网络流量向量,该通道依次为第一二维卷积神经网络
2d
‑
CNN、
第五归一化模块
、
第四最大池化层
、
第二二维卷积神经网络
、
第六归一化模块
、
第三二维卷积神经网络
、
第七归一化模块
、
第五最大池化层
、
第二展平模块;所述合并层用于将学习后维度降低的
API
向量
、
学习后维度降低的系统调用向量和学习后维度降低的网络流量向量合并为一个一维向量;所述
N
个全连接模块串行连接,其中第一个全连接模块用于接收合并层输出的一维向量,进行向前传播降低向量维度得到第一级维度降低的中间向量;第2至第
N
个全连接模块均用于接收上一级全连接模块的输出的降低维度的中间向量并进行前向传播降低向量维度,得到当前一级的维度降低的中间向量;所述全连接模块中均依次包括一个全连接层和
Dropout
层;所述输出层用于接收第
N
级全连接模块输出的第
N
级降低维度的中间向量,使用
sigmoid
激活函数输出检测结果;所述全部归一化模块均用于对向量进行批归一化;所述全部展平模块模块均用于将多维向量展平为一维向量
。5.
根据权利要求2所述的一种基于权重共享卷积神经网络的
Android
间谍软件检测方法,其特征在于,所述步骤
2.1
中所述应用程序运行时的网络数据包和系统调用特征文件的获取包括如下步骤:
A1
:通过安卓调试桥
Android Debug Bridge
,将一个应用程序
APK
传输到开源虚拟机软件
VirtualBox
中的
Android
虚拟机中,并进行安装;
A2
:通过安卓调试桥终端启动
tcp...
【专利技术属性】
技术研发人员:吴海勇,王思雨,鲁宁,史闻博,
申请(专利权)人:东北大学秦皇岛分校,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。