CN104317892A - 可移植可执行文件的时序特征处理方法及装置 - Google Patents
可移植可执行文件的时序特征处理方法及装置 Download PDFInfo
- Publication number
- CN104317892A CN104317892A CN201410572813.8A CN201410572813A CN104317892A CN 104317892 A CN104317892 A CN 104317892A CN 201410572813 A CN201410572813 A CN 201410572813A CN 104317892 A CN104317892 A CN 104317892A
- Authority
- CN
- China
- Prior art keywords
- temporal aspect
- temporal
- predetermined number
- vector
- probability
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种可移植可执行文件的时序特征处理方法及装置,涉及数据处理领域,用于解决由于每个向量本身的长度很长,使拼接后向量长度过长的问题更为凸显,导致计算效率低的问题。方法包括:从可移植可执行PE文件中提取第一数量的第一特征单元作为第一时序特征,在第一时序特征前面和/或后面分别获取与第一时序特征相关的预设数量的第二时序特征,分别根据每个第一时序特征的向量表示估算在每个第二时序特征的位置出现第二时序特征的第一概率,并计算各个根据第一时序特征确定的第一概率的对数的和的最大值;分别获取第一时序特征对应的目标向量。本发明主要应用于计算机病毒检测的过程中。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种可移植可执行文件的时序特征处理方法及装置。
背景技术
随着机器学习技术的发展,机器学习技术被应用于判断PE(PortableExecute,可移植的执行体)文件是否为具有病毒的恶意文件。为能够使用机器学习技术,需要将PE文件的特征转化为机器学习模型可识别和计算的向量。
在Windows NT操作系统中,PE文件格式主要用于EXE文件、DLL文件、SYS(驱动程序)和其他文件类型。PE文件是微软Windows操作系统上的程序文件,常见的PE文件有EXE、DLL、OCX、SYS、COM、DLL等格式的文件。PE文件包括PE文件头特征、PE标准头特征、数据目录特征、常用表格特征、PE文件二进制特征和PE文件反汇编特征等。其中,PE文件二进制特征和PE文件反汇编特征会在PE文件中多次出现甚至有规律的出现,即具有一定的时序性,故本发明中将上述二进制特征和反汇编特征统称为时序特征。而对于上述PE文件头特征、PE标准头特恒、数据目录特征、常用表格特征均只在PE文件头中出现一次,故在本发明中将这些不会反复出现的特征称为非时序特征。
目前,在生成机器学习模型可以识别和计算的向量时,首先获取PE文件中存在的时序特征的总数K,然后使用一个由K-1个“0”和一个“1”组成的K维向量分别表示每个特征,其中“1”的位置与特征的数值大小(二进制特征)或编号(反汇编特征)相对应。例如:一个二进制特征被提取后为了方便显示,按照16进制表示为821C,该十六进制对应的十进制数为33308,由于821C为4位十六进制的数字,且4位十六进制的数字能够表示的最大值为FFFF(十六进制)即65536(十进制),因此上述特征821C的向量表示为:
可见,上述向量的维度即能够表示的最大数为65536(十进制表示),每个特征根据其数值大小在不同的位置“1”,812C的数值大小为33308,因此其向量表示中第33308位置“1”,其余位均置“0”。
发明人发现现有技术中至少存在如下问题:由于现有的时序特征(如821C)的向量表示的维度为与该时序特征位数相同(如4位十六进制)的任意时序特征能够表示的最大值(如65536),因此该时序特征的向量表示的维度很高。机器学习模型后续对向量进行学习和计算时会将向量进行拼接,由于每个向量本身的长度很长,因此拼接后向量长度过长的问题更为凸显,导致向量的计算效率低。
发明内容
本发明的实施例提供一种可移植可执行文件的时序特征处理方法及装置,用于解决目前由于时序特征向量维度很高,导致计算效率低的问题。
一方面,本发明提供了一种可移植可执行文件的时序特征处理方法,包括:
从可移植可执行PE文件中提取第一数量的第一特征单元作为第一时序特征,所述第一时序特征的向量表示的维度为所述第一数量的任意特征单元所能表示的最大值;
在所述第一时序特征前面和/或后面分别获取与所述第一时序特征相关的预设数量的第二时序特征,所述第二时序特征由所述第一数量的第二特征单元组成;
分别根据每个第一时序特征的向量表示估算在每个所述第二时序特征的位置出现所述第二时序特征的第一概率,并计算各个根据所述第一时序特征确定的第一概率的对数的和的最大值;分别获取每个所述第一时序特征对应的目标向量,所述目标向量的维度为维度小于第一时序特征的向量表示的维度;
或者,分别根据所述预设数量的第二时序特征的向量表示估算在所述第一时序特征的位置出现所述第一时序特征的第二概率,并计算各个根据所述预设数量的第二时序特征确定的第二概率的对数的和的最大值;分别获取所述第一时序特征对应的目标向量。
另一方面,本发明还提供了一种可移植可执行文件的时序特征处理装置,包括:
第一时序特征提取单元,用于从可移植可执行PE文件中提取第一数量的第一特征单元作为第一时序特征,所述第一时序特征的向量表示的维度为所述第一数量的任意特征单元所能表示的最大值;
第二时序特征获取单元,在所述第一时序特征提取单元提取的所述第一时序特征前面和/或后面分别获取与所述第一时序特征相关的预设数量的第二时序特征,所述第二时序特征由所述第一数量的第二特征单元组成;
估算单元,用于分别根据所述第一时序特征提取单元提取的每个第一时序特征的向量表示估算在每个所述第二时序特征的位置出现所述第二时序特征的第一概率,并计算各个根据所述第一时序特征确定的第一概率的对数的和的最大值;
或者,分别根据所述第二时序特征获取单元获取的所述预设数量的第二时序特征的向量表示估算在所述第一时序特征的位置出现所述第一时序特征的第二概率,并计算各个根据所述预设数量的第二时序特征确定的第二概率的对数的和的最大值
目标向量获取单元,用于分别获取所述第一时序特征对应的目标向量。
本发明提供的可移植可执行文件的时序特征处理方法及装置,与现有技术时序特征(如821C)的向量表示的维度为与该时序特征位数相同(如4位十六进制)的任意时序特征能够表示的最大值(如65536)相比,本发明先获取第一时序特征,在第一时序特征的前面和/或后面分别获取预设数量的第二时序特征。然后,分别根据每个第一时序特征的向量表示估算在每个所述第二时序特征的位置出现所述第二时序特征的第一概率,并计算各个根据所述第一时序特征确定的第一概率的对数的和的最大值;或者,分别根据所述预设数量的第二时序特征的向量表示估算在所述第一时序特征的位置出现所述第一时序特征的第二概率,并计算各个根据所述预设数量的第二时序特征确定的第二概率的对数的和的最大值。最后,分别获取所述第一时序特征对应的目标向量。通过上述步骤得到的目标向量的维度小于第一时序特征的向量表示的维度,进而在后续计算或存储的过程中能够减少磁盘占用空间,进而提高计算效率同时降低存储成本。同时,现有技术中各个向量表示之间为正交关系,不存在相似关系,无法作为深度学习的输入。本发明中,在估算第一概率或第二概率时,参考了第一时序特征的前面和/或后面的预设数量的第二时序特征,因此最终得到的目标向量能够综合第一时序特征和第二时序特征的特征,进而体现前后文的关系,可作为深度学习的输入,便于机器学习模型的后续计算。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一个可移植可执行文件的时序特征处理方法的流程图;
图2为本发明实施例提供的另一个可移植可执行文件的时序特征处理方法的流程图;
图3为本发明实施例提供的一个可移植可执行文件的时序特征处理装置的结构示意图;
图4为本发明实施例提供的另一个可移植可执行文件的时序特征处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
PE文件中的时序特征大致可分为二进制特征,反汇编特征。操作系统在读取二进制特征时,由于二进制在表示数据时均为0、1表示,显示位数较长,因此现有技术中通常将二进制特征转换为十六进制的数字后进行显示,
PE文件中包括下述十六进制数据:
其中,每一列由两个十六进制的数字组成。为了方便描述,本发明实施例中将时序特征的最小单位成为特征单元,一个时序特征由一个或多个特征单元组成。例如,上述PE文件中每一个十六进制的数字为一个特征单元,如果一个时序特征由4个特征单元组成,则812C为一个时序特征。如果一个时序特征由2个特征单元组成,则“82”为一个时序特征。同理,对于反汇编特征,一个特征单元对应于一个反汇编语句,一个反汇编特征的时序特征可由一个或多个特征单元组成。假设PE文件中包括下述十六进制数据:
在上述反汇编语句中,如果一个时序特征由2个特征单元组成,则“callpush”为一个时序特征。如果一个时序特征由4个特征单元组成,则“call pushpush call”为一个时序特征。PE文件中的反汇编特征为一个反汇编语句,如call语句、push语句、pull语句等。在将反汇编特征转换为其向量表示时,仅关注语句的类型,而不关注语句的具体内容,如:“push58h”和“push40h”这两个反汇编语句对应的反汇编特征相同,均为push语句。可选的,为了提高时序特征的准确度,对于上述具体内容不同但反汇编语句相同的情况(“push58h”和“push40h”),也可使用不同的时序特征进行表示。
无论哪种时序特征,在现有技术中所对应的向量的维度均为与时序特征位数相同的任意时序特征能够表示的最大值,例如:对于十六进制的PE文件,每次提取16bit的数据(对应4位十六进制的数),如821C(十进制为33308),然而4位十六进制可以表示的数为0-FFFF(十进制为0-65536),因此821C的向量表示的维度为65536,具体内容如下:
该向量的维度为65536,并在第33308位处置“1”,其余位置“0”。
再例如:对于反汇编特征,假设反汇编语句种类的总数为N,则分别对每种反汇编语句进行编号,如反汇编语句call对应1,反汇编语句push对应2,反汇编语句pull对应3等。若反汇编语句INC对应K,则INC的向量表示为:
可见,现有的时序特征的向量表示中只有一位用于表示当前的时序特征,其余位均置“0”,使得时序特征的向量表示较为冗长。
本发明实施例提供了一种可移植可执行文件的时序特征处理方法,以缩短时序特征的向量表示长度,所述方法应用于具有数据处理能力的设备中,所述设备包括网络侧服务器(如云计算服务器、防火墙服务器等)和用户使用的终端(如个人电脑PC、平板电脑PAD、智能手机等)。如图1所示,所述方法包括:
步骤101、从可移植可执行PE文件中提取第一数量的第一特征单元作为第一时序特征,第一时序特征的向量表示的维度为第一数量的任意特征单元所能表示的最大值。
从第一个时序特征开始,依次提取时序特征作为所述第一时序特征。本发明实施例中第一时序特征的向量表示形式可参见上述关于现有技术中的时序特征的向量表示方法。提取的第一数量的第一特征单元通常是相邻的。特别的,当第一特征单元被识别为用于填充的特征单元时,获取该第一特征单元后面相邻的特征单元。
需要说明的是,在实际使用过程中时序特征的向量表示的提取范围为海量的PE文件,具体的,这些海量的PE文件相同类型的时序特征(二进制特征或反汇编特征)。进一步的,上述多个PE文件的文件类型可以不同,例如:一个PE文件为EXE格式的文件、另一个PE文件为DLL格式的文件,两个PE文件均具有二进制特征。
步骤102、在第一时序特征前面和/或后面分别获取与第一时序特征相关的预设数量的第二时序特征,第二时序特征由第一数量的第二特征单元组成。
预设数量为大于零的整数。如果第一时序特征wi在时序特征部分的位置为i,则获取第一时序特征wi前面与wi相邻的预设数量c的时序特征(wi-1..wi-c),和第一时序特征wi后面与wi相邻的预设数量c的时序特征(wi+1..wi+c),得到2c个第二时序特征。
步骤102具体可通过下述两种方式进行实施:1、在所述第一时序特征前面和/或后面分别获取与所述第一时序特征相邻的预设数量的第二时序特征。2、在所述第一时序特征前面和/或后面分别获取与所述第一时序特征具有部分重叠且相互之间具有部分重叠的预设数量的第二时序特征。3、在所述第一时序特征前面和/或后面分别获取与所述第一时序特征不相邻且不重叠的预设数量的第二时序特征。4、在所述第一时序特征前面和/或后面分别获取与所述第一时序特征相邻且相互之间不重叠的预设数量的第二时序特征。
与第一时序特征相关的第二时序特征可以为与所述第一时序特征相邻的预设个数的第二特征单元。为了能够使得到的目标向量之间的关联性更强,在选取第一时序特征和第二时序特征时,可将部分第一特征单元(数量为a)作为第二时序特征的第二特征单元,在将与第一特征单元相邻的部分特征单元(数量为预设数量-a)确定为第二特征单元。
作为步骤102的另一种实现方式,所述在所述第一时序特征前面和/或后面分别获取与所述第一时序特征具有部分重叠且相互之间具有部分重叠的预设数量的第二时序特征,包括:
A)在所述第一数量的第一特征单元作中选择目标特征单元。
所述选择目标特征单元为,选取最后一个第一特征单元前面的第N(N小于预设数量)个第一特征单元作为目标特征单元。
如果特征单元为二进制特征,则以16比特(bit)为步长从最后个第一特征单元向前搜索。如果特征单元为反汇编语句,则以1个汇编语句为步长从最后个第一特征单元向前搜索。
B)在所述目标特征单元的前面和/或后面,分别获取与所述目标特征单元相邻或不相邻的所述第一数量的第二特征单元作为所述第二时序特征。
需要说明的是,本发明实施例中将组成第一时序特征的特征单元称为第一特征单元,将组成第二时序特征的特征单元称为第二特征单元。当第一时序特征和第二时序特征存在部分重叠时,该重叠部分的第一特征单元为第二特征单元。例如:第一时序特征为“821C”,如果重叠部分的长度为两个十六进制位,则第二时序特征为“1CC7”,其中,1C对于第一时序特征“821C”为第一特征单元,对于第二时序特征“1CC7”为第二特征单元。
进一步的,发明人在实验过程中发现,提取的第一时序特征wi的前面或后面存在的时序特征的数量可能小于预设数量c。例如:第一个时序特征w1的前面没有时序特征。基于此,如图2所示,步骤102包括:
步骤102a、如果第一时序特征前面存在的时序特征的数量小于预设数量,则获取第一时序特征前面与第一时序特征相邻的全部时序特征作为第二时序特征。
对于上例中第一个时序特征w1仅获取其后面与其相邻的预设数量的c的时序特征w2...w1+c,其中预设数量c大于1。同理可知,当预设数量c为2时,对于第二个时序特征w2,获取的第二时序特征分别为w1w3w4。
步骤102b、如果第一时序特征后面存在的时序特征的数量小于预设数量,则获取第一时序特征后面与第一时序特征相邻的全部时序特征作为第二时序特征。
同理,对于最后一个时序特征wv的后面没有时序特征,则对于该最后一个时序特征wv仅获取其前面与其相邻的预设数量的c的时序特征wv-c...wv-1,其中预设数量c大于1。
步骤102c、如果第一时序特征前面存在的时序特征的数量和前面存在的时序特征的数量均大于预设数量,则在第一时序特征前面和/或后面分别获取预设数量的第二时序特征。
可选的,步骤102a’、如果第一时序特征前面存在的时序特征的数量小于预设数量,则获取第一时序特征前面与第一时序特征相邻的全部个时序特征作为第二时序特征,并在缺失时序特征的位置填充起始符。
同理,步骤102b’、如果第一时序特征后面存在的时序特征的数量小于预设数量,则获取第一时序特征后面与第一时序特征相邻的全部时序特征作为第二时序特征,并在缺失时序特征的位置填充结束符。
通过根据第一时序特征wi前后相邻的时序特征的数量,进行上述不同的第二时序特征的提取,能够避免获取空值对后续计算的不良影响,提高数据提取的准确度。
步骤103a、分别根据每个第一时序特征的向量表示估算在每个第二时序特征的位置出现第二时序特征的第一概率,并计算各个根据第一时序特征确定的第一概率对数的的和的最大值;分别获取每个第一时序特征对应的目标向量。
具体的,依次将所述第一时序特征wi+k的向量表示代入第一预设数学模型,通过分别估算在每个所述第二时序特征的位置i+k出现所述第二时序特征wi+k的第一概率p(wi+k|wi)。
所述第一预设数学模型参考了Skip-Gram模型,具体为公式一:
其中,所述M为可移植可执行文件中时序特征的总数,C为所述预设数量,所述wi为所述第一时序特征,所述wi+k为所述第二时序特征;所述p(wi+k|wi)用于表示已存在所述第一时序特征wi时,在位置i+k出现所述第二时序特征wi+k的概率。优选的,所述对数的底数为自然数e。
其中,p(wi+k|wi)可通过下述Softmax模型表示(公式二):
所述为所述第一时序特征wi的向量表示,所述为所述的转置矩阵,所述V为所述PE文件中时序特征种类的总数;所述和所述矩阵S为待求解值,所述为目标维度U×1的向量,所述矩阵S为V×U的矩阵。
需要说明的是,公式二是Softmax模型,S表示线性隐层,表示原始特征向量通过线性隐层后的输出,也可以使用其他隐层,例如tanh、sigmoid等。
此外,目标向量的维度可以小于第一时序特征的向量表示的维度,也可大于第一时序特征的向量表示的维度。目标向量的维度由目标维度确定。
目标维度为在实现本发明时根据使用需求而定的。例如对于一个共有几亿种时序特征的PE文件,可将将目标维度设置为500。进而最终得到的目标向量的维度为500,与现有技术中具有几亿维度的向量相比,能够明显缩短向量长度,方便后续计算和存储。
相应的,所述第一时序特征wi对应的目标向量为所述矩阵S左乘所述第一时序特征wi的向量表示的转置矩阵后,得到的1×U的向量。
作为一个举例:假设目标维度U=3、时序特征种类的总数V=5, 则 目标向量为1.11.21.3。
上述举例仅作为用于解释本发明实施例中在求解出矩阵S后,如何确定第一时序特征对应的目标向量。在实际使用中,目标维度U和时序特征种类的总数V均远大于上述举例,但其运算方式与上述举例相同。
除了使用上述第一数学模型,本发明实施例还提供了另一种数学模型,作为与步骤103a并列的方案:步骤103b、分别根据预设数量的第二时序特征的向量表示估算在第一时序特征的位置出现第一时序特征的第二概率,并计算各个根据预设数量的第二时序特征确定的第二概率对数的的和的最大值;分别获取第一时序特征对应的目标向量。
具体的,将所述预设数量的第二时序特征wi-c,…,wi-1,wi+1,…,wi+c)的向量表示代入第二预设数学模型,估算在所述第一时序特征的位置i出现所述第一时序特征wi的最大概率;
所述第二数学模型参考了Continues Bag-of-Words模型,具体为:
其中,所述M为可移植可执行文件中时序特征的总数,所述C为所述预设数量,所述wi为所述第一时序特征,所述p(wi|wi-c,…,wi-1,wi+1,…,wi+c)用于表示已存在所述第二时序特征(wi-c,…,wi-1,wi+1,…,wi+c)时,在位置i出现所述第一时序特征wi的概率。
需要说明的是,上述对数函数的底数可以为任意大于1的数。
其中,所述p(wi|wi-c,…,wi-1,wi+1,…,wi+c)可通过下述Softmax模型表示为:
所述的计算公式如下所示,其用于表示全部第二时序特征对应的向量的和,所述为所述的转置矩阵,所述V为所述PE文件中时序特征种类的总数;所述和所述矩阵S为待求解值,所述为目标维度U×1的向量,所述矩阵S为V×U的矩阵。
发明人根据上述两个计算模型对存储有反汇编特征的PE文件进行了特征提取,取目标为度U=3;每次提取一条反汇编指令,则经过上述第一数学模型或者第二数学模型的计算,得到汇编指令INC(自增1)对应的目标向量vINC TS为[0.1,0.3,0.6],汇编指令ADD(加法)对应的目标向量vADD TS可表示为[0.1,0.2,0.6],由于vINC TS≈vADD TS,可知两者是有相关性的,其符合INC指令与ADD指令的原有含义即都表示加法。现有技术中各个时序特征的向量表示是相互正交的,即vINC·vADD=0,因此无法体现两者的相似关系。由此可知,本发明实施例中通过第一计算模型和第二计算模型可看出,在计算第一时序特征对应的目标向量时,能够参考与第一基站相邻的多个第二时序特征的向量表示,因此目标向量能够在一定程度上反映前后时序特征。
进一步的,步骤101、从可移植可执行PE文件中提取第一数量的第一特征单元作为第一时序特征,包括:
1)读取多个可移植可执行文件。
2)从所述多个可移植可执行PE文件中提取第一数量的第一特征单元作为第一时序特征。
此时,以上述多个PE文件为基础,通过下述公式进行目标向量的提取。
或者,
其中,N为多个PE文件的文件总数。
本发明提供的可移植可执行文件的时序特征处理方法,与现有技术时序特征(如821C)的向量表示的维度为与该时序特征位数相同(如4位十六进制)的任意时序特征能够表示的最大值(如65536)相比,本发明先获取第一时序特征,在第一时序特征的前面和/或后面分别获取预设数量的第二时序特征。然后,分别根据每个第一时序特征的向量表示估算在每个所述第二时序特征的位置出现所述第二时序特征的第一概率,并计算各个根据所述第一时序特征确定的第一概率的对数的和的最大值;或者,分别根据所述预设数量的第二时序特征的向量表示估算在所述第一时序特征的位置出现所述第一时序特征的第二概率,并计算各个根据所述预设数量的第二时序特征确定的第二概率的对数的和的最大值。最后,分别获取所述第一时序特征对应的目标向量。通过上述步骤得到的目标向量的维度小于第一时序特征的向量表示的维度,进而在后续计算或存储的过程中能够减少磁盘占用空间,进而提高计算效率同时降低存储成本。同时,现有技术中各个向量表示之间为正交关系,不存在相似关系,无法作为深度学习的输入。本发明中,在估算第一概率或第二概率时,参考了第一时序特征的前面和/或后面的预设数量的第二时序特征,因此最终得到的目标向量能够综合第一时序特征和第二时序特征的特征,进而体现前后文的关系,可作为深度学习的输入,便于机器学习模型的后续计算。
综上,本发明实施例提供的可移植可执行文件的时序特征处理的方法,是一种用于将位于高维离散空间(维数为时序特征总数)中的每个时序特征映射到低维连续空间的实数向量的技术。可减少可移植可执行文件的时序特征向量的表示长度,并且对应内容相近的时序特征能够得到相似的向量表示。在获取到PE文件中全部时序特征的向量表示后,能够通过机器学习(拼接或相加)得到每个PE文件的时序特征的向量表示,并将这种向量表示用于不同的病毒检测任务,学习到的时序特征向量既可以作为完全的时序特征的特征输入到某些特定任务的有监督学习算法中,也可以作为依赖于不同任务所特定提取特征的有益扩充。
本发明实施例还提供了一种可移植可执行文件的时序特征处理装置,所述装置用于实现上述方法,如图3所示,所述装置3包括:
第一时序特征提取单元31,用于从可移植可执行PE文件中提取第一数量的第一特征单元作为第一时序特征,所述第一时序特征的向量表示的维度为所述第一数量的任意特征单元所能表示的最大值;
第二时序特征获取单元32,在所述第一时序特征提取单元31提取的所述第一时序特征前面和/或后面分别获取与所述第一时序特征相关的预设数量的第二时序特征,所述第二时序特征由所述第一数量的第二特征单元组成;
估算单元33,用于分别根据所述第一时序特征提取单元31提取的每个第一时序特征的向量表示估算在每个所述第二时序特征的位置出现所述第二时序特征的第一概率,并计算各个根据所述第一时序特征确定的第一概率的对数的和的最大值;
或者,分别根据所述第二时序特征获取单元32获取的所述预设数量的第二时序特征的向量表示估算在所述第一时序特征的位置出现所述第一时序特征的第二概率,并计算各个根据所述预设数量的第二时序特征确定的第二概率的对数的和的最大值.
所述目标向量获取单元34用于分别获取所述第一时序特征对应的目标向量。
进一步的,所述第二时序特征获取单元32还用于:
在所述第一时序特征提取单元31提取的第一时序特征前面和/或后面分别获取与所述第一时序特征相邻的预设数量的第二时序特征;
或者,
在所述第一时序特征提取单元31提取的第一时序特征前面和/或后面分别获取与所述第一时序特征具有部分重叠且相互之间具有部分重叠的预设数量的第二时序特征;
或者,在所述第一时序特征提取单元31提取的第一时序特征前面和/或后面分别获取与所述第一时序特征不相邻且不重叠的预设数量的第二时序特征
或者,
在所述第一时序特征提取单元31提取的所述第一时序特征前面和/或后面分别获取与所述第一时序特征相邻且相互之间不重叠的预设数量的第二时序特征。
进一步的,所述第二时序特征获取单元32还用于:
在所述第一数量的第一特征单元作中选择目标特征单元;
在所述目标特征单元的前面和/或后面,分别获取与所述目标特征单元相邻或者不相邻的所述第一数量的第二特征单元作为所述第二时序特征。
进一步的,所述估算单元33还用于:
依次将所述第一时序特征wi+k的向量表示代入第一预设数学模型,通过分别估算在每个所述第二时序特征的位置i+k出现所述第二时序特征wi+k的第一概率p(wi+k|wi);
所述第一预设数学模型为:
其中,M为可移植可执行文件中时序特征的总数,C为所述预设数量,所述wi为所述第一时序特征,所述wi+k为所述第二时序特征;所述p(wi+k|wi)用于表示已存在所述第一时序特征wi时,在位置i+k出现所述第二时序特征wi+k的概率。
进一步的,所述估算单元33使用的所述p(wi+k|wi)为:
所述为所述第一时序特征wi的向量表示,所述为所述的转置矩阵,所述V为所述PE文件中时序特征种类的总数;所述和所述矩阵S为待求解值,所述为目标维度U×1的向量,所述矩阵S为V×U的矩阵;
相应的,所述第一时序特征wi对应的目标向量为所述矩阵S左乘所述第一时序特征wi的向量表示的转置矩阵后,得到的1×U的向量。
进一步的,所述估算单元33还用于依次将所述预设数量的第二时序特征wi-c,…,wi-1,wi+1,…,wi+c的向量表示代入第二预设数学模型,估算在所述第一时序特征的位置i出现所述第一时序特征wi的最大概率;
所述第二数学模型为:
其中,所述M为可移植可执行文件中时序特征的总数,所述C为所述预设数量,所述wi为所述第一时序特征,所述p(wi|wi-c,…,wi-1,wi+1,…,wi+c)用于表示已存在所述第二时序特征(wi-c,…,wi-1,wi+1,…,wi+c)时,在位置i出现所述第一时序特征wi的概率。
进一步的,所述估算单元33使用的所述p(wi|wi-c,…,wi-1,wi+1,…,wi+c)为:
所述用于表示全部第二时序特征对应的向量的和,所述为所述的转置矩阵,所述V为所述PE文件中时序特征种类的总数;所述和所述矩阵S为待求解值,所述为目标维度U×1的向量,所述矩阵S为V×U的矩阵。
进一步的,所述第二时序特征获取单元32还用于:
当所述第一时序特征提取单元31提取的所述第一时序特征前面与所述第一时序特征相邻的全部时序特征的数量小于所述预设数量时,获取所述第一时序特征前面存在的特征作为所述第二时序特征;
或者,
当所述第一时序特征提取单元31提取的所述第一时序特征后面存在的时序特征的数量小于所述预设数量时,获取所述第一时序特征后面与所述第一时序特征相邻的全部时序特征作为所述第二时序特征。
进一步的,如图4所示,所述装置3还包括读取单元35,
所述读取单元30用于读取多个可移植可执行文件;
所述第一时序特征提取单元31还用于,从所述读取单元30读取的所述多个可移植可执行PE文件中提取第一数量的第一特征单元作为第一时序特征。
本发明提供的可移植可执行文件的时序特征处理装置,与现有技术时序特征(如821C)的向量表示的维度为与该时序特征位数相同(如4位十六进制)的任意时序特征能够表示的最大值(如65536)相比,本发明先获取第一时序特征,在第一时序特征的前面和/或后面分别获取预设数量的第二时序特征。然后,分别根据每个第一时序特征的向量表示估算在每个所述第二时序特征的位置出现所述第二时序特征的第一概率,并计算各个根据所述第一时序特征确定的第一概率的对数的和的最大值;或者,分别根据所述预设数量的第二时序特征的向量表示估算在所述第一时序特征的位置出现所述第一时序特征的第二概率,并计算各个根据所述预设数量的第二时序特征确定的第二概率的对数的和的最大值。最后,分别获取所述第一时序特征对应的目标向量。通过上述步骤得到的目标向量的维度小于第一时序特征的向量表示的维度,进而在后续计算或存储的过程中能够减少磁盘占用空间,进而提高计算效率同时降低存储成本。同时,现有技术中各个向量表示之间为正交关系,不存在相似关系,无法作为深度学习的输入。本发明中,在估算第一概率或第二概率时,参考了第一时序特征的前面和/或后面的预设数量的第二时序特征,因此最终得到的目标向量能够综合第一时序特征和第二时序特征的特征,进而体现前后文的关系,可作为深度学习的输入,便于机器学习模型的后续计算。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (18)
1.一种可移植可执行文件的时序特征处理方法,其特征在于,包括:
从可移植可执行PE文件中提取第一数量的第一特征单元作为第一时序特征,所述第一时序特征的向量表示的维度为所述第一数量的任意特征单元所能表示的最大值;
在所述第一时序特征前面和/或后面分别获取与所述第一时序特征相关的预设数量的第二时序特征,所述第二时序特征由所述第一数量的第二特征单元组成;
分别根据每个第一时序特征的向量表示估算在每个所述第二时序特征的位置出现所述第二时序特征的第一概率,并计算各个根据所述第一时序特征确定的第一概率的对数的和的最大值;分别获取每个所述第一时序特征对应的目标向量;
或者,分别根据所述预设数量的第二时序特征的向量表示估算在所述第一时序特征的位置出现所述第一时序特征的第二概率,并计算各个根据所述预设数量的第二时序特征确定的第二概率的对数的和的最大值;分别获取所述第一时序特征对应的目标向量。
2.根据权利要求1所述的可移植可执行文件的时序特征处理方法,其特征在于,所述在所述第一时序特征前面和/或后面分别获取与所述第一时序特征相关的预设数量的第二时序特征,包括:
在所述第一时序特征前面和/或后面分别获取与所述第一时序特征相邻的预设数量的第二时序特征;
或者,
在所述第一时序特征前面和/或后面分别获取与所述第一时序特征具有部分重叠且相互之间具有部分重叠的预设数量的第二时序特征;
或者,
在所述第一时序特征前面和/或后面分别获取与所述第一时序特征不相邻且不重叠的预设数量的第二时序特征;
或者,
在所述第一时序特征前面和/或后面分别获取与所述第一时序特征相邻且相互之间不重叠的预设数量的第二时序特征。
3.根据权利要求2所述的可移植可执行文件的时序特征处理方法,其特征在于,所述在所述第一时序特征前面和/或后面分别获取与所述第一时序特征具有部分重叠且相互之间具有部分重叠的预设数量的第二时序特征,包括:
在所述第一数量的第一特征单元作中选择目标特征单元;
在所述目标特征单元的前面和/或后面,分别获取与所述目标特征单元相邻或不相邻的所述第一数量的第二特征单元作为所述第二时序特征。
4.根据权利要求1至3中任一项所述的可移植可执行文件的时序特征处理方法,其特征在于,所述分别根据每个第一时序特征的向量表示估算在每个所述第二时序特征的位置出现所述第二时序特征的第一概率,并计算各个根据所述第一时序特征确定的第一概率的对数的和的最大值,包括:
依次将所述第一时序特征wi+k的向量表示代入第一预设数学模型,通过分别估算在每个所述第二时序特征的位置i+k出现所述第二时序特征wi+k的第一概率p(wi+k|wi);
所述第一预设数学模型为.
其中,所述M为可移植可执行文件中时序特征的总数,C为所述预设数量,所述wi为所述第一时序特征,所述wi+k为所述第二时序特征;所述p(wi+k|wi)用于表示已存在所述第一时序特征wi时,在位置i+k出现所述第二时序特征wi+k的概率。
5.根据权利要求4所述的可移植可执行文件的时序特征处理方法,其特征在于,所述p(wi+k|wi)为:
所述为所述第一时序特征wi的向量表示,所述为所述的转置矩阵,所述V为所述PE文件中时序特征种类的总数;所述和所述矩阵S为待求解值,所述为目标维度U×1的向量,所述矩阵S为V×U的矩阵;
相应的,所述第一时序特征wi对应的目标向量为所述矩阵S左乘所述第一时序特征wi的向量表示的转置矩阵后,得到的1×U的向量。
6.根据权利要求1至3中任一项所述的可移植可执行文件的时序特征处理方法,其特征在于,所述分别根据所述预设数量的第二时序特征的向量表示估算在所述第一时序特征的位置出现所述第一时序特征的第二概率,并计算各个根据所述预设数量的第二时序特征确定的第二概率的对数的和的最大值,包括:
依次将所述预设数量的第二时序特征wi-c,...,wi-1,wi+1,...,wi+c的向量表示代入第二预设数学模型,估算在所述第一时序特征的位置i出现所述第一时序特征wi的最大概率;
所述第二数学模型为:
其中,所述M为可移植可执行文件中时序特征的总数,所述C为所述预设数量,所述wi为所述第一时序特征,所述p(wi|wi-c,...,wi-1,wi+1,...,wi+c)用于表示已存在所述第二时序特征(wi-c,...,wi-1,wi+1,...,wi+c)时,在位置i出现所述第一时序特征wi的概率。
7.根据权利要求6所述的可移植可执行文件的时序特征处理方法,其特征在于,所述p(wi|wi-c,...,wi-1,wi+1,...,wi+c)为:
所述用于表示全部第二时序特征对应的向量的和,所述为所述的转置矩阵,所述V为所述PE文件中时序特征种类的总数;所述和所述矩阵S为待求解值,所述为目标维度U×1的向量,所述矩阵S为V×U的矩阵。
8.根据权利要求1至3中任一项所述的可移植可执行文件的时序特征处理方法,其特征在于,所述在所述第一时序特征前面和/或后面分别获取与所述第一时序特征相邻的预设数量的第二时序特征,包括:
如果所述第一时序特征前面存在的时序特征的数量小于所述预设数量,则获取所述第一时序特征前面与所述第一时序特征相邻的全部时序特征作为所述第二时序特征;
如果所述第一时序特征后面存在的时序特征的数量小于所述预设数量,则获取所述第一时序特征后面与所述第一时序特征相邻的全部时序特征作为所述第二时序特征。
9.根据权利要求5或7所述的可移植可执行文件的时序特征处理方法,其特征在于,所述从可移植可执行PE文件中提取第一数量的第一特征单元作为第一时序特征,包括:
读取多个可移植可执行文件;
从所述多个可移植可执行PE文件中提取第一数量的第一特征单元作为第一时序特征。
10.一种可移植可执行文件的时序特征处理装置,其特征在于,包括:
第一时序特征提取单元,用于从可移植可执行PE文件中提取第一数量的第一特征单元作为第一时序特征,所述第一时序特征的向量表示的维度为所述第一数量的任意特征单元所能表示的最大值;
第二时序特征获取单元,在所述第一时序特征提取单元提取的所述第一时序特征前面和/或后面分别获取与所述第一时序特征相关的预设数量的第二时序特征,所述第二时序特征由所述第一数量的第二特征单元组成;
估算单元,用于分别根据所述第一时序特征提取单元提取的每个第一时序特征的向量表示估算在每个所述第二时序特征的位置出现所述第二时序特征的第一概率,并计算各个根据所述第一时序特征确定的第一概率的对数的和的最大值;
或者,分别根据所述第二时序特征获取单元获取的所述预设数量的第二时序特征的向量表示估算在所述第一时序特征的位置出现所述第一时序特征的第二概率,并计算各个根据所述预设数量的第二时序特征确定的第二概率的对数的和的最大值;
目标向量获取单元,用于分别获取所述第一时序特征对应的目标向量。
11.根据权利要求10所述的可移植可执行文件的时序特征处理方法,其特征在于,所述第二时序特征获取单元还用于:
在所述第一时序特征提取单元提取的第一时序特征前面和/或后面分别获取与所述第一时序特征相邻的预设数量的第二时序特征;
或者,
在所述第一时序特征提取单元提取的第一时序特征前面和/或后面分别获取与所述第一时序特征具有部分重叠且相互之间具有部分重叠的预设数量的第二时序特征;
或者,
在所述第一时序特征提取单元提取的第一时序特征前面和/或后面分别获取与所述第一时序特征不相邻且不重叠的预设数量的第二时序特征;
或者,
在所述第一时序特征提取单元提取的所述第一时序特征前面和/或后面分别获取与所述第一时序特征相邻且相互之间不重叠的预设数量的第二时序特征。
12.根据权利要求11所述的可移植可执行文件的时序特征处理方法,其特征在于,所述第二时序特征获取单元还用于:
在所述第一数量的第一特征单元作中选择目标特征单元;
在所述目标特征单元的前面和/或后面,分别获取与所述目标特征单元相邻或不相邻的所述第一数量的第二特征单元作为所述第二时序特征。
13.根据权利要求10至12中任一项所述的可移植可执行文件的时序特征处理装置,其特征在于,所述估算单元还用于:
依次将所述第一时序特征wi+k的向量表示代入第一预设数学模型,通过分别估算在每个所述第二时序特征的位置i+k出现所述第二时序特征wi+k的第一概率p(wiik|wi);
所述第一预设数学模型为:
其中,M为可移植可执行文件中时序特征的总数,C为所述预设数量,所述wi为所述第一时序特征,所述wi+k为所述第二时序特征;所述p(wi+k|wi)用于表示已存在所述第一时序特征wi时,在位置i+k出现所述第二时序特征wi+k的概率。
14.根据权利要求13所述的可移植可执行文件的时序特征处理装置,其特征在于,所述估算单元使用的所述p(wi+k|wi)为:
所述为所述第一时序特征wi的向量表示,所述为所述的转置矩阵,所述V为所述PE文件中时序特征种类的总数;所述和所述矩阵S为待求解值,所述为目标维度U×1的向量,所述矩阵S为V×U的矩阵;
相应的,所述第一时序特征wi对应的目标向量为所述矩阵S左乘所述第一时序特征wi的向量表示的转置矩阵后,得到的1×U的向量。
15.根据权利要求10至12中任一项所述的可移植可执行文件的时序特征处理装置,其特征在于,依次将所述预设数量的第二时序特征wi-c,...,wi-1,wi+1,...,wi+c的向量表示代入第二预设数学模型,估算在所述第一时序特征的位置i出现所述第一时序特征wi的最大概率;
所述第二数学模型为:
其中,所述M为可移植可执行文件中时序特征的总数,所述C为所述预设数量,所述wi为所述第一时序特征,所述p(wi|wi-c,...,wi-1,wi+1,...,wi+c)用于表示已存在所述第二时序特征(wi-c,...,wi-1,wi+1,...,wi+c)时,在位置i出现所述第一时序特征wi的概率。
16.根据权利要求15所述的可移植可执行文件的时序特征处理装置,其特征在于,所述估算单元使用的所述p(wi|wi-c,...,wi-1,wi+1,...,wi+c)为:
所述用于表示全部第二时序特征对应的向量的和,所述为所述的转置矩阵,所述V为所述PE文件中时序特征种类的总数;所述和所述矩阵S为待求解值,所述为目标维度U×1的向量,所述矩阵S为V×U的矩阵。
17.根据权利要求10至12中任一项所述的可移植可执行文件的时序特征处理装置,其特征在于,所述第二时序特征获取单元还用于:
当所述第一时序特征提取单元提取的所述第一时序特征前面与所述第一时序特征相邻的全部时序特征的数量小于所述预设数量时,获取所述第一时序特征前面存在的特征作为所述第二时序特征;
或者,
当所述第一时序特征提取单元提取的所述第一时序特征后面存在的时序特征的数量小于所述预设数量时,获取所述第一时序特征后面与所述第一时序特征相邻的全部时序特征作为所述第二时序特征。
18.根据权利要求14或16所述的可移植可执行文件的时序特征处理装置,其特征在于,所述装置还包括读取单元,
所述读取单元用于读取多个可移植可执行文件;
所述第一时序特征提取单元还用于,从所述读取单元读取的所述多个可移植可执行PE文件中提取第一数量的第一特征单元作为第一时序特征。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410572813.8A CN104317892B (zh) | 2014-10-23 | 2014-10-23 | 可移植可执行文件的时序特征处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410572813.8A CN104317892B (zh) | 2014-10-23 | 2014-10-23 | 可移植可执行文件的时序特征处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104317892A true CN104317892A (zh) | 2015-01-28 |
CN104317892B CN104317892B (zh) | 2018-06-19 |
Family
ID=52373124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410572813.8A Active CN104317892B (zh) | 2014-10-23 | 2014-10-23 | 可移植可执行文件的时序特征处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104317892B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845224A (zh) * | 2016-12-16 | 2017-06-13 | 华东师范大学 | 一种恶意程序识别系统 |
CN109993189A (zh) * | 2018-01-02 | 2019-07-09 | 中国移动通信有限公司研究院 | 一种网络故障预警方法、装置和介质 |
CN111490992A (zh) * | 2020-04-11 | 2020-08-04 | 吴媛媛 | 基于数据流量检测及时序特征提取的入侵检测方法及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012071989A1 (zh) * | 2010-11-29 | 2012-06-07 | 北京奇虎科技有限公司 | 基于机器学习的程序识别方法及装置 |
CN104008334A (zh) * | 2013-02-21 | 2014-08-27 | 腾讯科技(深圳)有限公司 | 一种文件的聚类方法和设备 |
-
2014
- 2014-10-23 CN CN201410572813.8A patent/CN104317892B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012071989A1 (zh) * | 2010-11-29 | 2012-06-07 | 北京奇虎科技有限公司 | 基于机器学习的程序识别方法及装置 |
CN104008334A (zh) * | 2013-02-21 | 2014-08-27 | 腾讯科技(深圳)有限公司 | 一种文件的聚类方法和设备 |
Non-Patent Citations (1)
Title |
---|
王忠珂等: "一种PE文件特征提取方法研究与实现", 《 第十届中国通信学会学术年会论文集 》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106845224A (zh) * | 2016-12-16 | 2017-06-13 | 华东师范大学 | 一种恶意程序识别系统 |
CN109993189A (zh) * | 2018-01-02 | 2019-07-09 | 中国移动通信有限公司研究院 | 一种网络故障预警方法、装置和介质 |
CN111490992A (zh) * | 2020-04-11 | 2020-08-04 | 吴媛媛 | 基于数据流量检测及时序特征提取的入侵检测方法及设备 |
CN111490992B (zh) * | 2020-04-11 | 2021-01-22 | 江苏政采数据科技有限公司 | 基于数据流量检测及时序特征提取的入侵检测方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104317892B (zh) | 2018-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mansour | Randomized interpolation and approximation of sparse polynomials | |
Moskowitz et al. | The channel capacity of a certain noisy timing channel | |
CN104915322A (zh) | 一种卷积神经网络硬件加速方法及其axi总线ip核 | |
CN101763338B (zh) | 一种点数可变的混合基fft/ifft实现装置及其方法 | |
CN103677737B (zh) | 基于进位节省加法器的低延时cordic三角函数实现的方法及装置 | |
CN104317892A (zh) | 可移植可执行文件的时序特征处理方法及装置 | |
CN105095414A (zh) | 用于预测网络搜索量的方法和装置 | |
CN106951248A (zh) | 添加代码的方法、装置和可读存储介质 | |
US7051060B2 (en) | Operand conversion optimization | |
CN114443559A (zh) | 可重构算子单元、处理器、计算方法、装置、设备及介质 | |
CN104679722A (zh) | 用于数据表格多维化的方法和系统 | |
US9250890B2 (en) | Optimizing performance of a computer system in response to a software change | |
CN105814833A (zh) | 安全的数据变换 | |
US10268798B2 (en) | Condition analysis | |
Li et al. | Performance of the multiscale sparse fast Fourier transform algorithm | |
CN110515758A (zh) | 一种故障定位方法、装置、计算机设备及存储介质 | |
CN106658034A (zh) | 文件存储和读取的方法及装置 | |
CN109063665A (zh) | 一种遥感图像的解混方法、系统及相关组件 | |
CN102495944B (zh) | 一种时间序列预测方法、设备和系统 | |
KR101418686B1 (ko) | 유한체에서 타입 4 가우시안 정규기저를 이용한 이차 미만의 공간 복잡도를 갖는 병렬 곱셈 연산방법 및 그 연산장치 | |
US20170308357A1 (en) | Logarithm and power (exponentiation) computations using modern computer architectures | |
CN105846826A (zh) | 基于近似平滑l0范数的压缩感知信号重构方法 | |
CN114185014B (zh) | 一种应用于雷达信号处理的并行卷积方法及装置 | |
RU2652523C1 (ru) | Вероятностное устройство вычисления спектральной плотности сигнала | |
CN113011707B (zh) | 一种面向流程阶段的指标异常的根因定位方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |