CN108021806B - 一种恶意安装包的识别方法和装置 - Google Patents
一种恶意安装包的识别方法和装置 Download PDFInfo
- Publication number
- CN108021806B CN108021806B CN201711192496.7A CN201711192496A CN108021806B CN 108021806 B CN108021806 B CN 108021806B CN 201711192496 A CN201711192496 A CN 201711192496A CN 108021806 B CN108021806 B CN 108021806B
- Authority
- CN
- China
- Prior art keywords
- input
- neural network
- training
- data
- installation package
- 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.)
- Active
Links
Images
Classifications
-
- 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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- 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)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Character Discrimination (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种恶意安装包的识别方法和装置,所述方法包括:获取待检测安装包经过沙箱处理后的特征序列;从所述特征序列中提取符合预定文字提取规则的文字信息;对所述文字信息进行前处理,得到符合预先配置的神经网络识别模型输入格式的待输入数据;通过将所述待输入数据输入到所述神经网络识别模型进行分析,确定所述待检测安装包是否为恶意安装包。这样,利用神经网络识别模型进行进一步的识别处理,将沙箱无法识别的恶意安装包识别出来,有效提高了识别恶意软件的准确率,避免了一些恶意安装包带来的危害,保证了用户使用安装包的安全性。
Description
技术领域
本发明涉及信息处理领域,特别是涉及一种恶意安装包的识别方法和装置。
背景技术
随着现在网络技术的不断发展,各个软件开发公司开发出的软件安装包越来越多,用户将自己需要的安装包从网上或通过其他途径进行下载,并放入手机、平板、电脑、笔记本等能够对该安装包进行安装的设备上,利用这些设备对安装包进行解压安装,得到相应的软件程序,以供用户使用。
现在很多不法分子开发出一些恶意安装包,来窃取用户的隐私、财产或者干扰用户设备的正常使用,给用户带来极大的不便。针对这种情况一些开发公司开发出了各种杀毒软件,来对这些安装包进行检测,具体的,杀毒软件在安装包安装前会将安装包放入沙箱中进行模拟运行,杀毒软件基于安装包在沙箱中的运行情况,如果安装包运行过程中存在恶意行为,确定该安装包为恶意安装包,进而会对该安装包进行安全处理。
但是,根据安装包在沙箱运行过程中是否存在恶意行为,有时很难判断出安装包是否为恶意安装包,容易造成遗漏,进而会给用户造成安全隐患。例如,一些手机安装包,在沙箱运行测试过程中只是读取手机通讯录,并未出现恶意行为,但是该安装包在手机中实际运行时,会将读取到的手机通讯录上传到网络,进而使得给通讯录中的手机号发送骚扰短信,这样的恶意安装包在沙箱中是检测不出来的。
发明内容
有鉴于此,本发明提供了一种恶意安装包识别方法和装置,主要目的在于可以解决有些安装包在沙箱运行之后,很难判断出该安装包是否为恶意安装包,容易造成遗漏,给用户造成安全隐患的问题。
依据本发明第一方面,提供了一种恶意安装包的识别方法,包括:
获取待检测安装包经过沙箱处理后的特征序列;
从所述特征序列中提取符合预定文字提取规则的文字信息;
对所述文字信息进行前处理,得到符合预先配置的神经网络识别模型输入格式的待输入数据;
通过将所述待输入数据输入到所述神经网络识别模型进行分析,确定所述待检测安装包是否为恶意安装包。
依据本发明第二方面,提供了一种恶意安装包的识别装置,包括:
获取单元,用于获取待检测安装包经过沙箱处理后的特征序列;
提取单元,用于从所述特征序列中提取符合预定文字提取规则的文字信息;
处理单元,用于对所述文字信息进行前处理,得到符合预先配置的神经网络识别模型输入格式的待输入数据;
分析单元,用于通过将所述待输入数据输入到所述神经网络识别模型进行分析,确定所述待检测安装包是否为恶意安装包。
依据本发明第三方面,提供了一种存储设备,其上存储有计算机程序,所述程序被处理器执行时实现第一方面所述的恶意安装包的识别方法。
依据本发明第四方面,提供了一种恶意安装包的识别装置,所述装置包括存储设备和处理器,
所述存储设备,用于存储计算机程序;
所述处理器,用于执行所述计算机程序以实现第一方面所述的恶意安装包的识别方法。
借由上述技术方案,本发明提供的一种恶意安装包的识别方法和装置,与目前基于安装包在沙箱中的运行情况判断安装包是否为恶意安装包相比,本发明将待检测安装包经过沙箱处理后的特征序列,提取特征序列中的文字信息,然后将该文字信息进行前处理,得到符合预先配置的神经网络识别模型输入格式的待输入数据,再将待输入数据输入到所述神经网络识别模型进行分析,确定所述待检测安装包是否为恶意安装包。这样,利用神经网络识别模型进行进一步的识别处理,将沙箱无法识别的恶意安装包识别出来,有效提高了识别恶意软件的准确率,避免了一些恶意安装包带来的危害,保证了用户使用安装包的安全性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明的恶意安装包的识别方法的一个实施例的流程示意图;
图2示出了本发明的恶意安装包的识别方法的另一个实施例的流程示意图;
图3示出了本发明训练神经网络识别模型时的信息处理示意图;
图4示出了本发明数据输入LSTM网络后的信息处理示意图;
图5示出了本发明的恶意安装包的识别装置的一个实施例的结构示意图;
图6示出了本发明的恶意安装包的识别装置的另一个实施例的结构示意图;
图7示出了本发明的恶意安装包识别的实体装置结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种恶意安装包的识别方法,将安装包经过沙箱处理后的特征序列,利用经过学习训练后得到的神经网络识别模型进行进一步识别处理,判断该安装包是否是恶意安装包,有效提高了识别恶意安装包的准确率。
当安装包经过沙箱处理之后,能够直接判断出该安装包是恶意安装包时,利用杀毒软件进行杀毒或删除处理;当安装包经过沙箱处理之后,无法确定该安装包是否是恶意软件时,采用本发明的以下各个实施例的技术方案对安装包进行进一步的识别判断。
如图1所示,本实施例的恶意安装包的识别方法,步骤包括:
步骤101,获取待检测安装包经过沙箱处理后的特征序列。
在上述技术方案中,终端上一般都安装有杀毒软件,当安装包下载完成后,该杀毒软件就会将安装包在沙箱的虚拟环境中模拟运行,模拟运行时会调用底层的API(应用程序编程接口),每调用一个API就会形成一个该调用行为特征。一个安装包在沙箱中模拟运行会有多次调用API的行为,因此,一个安装包就会对应多个调用行为特征,将这些调用行为特征按照调用的时间顺序进行排列,形成特征序列。
步骤102,从特征序列中提取符合预定文字提取规则的文字信息。
在上述技术方案中,由于神经网络识别模型需要对文字信息进行处理,因此按照预定文字提取规则筛选特征序列中的文字信息,将特征序列中的其他信息进行剔除,并对所有文字信息进行整合。其中,该预定文字提取规则为提取特征序列中的中文文字和数字,若特征序列中有英文文字、日文文字、法文文字或其他外国文字信息,将外国文字信息翻译成中文后,再提取中文文字。
步骤103,对文字信息进行前处理,得到符合预先配置的神经网络识别模型输入格式的待输入数据。
在上述技术方案中,神经网络识别模型对文字信息不能进行处理,因此,需要将文字信息先进行前处理,按照神经网络识别模型预先配置的输入格式,对该文字信息进行转化处理,转化为与预先配置的输入格式相匹配的待输入数据。
其中对文字信息进行前处理,具体包括:对文字信息进行分词处理,然后为分词处理后得到的各个分词匹配相应的词向量,对所有的词向量按照各个分词的顺序进行汇总,组成一个一维向量矩阵。由于神经网络识别模型的输入口是多维输入口,需要将该一维向量矩阵进行进一步处理,将其转换成一个多维向量矩阵,将该多维向量矩阵作为待输入数据。
另外,本发明实施例全文中涉及的分词处理包括:利用条件随机场算法(CRF,Condition Random Field)进行分词处理;或者利用最大匹配分词算法进行分词处理;或者利用最小切分算法进行分词处理等。
步骤104,通过将待输入数据输入到神经网络识别模型进行分析,确定待检测安装包是否为恶意安装包。
在上述技术方案中,由于特征序列中针对不同的API调用时序,有多个调用行为特征,该多个调用行为特征就对应多个待输入数据。将该多个待输入数据按照调用时序的顺序输入到神经网络识别模型的各个人造神经元中,利用神经网络识别模型对每个待输入数据进行初步分析,然后再与各个调用时序进行结合,判断整个特征序列对应的行为是否是恶意行为,进而确定该待检测安装包是否是恶意安装包。
其中,神经网络识别模型可以设置在服务器中,服务器包含存储模块、调取模块、传送模块,神经网络识别模型经过学习训练完成后,将其保存在存储模块中。当安装包在终端的沙箱中运行完成之后,服务器利用调取模块调取终端的特征序列,利用存储模块中的神经网络识别模型对该特征序列进行处理,然后再将处理结果通过传送模块传送至终端。这种方式无需将庞大的神经网络识别模型放在终端上,不会占用终端的内存。
用户也可以为了使用方便,将神经网络识别模型下载至终端上,当安装包在终端的沙箱中运行完成之后,直接利用下载的神经网络识别模型对获取的特征序列进行分析处理,进而在本地完成对恶意安装包的识别处理。
通过上述技术方案,将待检测安装包经过沙箱处理后的特征序列,利用神经网络识别模型进行进一步的识别处理,能够将沙箱无法识别的恶意安装包识别出来,有效提高了识别恶意软件的准确率,避免了一些恶意安装包带来的危害,保证了用户使用安装包的安全性。
神经网络中设有多个能够模拟大脑神经元的人工神经元,在执行上述图1的各个步骤之前要先对神经网络中的各个人工神经元进行多次学习训练,得到神经网络识别模型。
如图2所示,神经网络识别模型的获取步骤包括:
步骤111,获取训练安装包经过沙箱处理后的训练特征序列。
步骤112,从训练特征序列中提取符合预定文字提取规则的训练文字信息。
步骤113,对训练文字信息进行处理,得到训练输入数据。
步骤114,将训练输入数据输入到神经网络进行处理,得到训练函数。
步骤115,根据训练函数的各项数值对神经网络进行训练,获得神经网络识别模型。
在上述技术方案中,当训练安装包为多个时,将各个训练安装包在沙箱的虚拟环境中模拟运行,获取模拟运行时的每个调用API的行为特征,将这些调用行为特征按照调用的时间顺序进行排列,形成训练特征序列。对每个经过沙箱处理后的训练特征序列进行特征标记,然后按照上述步骤102中描述的预定文字提取规则,从特征序列中提取训练文字信息,再对训练文字信息进行分词处理和转换处理,使得到的训练输入数据满足神经网络输入口预先配置的输入格式的要求。将训练输入数据与相应的特征标记进行对应,避免多个训练安装包出现混淆的情况。
在利用多个训练安装包对神经网络进行训练的过程包括:
将第一个训练安装包通过以上的方案得到的训练函数的各项数值,输入神经网络的各个神经元完成对神经网络的一次训练;再利用第二个训练安装包得到的训练函数对一次训练之后的神经网络进行二次训练,以此类推,直至最后一个训练安装包对神经网络进行训练结束。将最后一次训练得到的神经网络作为神经网络识别模型,并利用该神经网络识别模型对安装包经过沙箱处理后的数据进行再次识别判断该安装包是否是恶意安装包,避免沙箱将某些恶意安装包遗漏掉,危害用户的信息、财产的安全。
在具体实施例中,神经网络包括卷积神经网络(CNN,Convolutional NeuralNetwork)和长短期记忆网络(LSTM,Long Short-Term Memory),则步骤114具体包括:
步骤1141,将训练输入数据输入到卷积神经网络进行卷积处理,得到多维特征数据。
步骤1142,将多维特征数据输入到长短期记忆网络进行处理,获得训练函数。
依据上述步骤,对应步骤115具体包括:
步骤1151,根据训练函数的各项数值对卷积神经网络和长短期记忆网络进行训练,获得卷积神经网络模型和长短期记忆网络模型。
步骤1152,将卷积神经网络模型和长短期记忆网络模型进行组合得到神经网络识别模型。
在上述技术方案中,卷积神经网络能够分析文字信息中各个词语之间的语义关系(即为文字的局部特征);长短期记忆网络能够根据整个文字信息中各个词语出现的时序进行整体综合识别(即为文字的整体特征)。卷积神经网络和长短期记忆网络经过多次学习训练后,得到卷积神经网络模型和长短期记忆网络模型。这样,就可以利用卷积神经网络模型和长短期记忆网络模型共同对安装包进行识别判断,将安装包对应的文字信息的局部特征和整体特征进行结合,使得利用这两个神经网络模型能够更加准确的识别恶意安装包。
在具体实施例中,步骤1141具体包括:
步骤11411,对训练文字信息进行分词处理,并为分词处理得到的分词匹配相应的分词向量,分词向量为一维输入矩阵。
在上述技术方案中,利用预设矩阵分解模型(word2vec)中为各个分词分配相应的分词向量,并将各个分词、及各个分词对应的分词向量进行列表存储。这样将各个分词一一代入预设矩阵分解模型,从存储的列表中查找与各个分词对应的分词向量,然后将各个分词向量按照各个分词的顺序进行汇总。汇总后得到的分词向量为一维输入矩阵。
步骤11412,对分词向量进行格式转换,将一维输入矩阵转化为二维输入矩阵。
在上述技术方案中,由于卷积神经网络只能对二维输入矩阵进行处理,而且步骤11411得到的分词向量属于一维输入矩阵,为了便于卷积神经网络的处理,需要分词向量进行格式转化,将一维输入矩阵转化为二维输入矩阵。
步骤11413,将二维输入矩阵输入到卷积神经网络进行卷积处理,得到向量矩阵。
在上述技术方案中,卷积神经网络使用相同数量的卷积核对二维输入矩阵进行卷积处理,每个卷积核处理完成之后会得到一个向量矩阵。
步骤11414,提取向量矩阵中的第一维的向量,并将第一维的向量作为多维特征数据。
在上述技术方案中,由于经过多个卷积核处理之后得到多个向量矩阵,这样提取的第一维的向量也为多个,将多个第一维的向量进行组合形成多维特征数据。
在具体实施例中,步骤11411具体包括:
从分词处理得到的分词中获取预定数量的分词,为预定数量的分词分别匹配相应的分词向量。
在上述技术方案中,将训练安装包放入沙箱中进行虚拟运行时,将运行中会生成调用一个或多个底层API的调用行为特征,该调用行为特征包括调用每个API的命令字符、调用API后模拟运行相应程序的执行结果、调用每个API的时间等信息。将这些调用行为特征按照调用每个API的时间进行排列形成特征序列。然后将该特征序列进行文字提取,得到相应的训练文字信息。统计训练文字信息经过分词处理得到的分词的分词数,将分词数与预定数量进行比对,当分词数等于预定数量时,将分词处理得到分词全部作为训练分词;当分词数小于预定数量时,利用补充数据将分词数补充至预定数量,将补充后的分词作为训练分词;当分词数大于预定数量时,截除分词中超出预定数量的分词,将截除后的分词作为训练分词。然后为训练分词中的每个分词匹配相应的分词向量。
通过上述技术方案,能够保证每个训练安装包得到的训练分词的数量是一致的,方便卷积神经网络进行卷积处理。
步骤11413具体包括:
将二维输入矩阵输入到卷积神经网络进行卷积处理,得到一个数量为(a-b+1)*1的向量矩阵;
其中,a为预定数量,b为卷积神经网络的卷积核高度。
在具体实施例中,训练文字信息按照时间顺序分为多个时序的训练文字信息,对应得到多个多维特征数据,步骤1142具体包括:
步骤11421,将多个多维特征数据输入到长短期记忆网络进行处理,得到多个输出数据。
步骤11422,选取最后一个时间点的输出数据作为目标数据。
步骤11423,对目标数据进行后期处理,获得训练函数。
在上述技术方案中,将多个时序的训练文字信息进行处理之后得到多个训练输入数据,将多个训练输入数据输入到卷积神经网络之后,每个时序均对应得到一个多维特征数据。将得到的多个多维特征数据按照时序的顺序,依次输入长短期记忆网络的各个神经元中进行处理,并将每个多维特征数据的分析结果按照时序关系进行分析,由于最后一个时间点的输出数据是对上述多个数据的综合结果,因此选取最后一个时间点得到的输出数据为最终的输出结果(即,目标数据),对其进行后期处理,将后期处理结果作为训练函数,对卷积神经网络和长短期记忆网络进行训练。
在具体实施例中,步骤11423,具体包括:
步骤114231,为目标数据添加全链接。
在上述技术方案中,根据目标数据的数值大小对其进行分类,从分类列表中查找与该类别相对应的全链接,将查找到的全链接加入目标数据中。
步骤114232,将添加全链接的目标数据输入归一化指数函数进行归一化处理,得到交叉熵损失函数。
步骤114233,将交叉熵损失函数确定为训练函数。
在上述技术方案中,将添加全链接的目标数据输入归一化指数函数进行归一化处理,根据归一化处理结果得到最大似然函数,对最大似然函数进行最小化负对数处理得到交叉熵损失函数,将交叉熵损失函数作为训练函数。
在具体实施例中,步骤104具体包括:
将待输入数据依次输入卷积神经网络模型和长短期记忆网络模型进行处理,获取长短期记忆网络模型处理后的数值;
将处理后的数值与预定数值范围进行对比;
当处理后的数值在预定数值范围外时,确定待检测安装包为恶意安装包。
在上述技术方案中,待检测安装包的待输入数据经过卷积神经网络模型进行局部特征分析,以及长短期记忆网络模型进行整体特征分析之后,输出处理后的数值,将该数值与预定数值范围进行对比,进而判断该待检测安装包是否为恶意安装包。
具体为,将处理后的待输入数据的多维向量矩阵输入卷积神经网络模型中,卷积神网络模型中有多个卷积神经元,该多维向量矩阵依次经过每个卷积神经元进行卷积处理。然后将卷积后得到的一个或多个向量矩阵中第一维的数据提取出来并进行组合。将组合后的信息输入长短期记忆网络模型的多个记忆神经元进行依次处理,得到处理后的数值,这样就可以根据该数值判断待检测安装包是否为恶意安装包。
其中,处理后的数值为:该待检测安装包为恶意安装包的概率、该待检测安装包对应的安全级别数值。
例如,安全级别数值包括1、2、3、4,分别对应安全级别的一级、二级、三级、四级,其中级别越高代表该待检测安装包属于恶意安装包的概率越低,这样可以根据不同的安全级别对待检测安装包进行相应处理。
例如,处理后得到的数值为该待检测安装包是恶意安装包的概率,则将对应预定数值范围设置为0-50%,若概率值大于等于50%则确定待检测安装包为恶意安装包,若概率值小于50%则确定待检测安装包为安全安装包。
或者,也可以根据处理后的数值设置相应的处理等级,不同的等级对应不同的预定数值范围,每种等级的处理方式是不同的。
例如,一级为:数值范围为0-20%,确定安装包为安全的安装包,处理方式为,通知用户可以进行自动安装;
二级为:数值范围为21%-50%,确定安装包为初级恶意安装包,处理方式为通知用户进行手动安装;
三级为:数值范围为51%-70%,确定安装包为中级恶意安装包,处理方式为利用杀毒软件对该安装包进行杀毒处理;
四级为:数值范围为71%-100%,确定安装包为高级恶意安装包,处理方式为将该安装包彻底删除。
在具体实施例中,神经网络识别模型的输入通道包括第一输入通道和第二输入通道,第一输入通道输入可训练输入数据,第二输入通道输入非训练输入数据,通过将待输入数据输入到神经网络识别模型进行分析,确定待检测安装包是否为恶意安装包,具体包括:
将待输入数据通过第一输入通道和第二输入通道分别输入到神经网络识别模型;
神经网络识别模型利用第一输入通道输入的待输入数据得到相应的训练函数,并利用相应的训练函数对神经网络识别模型进行训练;
神经网络识别模型利用第二输入通道输入的待输入数据,确定待检测安装包是否为恶意安装包。
在上述技术方案中,由于在利用待输入数据对神经网络识别模型进行训练时,待输入数据会随着经过每个神经元之后得到的最小化交叉熵损失函数的梯度的变化而变化,这样就会丢失待输入数据本身的含义,不能再用来进行识别判断。所以为了在能够利用待输入数据对神经网络识别模型进行训练的同时,还能够对待输入数据进行识别判断,需要设置两个输入通道,将训练过程和识别判断过程分开。可以将待检测安装包的待输入数据利用第一输入通道对神经网络识别模型进行再次学习训练,利用第二输入通道输入神经网络识别模型识别判断该待检测安装包是否是恶意安装包,这样使两个过程输出结果更加稳定。
在本发明的另一个实施例中,卷积神经网络(CNN)能够分析文字信息中各个词语之间的语义关系(即词序的局部特征);长短期记忆网络(LSTM)能够根据整个文字信息中各个词语出现的时序进行整体综合识别(即词序的整体特征)。通过CNN+LSTM网络的结合,可以既考虑到词序的局部特征,又考虑到词序的整体特征。
如图3所示,对应神经网络识别模型的获取过程为:将训练安装包从沙箱出来的特征序列中的文字信息,经过分词处理和匹配词向量之后,进行embedding(嵌入格式转换处理)得到二维输入矩阵。将该二维输入矩阵输入CNN网络,使用相同大小的卷积核对二维输入矩阵进行卷积,每一个卷积核都会得到一个(max_len-filter_size+1)*1的一个向量,其中max_len为规定的最大分词长度(以分词为单位),filter_size为卷积核的高度。将每一个卷积得到的向量的第一维取出来,合并为一个向量,用来表示所有的卷积核的前filter_size个词的卷积结果,可以理解为是在第一个时间段的高维特征提取,同理,每一个时间段都有一个高维特征提取,最终会有(max_len-filter_size+1)个时序特征出来。
如图4所示,将这些时序特征依次输入LSTM网络,由于最后一个时间点的输出数据是对上述多个数据的综合结果,因此以最后一个时间段的输出结果为准,在最后一个时间段的输出结果中加入全链接,并输入softmax(归一化指数函数),计算交叉熵损失函数,以交叉熵损失函数作为训练函数训练CNN网络和LSTM网络,将训练完成后得到CNN网络模型和LSTM网络模型进行组合,得到神经网络识别模型(即CNN+LSTM模型)。
双通道技术
上述两个神经网络,输入的词向量都是可训练的,由于词向量会随着最小化交叉熵损失函数的梯度变化,可能会丢失其本身词的含义,这样就不能再利用其进行恶意安装包的识别过程,所以需要使用双通道作为神经网络的输入,一个通道的词向量可训练,进行训练过程,另外一个通道的词向量不可训练,用来进行识别判断过程。这样,将训练过程和识别判断过程分开,使两个过程输出结果更加稳定。
进一步的,作为图1方法的具体实现,本实施例提供了一种恶意安装包的识别装置,如图5所示,包括:获取单元21、提取单元22、处理单元23、和分析单元24。
获取单元21,用于获取待检测安装包经过沙箱处理后的特征序列;
提取单元22,用于从特征序列中提取符合预定文字提取规则的文字信息;
处理单元23,用于对文字信息进行前处理,得到符合预先配置的神经网络识别模型输入格式的待输入数据;
分析单元24,用于通过将待输入数据输入到神经网络识别模型进行分析,确定待检测安装包是否为恶意安装包。
如图6所示,在具体实施例中,上述装置还包括:
获取单元21,还用于获取训练安装包经过沙箱处理后的训练特征序列;
提取单元22,还用于从训练特征序列中提取符合预定文字提取规则的训练文字信息;
处理单元23,还用于对训练文字信息进行处理,得到训练输入数据;
输入单元25,用于将训练输入数据输入到神经网络进行处理,得到训练函数;
训练单元26,用于根据训练函数的各项数值对神经网络进行训练,获得神经网络识别模型。
在具体实施例中,神经网络包括卷积神经网络和长短期记忆网络,输入单元25具体包括:
卷积模块,用于将训练输入数据输入到卷积神经网络进行卷积处理,得到多维特征数据;
长短期记忆模块,用于将多维特征数据输入到长短期记忆网络进行处理,获得训练函数;
训练单元26,还用于根据训练函数的各项数值对卷积神经网络和长短期记忆网络进行训练,获得卷积神经网络模型和长短期记忆网络模型;将卷积神经网络模型和长短期记忆网络模型进行组合得到神经网络识别模型。
在具体实施例中,训练单元26具体包括:
分词模块。用于对训练文字信息进行分词处理,并为分词处理得到的分词匹配相应的分词向量,分词向量为一维输入矩阵;
格式转换模块,用于对分词向量进行格式转换,将一维输入矩阵转化为二维输入矩阵;
卷积模块,用于将二维输入矩阵输入到卷积神经网络进行卷积处理,得到向量矩阵;
提取模块,用于提取向量矩阵中的第一维的向量,并将第一维的向量作为多维特征数据。
在具体实施例中,分词模块,还用于从分词处理得到的分词中获取预定数量的分词,为预定数量的分词分别匹配相应的分词向量;
卷积模块,还用于将二维输入矩阵输入到卷积神经网络进行卷积处理,得到一个数量为(a-b+1)*1的向量矩阵;
其中,a为预定数量,b为卷积神经网络的卷积核高度。
在具体实施例中,训练文字信息按照时间顺序分为多个时序的训练文字信息,对应得到多个多维特征数据,
则长短期记忆模块,还用于将多个多维特征数据输入到长短期记忆网络进行处理,得到多个输出数据;选取最后一个时间点的输出数据作为目标数据;对目标数据进行后期处理,获得训练函数。
在具体实施例中,长短期记忆模块具体包括:
全链接添加模块,用于为目标数据添加全链接;
归一化模块,用于将添加全链接的目标数据输入归一化指数函数进行归一化处理,得到交叉熵损失函数;
确定模块,用于将交叉熵损失函数确定为训练函数。
在具体实施例中,分析单元24具体包括:
输入模块,用于将待输入数据依次输入卷积神经网络模型和长短期记忆网络模型进行处理,获取长短期记忆网络模型处理后的数值;
对比模块,用于将处理后的数值与预定数值范围进行对比;当处理后的数值在预定数值范围外时,确定待检测安装包为恶意安装包。
在具体实施例中,神经网络识别模型的输入通道包括第一输入通道和第二输入通道,第一输入通道输入可训练输入数据,第二输入通道输入非训练输入数据,分析单元24具体包括:
双通道输入模块,用于将待输入数据通过第一输入通道和第二输入通道分别输入到神经网络识别模型;
训练模块,用于神经网络识别模型利用第一输入通道输入的待输入数据得到相应的训练函数,并利用相应的训练函数对神经网络识别模型进行训练;
分析模块,用于神经网络识别模型利用第二输入通道输入的待输入数据,确定待检测安装包是否为恶意安装包。
基于上述图1-4所示方法,相应的,本实施例还提供了一种存储设备,其上存储有计算机程序,程序被处理器执行时实现图1-4所示方法对应的步骤。
基于上述图1-4所示方法和图5、6所示装置的实施例,本实施例还提供了一种恶意安装包识别的实体装置,如图7所示,包括存储设备32和处理器31,其中存储设备32和处理器31均设置在总线33上。
存储设备32,用于存储计算机程序;
处理器31,用于执行计算机程序以实现图1-4所示方法对应的步骤。
通过本发明的上述技术方案,将待检测安装包经过沙箱处理后的特征序列,利用神经网络识别模型进行进一步的识别处理,能够将通过沙箱后无法识别的恶意安装包识别出来,有效提高了识别恶意软件的准确率,避免了一些恶意安装包带来的危害,保证了用户使用安装包的安全性。
本发明实施例公开了:
A1、一种恶意安装包的识别方法,包括:
获取待检测安装包经过沙箱处理后的特征序列;
从所述特征序列中提取符合预定文字提取规则的文字信息;
对所述文字信息进行前处理,得到符合预先配置的神经网络识别模型输入格式的待输入数据;
通过将所述待输入数据输入到所述神经网络识别模型进行分析,确定所述待检测安装包是否为恶意安装包。
A 2、如A 1所述的方法,所述神经网络识别模型的获取步骤包括:
获取训练安装包经过沙箱处理后的训练特征序列;
从所述训练特征序列中提取符合预定文字提取规则的训练文字信息;
对所述训练文字信息进行处理,得到训练输入数据;
将所述训练输入数据输入到神经网络进行处理,得到训练函数;
根据所述训练函数的各项数值对所述神经网络进行训练,获得神经网络识别模型。
A 3、如A 2所述的方法,所述神经网络包括卷积神经网络和长短期记忆网络,将所述训练输入数据输入到神经网络进行处理,得到训练函数,具体包括:
将所述训练输入数据输入到卷积神经网络进行卷积处理,得到多维特征数据;
将所述多维特征数据输入到长短期记忆网络进行处理,获得训练函数;
根据所述训练函数的各项数值对所述神经网络进行训练,获得神经网络识别模型,具体包括:
根据所述训练函数的各项数值对所述卷积神经网络和所述长短期记忆网络进行训练,获得卷积神经网络模型和长短期记忆网络模型;
将所述卷积神经网络模型和长短期记忆网络模型进行组合得到神经网络识别模型。
A 4、如A 3所述的方法,将所述训练输入数据输入到卷积神经网络进行卷积处理,得到多维特征数据,具体包括:
对所述训练文字信息进行分词处理,并为分词处理得到的分词匹配相应的分词向量,所述分词向量为一维输入矩阵;
对所述分词向量进行格式转换,将一维输入矩阵转化为二维输入矩阵;
将所述二维输入矩阵输入到卷积神经网络进行卷积处理,得到向量矩阵;
提取所述向量矩阵中的第一维的向量,并将所述第一维的向量作为多维特征数据。
A 5、如A 4所述的方法,所述为分词处理得到的分词匹配相应的分词向量,具体包括:
从分词处理得到的分词中获取预定数量的分词,为所述预定数量的分词分别匹配相应的分词向量;
将所述二维输入矩阵输入到卷积神经网络进行卷积处理,得到向量矩阵,具体包括:
将所述二维输入矩阵输入到卷积神经网络进行卷积处理,得到一个数量为(a-b+1)*1的向量矩阵;
其中,a为预定数量,b为卷积神经网络的卷积核高度。
A 6、如A 3所述的方法,所述训练文字信息按照时间顺序分为多个时序的训练文字信息,对应得到多个多维特征数据,将所述多维特征数据输入到长短期记忆网络进行处理,获得训练函数,具体包括:
将多个多维特征数据输入到长短期记忆网络进行处理,得到多个输出数据;
选取最后一个时间点的输出数据作为目标数据;
对所述目标数据进行后期处理,获得训练函数。
A 7、如A 6所述的方法,对所述目标数据进行后期处理,获得训练函数,具体包括:
为所述目标数据添加全链接;
将添加全链接的目标数据输入归一化指数函数进行归一化处理,得到交叉熵损失函数;
将所述交叉熵损失函数确定为训练函数。
A 8、如A 3-A 7任一项所述的方法,通过将所述待输入数据输入到所述神经网络识别模型进行分析,确定所述待检测安装包是否为恶意安装包,具体包括:
将所述待输入数据依次输入卷积神经网络模型和长短期记忆网络模型进行处理,获取所述长短期记忆网络模型处理后的数值;
将所述处理后的数值与预定数值范围进行对比;
当所述处理后的数值在所述预定数值范围外时,确定所述待检测安装包为恶意安装包。
A 9、如A 2所述的方法,所述神经网络识别模型的输入通道包括第一输入通道和第二输入通道,所述第一输入通道输入可训练输入数据,所述第二输入通道输入非训练输入数据,通过将所述待输入数据输入到所述神经网络识别模型进行分析,确定所述待检测安装包是否为恶意安装包,具体包括:
将所述待输入数据通过所述第一输入通道和第二输入通道分别输入到所述神经网络识别模型;
所述神经网络识别模型利用所述第一输入通道输入的待输入数据得到相应的训练函数,并利用所述相应的训练函数对所述神经网络识别模型进行训练;
所述神经网络识别模型利用所述第二输入通道输入的待输入数据,确定所述待检测安装包是否为恶意安装包。
B10、一种恶意安装包的识别装置,包括:
获取单元,用于获取待检测安装包经过沙箱处理后的特征序列;
提取单元,用于从所述特征序列中提取符合预定文字提取规则的文字信息;
处理单元,用于对所述文字信息进行前处理,得到符合预先配置的神经网络识别模型输入格式的待输入数据;
分析单元,用于通过将所述待输入数据输入到所述神经网络识别模型进行分析,确定所述待检测安装包是否为恶意安装包。
B 11、如B 10所述的装置,所述装置还包括:
所述获取单元,还用于获取训练安装包经过沙箱处理后的训练特征序列;
所述提取单元,还用于从所述训练特征序列中提取符合预定文字提取规则的训练文字信息;
所述处理单元,还用于对所述训练文字信息进行处理,得到训练输入数据;
输入单元,用于将所述训练输入数据输入到神经网络进行处理,得到训练函数;
训练单元,用于根据所述训练函数的各项数值对所述神经网络进行训练,获得神经网络识别模型。
B 12、如B 11所述的装置,所述神经网络包括卷积神经网络和长短期记忆网络,所述输入单元具体包括:
卷积模块,用于将所述训练输入数据输入到卷积神经网络进行卷积处理,得到多维特征数据;
长短期记忆模块,用于将所述多维特征数据输入到长短期记忆网络进行处理,获得训练函数;
所述训练单元,还用于根据所述训练函数的各项数值对所述卷积神经网络和所述长短期记忆网络进行训练,获得卷积神经网络模型和长短期记忆网络模型;将所述卷积神经网络模型和长短期记忆网络模型进行组合得到神经网络识别模型。
B 13、如B 12所述的装置,所述训练单元具体包括:
分词模块,用于对所述训练文字信息进行分词处理,并为分词处理得到的分词匹配相应的分词向量,所述分词向量为一维输入矩阵;
格式转换模块,用于对所述分词向量进行格式转换,将一维输入矩阵转化为二维输入矩阵;
卷积模块,用于将所述二维输入矩阵输入到卷积神经网络进行卷积处理,得到向量矩阵;
提取模块,用于提取所述向量矩阵中的第一维的向量,并将所述第一维的向量作为多维特征数据。
B 14、如B 13所述的装置,
所述分词模块,还用于从分词处理得到的分词中获取预定数量的分词,为所述预定数量的分词分别匹配相应的分词向量;
所述卷积模块,还用于将所述二维输入矩阵输入到卷积神经网络进行卷积处理,得到一个数量为(a-b+1)*1的向量矩阵;
其中,a为预定数量,b为卷积神经网络的卷积核高度。
B 15、如B 12所述的装置,所述训练文字信息按照时间顺序分为多个时序的训练文字信息,对应得到多个多维特征数据,
所述长短期记忆模块,还用于将多个多维特征数据输入到长短期记忆网络进行处理,得到多个输出数据;
选取最后一个时间点的输出数据作为目标数据;对所述目标数据进行后期处理,获得训练函数。
B 16、如B 15所述的装置,所述长短期记忆模块,具体包括:
全链接添加模块,用于为所述目标数据添加全链接;
归一化模块,用于将添加全链接的目标数据输入归一化指数函数进行归一化处理,得到交叉熵损失函数;
确定模块,用于将所述交叉熵损失函数确定为训练函数。
B 17、如B 12-B 16任一项所述的装置,所述分析单元,具体包括:
输入模块,用于将所述待输入数据依次输入卷积神经网络模型和长短期记忆网络模型进行处理,获取所述长短期记忆网络模型处理后的数值;
对比模块,用于将所述处理后的数值与预定数值范围进行对比;当所述处理后的数值在所述预定数值范围外时,确定所述待检测安装包为恶意安装包。
B 18、如B 11所述的装置,所述神经网络识别模型的输入通道包括第一输入通道和第二输入通道,所述第一输入通道输入可训练输入数据,所述第二输入通道输入非训练输入数据,所述分析单元具体包括:
双通道输入模块,用于将所述待输入数据通过所述第一输入通道和第二输入通道分别输入到所述神经网络识别模型;
训练模块,用于所述神经网络识别模型利用所述第一输入通道输入的待输入数据得到相应的训练函数,并利用所述相应的训练函数对所述神经网络识别模型进行训练;
分析模块,用于所述神经网络识别模型利用所述第二输入通道输入的待输入数据,确定所述待检测安装包是否为恶意安装包。
C19、一种存储设备,其上存储有计算机程序,所述程序被处理器执行时实现如A1至A9任一项所述的恶意安装包的识别方法。
D20、一种恶意安装包的识别装置,所述装置包括存储设备和处理器,
所述存储设备,用于存储计算机程序;
所述处理器,用于执行所述计算机程序以实现如A1至A9任一项所述的恶意安装包的识别方法。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的说明求书中所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的说明书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种恶意安装包的识别方法和装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (20)
1.一种恶意安装包的识别方法,其特征在于,包括:
获取待检测安装包经过沙箱处理后的特征序列;
从所述特征序列中提取符合预定文字提取规则的文字信息;
对所述文字信息进行前处理,得到符合预先配置的神经网络识别模型输入格式的待输入数据;
通过将所述待输入数据输入到所述神经网络识别模型进行分析,确定所述待检测安装包是否为恶意安装包;
所述待检测安装包在所述沙箱中模拟运行产生多次调用应用程序编程接口的行为;所述待检测安装包则对应多个调用行为特征,将多个所述调用行为特征按照调用的时间顺序进行排列,形成所述特征序列。
2.根据权利要求1所述的方法,其特征在于,所述神经网络识别模型的获取步骤包括:
获取训练安装包经过沙箱处理后的训练特征序列;
从所述训练特征序列中提取符合预定文字提取规则的训练文字信息;
对所述训练文字信息进行处理,得到训练输入数据;
将所述训练输入数据输入到神经网络进行处理,得到训练函数;
根据所述训练函数的各项数值对所述神经网络进行训练,获得神经网络识别模型。
3.根据权利要求2所述的方法,其特征在于,所述神经网络包括卷积神经网络和长短期记忆网络,将所述训练输入数据输入到神经网络进行处理,得到训练函数,具体包括:
将所述训练输入数据输入到卷积神经网络进行卷积处理,得到多维特征数据;
将所述多维特征数据输入到长短期记忆网络进行处理,获得训练函数;
根据所述训练函数的各项数值对所述神经网络进行训练,获得神经网络识别模型,具体包括:
根据所述训练函数的各项数值对所述卷积神经网络和所述长短期记忆网络进行训练,获得卷积神经网络模型和长短期记忆网络模型;
将所述卷积神经网络模型和长短期记忆网络模型进行组合得到神经网络识别模型。
4.根据权利要求3所述的方法,其特征在于,将所述训练输入数据输入到卷积神经网络进行卷积处理,得到多维特征数据,具体包括:
对所述训练文字信息进行分词处理,并为分词处理得到的分词匹配相应的分词向量,所述分词向量为一维输入矩阵;
对所述分词向量进行格式转换,将一维输入矩阵转化为二维输入矩阵;
将所述二维输入矩阵输入到卷积神经网络进行卷积处理,得到向量矩阵;
提取所述向量矩阵中的第一维的向量,并将所述第一维的向量作为多维特征数据。
5.根据权利要求4所述的方法,其特征在于,所述为分词处理得到的分词匹配相应的分词向量,具体包括:
从分词处理得到的分词中获取预定数量的分词,为所述预定数量的分词分别匹配相应的分词向量;
将所述二维输入矩阵输入到卷积神经网络进行卷积处理,得到向量矩阵,具体包括:
将所述二维输入矩阵输入到卷积神经网络进行卷积处理,得到一个数量为(a-b+1)*1的向量矩阵;
其中,a为预定数量,b为卷积神经网络的卷积核高度。
6.根据权利要求3所述的方法,其特征在于,所述训练文字信息按照时间顺序分为多个时序的训练文字信息,对应得到多个多维特征数据,将所述多维特征数据输入到长短期记忆网络进行处理,获得训练函数,具体包括:
将多个多维特征数据输入到长短期记忆网络进行处理,得到多个输出数据;
选取最后一个时间点的输出数据作为目标数据;
对所述目标数据进行后期处理,获得训练函数。
7.根据权利要求6所述的方法,其特征在于,对所述目标数据进行后期处理,获得训练函数,具体包括:
为所述目标数据添加全链接;
将添加全链接的目标数据输入归一化指数函数进行归一化处理,得到交叉熵损失函数;
将所述交叉熵损失函数确定为训练函数。
8.根据权利要求3-7任一项所述的方法,其特征在于,通过将所述待输入数据输入到所述神经网络识别模型进行分析,确定所述待检测安装包是否为恶意安装包,具体包括:
将所述待输入数据依次输入卷积神经网络模型和长短期记忆网络模型进行处理,获取所述长短期记忆网络模型处理后的数值;
将所述处理后的数值与预定数值范围进行对比;
当所述处理后的数值在所述预定数值范围外时,确定所述待检测安装包为恶意安装包。
9.根据权利要求2所述的方法,其特征在于,所述神经网络识别模型的输入通道包括第一输入通道和第二输入通道,所述第一输入通道输入可训练输入数据,所述第二输入通道输入非训练输入数据,通过将所述待输入数据输入到所述神经网络识别模型进行分析,确定所述待检测安装包是否为恶意安装包,具体包括:
将所述待输入数据通过所述第一输入通道和第二输入通道分别输入到所述神经网络识别模型;
所述神经网络识别模型利用所述第一输入通道输入的待输入数据得到相应的训练函数,并利用所述相应的训练函数对所述神经网络识别模型进行训练;
所述神经网络识别模型利用所述第二输入通道输入的待输入数据,确定所述待检测安装包是否为恶意安装包。
10.一种恶意安装包的识别装置,其特征在于,包括:
获取单元,用于获取待检测安装包经过沙箱处理后的特征序列;
提取单元,用于从所述特征序列中提取符合预定文字提取规则的文字信息;
处理单元,用于对所述文字信息进行前处理,得到符合预先配置的神经网络识别模型输入格式的待输入数据;
分析单元,用于通过将所述待输入数据输入到所述神经网络识别模型进行分析,确定所述待检测安装包是否为恶意安装包;
所述待检测安装包在所述沙箱中模拟运行产生多次调用应用程序编程接口的行为;所述待检测安装包则对应多个调用行为特征,将多个所述调用行为特征按照调用的时间顺序进行排列,形成所述特征序列。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
所述获取单元,还用于获取训练安装包经过沙箱处理后的训练特征序列;
所述提取单元,还用于从所述训练特征序列中提取符合预定文字提取规则的训练文字信息;
所述处理单元,还用于对所述训练文字信息进行处理,得到训练输入数据;
输入单元,用于将所述训练输入数据输入到神经网络进行处理,得到训练函数;
训练单元,用于根据所述训练函数的各项数值对所述神经网络进行训练,获得神经网络识别模型。
12.根据权利要求11所述的装置,其特征在于,所述神经网络包括卷积神经网络和长短期记忆网络,所述输入单元具体包括:
卷积模块,用于将所述训练输入数据输入到卷积神经网络进行卷积处理,得到多维特征数据;
长短期记忆模块,用于将所述多维特征数据输入到长短期记忆网络进行处理,获得训练函数;
所述训练单元,还用于根据所述训练函数的各项数值对所述卷积神经网络和所述长短期记忆网络进行训练,获得卷积神经网络模型和长短期记忆网络模型;将所述卷积神经网络模型和长短期记忆网络模型进行组合得到神经网络识别模型。
13.根据权利要求12所述的装置,其特征在于,所述训练单元具体包括:
分词模块,用于对所述训练文字信息进行分词处理,并为分词处理得到的分词匹配相应的分词向量,所述分词向量为一维输入矩阵;
格式转换模块,用于对所述分词向量进行格式转换,将一维输入矩阵转化为二维输入矩阵;
卷积模块,用于将所述二维输入矩阵输入到卷积神经网络进行卷积处理,得到向量矩阵;
提取模块,用于提取所述向量矩阵中的第一维的向量,并将所述第一维的向量作为多维特征数据。
14.根据权利要求13所述的装置,其特征在于,
所述分词模块,还用于从分词处理得到的分词中获取预定数量的分词,为所述预定数量的分词分别匹配相应的分词向量;
所述卷积模块,还用于将所述二维输入矩阵输入到卷积神经网络进行卷积处理,得到一个数量为(a-b+1)*1的向量矩阵;
其中,a为预定数量,b为卷积神经网络的卷积核高度。
15.根据权利要求12所述的装置,其特征在于,所述训练文字信息按照时间顺序分为多个时序的训练文字信息,对应得到多个多维特征数据,
所述长短期记忆模块,还用于将多个多维特征数据输入到长短期记忆网络进行处理,得到多个输出数据;
选取最后一个时间点的输出数据作为目标数据;对所述目标数据进行后期处理,获得训练函数。
16.根据权利要求15所述的装置,其特征在于,所述长短期记忆模块,具体包括:
全链接添加模块,用于为所述目标数据添加全链接;
归一化模块,用于将添加全链接的目标数据输入归一化指数函数进行归一化处理,得到交叉熵损失函数;
确定模块,用于将所述交叉熵损失函数确定为训练函数。
17.根据权利要求12-16任一项所述的装置,其特征在于,所述分析单元,具体包括:
输入模块,用于将所述待输入数据依次输入卷积神经网络模型和长短期记忆网络模型进行处理,获取所述长短期记忆网络模型处理后的数值;
对比模块,用于将所述处理后的数值与预定数值范围进行对比;当所述处理后的数值在所述预定数值范围外时,确定所述待检测安装包为恶意安装包。
18.根据权利要求11所述的装置,其特征在于,所述神经网络识别模型的输入通道包括第一输入通道和第二输入通道,所述第一输入通道输入可训练输入数据,所述第二输入通道输入非训练输入数据,所述分析单元具体包括:
双通道输入模块,用于将所述待输入数据通过所述第一输入通道和第二输入通道分别输入到所述神经网络识别模型;
训练模块,用于所述神经网络识别模型利用所述第一输入通道输入的待输入数据得到相应的训练函数,并利用所述相应的训练函数对所述神经网络识别模型进行训练;
分析模块,用于所述神经网络识别模型利用所述第二输入通道输入的待输入数据,确定所述待检测安装包是否为恶意安装包。
19.一种存储设备,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至9任一项所述的恶意安装包的识别方法。
20.一种恶意安装包的识别装置,其特征在于,所述装置包括存储设备和处理器,
所述存储设备,用于存储计算机程序;
所述处理器,用于执行所述计算机程序以实现权利要求1至9任一项所述的恶意安装包的识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711192496.7A CN108021806B (zh) | 2017-11-24 | 2017-11-24 | 一种恶意安装包的识别方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711192496.7A CN108021806B (zh) | 2017-11-24 | 2017-11-24 | 一种恶意安装包的识别方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108021806A CN108021806A (zh) | 2018-05-11 |
CN108021806B true CN108021806B (zh) | 2021-10-22 |
Family
ID=62080155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711192496.7A Active CN108021806B (zh) | 2017-11-24 | 2017-11-24 | 一种恶意安装包的识别方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108021806B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959924A (zh) * | 2018-06-12 | 2018-12-07 | 浙江工业大学 | 一种基于词向量和深度神经网络的Android恶意代码检测方法 |
CN109635563A (zh) * | 2018-11-30 | 2019-04-16 | 北京奇虎科技有限公司 | 用于识别恶意应用程序的方法、装置、设备及存储介质 |
CN111262818B (zh) * | 2018-11-30 | 2023-08-15 | 三六零科技集团有限公司 | 病毒检测方法、***、装置、设备及存储介质 |
CN109614797A (zh) * | 2018-12-14 | 2019-04-12 | 北京车和家信息技术有限公司 | 车载信息娱乐***的锁屏勒索软件查杀方法、装置及设备 |
CN110069773A (zh) * | 2019-03-12 | 2019-07-30 | 中国华能集团有限公司 | 一种安全隐患智能识别方法、装置以及存储介质 |
CN110175603B (zh) * | 2019-04-01 | 2021-08-10 | 佛山缔乐视觉科技有限公司 | 一种雕刻文字识别方法、***及存储介质 |
CN110119621B (zh) * | 2019-05-05 | 2020-08-21 | 网御安全技术(深圳)有限公司 | 异常***调用的攻击防御方法、***及防御装置 |
CN110348482B (zh) * | 2019-06-05 | 2023-06-02 | 华东理工大学 | 一种基于深度模型集成架构的语音情感识别*** |
CN113032777B (zh) * | 2021-02-26 | 2023-04-07 | 山东浪潮科学研究院有限公司 | 一种Web恶意请求检测方法及设备 |
CN112861135B (zh) * | 2021-04-12 | 2024-05-31 | 中南大学 | 基于注意力机制的恶意代码检测方法 |
CN113641988B (zh) * | 2021-05-26 | 2022-09-16 | 荣耀终端有限公司 | 沙箱初始化方法、图形界面及相关装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101930561A (zh) * | 2010-05-21 | 2010-12-29 | 电子科技大学 | 一种基于N-Gram分词模型的反向神经网络垃圾邮件过滤装置 |
CN106372508A (zh) * | 2016-08-30 | 2017-02-01 | 北京奇虎科技有限公司 | 恶意文档的处理方法及装置 |
CN106778247A (zh) * | 2016-12-15 | 2017-05-31 | 江苏通付盾科技有限公司 | 应用程序动态分析的方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL197477A0 (en) * | 2009-03-08 | 2009-12-24 | Univ Ben Gurion | System and method for detecting new malicious executables, based on discovering and monitoring of characteristic system call sequences |
CN102779249B (zh) * | 2012-06-28 | 2015-07-29 | 北京奇虎科技有限公司 | 恶意程序检测方法及扫描引擎 |
CN104135475B (zh) * | 2014-07-18 | 2017-05-24 | 国家电网公司 | 一种面向移动互联网的电力信息安全防护方法 |
CN104123500B (zh) * | 2014-07-22 | 2017-07-28 | 北京知多星科技有限公司 | 一种基于深度学***台恶意应用检测方法及装置 |
CN105550583B (zh) * | 2015-12-22 | 2018-02-13 | 电子科技大学 | 基于随机森林分类方法的Android平台恶意应用检测方法 |
CN106529293B (zh) * | 2016-11-09 | 2019-11-05 | 东巽科技(北京)有限公司 | 一种用于恶意软件检测的样本类别判定方法 |
CN106874761A (zh) * | 2016-12-30 | 2017-06-20 | 北京邮电大学 | 一种安卓***恶意应用检测方法及*** |
CN107273747A (zh) * | 2017-05-22 | 2017-10-20 | 中国人民公安大学 | 勒索软件检测的方法 |
-
2017
- 2017-11-24 CN CN201711192496.7A patent/CN108021806B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101930561A (zh) * | 2010-05-21 | 2010-12-29 | 电子科技大学 | 一种基于N-Gram分词模型的反向神经网络垃圾邮件过滤装置 |
CN106372508A (zh) * | 2016-08-30 | 2017-02-01 | 北京奇虎科技有限公司 | 恶意文档的处理方法及装置 |
CN106778247A (zh) * | 2016-12-15 | 2017-05-31 | 江苏通付盾科技有限公司 | 应用程序动态分析的方法及装置 |
Non-Patent Citations (2)
Title |
---|
Deep Sentiment Representation Based on CNN and LSTM;Qiongxia Huang 等;《2017 International Conference on Green Informatics (ICGI)》;20170817;第30-33页 * |
聊天机器人中用户出行消费意图识别方法;钱岳 等;《中国科学:信息科学》;20170831;第47卷(第8期);第997-1007页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108021806A (zh) | 2018-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108021806B (zh) | 一种恶意安装包的识别方法和装置 | |
CN104123500B (zh) | 一种基于深度学***台恶意应用检测方法及装置 | |
CN109905385B (zh) | 一种webshell检测方法、装置及*** | |
CN107835496B (zh) | 一种垃圾短信的识别方法、装置和服务器 | |
CN106778241B (zh) | 恶意文件的识别方法及装置 | |
CN116361801B (zh) | 基于应用程序接口语义信息的恶意软件检测方法及*** | |
CN109684476B (zh) | 一种文本分类方法、文本分类装置及终端设备 | |
CN111753290B (zh) | 软件类型的检测方法及相关设备 | |
CN111931809A (zh) | 数据的处理方法、装置、存储介质及电子设备 | |
CN111738351A (zh) | 模型训练方法、装置、存储介质及电子设备 | |
CN111062036A (zh) | 恶意软件识别模型构建、识别方法及介质和设备 | |
CN111984792A (zh) | 网站分类方法、装置、计算机设备及存储介质 | |
CN112418320A (zh) | 一种企业关联关系识别方法、装置及存储介质 | |
CN111783812B (zh) | 违禁图像识别方法、装置和计算机可读存储介质 | |
CN111353514A (zh) | 模型训练方法、图像识别方法、装置及终端设备 | |
CN115687980A (zh) | 数据表的脱敏分类方法、分类模型训练方法及装置 | |
CN113837836A (zh) | 模型推荐方法、装置、设备及存储介质 | |
CN111353577B (zh) | 基于多任务的级联组合模型的优化方法、装置及终端设备 | |
CN109657710B (zh) | 数据筛选方法、装置、服务器及存储介质 | |
CN115713669B (zh) | 一种基于类间关系的图像分类方法、装置、存储介质及终端 | |
CN112818114A (zh) | 信息的分类方法、检测方法、计算设备及存储介质 | |
CN113610080B (zh) | 基于跨模态感知的敏感图像识别方法、装置、设备及介质 | |
CN113988059A (zh) | 一种会话数据类型识别方法、***、设备及存储介质 | |
CN113409014A (zh) | 基于人工智能的大数据业务处理方法及人工智能服务器 | |
CN114491528A (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 |