CN110427756A - 基于胶囊网络的安卓恶意软件检测方法及装置 - Google Patents
基于胶囊网络的安卓恶意软件检测方法及装置 Download PDFInfo
- Publication number
- CN110427756A CN110427756A CN201910536674.6A CN201910536674A CN110427756A CN 110427756 A CN110427756 A CN 110427756A CN 201910536674 A CN201910536674 A CN 201910536674A CN 110427756 A CN110427756 A CN 110427756A
- Authority
- CN
- China
- Prior art keywords
- capsule
- network
- file
- android
- capsule network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Virology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
Abstract
本发明属于网络安全技术领域,特别涉及一种基于胶囊网络的安卓恶意软件检测方法及装置,该方法包含:采集安卓软件文件样本,解压出待处理文件,并转化为RGB三通道彩色图像,作为训练样本数据;构建胶囊网络,并利用样本数据对胶囊网络进行训练,得到训练后的包含图结构和网络参数的网络模型,其中,该胶囊网络通过迭代动态路由算法实现胶囊层中特征向量间的传递;将待检测目标文件输入至训练后的胶囊网络模型中进行测试,通过输出结果判定待检测目标文件是否为恶意软件文件。本发明能够在安卓操作平台上高效运行,占用资源少,效率、准确度高,即使小规模训练样本情况下也可实现高准确率分类检测任务,达到保护安卓智能移动终端目的。
Description
技术领域
本发明属于网络安全技术领域,特别涉及一种基于胶囊网络的安卓恶意软件检测方法及装置。
背景技术
随着大数据时代的到来,互联网技术和移动互联技术取得了飞速发展,同时恶意应用软件的数量也快速增长,尤其是新的移动恶意应用软件呈现了指数级爆发增长态势,给我们的移动网络空间带来了前所未有的挑战。现有的恶意软件检测方法有:基于OpCoden-gram类型和Dalvik指令的形式化描述来提取特征的静态检测方法;基于API调用序列对比动态分析、应用动态污点追踪技术的TaintDroid模型等动态检测方法;基于朴素贝叶斯(NativeBes,NB)、支持向量机(Support Vector Machine,SVM)等机器学习分类算法;通过深度学习(Deep Learning)方法,如:深度神经网络(DNN)、卷积神经网络(CNN)等来训练样本,然后提取特征进行分类检测,并取得了一定的检测效果。然而现今的混淆技术越来越复杂,基于特征的静态分析技术可以被多态、加密和打包等多种混淆技术绕过,而基于软件签名库的检测方法无法检测新的未知恶意软件;基于行为的动态检测技术虽然能够避免混淆技术的干扰,但需要在蜜罐环境中对可执行程序进行动态监控跟踪,具有对运算资源需高且执行效率低的缺点,无法应对大规模样本检测,而且存在无法应用于智能移动设备终端的弊端;机器学习分类算法中前期对恶意软件的特征提取和筛选工作过于繁琐,检测模型设计过于复杂;基于卷积神经网络的检测算法需要大量的数据样本才能取得良好的分类效果。以上检测方法在基于安卓操作装置平台的智能移动终端均不能很好的发挥作用。
发明内容
为此,本发明提供一种基于胶囊网络的安卓恶意软件检测方法及装置,可应用于安卓智能移动终端的安全检测,有效提高了检测时间和检测准确度,具有较强的应用前景。
按照本发明所提供的设计方案,一种基于胶囊网络的安卓恶意软件检测方法,包含如下内容:
A)采集安卓软件文件样本,解压出待处理文件,并转化为RGB三通道彩色图像,作为训练样本数据;
B)构建胶囊网络,并利用样本数据对胶囊网络进行训练,得到训练后的包含图结构和网络参数的网络模型,其中,该胶囊网络通过迭代动态路由算法实现胶囊层中特征向量间的传递;
C)将待检测目标文件输入至训练后的胶囊网络模型中进行测试,通过输出结果判定待检测目标文件是否为恶意软件文件。
上述的,A)中,通过十六进制映射关系,将待处理文件的二进制代码转化为RGB模式代码,得到转化后的RGB三通道彩色图像,以实现安卓软件图像可视化处理。
上述的,A)中,针对采集到的安卓软件文件,首先进行解压预处理,获取根目录文件及字节码文件;然后,将根目录文件及字节码文件以二进制形式首尾相接合并为代表安卓软件文件特征信息的待处理文件。
上述的,B)中,胶囊网络包含输入层、初级胶囊层及检测胶囊层;其中,初级胶囊层包含用于对模型输入进行低级特征采集的第一卷积层,和通过胶囊卷积运算输出存储有低级特征向量主胶囊的第二卷积层;检测胶囊层采用向量与向量全连接模式,通过迭代动态路由计算进行向量输出。
上述的,B)中,彩色图像静态图像特征以多维矩阵形式输入至胶囊网络中进行训练测试。
上述的,B)中,胶囊网络利用迭代动态路由算法进行胶囊层特征向量传递的过程,包含:首先将来自底层特征输入通过权重矩阵转换为预测向量,然后通过加权求和得到求和矩阵,最后采用非线性激活函数进行向量转换得到作为下一个高层特征输入向量的输出向量。
上述的,B)中,针对检测胶囊层,当模型执行恶意软件检测时,输出向量为二分类;当模型做恶意软件家族分类时,输出向量为N分类,其中,N为恶意软件家族分类数量。
上述的,B)中,针对样本数据,首先采用下采样将其统一为固定格式的RGB图像,然后将下采样处理后的RGB图像作为胶囊网络的模型输入。
上述的,B)中,胶囊网络中采用数据流进行数值计算的开源软件数据库进行模型训练测试。
更进一步地,本发明还提供一种基于胶囊网络的安卓恶意软件检测装置,包含:转化模块、训练模块和检测模块,其中,
转化模块,用于采集安卓软件文件样本,解压出待处理文件,并转化为RGB三通道彩色图像,作为训练样本数据;
训练模块,用于构建胶囊网络,并利用样本数据对胶囊网络进行训练,得到训练后的包含图结构和网络参数的网络模型,其中,该胶囊网络通过迭代动态路由算法实现胶囊层中特征向量间的传递;
检测模块,用于将待检测目标文件输入至训练后的胶囊网络模型中进行测试,通过输出结果判定待检测目标文件是否为恶意软件文件。
本发明的有益效果:
本发明将恶意软件的可执行文件转化为RGB三通道彩色图像,可以使对恶意软件的静态反编译文件和动态行为的复杂的特征提取转换为简单的静态图像的特征提取;将图像转换为RGB三通道彩色图像,相比于灰阶图像,包含更多颜色的RGB彩色图像有更好的特征表示能力;使用胶囊网络对图像进行分类训练,胶囊网络对图像中实体之间的空间关系和旋转后的物体有更强的识别能力相比于卷积神经网络(CNN);可以灵活部署于Android移动终端,实现了将深度学习技术(胶囊网络)应用于恶意软件检测领域,并取得了良好的检测效果。
本发明将恶意软件代码彩色图像生成技术引入到恶意软件检测领域,能够有效的检测出经过代码混淆技术处理过的恶意代码;通过将恶意软件的核心文件转换为RGB彩色图像,相比于只有256种颜色的灰阶黑白图像(每个采样只有8位像素),可以用16777216种颜色将恶意软件的特征信息保存在彩色图像中(每个采样24位像素),为进一步提高恶意代码的检测率做好了准备;为提高检测的精确度,对APK文件进行预处理,将DEX和XML文件合并为一个文件进行下一步的图像转换,将Android文件的恶意特征尽可能多的包含在图像中,更有利于分类检测;采用胶囊网络对软件代码生成的彩色图像进行特征提取,学习并训练,相比于CNN,胶囊网络把标量转化为向量,能更好的存储特征,并使用了路由算法进行计算,对图像的辨识率更高,进一步提高检测精度,同时实现了端到端的检测,避免了传统检测算法中前期复杂的特征提取人工筛选工作;可以实现针对不同类型文件进行跨平台检测分类;将深度学习技术(胶囊网络)应用于恶意软件检测领域,进一步推动了移动网络安全检测技术向智能化发展方向。
附图说明:
图1为实施例中恶意软件检测方法流程图;
图2为实施例中恶意软件检测装置示意图;
图3为实施例中恶意软件检测流程示意图;
图4为实施例中恶意软件检测装置工作原理示意;
图5为图4中前端检测原理示意。
具体实施方式:
为使本发明的目的、技术方案和优点更加清楚、明白,下面结合附图和技术方案对本发明作进一步详细的说明。
目前,恶意软件检测领域存在诸多问题,传统静态检测算法面对代码混淆、加壳、签名等伪装技术的检测率明显降低;基于动态行为监控检测方法占用系统资源较多,无法应用于安卓智能移动终端;机器学习算法中前期对恶意软件的特征提取和筛选工作过于复杂以及跨平台检测模型通用性较差。鉴于此,本发明实施例中,参见图1所示,提供一种基于胶囊网络的安卓恶意软件检测方法,包含如下内容:
S101)采集安卓软件文件样本,解压出待处理文件,并转化为RGB三通道彩色图像,作为训练样本数据,为静态图像特征提取做好准备;
S102)构建胶囊网络,并利用样本数据对胶囊网络进行训练,得到训练后的包含图结构和网络参数的网络模型,其中,该胶囊网络通过迭代动态路由算法实现胶囊层中特征向量间的传递;
S103)将待检测目标文件输入至训练后的胶囊网络模型中进行测试,通过输出结果判定待检测目标文件是否为恶意软件文件。
将恶意软件文件转化为图像可以使对恶意软件的静态反编译文件和动态行为的复杂的特征提取转换为简单的静态图像的特征提取,而深度神经网络在图像的特征提取方面更简单高效。相比于灰阶图像,包含更多颜色的RGB彩色图像有更好的特征表示能力,同时胶囊网络对图像中实体之间的空间关系和旋转后的物体有更强的识别能力相比于卷积神经网络(CNN)。
进一步地,本发明实施例中,通过十六进制映射关系,将待处理文件的二进制代码转化为RGB模式代码,得到转化后的RGB三通道彩色图像,以实现安卓软件图像可视化处理。
将二进制代码转化为RGB彩色图像,由于RGB三通道彩色图像(每个采样24位像素)可以用16777216种颜色将恶意软件的特征信息进行保存,相比于仅有256种颜色的灰阶图像(每个采样8位像素),有更强的特征表示能力。通过十六进制映射关系,可以将二进制代码转化为RGB模式代码,转化规则可设计如下:Ox868816=(R:134,G:136,B:22),Ox7B3CA5=(R:123,G:60,B:165),Ox849A87=(R:204,G:232,B:207)等。按着上述规则,即可将APK文件中的良性和恶意软件二进制样本进行转化。
进一步地,本发明实施例中,针对采集到的安卓软件文件,首先进行解压预处理,获取根目录文件及字节码文件;然后,将根目录文件及字节码文件以二进制形式首尾相接合并为代表安卓软件文件特征信息的待处理文件。
为了使转换后的图像能够更准确更全面表示恶意软件的特征信息,针对Android软件,首先将APK文件解压后的文件进行预处理,其中有几个重要文件:AndroidManifest.xml是每个Android程序中必须的文件,它位于整个项目的根目录,该文件中存储了应用程序安装和执行过程中的数据信息,描述了package中暴露的组件(activities,services,等),它们各自的实现类,各种能被处理的数据和启动位置,使用Android Asset Packaging Tool可以从中提取出硬件组件、APP组件以及请求权限信息;Classes.dex是Java源码编译生成的字节码文件,反汇编该文件可以输出应用程序的所有API调用和字符串信息。所以,可以选取Classes.dex和AndroidManifest.xml文件以二进制形式首尾相接合并为一个新的文件,作为代表此APK文件特征信息的待转换文件。
胶囊网络是由Capsule组成,Capsule是一组人工神经网络,每个Capsule是包含多个神经元的载体,每个神经元表示图像中出现的特定实体的各种属性,比如:姿态(位置、大小、方向),速度,纹理等。因此,进一步地,本发明实施例中,胶囊网络包含输入层、初级胶囊层及检测胶囊层;其中,初级胶囊层包含用于对模型输入进行低级特征采集的第一卷积层,和通过胶囊卷积运算输出存储有低级特征向量主胶囊的第二卷积层;检测胶囊层采用向量与向量全连接模式,通过迭代动态路由计算进行向量输出。
进一步地,本发明实施例中,彩色图像静态图像特征以多维矩阵形式输入至胶囊网络中进行训练测试。
进一步地,本发明实施例中,胶囊网络利用迭代动态路由算法进行胶囊层特征向量传递的过程,包含:首先将来自底层特征输入通过权重矩阵转换为预测向量,然后通过加权求和得到求和矩阵,最后采用非线性激活函数进行向量转换得到作为下一个高层特征输入向量的输出向量。
进一步地,本发明实施例中,针对检测胶囊层,当模型执行恶意软件检测时,输出向量为二分类;当模型做恶意软件家族分类时,输出向量为N分类,其中,N为恶意软件家族分类数量。优选的,针对样本数据,首先采用下采样将其统一为固定格式的RGB图像,然后将下采样处理后的RGB图像作为胶囊网络的模型输入。优选的,胶囊网络中采用数据流进行数值计算的开源软件数据库进行模型训练测试。
本发明实施例中,彩色图像以多维矩阵的形式输送到模型中,经过卷积层处理得到特征向量。胶囊网络首先将来自低层的特征输入通过权重矩阵转换为预测向量;然后类似人工神经网络,通过加权求和得到求和矩阵,最后采用向量的新型非线性激活函数,squash函数,该压缩函数将转换为输出向量,这个输出向量将成为下一个高层特征的输入向量。相关的函数定义如下:
其中,ui是特征输入,Wij是权重矩阵,是预测向量,sj是求和矩阵,vj是输出向量,且|vj|<=1,权重参数cij是由迭代动态路由算法决定的耦合系数。
胶囊网络中的动态路由算法,本质是使低级别特征向量vi的输出发送到“同意”接收该输出的某个高级特征vj,而这一过程通过迭代路由算法动态改变权重参数cij的值来实现。相比于CNN,其中的标量输出被胶囊向量输出所替代,最大池化方法被路由协议算法所替代。胶囊网络参数相应增加,高级别的胶囊能表征更多自由度更复杂的目标对象,胶囊网络中路由算法比CNN的最大池化更优秀。
胶囊网络中,输入层描述,将恶意软件训练样本文件按着上述方法转换为RGB彩色图像,采用下采样算法统一为固定格式大小的RGB图像作为模型的输入;初级胶囊层描述,包含两个卷积层,输入数据先经过第一个卷积层采集低级特征,该卷积层包含256个stride为1,size为9的filter,无填充,采用ReLU函数作为非线性激活函数,经测试drop out最佳值为0.7,这样有效避免训练过程中梯度消失问题,第二个卷积层包含了Capsule,输出为PrimaryCaps,存储了低级别特征向量;恶意软件检测胶囊层,该层与上一层采用向量与向量的全连接模式,使用上面提到的迭代路由协议算法,经过三次迭代计算出权重参数C,并输出向量V,当模型执行恶意软件检测时,输出为二分类;当模型做恶意软件家族分类时,输出为N分类,其中,N为恶意软件家族分类数量。
训练样本的采集是很重要的一个工作,可以从国内外主流安卓应用网站上爬取下载大量排名靠前的良性软件程序,并从VirusShare Dataset等网站下载安卓恶意软件程序,作为训练和测试样本集。为实现胶囊网络结构模型,本发明实施例中还可以采用以数据流进行数值计算的开源软件数据库TensorFlow来进行训练,经过多次训练可以得到包含图结构和重要参数的训练文件,该文件就是完成检测任务的调用文件,可以实现高准确率的检测分类。
更进一步地,参见图2所示,本发明实施例还提供一种基于胶囊网络的安卓恶意软件检测装置,包含:转化模块101、训练模块102和检测模块103,其中,
转化模块101,用于采集安卓软件文件样本,解压出待处理文件,并转化为RGB三通道彩色图像,作为训练样本数据;
训练模块102,用于构建胶囊网络,并利用样本数据对胶囊网络进行训练,得到训练后的包含图结构和网络参数的网络模型,其中,该胶囊网络通过迭代动态路由算法实现胶囊层中特征向量间的传递;
检测模块103,用于将待检测目标文件输入至训练后的胶囊网络模型中进行测试,通过输出结果判定待检测目标文件是否为恶意软件文件。
下面结合图3~5及实验数据,对本发明技术方案的有效性做进一步解释说明:
参见图3所示,安卓软件图像可视化阶段,将安卓软件的可执行文件以二进制代码的形式转换为RGB三通道的彩色图像;对于一个安卓软件,先将其APK文件(安卓软件的可执行文件)更改为ZIP可压缩文件;从ZIP压缩文件中解压出AndroidManifest.xml和Classes.dex文件,第一个文件存储了应用程序安装和执行过程中的数据信息,各种能被处理的数据和启动位置和硬件组件、APP组件以及请求权限等信息;第二个文件包含应用程序的所有API调用和字符串信息;将上述两个文件以二进制形式重新首尾相接重新组合成一个新的文件,作为代表此APK文件特征信息的待转换文件。胶囊网络的构建与训练阶段,首先构建一个包含两个卷积层和一个全连接层的基于动态路由的胶囊网络,然后输入上一阶段产生的大量彩色图像样本来训练该胶囊网络;RGB图像以多维矩阵的形式输送到胶囊网络中。训练前准备,先将恶意软件训练样本文件按着前面提到的方法转换为RGB彩色图像,并采用下采样算法统一为固定格式大小(如:32*32)的RGB图像作为模型的输入,经过多轮Epoch的训练,通过TensorFlow的TensorBoard面板观察分类准确率趋于稳定并展示了较高的准确率,可以得到包含完整图结构和训练参数的PB文件,该文件可用于下一阶段的实践检测使用。恶意软件分类和检测阶段,将良性或恶意软件输入到在上一阶段我们已经训练好的胶囊网络,当模型执行恶意软件检测时,输出为二分类;当模型做恶意软件家族分类时,输出为N分类(N为恶意软件家族分类数量)。
基于上述的检测方法,参见图4所示,本发明实施例中的装置工作原理可以分为前端检测和后端训练,其中,前端检测,基于安卓操作系统的智能移动终端,通过对终端中的APK可执行文件进行数据处理转换为相应的格式输入,并调用训练模型参数文件,输出分类结果,从而判断待检测文件是否为恶意软件;后端训练,基于后端训练服务器,将大量的安卓软件样本集作为训练输入,通过使用采用数据流进行数值计算的开源软件数据库TensorFlow来实现胶囊网络的训练,得到包含完整图结构和训练参数的PB文件,作为检测模块的调用文件,完成检测任务。参见图5所示,前端检测中包含文件转换和检测文件,其中,文件转换,对安卓智能终端中APK可执行文件的转换,首先将APK文件重命名为ZIP文件进行解压缩,然后提取出DEX和XML文件并首尾集合以二进制形式组合成新的文件,最后将该文件按着十六进制映射规则转换为RGB彩色图像(24bits),并以多维矩阵的形式作为输入参数。检测文件,对输入参数的处理,将上述参数输入该模块,同时开始调用TensorFlow模块,将数据送入到输入节点,并运行tensorflow,最后从输出节点中取出结果,此过程中使用的图结构及其中的参数值来自PB文件(训练模块生成的文件),至此完成了对恶意软件的检测工作。
本发明实施例中,并进一步通过数据模拟仿真,试验结果表明在Drebin Dataset数据上的分类准确率达到98.2%,对搜集的公开良性和恶意安卓软件测试准确率达到99.3%;进一步验证了本发明技术方案能够在安卓操作平台上高效运行,占用资源少,即使在小规模训练样本的情况下,也可实现高准确率的分类检测任务,达到保护安卓智能移动终端的目的。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
基于上述的方法,本发明实施例还提供一种服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的方法。
基于上述的方法,本发明实施例还提供一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现上述的方法。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种基于胶囊网络的安卓恶意软件检测方法,其特征在于,
A)采集安卓软件文件样本,解压出待处理文件,并转化为RGB三通道彩色图像,作为训练样本数据;
B)构建胶囊网络,并利用样本数据对胶囊网络进行训练,得到训练后的包含图结构和网络参数的网络模型,其中,该胶囊网络通过迭代动态路由算法实现胶囊层中特征向量间的传递;
C)将待检测目标文件输入至训练后的胶囊网络模型中进行测试,通过输出结果判定待检测目标文件是否为恶意软件文件。
2.根据权利要求1所述的基于胶囊网络的安卓恶意软件检测方法,其特征在于,A)中,通过十六进制映射关系,将待处理文件的二进制代码转化为RGB模式代码,得到转化后的RGB三通道彩色图像,以实现安卓软件图像可视化处理。
3.根据权利要求1或2所述的基于胶囊网络的安卓恶意软件检测方法,其特征在于,A)中,针对采集到的安卓软件文件,首先进行解压预处理,获取根目录文件及字节码文件;然后,将根目录文件及字节码文件以二进制形式首尾相接合并,获得代表安卓软件文件特征信息的待处理文件。
4.根据权利要求1所述的基于胶囊网络的安卓恶意软件检测方法,其特征在于,B)中,胶囊网络包含输入层、初级胶囊层及检测胶囊层;其中,初级胶囊层包含用于对模型输入进行低级特征采集的第一卷积层,和通过胶囊卷积运算输出存储有低级特征向量主胶囊的第二卷积层;检测胶囊层采用向量与向量全连接模式,通过迭代动态路由算法计算进行向量输出。
5.根据权利要求1或4所述的基于胶囊网络的安卓恶意软件检测方法,其特征在于,B)中,彩色图像静态图像特征以多维矩阵形式输入至胶囊网络中进行训练测试。
6.根据权利要求1或4所述的基于胶囊网络的安卓恶意软件检测方法,其特征在于,B)中,胶囊网络利用迭代动态路由算法进行胶囊层特征向量传递的过程,包含:首先将来自底层特征输入通过权重矩阵转换为预测向量,然后通过加权求和得到求和矩阵,最后采用非线性激活函数进行向量转换得到作为下一个高层特征输入向量的输出向量。
7.根据权利要求4所述的基于胶囊网络的安卓恶意软件检测方法,其特征在于,B)中,针对检测胶囊层,当模型执行恶意软件检测时,输出向量为二分类;当模型做恶意软件家族分类时,输出向量为N分类,其中,N为恶意软件家族分类数量。
8.根据权利要求1所述的基于胶囊网络的安卓恶意软件检测方法,其特征在于,B)中,针对样本数据,首先采用下采样将其统一为固定格式的RGB图像,然后将下采样处理后的RGB图像作为胶囊网络的模型输入。
9.根据权利要求1所述的基于胶囊网络的安卓恶意软件检测方法,其特征在于,胶囊网络中采用数据流进行数值计算的开源软件数据库进行模型训练测试。
10.一种基于胶囊网络的安卓恶意软件检测装置,其特征在于,包含:转化模块、训练模块和检测模块,其中,
转化模块,用于采集安卓软件文件样本,解压出待处理文件,并转化为RGB三通道彩色图像,作为训练样本数据;
训练模块,用于构建胶囊网络,并利用样本数据对胶囊网络进行训练,得到训练后的包含图结构和网络参数的网络模型,其中,该胶囊网络通过迭代动态路由算法实现胶囊层中特征向量间的传递;
检测模块,用于将待检测目标文件输入至训练后的胶囊网络模型中进行测试,通过输出结果判定待检测目标文件是否为恶意软件文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910536674.6A CN110427756B (zh) | 2019-06-20 | 2019-06-20 | 基于胶囊网络的安卓恶意软件检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910536674.6A CN110427756B (zh) | 2019-06-20 | 2019-06-20 | 基于胶囊网络的安卓恶意软件检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110427756A true CN110427756A (zh) | 2019-11-08 |
CN110427756B CN110427756B (zh) | 2021-05-04 |
Family
ID=68408787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910536674.6A Active CN110427756B (zh) | 2019-06-20 | 2019-06-20 | 基于胶囊网络的安卓恶意软件检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110427756B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111460928A (zh) * | 2020-03-17 | 2020-07-28 | 中国科学院计算技术研究所 | 一种人体动作识别系统及方法 |
CN111475810A (zh) * | 2020-04-13 | 2020-07-31 | 广州锦行网络科技有限公司 | 一种恶意软件检测器训练方法及系统、检测方法及系统 |
CN111625826A (zh) * | 2020-05-28 | 2020-09-04 | 浪潮电子信息产业股份有限公司 | 云服务器中的恶意软件检测方法、装置及可读存储介质 |
CN111814906A (zh) * | 2020-07-23 | 2020-10-23 | 上海东普信息科技有限公司 | 快递面单识别模型移植方法、装置、设备及存储介质 |
CN112182577A (zh) * | 2020-10-14 | 2021-01-05 | 哈尔滨工程大学 | 一种基于深度学习的安卓恶意代码检测方法 |
CN112329016A (zh) * | 2020-12-31 | 2021-02-05 | 四川大学 | 一种基于深度神经网络的可视化恶意软件检测装置及方法 |
CN112380535A (zh) * | 2020-11-13 | 2021-02-19 | 重庆科技学院 | 一种基于cbow的恶意代码三通道可视化识别方法 |
CN113222053A (zh) * | 2021-05-28 | 2021-08-06 | 广州大学 | 基于RGB图像和Stacking多模型融合的恶意软件家族分类方法、系统和介质 |
CN113595987A (zh) * | 2021-07-02 | 2021-11-02 | 中国科学院信息工程研究所 | 一种基于基线行为刻画的通联异常发现方法及装置 |
CN114266050A (zh) * | 2022-03-03 | 2022-04-01 | 西南石油大学 | 一种跨平台恶意软件对抗样本生成方法及系统 |
WO2022101909A1 (en) * | 2020-11-11 | 2022-05-19 | B. G. Negev Technologies And Applications Ltd., At Ben-Gurion University | Methods and systems for trusted unknown malware detection and classification in linux cloud environments |
CN114579970A (zh) * | 2022-05-06 | 2022-06-03 | 南京明博互联网安全创新研究院有限公司 | 一种基于卷积神经网络的安卓恶意软件检测方法及系统 |
CN114638984A (zh) * | 2022-02-17 | 2022-06-17 | 南京邮电大学 | 一种基于胶囊网络的恶意网站url检测方法 |
CN116910758A (zh) * | 2023-09-13 | 2023-10-20 | 中移(苏州)软件技术有限公司 | 恶意软件检测方法、装置、电子设备、芯片及存储介质 |
CN117574371A (zh) * | 2023-11-28 | 2024-02-20 | 中华人民共和国新疆出入境边防检查总站(新疆维吾尔自治区公安厅边境管理总队) | 面向边缘计算平台熵敏感调用特征的恶意代码检测系统 |
CN118194288A (zh) * | 2024-05-17 | 2024-06-14 | 云南大学 | 基于注意力机制的多模态特征融合的Android恶意软件检测方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105807966A (zh) * | 2014-12-30 | 2016-07-27 | 鸿合科技有限公司 | 一种触摸屏事件的获取方法及装置 |
CN106502879A (zh) * | 2015-09-07 | 2017-03-15 | 中国移动通信集团公司 | 一种实现应用程序安全性检测的方法及装置 |
US20170115981A1 (en) * | 2015-10-21 | 2017-04-27 | Samsung Electronics Co., Ltd. | Apparatus and method for managing application |
CN106845167A (zh) * | 2016-12-12 | 2017-06-13 | 北京奇虎科技有限公司 | 一种apk的加固方法和装置,及动态加载方法和装置 |
CN107103235A (zh) * | 2017-02-27 | 2017-08-29 | 广东工业大学 | 一种基于卷积神经网络的Android恶意软件检测方法 |
CN108287722A (zh) * | 2018-01-09 | 2018-07-17 | 北京大学 | 一种安卓应用的解耦方法 |
US20190035100A1 (en) * | 2017-07-27 | 2019-01-31 | AI Incorporated | Method and apparatus for combining data to construct a floor plan |
CN109376636A (zh) * | 2018-10-15 | 2019-02-22 | 电子科技大学 | 基于胶囊网络的眼底视网膜图像分类方法 |
CN109543602A (zh) * | 2018-11-21 | 2019-03-29 | 太原理工大学 | 一种基于多视角图像特征分解的行人再识别方法 |
-
2019
- 2019-06-20 CN CN201910536674.6A patent/CN110427756B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105807966A (zh) * | 2014-12-30 | 2016-07-27 | 鸿合科技有限公司 | 一种触摸屏事件的获取方法及装置 |
CN106502879A (zh) * | 2015-09-07 | 2017-03-15 | 中国移动通信集团公司 | 一种实现应用程序安全性检测的方法及装置 |
US20170115981A1 (en) * | 2015-10-21 | 2017-04-27 | Samsung Electronics Co., Ltd. | Apparatus and method for managing application |
CN106845167A (zh) * | 2016-12-12 | 2017-06-13 | 北京奇虎科技有限公司 | 一种apk的加固方法和装置,及动态加载方法和装置 |
CN107103235A (zh) * | 2017-02-27 | 2017-08-29 | 广东工业大学 | 一种基于卷积神经网络的Android恶意软件检测方法 |
US20190035100A1 (en) * | 2017-07-27 | 2019-01-31 | AI Incorporated | Method and apparatus for combining data to construct a floor plan |
CN108287722A (zh) * | 2018-01-09 | 2018-07-17 | 北京大学 | 一种安卓应用的解耦方法 |
CN109376636A (zh) * | 2018-10-15 | 2019-02-22 | 电子科技大学 | 基于胶囊网络的眼底视网膜图像分类方法 |
CN109543602A (zh) * | 2018-11-21 | 2019-03-29 | 太原理工大学 | 一种基于多视角图像特征分解的行人再识别方法 |
Non-Patent Citations (3)
Title |
---|
SARA SABOUR等: "Dynamic Routing Between Capsules", 《31ST CONFERENCE ON NEURAL INFORMATION PROCESSING SYSTEMS (NIPS 2017)》 * |
SHU-WEI WANG等: "A Novel Malware Detection and Classification Method Based on Capsule Network", 《ARTIFICIAL INTELLIGENCE AND SECURITY》 * |
陈铁明等: "基于字节码图像和深度学习的 Android 恶意应用检测", 《电信科学》 * |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111460928A (zh) * | 2020-03-17 | 2020-07-28 | 中国科学院计算技术研究所 | 一种人体动作识别系统及方法 |
CN111475810A (zh) * | 2020-04-13 | 2020-07-31 | 广州锦行网络科技有限公司 | 一种恶意软件检测器训练方法及系统、检测方法及系统 |
CN111625826A (zh) * | 2020-05-28 | 2020-09-04 | 浪潮电子信息产业股份有限公司 | 云服务器中的恶意软件检测方法、装置及可读存储介质 |
CN111814906A (zh) * | 2020-07-23 | 2020-10-23 | 上海东普信息科技有限公司 | 快递面单识别模型移植方法、装置、设备及存储介质 |
CN111814906B (zh) * | 2020-07-23 | 2023-07-11 | 上海东普信息科技有限公司 | 快递面单识别模型移植方法、装置、设备及存储介质 |
CN112182577A (zh) * | 2020-10-14 | 2021-01-05 | 哈尔滨工程大学 | 一种基于深度学习的安卓恶意代码检测方法 |
WO2022101909A1 (en) * | 2020-11-11 | 2022-05-19 | B. G. Negev Technologies And Applications Ltd., At Ben-Gurion University | Methods and systems for trusted unknown malware detection and classification in linux cloud environments |
CN112380535A (zh) * | 2020-11-13 | 2021-02-19 | 重庆科技学院 | 一种基于cbow的恶意代码三通道可视化识别方法 |
CN112380535B (zh) * | 2020-11-13 | 2022-04-19 | 重庆科技学院 | 一种基于cbow的恶意代码三通道可视化识别方法 |
CN112329016B (zh) * | 2020-12-31 | 2021-03-23 | 四川大学 | 一种基于深度神经网络的可视化恶意软件检测装置及方法 |
CN112329016A (zh) * | 2020-12-31 | 2021-02-05 | 四川大学 | 一种基于深度神经网络的可视化恶意软件检测装置及方法 |
CN113222053A (zh) * | 2021-05-28 | 2021-08-06 | 广州大学 | 基于RGB图像和Stacking多模型融合的恶意软件家族分类方法、系统和介质 |
CN113595987A (zh) * | 2021-07-02 | 2021-11-02 | 中国科学院信息工程研究所 | 一种基于基线行为刻画的通联异常发现方法及装置 |
CN114638984B (zh) * | 2022-02-17 | 2024-03-15 | 南京邮电大学 | 一种基于胶囊网络的恶意网站url检测方法 |
CN114638984A (zh) * | 2022-02-17 | 2022-06-17 | 南京邮电大学 | 一种基于胶囊网络的恶意网站url检测方法 |
CN114266050A (zh) * | 2022-03-03 | 2022-04-01 | 西南石油大学 | 一种跨平台恶意软件对抗样本生成方法及系统 |
CN114579970B (zh) * | 2022-05-06 | 2022-07-22 | 南京明博互联网安全创新研究院有限公司 | 一种基于卷积神经网络的安卓恶意软件检测方法及系统 |
CN114579970A (zh) * | 2022-05-06 | 2022-06-03 | 南京明博互联网安全创新研究院有限公司 | 一种基于卷积神经网络的安卓恶意软件检测方法及系统 |
CN116910758A (zh) * | 2023-09-13 | 2023-10-20 | 中移(苏州)软件技术有限公司 | 恶意软件检测方法、装置、电子设备、芯片及存储介质 |
CN116910758B (zh) * | 2023-09-13 | 2023-12-08 | 中移(苏州)软件技术有限公司 | 恶意软件检测方法、装置、电子设备、芯片及存储介质 |
CN117574371A (zh) * | 2023-11-28 | 2024-02-20 | 中华人民共和国新疆出入境边防检查总站(新疆维吾尔自治区公安厅边境管理总队) | 面向边缘计算平台熵敏感调用特征的恶意代码检测系统 |
CN118194288A (zh) * | 2024-05-17 | 2024-06-14 | 云南大学 | 基于注意力机制的多模态特征融合的Android恶意软件检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110427756B (zh) | 2021-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110427756A (zh) | 基于胶囊网络的安卓恶意软件检测方法及装置 | |
Warnecke et al. | Evaluating explanation methods for deep learning in security | |
Kumar et al. | Malicious code detection based on image processing using deep learning | |
Almomani et al. | An automated vision-based deep learning model for efficient detection of android malware attacks | |
CN103853979B (zh) | 基于机器学习的程序识别方法及装置 | |
CN106537333A (zh) | 用于软件产物的数据库的系统和方法 | |
CN110232280A (zh) | 一种基于树结构卷积神经网络的软件安全漏洞检测方法 | |
CN107944274A (zh) | 一种基于宽度学习的Android平台恶意应用离线检测方法 | |
CN103577323B (zh) | 基于动态关键指令序列胎记的软件抄袭检测方法 | |
CN110110652A (zh) | 一种目标检测方法、电子设备及存储介质 | |
CN110135160A (zh) | 软件检测的方法、装置及系统 | |
Khan et al. | Malware classification framework using convolutional neural network | |
CN101482907A (zh) | 基于专家系统的主机恶意代码行为检测系统 | |
Alrabaee et al. | On leveraging coding habits for effective binary authorship attribution | |
Beppler et al. | L (a) ying in (test) bed: How biased datasets produce impractical results for actual malware families’ classification | |
CN117034273A (zh) | 基于图卷积网络的安卓恶意软件检测方法及系统 | |
Lin et al. | Towards interpreting ML-based automated malware detection models: A survey | |
Kornish et al. | Malware classification using deep convolutional neural networks | |
CN114579965A (zh) | 一种恶意代码的检测方法、装置及计算机可读存储介质 | |
CN117574371A (zh) | 面向边缘计算平台熵敏感调用特征的恶意代码检测系统 | |
Grover et al. | Malware threat analysis of IoT devices using deep learning neural network methodologies | |
Ali-Gombe et al. | cRGB_Mem: At the intersection of memory forensics and machine learning | |
CN116595537A (zh) | 一种基于多模态特征的生成式智能合约的漏洞检测方法 | |
Wang et al. | Deep learning-based multi-classification for malware detection in IoT | |
CN114282182A (zh) | 对抗软件生成方法、装置和服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |