CN109753987B - 文件识别方法和特征提取方法 - Google Patents

文件识别方法和特征提取方法 Download PDF

Info

Publication number
CN109753987B
CN109753987B CN201810349458.6A CN201810349458A CN109753987B CN 109753987 B CN109753987 B CN 109753987B CN 201810349458 A CN201810349458 A CN 201810349458A CN 109753987 B CN109753987 B CN 109753987B
Authority
CN
China
Prior art keywords
file
determining
image data
character string
transfer matrix
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
Application number
CN201810349458.6A
Other languages
English (en)
Other versions
CN109753987A (zh
Inventor
顾成杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Security Technologies Co Ltd
Original Assignee
New H3C Security Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by New H3C Security Technologies Co Ltd filed Critical New H3C Security Technologies Co Ltd
Priority to CN201810349458.6A priority Critical patent/CN109753987B/zh
Priority to PCT/CN2019/083200 priority patent/WO2019201295A1/zh
Publication of CN109753987A publication Critical patent/CN109753987A/zh
Application granted granted Critical
Publication of CN109753987B publication Critical patent/CN109753987B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements

Abstract

本申请实施例提供了一种文件识别方法和特征提取方法,文件识别方法包括:获取待识别文件;根据预设读取规则和预设词组模型,确定待识别文件对应的多个字符串;根据多个字符串构建转移矩阵,其中,所述转移矩阵中的元素与字符串种类一一对应;根据转移矩阵中的元素,确定待识别文件对应的目标图像数据;提取目标图像数据的特征,并根据目标图像数据的特征,确定待识别文件是否为恶意文件。应用本申请实施例,提高了文件识别的准确性。

Description

文件识别方法和特征提取方法
技术领域
本申请涉及通信技术领域,特别是涉及一种文件识别方法和特征提取方法。
背景技术
恶意代码为攻击者进行攻击的一种形式。携带恶意代码的文件为恶意文件,也就是,恶意文件为攻击者进行攻击的一种形式。恶意文件利用网络服务的漏洞攻击网络服务器,达到窃取信息、瘫痪服务等目的。
为了提高网络安全,保证服务质量,对准确的识别出恶意文件提出了要求。目前,文件识别的过程包括:获取待识别文件,将待识别文件在沙箱中运行,提取待识别文件的运行特征,对提取的运行特征进行归一化处理,将归一化处理后的运行特征输入DNN(DeepNeutral Network,深度神经网络)模型,得到待识别文件为非恶意文件的概率和恶意文件的概率,进而确定待识别文件是否为恶意文件。例如,若非恶意文件的概率大于恶意文件的概率,则确定待识别文件为非恶意文件;否则,确定待识别文件为恶意文件。其中,DNN模型为利用文件的运行特征训练得到的。
上述在文件识别过程中,待识别文件在沙箱中运行提取的运行特征是用户根据经验设定的,也就是,文件识别依赖于人的主观因素,这使得文件识别的准确性较低。
发明内容
本申请实施例的目的在于提供一种文件识别方法和特征提取方法,以提高文件识别的准确性。
在第一方面,本申请实施例提供了一种文件识别方法,所述方法包括:
获取待识别文件;
根据预设读取规则和预设词组模型,确定所述待识别文件对应的多个字符串;
根据所述多个字符串,构建转移矩阵;其中,所述转移矩阵中的元素与字符串种类一一对应;
根据所述转移矩阵中的元素,确定所述待识别文件对应的目标图像数据;
提取所述目标图像数据的特征,并根据所述目标图像数据的特征,确定所述待识别文件是否为恶意文件。
可选的,所述根据预设读取规则和预设词组模型,确定所述待识别文件对应的多个字符串,包括:
按照预设读取规则读取所述待识别文件,得到多个字符;
按照预设词组模型,组合所述多个字符中相邻的字符,得到多个字符串。
可选的,所述根据所述多个字符串,构建转移矩阵,包括:
确定每一字符串在所述多个字符串中的出现次数;
根据每一字符串的出现次数,构建转移矩阵。
可选的,所述根据每一字符串的出现次数,构建转移矩阵,包括:
针对每一字符串,将该字符串的出现次数作为转移矩阵中该字符串对应的元素的值,得到所述转移矩阵;或者,
针对每一字符串,计算该字符串的出现次数与预设初始值的和值,将计算得到的和值作为转移矩阵中该字符串对应的元素的值,得到所述转移矩阵。
可选的,所述根据所述转移矩阵中的元素,确定所述待识别文件对应的目标图像数据,包括:
根据所述转移矩阵中各元素的值,计算所述转移矩阵中各元素对应的图像单元格的颜色深度,得到所述待识别文件对应的目标图像数据。
可选的,所述根据所述转移矩阵中各元素的值,计算所述转移矩阵中各元素对应的图像单元格的颜色深度,包括:
针对所述转移矩阵中的第一元素,确定所述第一元素的值为第一数值;其中,所述第一元素为所述转移矩阵中的任一元素,所述第一元素的值根据第一字符串的出现次数确定;
确定所有第二元素的值之和为第二数值;其中,所述第二元素的值根据第二字符串的出现次数确定,所述第二字符串的头部词与所述第一字符串的头部词相同;
计算所述第一数值与第二数值的比值;
根据计算得到的比值,确定所述第一元素对应的图像单元格的颜色深度。
可选的,所述根据计算得到的比值,确定所述第一元素对应的图像单元格的颜色深度,包括:
针对所述第一元素,根据以下公式确定所述第一元素的转移概率:
h=Log T;
其中,h为所述第一元素的转移概率,T为计算得到的比值;
将计算得到的所述第一元素的转移概率,确定为所述第一元素对应的图像单元格的颜色深度。
可选的,所述提取所述目标图像数据的特征,包括:
将所述目标图像数据输入预先训练的CNN(Constitutional Neural Networks,卷积神经网络)模型,得到所述目标图像数据的特征;
其中,所述CNN模型以经典CNN Lenet-5模型为基础,第一个卷积层为32个卷积核,第二个卷积层为64个卷积核,第二个池化层后面增加0.25的DropOut层,第一个全连接层后面增加0.5的DropOut层。
可选的,所述根据所述目标图像数据的特征,确定所述待识别文件是否为恶意文件,包括:
将所述目标图像数据的特征输入预先训练的DNN模型,得到输出结果;其中,所述DNN模型用于对图像数据的特征进行识别,确定图像数据对应的文件是否为恶意文件,所述输出结果包括指示所述待识别文件是否为恶意文件的信息。
可选的,所述目标图像数据的特征为所述CNN模型的预设层的输出结果;
所述根据所述目标图像数据的特征,确定所述待识别文件是否为恶意文件,包括:
从预设恶意文件特征库中查找所述目标图像数据的特征;所述预设恶意文件特征库包括:多个样本恶意文件对应的图像数据的特征;
若查找到,则确定所述待识别文件为恶意文件;
若未查找到,则确定所述待识别文件为安全文件。
在第二方面,本申请实施例提供了一种文件识别方法,所述方法包括:
获取待识别文件;
将所述待识别文件输入预先训练的文件识别模型,确定所述待识别文件是否为恶意文件;
其中,所述文件识别模型用于:根据预设读取规则和预设词组模型,确定输入文件对应的多个字符串;根据所述多个字符串,构建转移矩阵,所述转移矩阵中的元素与字符串种类一一对应;根据所述转移矩阵中的元素,确定所述输入文件对应的目标图像数据;提取所述目标图像数据的特征,根据所述目标图像数据的特征,确定所述输入文件是否为恶意文件。
可选的,所述根据预设读取规则和预设词组模型,确定输入文件对应的多个字符串,包括:
按照预设读取规则读取输入文件,得到多个字符;
按照预设词组模型,组合所述多个字符中相邻的字符,得到多个字符串。
可选的,所述根据所述多个字符串,构建转移矩阵,包括:
确定每一字符串在所述多个字符串中的出现次数;
根据每一字符串的出现次数,构建转移矩阵。
可选的,所述根据每一字符串的出现次数,构建转移矩阵,包括:
针对每一字符串,将该字符串的出现次数作为转移矩阵中该字符串对应的元素的值,得到所述转移矩阵;或者,
针对每一字符串,计算该字符串的出现次数与预设初始值的和值,将计算得到的和值作为转移矩阵中该字符串对应的元素的值,得到所述转移矩阵。
可选的,所述根据所述转移矩阵中的元素,确定所述输入文件对应的目标图像数据,包括:
根据所述转移矩阵中各元素的值,计算所述转移矩阵中各元素对应的图像单元格的颜色深度,得到所述输入文件对应的目标图像数据。
可选的,所述根据所述转移矩阵中各元素的值,计算所述转移矩阵中各元素对应的图像单元格的颜色深度,包括:
针对所述转移矩阵中的第一元素,确定所述第一元素的值为第一数值;其中,所述第一元素为所述转移矩阵中的任一元素,所述第一元素的值根据第一字符串的出现次数确定;
确定所有第二元素的值之和为第二数值;其中,所述第二元素的值根据第二字符串的出现次数确定,所述第二字符串的头部词与所述第一字符串的头部词相同;
计算所述第一数值与第二数值的比值;
根据计算得到的比值,确定所述第一元素对应的图像单元格的颜色深度。
可选的,所述根据计算得到的比值,确定所述第一元素对应的图像单元格的颜色深度,包括:
针对所述第一元素,根据以下公式确定所述第一元素的转移概率:
h=Log T;
其中,h为所述第一元素的转移概率,T为计算得到的比值;
将计算得到的所述第一元素的转移概率,确定为所述第一元素对应的图像单元格的颜色深度。
可选的,所述提取所述目标图像数据的特征,包括:
将所述目标图像数据输入预先训练的CNN模型,得到所述目标图像数据的特征;
其中,所述CNN模型以经典CNN Lenet-5模型为基础,第一个卷积层为32个卷积核,第二个卷积层为64个卷积核,第二个池化层后面增加0.25的DropOut层,第一个全连接层后面增加0.5的DropOut层。
可选的,所述根据所述目标图像数据的特征,确定所述输出文件是否为恶意文件,包括:
将所述目标图像数据的特征输入预先训练的DNN模型,得到输出结果;其中,所述DNN模型用于对图像数据的特征进行识别,确定图像数据对应的文件是否为恶意文件,所述输出结果包括指示所述输出文件是否为恶意文件的信息。
可选的,所述目标图像数据的特征为所述CNN模型的预设层的输出结果;
所述根据所述目标图像数据的特征,确定所述输出文件是否为恶意文件,包括:
从预设恶意文件特征库中查找所述目标图像数据的特征;所述预设恶意文件特征库包括:多个样本恶意文件对应的图像数据的特征;
若查找到,则确定所述输出为恶意文件;
若未查找到,则确定所述输出文件为安全文件。
在第三方面,本申请实施例提供了一种特征提取方法,所述方法包括:
将多个样本文件分别输入文件识别模型;其中,所述文件识别模型用于:根据预设读取规则和预设词组模型,确定输入文件对应的多个字符串;根据所述多个字符串,构建转移矩阵,所述转移矩阵中的元素与字符串种类一一对应;根据所述转移矩阵中的元素,确定所述输入文件对应的目标图像数据;利用所述CNN提取所述目标图像数据的特征;利用所述DNN模型对所述目标图像数据的特征进行识别,确定所述输入文件是否为恶意文件;
针对每一样本文件,提取所述CNN模型的预设层的输出结果,作为该样本文件的特征。
可选的,所述根据预设读取规则和预设词组模型,确定输入文件对应的多个字符串,包括:
按照预设读取规则读取输入文件,得到多个字符;
按照预设词组模型,组合所述多个字符中相邻的字符,得到多个字符串。
可选的,所述根据所述多个字符串,构建转移矩阵,包括:
确定每一字符串在所述多个字符串中的出现次数;
根据每一字符串的出现次数,构建转移矩阵。
可选的,所述根据每一字符串的出现次数,构建转移矩阵,包括:
针对每一字符串,将该字符串的出现次数作为转移矩阵中该字符串对应的元素的值,得到所述转移矩阵;或者,
针对每一字符串,计算该字符串的出现次数与预设初始值的和值,将计算得到的和值作为转移矩阵中该字符串对应的元素的值,得到所述转移矩阵。
可选的,所述根据所述转移矩阵中的元素,确定所述输入文件对应的目标图像数据,包括:
根据所述转移矩阵中各元素的值,计算所述转移矩阵中各元素对应的图像单元格的颜色深度,得到所述输入文件对应的目标图像数据。
可选的,所述根据所述转移矩阵中各元素的值,计算所述转移矩阵中各元素对应的图像单元格的颜色深度,包括:
针对所述转移矩阵中的第一元素,确定所述第一元素的值为第一数值;其中,所述第一元素为所述转移矩阵中的任一元素,所述第一元素的值根据第一字符串的出现次数确定;
确定所有第二元素的值之和为第二数值;其中,所述第二元素的值根据第二字符串的出现次数确定,所述第二字符串的头部词与所述第一字符串的头部词相同;
计算所述第一数值与第二数值的比值;
根据计算得到的比值,确定所述第一元素对应的图像单元格的颜色深度。
可选的,所述根据计算得到的比值,确定所述第一元素对应的图像单元格的颜色深度,包括:
针对所述第一元素,根据以下公式确定所述第一元素的转移概率:
h=Log T;
其中,h为所述第一元素的转移概率,T为计算得到的比值;
将计算得到的所述第一元素的转移概率确定为所述第一元素对应的图像单元格的颜色深度。
可选的,所述CNN模型以经典CNN Lenet-5模型为基础,第一个卷积层为32个卷积核,第二个卷积层为64个卷积核,第二个池化层后面增加0.25的DropOut层,第一个全连接层后面增加0.5的DropOut层。
可选的,所述样本文件为样本恶意文件;
在针对每一样本文件,提取所述CNN模型的预设层的输出结果,作为该样本文件的特征之后,还包括:
根据提取的多个特征,构建恶意文件特征库。
可选的,还包括:
将待识别文件输入所述文件识别模型;
获取所述CNN模型的预设层的输出结果,作为目标特征;
从所述恶意文件特征库中查找所述目标特征;
若查找到,则确定所述待识别文件为恶意文件;
若未查找到,则确定所述待识别文件为安全文件。
在第四方面,本申请实施例提供了一种文件识别装置,所述装置包括:
获取模块,用于获取待识别文件;
第一确定模块,用于根据预设读取规则和预设词组模型,确定所述待识别文件对应的多个字符串;
构建模块,用于根据所述多个字符串,构建转移矩阵;其中,所述转移矩阵中的元素与字符串种类一一对应;
第二确定模块,用于根据所述转移矩阵中的元素,确定所述待识别文件对应的目标图像数据;
识别模块,用于提取所述目标图像数据的特征,并根据所述目标图像数据的特征,确定所述待识别文件是否为恶意文件。
可选的,所述第一确定模块,具体用于:
按照预设读取规则读取所述待识别文件,得到多个字符;
按照预设词组模型,组合所述多个字符中相邻的字符,得到多个字符串。
可选的,所述构建模块,具体用于:
确定每一字符串在所述多个字符串中的出现次数;
根据每一字符串的出现次数,构建转移矩阵。
可选的,所述构建模块,具体用于:
针对每一字符串,将该字符串的出现次数作为转移矩阵中该字符串对应的元素的值,得到所述转移矩阵;或者,
针对每一字符串,计算该字符串的出现次数与预设初始值的和值,将计算得到的和值作为转移矩阵中该字符串对应的元素的值,得到所述转移矩阵。
可选的,所述第二确定模块,具体用于:
根据所述转移矩阵中各元素的值,计算所述转移矩阵中各元素对应的图像单元格的颜色深度,得到所述待识别文件对应的目标图像数据。
可选的,所述第二确定模块,具体用于:
针对所述转移矩阵中的第一元素,确定所述第一元素的值为第一数值;其中,所述第一元素为所述转移矩阵中的任一元素,所述第一元素的值根据第一字符串的出现次数确定;
确定所有第二元素的值之和为第二数值;其中,所述第二元素的值根据第二字符串的出现次数确定,所述第二字符串的头部词与所述第一字符串的头部词相同;
计算所述第一数值与第二数值的比值;
根据计算得到的比值,确定所述第一元素对应的图像单元格的颜色深度。
可选的,所述第二确定模块,具体用于:
针对所述第一元素,根据以下公式确定所述第一元素的转移概率:
h=Log T;
其中,h为所述第一元素的转移概率,T为计算得到的比值;
将计算得到的所述第一元素的转移概率,确定为所述第一元素对应的图像单元格的颜色深度。
可选的,所述识别模块,具体用于:
将所述目标图像数据输入预先训练的CNN模型,得到所述目标图像数据的特征;
其中,所述CNN模型以经典CNN Lenet-5模型为基础,第一个卷积层为32个卷积核,第二个卷积层为64个卷积核,第二个池化层后面增加0.25的DropOut层,第一个全连接层后面增加0.5的DropOut层。
可选的,所述识别模块,具体用于:
将所述目标图像数据的特征输入预先训练的DNN模型,得到输出结果;其中,所述DNN模型用于对图像数据的特征进行识别,确定图像数据对应的文件是否为恶意文件,所述输出结果包括指示所述待识别文件是否为恶意文件的信息。
可选的,所述目标图像数据的特征为所述CNN模型的预设层的输出结果;
所述识别模块,具体用于:
从预设恶意文件特征库中查找所述目标图像数据的特征;所述预设恶意文件特征库包括:多个样本恶意文件对应的图像数据的特征;
若查找到,则确定所述待识别文件为恶意文件;
若未查找到,则确定所述待识别文件为安全文件。
在第五方面,本申请实施例提供了一种文件识别装置,所述装置包括:获取模块、输入模块和文件识别模型,所述文件识别模型包括:第一确定模块、构建模块、第二确定模块和识别模块;
所述获取模块,用于获取待识别文件;
所述输入模块,用于将所述待识别文件输入预先训练的所述文件识别模型;
所述第一确定模块,用于根据预设读取规则和预设词组模型,确定输入文件对应的多个字符串;
所述构建模块,用于根据所述多个字符串,构建转移矩阵;所述转移矩阵中的元素与字符串种类一一对应;
所述第二确定模块,用于根据所述转移矩阵中的元素,确定所述输入文件对应的目标图像数据;
所述识别模块,用于提取所述目标图像数据的特征,并根据所述目标图像数据的特征,确定所述输入文件是否为恶意文件。
可选的,所述第一确定模块,具体用于:
按照预设读取规则读取输入文件,得到多个字符;
按照预设词组模型,组合所述多个字符中相邻的字符,得到多个字符串。
可选的,所述构建模块,具体用于:
确定每一字符串在所述多个字符串中的出现次数;
根据每一字符串的出现次数,构建转移矩阵。
可选的,所述构建模块,具体用于:
针对每一字符串,将该字符串的出现次数作为转移矩阵中该字符串对应的元素的值,得到所述转移矩阵;或者,
针对每一字符串,计算该字符串的出现次数与预设初始值的和值,将计算得到的和值作为转移矩阵中该字符串对应的元素的值,得到所述转移矩阵。
可选的,所述第二确定模块,具体用于:
根据所述转移矩阵中各元素的值,计算所述转移矩阵中各元素对应的图像单元格的颜色深度,得到所述输入文件对应的目标图像数据。
可选的,所述第二确定模块,具体用于:
针对所述转移矩阵中的第一元素,确定所述第一元素的值为第一数值;其中,所述第一元素为所述转移矩阵中的任一元素,所述第一元素的值根据第一字符串的出现次数确定;
确定所有第二元素的值之和为第二数值;其中,所述第二元素的值根据第二字符串的出现次数确定,所述第二字符串的头部词与所述第一字符串的头部词相同;
计算所述第一数值与第二数值的比值;
根据计算得到的比值,确定所述第一元素对应的图像单元格的颜色深度。
可选的,所述第二确定模块,具体用于:
针对所述第一元素,根据以下公式确定所述第一元素的转移概率:
h=Log T;
其中,h为所述第一元素的转移概率,T为计算得到的比值;
将计算得到的所述第一元素的转移概率,确定为所述第一元素对应的图像单元格的颜色深度。
可选的,所述识别模块,具体用于:
将所述目标图像数据输入预先训练的CNN模型,得到所述目标图像数据的特征;
其中,所述CNN模型以经典CNN Lenet-5模型为基础,第一个卷积层为32个卷积核,第二个卷积层为64个卷积核,第二个池化层后面增加0.25的DropOut层,第一个全连接层后面增加0.5的DropOut层。
可选的,所述识别模块,具体用于:
将所述目标图像数据的特征输入预先训练的DNN模型,得到输出结果;其中,所述DNN模型用于对图像数据的特征进行识别,确定图像数据对应的文件是否为恶意文件,所述输出结果包括指示所述输出文件是否为恶意文件的信息。
可选的,所述目标图像数据的特征为所述CNN模型的预设层的输出结果;
所述识别模块,具体用于:
从预设恶意文件特征库中查找所述目标图像数据的特征;所述预设恶意文件特征库包括:多个样本恶意文件对应的图像数据的特征;
若查找到,则确定所述输出为恶意文件;
若未查找到,则确定所述输出文件为安全文件。
在第六方面,本申请实施例提供了一种特征提取装置,所述装置包括:输入模块、提取模块和文件识别模型;所述文件识别模型包括第一确定模块、构建模块、第二确定模块和第一识别模块;
所述输入模块,用于将多个样本文件分别输入文件识别模型;
所述第一确定模块,用于根据预设读取规则和预设词组模型,确定输入文件对应的多个字符串;
所述第一构建模块,用于根据所述多个字符串,构建转移矩阵;所述转移矩阵中的元素与字符串种类一一对应;
所述第二确定模块,用于根据所述转移矩阵中的元素,确定所述输入文件对应的目标图像数据;
所述第一识别模块,用于利用CNN模型提取所述目标图像数据的特征,并利用DNN模型对图像数据的特征进行识别,确定所述输入文件是否为恶意文件;
所述提取模块,用于针对每一样本文件,提取所述CNN模型的预设层的输出结果,作为该样本文件的特征。
可选的,所述第一确定模块,具体用于:
按照预设读取规则读取输入文件,得到多个字符;
按照预设词组模型,组合所述多个字符中相邻的字符,得到多个字符串。
可选的,所述第一构建模块,具体用于:
确定每一字符串在所述多个字符串中的出现次数;
根据每一字符串的出现次数,构建转移矩阵。
可选的,所述第一构建模块,具体用于:
针对每一字符串,将该字符串的出现次数作为转移矩阵中该字符串对应的元素的值,得到所述转移矩阵;或者,
针对每一字符串,计算该字符串的出现次数与预设初始值的和值,将计算得到的和值作为转移矩阵中该字符串对应的元素的值,得到所述转移矩阵。
可选的,所述第二确定模块,具体用于:
根据所述转移矩阵中各元素的值,计算所述转移矩阵中各元素对应的图像单元格的颜色深度,得到所述输入文件对应的目标图像数据。
可选的,所述第二确定模块,具体用于:
针对所述转移矩阵中的第一元素,确定所述第一元素的值为第一数值;其中,所述第一元素为所述转移矩阵中的任一元素,所述第一元素的值根据第一字符串的出现次数确定;
确定所有第二元素的值之和为第二数值;其中,所述第二元素的值根据第二字符串的出现次数确定,所述第二字符串的头部词与所述第一字符串的头部词相同;
计算所述第一数值与第二数值的比值;
根据计算得到的比值,确定所述第一元素对应的图像单元格的颜色深度。
可选的,所述第二确定模块,具体用于:
针对所述第一元素,根据以下公式确定所述第一元素的转移概率:
h=Log T;
其中,h为所述第一元素的转移概率,T为计算得到的比值;
将计算得到的所述第一元素的转移概率确定为所述第一元素对应的图像单元格的颜色深度。
可选的,所述CNN模型以经典CNN Lenet-5模型为基础,第一个卷积层为32个卷积核,第二个卷积层为64个卷积核,第二个池化层后面增加0.25的DropOut层,第一个全连接层后面增加0.5的DropOut层。
可选的,所述样本文件为样本恶意文件;
上述特征提取装置还可以包括:
第二构建模块,用于在针对每一样本文件,提取所述CNN模型的预设层的输出结果,作为该样本文件的特征之后,根据提取的多个特征,构建恶意文件特征库。
可选的,上述特征提取装置还可以包括:第二识别模块,用于:
将待识别文件输入所述文件识别模型;获取所述CNN模型的预设层的输出结果,作为目标特征;从所述恶意文件特征库中查找所述目标特征;若查找到,则确定所述待识别文件为恶意文件;若未查找到,则确定所述待识别文件为安全文件。
在第七方面,本申请实施例提供了一种网络设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使实现上述在第一方面提供的文件识别方法。
在第八方面,本申请实施例提供了一种网络设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使实现上述在第二方面提供的文件识别方法。
在第九方面,本申请实施例提供了一种网络设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使实现上述在第三方面提供的特征提取方法。
在第十方面,本申请实施例还提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现上述在第一方面提供的上述文件识别方法。
在第十一方面,本申请实施例还提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现上述在第二方面提供的上述文件识别方法。
在第十二方面,本申请实施例还提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现上述在第三方面提供的上述特征提取方法。
本申请实施例中,进行文件识别时,将待识别文件转换为图像数据,提取图像数据的特征,根据提取的特征,确定待识别文件是否为恶意文件。其中,图像数据的特征是待识别文件客观存在的特征,而不是根据经验设定的,依据此客观存在的特征的识别结果,降低了文件识别对人的主观因素的依赖,提高了文件识别的准确性。当然,实施本申请的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
图1为本申请实施例提供的文件识别方法的第一种流程示意图;
图2为本申请实施例提供的转移矩阵的第一种示意图;
图3为本申请实施例提供的转移矩阵的第二种示意图;
图4为基于图3所示转移矩阵的图像数据的一种示意图;
图5为本申请实施例提供的CNN模型的一种结构示意图;
图6为本申请实施例提供的模型训练方法的一种流程示意图;
图7为本申请实施例提供的文件识别方法的第二种流程示意图;
图8为本申请实施例提供的特征提取方法的一种流程示意图;
图9为本申请实施例提供的文件识别装置的第一种结构示意图;
图10为本申请实施例提供的文件识别装置的第二种结构示意图;
图11为本申请实施例提供的特征提取装置的一种结构示意图;
图12为本申请实施例提供的网络设备的第一种结构示意图;
图13为本申请实施例提供的网络设备的第二种结构示意图;
图14为本申请实施例提供的网络设备的第三种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,在文件识别过程中,待识别文件在沙箱中运行提取的运行特征是用户根据经验设定的,也就是,文件识别依赖于人的主观因素,文件识别的准确性较低。
为了提高文件识别的准确性,本申请实施例提供了一种文件识别方法及装置、特征提取方法及装置、设备及介质。该文件识别方法可以应用于网络设备,如防火墙设备、路由器、交换机等。该方法还可以由文件识别装置来执行,该装置可通过硬件和/或软件的方式实现,并一般可集成于用于文件识别的网络设备中。
本申请实施例提供的文件识别方法,将待识别文件转换为图像数据,提取图像数据的特征,之后,根据提取的特征,确定待识别文件是否为恶意文件。其中,图像数据的特征是待识别文件客观存在的特征,而不是根据经验设定的,依据此客观存在的特征的识别结果,降低了文件识别对人的主观因素的依赖,提高了文件识别的准确性。因此本申请实施例提供的文件识别方法更为准确。
下面通过具体实施例,对本申请进行详细说明。
参考图1,图1为本申请实施例提供的文件识别方法的第一种流程示意图,该方法包括如下过程。
步骤101:获取待识别文件。
以文件识别方法的执行主体为网络设备为例。网络设备获取到的待识别文件可以是:其他网络设备发送给该网络设备的。网络设备获取到的待识别文件也可以是:从本地存储的文件中获取的。
步骤102:根据预设读取规则和预设词组模型,确定待识别文件对应的多个字符串。
本申请的一个实施例中,根据预设读取规则和预设词组模型,确定待识别文件对应的多个字符串,可以包括:按照预设读取规则读取待识别文件,得到多个字符,按照预设词组模型组合多个字符中相邻的字符,得到多个字符串。
其中,读取规则可以包括:2进制、8进制或16进制,但不限于这几种读取规则。预设词组模型可以包括BiGram(二元词组)模型和/或TriGram(三元词语)模型。
步骤103:根据待识别文件对应的多个字符串,构建转移矩阵。其中,转移矩阵中的元素与字符串种类一一对应。
本申请的一个实施例中,根据待识别文件对应的多个字符串,构建转移矩阵,可以包括:确定每一字符串在所述多个字符串中的出现次数,根据每一字符串的出现次数构建转移矩阵。可选的,转移矩阵的行数和列数相同,转移矩阵的行数和列数均为字符串种类数与字符种类数的比值。其中,字符串种类数为:根据预设读取规则和预设词组模型读取文件时,获取到的字符串的种类数;字符种类数为:根据预设读取规则读取文件时,获取到的字符的种类数。
例如,预设读取规则为16进制,预设词组模型可以包括BiGram模型和TriGram模型。
按照16进制读取文件时,可以获取到1-F这16种字符。
按照BiGram模型,组合获取到16种字符中任意两种字符,可以获取到16*16=256种字符串。
按照TriGram模型,组合获取到16种字符中任意三种字符,可以获取到16*16*16=4096种字符串。
按照转移矩阵的行数和列数相同,以及转移矩阵中的元素与字符串种类一一对应的规则,转移矩阵的行数和列数可以为:(256+4096)/16=272。也就是,可以根据待识别文件对应的每一字符串的出现次数,构建272*272的转移矩阵。
在本申请的一个实施例中,根据每一字符串的出现次数,构建转移矩阵,可以包括:针对每一字符串,直接将该字符串的出现次数作为转移矩阵中该字符串对应的元素的值,得到转移矩阵。
以预设词组模型为BiGram模型为例进行说明。例如,网络设备获取到待识别文件f1,按照预设读取规则读取待识别文件f1,得到多个字符:abcbbcdabcd。
根据BiGram模型,组合待识别文件f1对应的多个字符中相邻的字符,得到的多个字符串为:ab,bc,cb,bb,bc,cd,da,ab,bc,cd。各个字符串的出现次数为:
“ab”的出现次数为2。
“bc”的出现次数为3。
“cb”的出现次数为1。
“bb”的出现次数为1。
“cd”的出现次数为2。
“da”的出现次数为1。
其他字符串的出现次数为0。
根据上面确定的出现次数,确定转移矩阵中每一字符串对应的元素的值,得到转移矩阵1,如图2所示,图2中每一方格代表矩阵的一个元素,由方格对应的横向字符与该方格对应的纵向字符组成一个字符串,该字符串为该方格对应的字符串。
在本申请的另一个实施例中,为了提高平滑度和防止过拟合,根据每一字符串的出现次数,构建转移矩阵,可以包括:针对每一字符串,计算该字符串的出现次数与预设初始值的和值,将计算得到的和值作为转移矩阵中该字符串对应的元素的值,得到转移矩阵。
仍以上面的例子进行说明,若预设初始值为10,待识别文件f1对应的各个字符串的出现次数为:
“ab”的出现次数为12。
“bc”的出现次数为13。
“cb”的出现次数为11。
“bb”的出现次数为11。
“cd”的出现次数为12。
“da”的出现次数为11。
其他字符串的出现次数为10。
根据上面确定的出现次数,确定转移矩阵中每一字符串对应的元素的值,得到转移矩阵2,如图3所示,图3中每一方格代表矩阵的一个元素,由方格对应的横向字符与该方格对应的纵向字符组成一个字符串,该字符串为该方格对应的字符串。
步骤104:根据转移矩阵中的元素,确定待识别文件对应的目标图像数据。
在确定转移矩阵后,根据转移矩阵中的元素,确定待识别文件对应的目标图像数据。
在本申请的一个实施例中,转移矩阵中的一个元素对应一个图像单元格,确定待识别文件对应的目标图像数据,即是将转移矩阵中的每个元素的值转换成图像数据。根据转移矩阵中各元素的值,计算转移矩阵中各元素对应的图像单元格的颜色深度,得到待识别文件对应的目标图像数据。至此,完成了“待识别文件→字符/字符串→转移矩阵→图像数据”的转换过程。
可选的,对于转移矩阵中的任一元素,可以采用一下方式确定各元素对应的图像单元格的颜色深度。
具体的,针对转移矩阵中的第一元素,确定第一元素的值为第一数值;其中,第一元素为转移矩阵中的任一元素,第一元素的值根据第一字符串的出现次数确定。
确定所有第二元素的值之和为第二数值;其中,第二元素的值根据第二字符串的出现次数确定,第二字符串的头部词与第一字符串的头部词相同。这里,第二字符串中包括了第一字符串。
计算第一数值与第二数值的比值。
之后,根据计算得到的比值,确定转移矩阵中第一元素对应的图像单元格的颜色深度。
一种实现方式中,针对转移矩阵中的每一元素(例如第一元素),直接将计算得到的比值(即第一数值与第二数值的比值),作为转移矩阵中第一元素对应的图像单元格的颜色深度。
另一种实现方式中,针对转移矩阵中的每一元素(例如第一元素),根据以下公式确定第一元素的转移概率:
h=Log T。 (1)
其中,h为第一元素的转移概率,T为计算得到的比值(即第一数值与第二数值的比值)。例如,字符串“xy”的出现次数为Txy,头部词为x的字符串的出现次数之和Tx,则T=Txy/Tx
将计算得到的第一元素的转移概率,确定为第一元素对应的图像单元格的颜色深度。
以图3所示的转移矩阵为例,根据公式(1),可以确定转移矩阵2中:
“ab”对应的元素的转移概率为:hab=Log[Tab/Ta]=Log[12/(10+12+10+10+10)]=-0.639。
“aa”、“ac”、“ad”和“ae”对应的元素的转移概率为:ha=Log[Tax/Ta]=Log[10/(10+12+10+10+10)]=-0.716。
“bb”对应的元素的转移概率为:hbb=Log[Tbb/Tb]=Log[11/(10+11+13+10+10)]=-0.691。
“bc”对应的元素的转移概率为:hbc=Log[Tbc/Tb]=Log[13/(10+11+13+10+10)]=-0.618。
“ba”、“bd”和“be”对应的元素的转移概率为:hb=Log[Tbx/Tb]=Log[10/(10+11+13+10+10)]=-0.732。
“cb”对应的元素的转移概率为:hcb=Log[Tcb/Tc]=Log[11/(10+11+10+12+10)]=-0.683。
“cd”对应的元素的转移概率为:hcd=Log[Tcd/Tc]=Log[12/(10+11+10+12+10)]=-0.645。
“ca”、“cc”和“ce”对应的元素的转移概率为:hc=Log[Tcx/Tc]=Log[10/(10+11+10+12+10)]=-0.724。
“da”对应的元素的转移概率为:hda=Log[Tda/Td]=Log[11/(11+10+10+10+10)]=-0.666。
“db”、“dc”、“dd”和“de”对应的元素的转移概率为:hd=Log[Tdx/Td]=Log[10/(11+10+10+10+10)]=-0.708。
“ea”“eb”、“ec”、“ed”和“ee”对应的元素的转移概率为:he=Log[Tex/Te]=Log[10/(10+10+10+10+10)]=-0.699。
确定每一元素的转移概率,也就是,确定了每一元素对应的图像单元格的颜色深度。获得了图像单元格的颜色深度,也就确定了图像数据,如图4所示。
步骤105:提取目标图像数据的特征,并根据目标图像数据的特征,确定待识别文件是否为恶意文件。
在本申请的一个实施例中,可以采用CNN模型提取目标图像数据的特征。可选地,为了获得更为适用于文件识别,本申请实施例采用的CNN模型以经典CNN Lenet-5模型为基础,在经典CNN Lenet-5结构的基础上进行改进。其中,Lenet-5为一种经典的CNN网络架构,包括3个卷积层、2个池化层和2个全连接层。一种实现方式中,对Lenet-5结构的改进,如图5所示。
01、第一个卷积层为32个卷积核,第二个卷积层为64个卷积核。
02、第二个池化层后面增加0.25的DropOut层,第一个全连接层后面增加0.5的DropOut层。
在本申请的一个实施例中,可以采用DNN模型对目标图像数据的特征进行识别,确定待识别文件是否为恶意文件。具体的,将目标图像数据的特征输入预先训练的DNN模型,得到输出结果,其中,输出结果包括指示待识别文件是否为恶意文件的信息。
例如,将目标图像数据的特征输入DNN模型,得到待识别文件为安全文件的第一概率,以及待识别文件为恶意文件的第二概率。若第一概率大于第二概率,则DNN模型的输出结果为指示待识别文件为安全文件的信息。否则,DNN模型的输出结果为指示待识别文件为恶意文件的信息。
本申请实施例中,利用图像数据的特征确定待识别文件是否为恶意文件。图像数据的特征是待识别文件客观存在的特征,而不是根据经验设定的,依据此客观存在的特征的识别结果,降低了文件识别对人的主观因素的依赖,提高了文件识别的准确性。
本申请实施例中,为了提高文件识别的准确性,在对待识别文件进行识别前,训练DNN模型和CNN模型。具体的可参考图6所示的模型训练方法的一种流程示意图。该方法包括如下过程。
步骤601:针对预设DNN模型,初始化该DNN模型的参数集中的参数,初始化的参数集可以由θi表示。为了加快DNN模型的训练,初始化的参数可以根据实际需要和经验进行设置。
步骤602:针对预设CNN模型,初始化该CNN模型的参数集中的参数,初始化的参数集可以由
Figure BDA0001632993700000121
表示。为了加快CNN模型的训练,初始化的参数可以根据实际需要和经验进行设置。
步骤601或步骤602中,还可以对训练相关的高层参数如学习率、梯度下降算法、反向传播算法等进行合理的设置,具体可以采用相关技术中的各种方式,在此不再进行详细描述。
步骤603:获取预设训练集。预设训练集包括样本文件、以及样本文件的标签,标签包括:用于指示文件为恶意文件的第一标签和用于指示文件为非恶意文件的第二标签。其中,样本文件为二进制文件。
预设训练集包括的样本文件可以通过网络爬手等从网络中获取到,也可以从预先获取的样本文件库中获取,本申请实施例对此不进行限定。
为了提高训练获得的CNN模型和DNN模型准确可靠,预设训练集中包括的样本文件越多越好。
本申请实施例中不限定步骤601、步骤602和步骤603三者的执行顺序。
步骤604:将预设训练集中每一样本文件转换为图像数据。
将样本文件转换为图像数据的步骤,可以参考上述将待识别文件转换为目标图像数据的过程,此处不再赘述。
步骤605:进行前向计算,具体如下。
将步骤604中获得的每一样本文件的图像数据输入预设CNN模型,得到该样本文件对应的图像数据的特征。将预设CNN模型输出的特征输入预设DNN模型,得到该样本文件对应的输出结果。输出结果为安全文件或恶意文件。
例如,将一样本文件对应的图像数据的特征输入预设DNN进行处理过程中,得到样本文件为安全文件的第三概率,以及样本文件为恶意文件的第四概率。若第三概率大于第四概率,则确定该样本文件对应的输出结果为该样本文件为该安全文件;否则,确定该样本文件对应的输出结果为该样本文件为恶意文件。
第一次进入本步骤605处理时,当前参数集为θ1,后续再次进入本步骤605处理时,当前参数集θi为对上一次使用的参数集θi-1进行调整后得到的,详见后续描述。
步骤606:基于各样本文件的标签和预设DNN模型对应的输出结果,计算损失值。
一个例子中,可以使用MSE(Mean Squared Error,均方误差)公式作为损失函数,得到损失值L(θi),详见如下公式:
Figure BDA0001632993700000122
其中,H表示单次训练中从预设训练集中选取的样本文件个数,Ij表示第j个样本文件对应的图像数据的特征,F(Iji)表示针对第j个样本文件、DNN模型在参数集θi下前向计算得到的输出结果,Xj表示第j个样本文件的标签,i为当前已进行前向计算的次数计数/累计次数。
步骤607:基于损失值,确定采用当前参数集的预设模型是否收敛。其中,预设模型包括CNN模型和预设DNN模型。
如果不收敛,进入步骤608;如果收敛,进入步骤609。
例如,可以当损失值小于预设损失值阈值时,确定收敛;也可以当本次计算得到损失值与上一次计算得到的损失值之差小于预设变化阈值时,确定收敛,本申请实施例在此不做限定。
步骤608:对当前参数集θi
Figure BDA0001632993700000123
中的参数进行调整,得到调整后的参数集,然后进入步骤605,用于下一次前向计算。
具体可以利用反向传播算法对当前参数集中的参数进行调整。
步骤609:将当前参数集θi作为输出的最终参数集θfinal,将当前参数集
Figure BDA0001632993700000124
作为输出的最终参数集
Figure BDA0001632993700000125
将采用最终参数集θfinal的该预设DNN模型,作为训练完成的DNN模型。将采用最终参数集
Figure BDA0001632993700000131
的该预设CNN模型,作为训练完成的CNN模型。
上述CNN模型和DNN模型的训练可以与文件识别在同一网络设备上实现。为了保证降低对文件识别的网络设备的影响,CNN模型和DNN模型的训练的网络设备可以与文件识别的网络设备不同。
在本申请的一个实施例中,采用恶意文件特征库对目标图像数据的特征进行识别,确定待识别文件是否为恶意文件,其中,恶意文件特征库包括:多个样本恶意文件对应的图像数据的特征。具体的,将目标图像数据输入CNN模型,获取CNN模型的预设层的输出结果作为目标图像数据的特征。从预设恶意文件特征库中查找目标图像数据的特征。若查找到,则确定待识别文件为恶意文件。若未查找到,则确定待识别文件为安全文件。
为了进一步提高文件识别的准确性,提高文件识别的效率,在预先训练获得了CNN模型后,可以将样本恶意文件对应的图像数据输入CNN模型,获取CNN模型的预设层的输出结果,将CNN模型的预设层的输出结果作为样本恶意文件对应的图像数据的特征。由多个样本恶意文件对应的图像数据的特征,构建恶意文件特征库。
可选的,为了避免图像数据的特征过长,增加文件识别的计算量,同时,为了避免图像数据的特征过短,降低文件识别的准确性,预设层可以为CNN模型的第三个卷积层。可选的,第三个卷积层输出的特征长度为512字节。
由于恶意文件特征库中的特征是从恶意文件中直接提取到的,若待识别文件的特征与恶意文件特征库中的特征匹配,完全可以确定待识别文件为恶意文件,提高了文件识别的准确性。另外,相较于DNN模型识别特征的计算量,匹配恶意文件特征库中的特征计算量要小很多,提高了文件识别的效率。
基于相同的发明构思,本申请实施例还提供了一种文件识别方法。参考图7,图7为本申请实施例提供的文件识别方法的第二种流程示意图,包括如下过程。
步骤701:获取待识别文件。
以文件识别方法的执行主体为网络设备为例。网络设备获取到的待识别文件可以是:其他网络设备发送给该网络设备的。网络设备获取到的待识别文件也可以是:从本地存储的文件中获取的。
步骤702:将待识别文件输入预先训练的文件识别模型,确定待识别文件是否为恶意文件。
其中,文件识别模型用于:根据预设读取规则和预设词组模型,确定输入文件对应的多个字符串;根据多个字符串,构建转移矩阵,转移矩阵中的元素与字符串种类一一对应;根据转移矩阵中的元素,确定输入文件对应的目标图像数据;提取目标图像数据的特征,并根据目标图像数据的特征,确定输入文件是否为恶意文件。
这里,输入文件为输入文件识别模型的文件。将待识别文件输入文件识别模型时,输入文件为待识别文件。
在本申请的一个实施例中,根据预设读取规则和预设词组模型,确定输入文件对应的多个字符串,可以包括:按照预设读取规则读取输入文件,得到多个字符,按照预设词组模型,组合多个字符中相邻的字符,得到多个字符串。
其中,读取规则可以包括:2进制、8进制或16进制,但不限于这几种读取规则。预设词组模型可以包括BiGram模型和/或TriGram模型。
在本申请的一个实施例中,根据待识别文件对应的多个字符串,构建转移矩阵,可以包括:确定每一字符串在多个字符串中的出现次数,根据每一字符串的出现次数,构建转移矩阵。可选的,转移矩阵的行数和列数相同,转移矩阵的行数和列数均为字符串种类数与字符种类数的比值。其中,字符串种类数为:根据预设读取规则和预设词组模型读取文件时,可获取到的字符串的种类数;字符种类数为:根据预设读取规则读取文件时,可获取到的字符的种类数。
例如,预设读取规则为16进制,预设词组模型可以包括BiGram模型和TriGram模型。按照转移矩阵的行数和列数相同,以及转移矩阵中的元素与字符串种类一一对应的规则,转移矩阵的行数和列数可以为272。也就是,可以根据待识别文件对应的每一字符串的出现次数,构建272*272的转移矩阵。
在本申请的一个实施例中,根据每一字符串的出现次数,构建转移矩阵,可以包括:针对每一字符串,将该字符串的出现次数作为转移矩阵中该字符串对应的元素的值,得到转移矩阵。
在本申请的另一个实施例中,为了提高平滑度和防止过拟合,根据每一字符串的出现次数,构建转移矩阵,可以包括:针对每一字符串,计算该字符串的出现次数与预设初始值的和值,将计算得到的和值作为转移矩阵中该字符串对应的元素的值,得到转移矩阵。
在本申请的一个实施例中,转移矩阵中的一个元素对应一个图像单元格,确定输入文件对应的目标图像数据,即是将转移矩阵中的每个元素的值转换成图像数据。根据转移矩阵中的元素,确定输入文件对应的目标图像数据,可以包括:根据转移矩阵中各元素的值,计算转移矩阵中各元素对应的图像单元格的颜色深度,得到输入文件对应的目标图像数据。至此,完成了“输入文件→字符/字符串→转移矩阵→图像数据”的转换过程。
在本申请的一个实施例中,对于转移矩阵中的任一元素,可以采用一下方式确定各元素对应的图像单元格的颜色深度。根据转移矩阵中各元素的值,计算转移矩阵中各元素对应的图像单元格的颜色深度,可以包括:
具体的,针对所述转移矩阵中的第一元素,确定第一元素的值为第一数值;其中,第一元素为所述转移矩阵中的任一元素,第一元素的值根据第一字符串的出现次数确定;
确定所有第二元素的值之和为第二数值;其中,第二元素的值根据第二字符串的出现次数确定,第二字符串的头部词与第一字符串的头部词相同;
计算第一数值与第二数值的比值。
之后,根据计算得到的比值,确定转移矩阵中第一元素对应的图像单元格的颜色深度。
一种实现方式中,针对转移矩阵中的每一元素(例如第一元素),直接将计算得到的比值,作为转移矩阵中第一元素对应的图像单元格的颜色深度。
另一种实现方式中,针对转移矩阵中的每一元素(例如第一元素),根据以下公式确定第一元素的转移概率:
h=Log T;
其中,h为第一元素的转移概率,T为计算得到的比值;
将计算得到的第一元素的转移概率,确定为第一元素对应的图像单元格的颜色深度。
在本申请的一个实施例中,提取目标图像数据的特征,可以包括:将目标图像数据输入预先训练的CNN模型,得到目标图像数据的特征。
为了获得更为适用于文件识别,在本申请的一个实施例中,采用的CNN模型以经典CNN Lenet-5模型为基础,在经典CNN Lenet-5结构的基础上进行改进。其中,Lenet-5为一种经典的CNN网络架构,包括3个卷积层、2个池化层和2个全连接层。一种实现方式中,对Lenet-5结构的改进,如图5所示。
01、第一个卷积层为32个卷积核,第二个卷积层为64个卷积核。
02、第二个池化层后面增加0.25的DropOut层,第一个全连接层后面增加0.5的DropOut层。
在本申请的一个实施例中,可以采用DNN模型对目标图像数据的特征进行识别,确定输入文件是否为恶意文件。具体的,根据目标图像数据的特征,确定输入文件是否为恶意文件,可以包括:将目标图像数据的特征输入预先训练的DNN模型,得到输出结果;其中,DNN模型用于对图像数据的特征进行识别,确定图像数据对应的文件是否为恶意文件,输出结果包括指示输入文件是否为恶意文件的信息。
例如,将目标图像数据的特征输入DNN模型,得到输入为安全文件的第一概率,以及输入为恶意文件的第二概率。若第一概率大于第二概率,则DNN模型的输出结果为指示输入文件为安全文件的信息。否则,DNN模型的输出结果为指示输入文件为恶意文件的信息。
本申请实施例中,为了提高文件识别的准确性,在对待识别文件进行识别前,训练DNN模型和CNN模型。DNN模型和CNN模型的训练过程可参看图6所示实施例中步骤601-步骤609的描述说明。
在本申请的一个实施例中,采用恶意文件特征库对目标图像数据的特征进行识别,确定待识别文件是否为恶意文件,其中,恶意文件特征库包括:多个样本恶意文件对应的图像数据的特征。具体的,将目标图像数据输入CNN模型,获取CNN模型的预设层的输出结果作为目标图像数据的特征。从预设恶意文件特征库中查找目标图像数据的特征。若查找到,则确定输入文件为恶意文件。若未查找到,则确定输入文件为安全文件。
为了进一步提高文件识别的准确性,提高文件识别的效率,在预先训练获得了CNN模型后,可以将样本恶意文件对应的图像数据输入CNN模型,获取CNN模型的预设层的输出结果,将CNN模型的预设层的输出结果作为样本恶意文件对应的图像数据的特征。由这多个样本恶意文件对应的图像数据的特征,构建恶意文件特征库。
可选的,为了避免图像数据的特征过长,增加文件识别的计算量,同时,为了避免图像数据的特征过短,降低文件识别的准确性,预设层可以为CNN模型的第三个卷积层。可选的,第三个卷积层输出的特征长度为512字节。
由于恶意文件特征库中的特征是从恶意文件中直接提取到的,若待识别文件的特征与恶意文件特征库中的特征匹配,完全可以确定待识别文件为恶意文件,提高了文件识别的准确性。另外,相较于DNN模型识别特征的计算量,匹配恶意文件特征库中的特征计算量要小很多,提高了文件识别的效率。
本申请实施例中,进行文件识别时,将待识别文件转换为图像数据,提取图像数据的特征,根据提取的特征,确定待识别文件是否为恶意文件。其中,图像数据的特征是待识别文件客观存在的特征,而不是根据经验设定的,依据此客观存在的特征的识别结果,降低了文件识别对人的主观因素的依赖,提高了文件识别的准确性。
基于相同的发明构思,本申请实施例还提供了一种特征提取方法。参考图8,图8为本申请实施例提供的特征提取方法的一种流程示意图。该方法包括如下过程。
步骤801:将多个样本文件分别输入文件识别模型。
其中,文件识别模型用于:根据预设读取规则和预设词组模型,确定输入文件对应的多个字符串;根据输入文件对应的多个字符串,构建转移矩阵;根据文件的转移矩阵中的元素,确定输入文件对应的目标图像数据,其中,转移矩阵中的元素与字符串种类一一对应;利用CNN模型提取输入目标图像数据的特征,并利用DNN模型对目标图像数据的特征进行识别,确定输入文件是否为恶意文件。
这里,输入文件为输入文件识别模型的文件。将多个样本文件分别输入文件识别模型时,这多个样本文件均为输入文件。
本申请实施例中,为了提高提取特征的准确性,在提取特征前训练DNN模型和CNN模型。DNN模型和CNN模型的训练过程可参看图6所示实施例中步骤601-步骤609的描述说明。
步骤802:针对每一样本文件,提取CNN模型的预设层的输出结果,作为该样本文件的特征。
在本申请的一个实施例中,根据预设读取规则和预设词组模型,确定输入文件对应的多个字符串,可以包括:按照预设读取规则读取输入别文件,得到多个字符;按照预设词组模型,组合多个字符中相邻的字符,得到多个字符串。
其中,读取规则可以包括:2进制、8进制或16进制,但不限于这几种读取规则。预设词组模型可以包括BiGram模型和/或TriGram模型。
在本申请的一个实施例中,根据待识别文件对应的多个字符串,构建转移矩阵,可以包括:确定每一字符串在多个字符串中的出现次数;根据每一字符串的出现次数,构建转移矩阵。可选的,转移矩阵的行数和列数相同,转移矩阵的行数和列数均为字符串种类数与字符种类数的比值。其中,字符串种类数为:根据预设读取规则和预设词组模型读取文件时,可获取到的字符串的种类数;字符种类数为:根据预设读取规则读取文件时,可获取到的字符的种类数。
例如,预设读取规则为16进制,预设词组模型可以包括BiGram模型和TriGram模型。按照转移矩阵的行数和列数相同,以及转移矩阵中的元素与字符串种类一一对应的规则,转移矩阵的行数和列数可以为272。也就是,可以根据待识别文件对应的每一字符串的出现次数,构建272*272的转移矩阵。
在本申请的一个实施例中,根据每一字符串的出现次数,构建转移矩阵,可以包括:针对每一字符串,将该字符串的出现次数作为转移矩阵中该字符串对应的元素的值,得到转移矩阵。
在本申请的另一个实施例中,为了提高平滑度和防止过拟合,根据每一字符串的出现次数,构建转移矩阵,可以包括:针对每一字符串,计算该字符串的出现次数与预设初始值的和值,将计算得到的和值作为转移矩阵中该字符串对应的元素的值,得到转移矩阵。
在本申请的一个实施例中,转移矩阵中的一个元素对应一个图像单元格,确定输入文件对应的目标图像数据,即是将转移矩阵中的每个元素的值转换成图像数据。根据转移矩阵中的元素,确定待识别文件对应的目标图像数据,可以包括:根据转移矩阵中各元素的值,计算转移矩阵中各元素对应的图像单元格的颜色深度,得到待识别文件对应的目标图像数据。至此,完成了“输入文件→字符/字符串→转移矩阵→图像数据”的转换过程。
在本申请的一个实施例中,对于转移矩阵中的任一元素,可以采用一下方式确定各元素对应的图像单元格的颜色深度。根据转移矩阵中各元素的值,计算转移矩阵中各元素对应的图像单元格的颜色深度,可以包括:
具体的,针对所述转移矩阵中的第一元素,确定第一元素的值为第一数值;其中,第一元素为转移矩阵中的任一元素,第一元素的值根据第一字符串的出现次数确定。
确定所有第二元素的值之和为第二数值;其中,第二元素的值根据第二字符串的出现次数确定,第二字符串的头部词与第一字符串的头部词相同。
计算第一数值与第二数值的比值。
之后,根据计算得到的比值,确定转移矩阵中第一元素对应的图像单元格的颜色深度。
一种实现方式中,针对转移矩阵中的每一元素(例如第一元素),直接将计算得到的比值,作为转移矩阵中第一元素对应的图像单元格的颜色深度。
另一种实现方式中,针对转移矩阵中的每一元素(例如第一元素),根据以下公式确定第一元素的转移概率:
h=Log T;
其中,h为第一元素的转移概率,T为计算得到的比值;
将计算得到的第一元素的转移概率确定为第一元素对应的图像单元格的颜色深度。
为了获得更为适用于文件识别,在本申请的一个实施例中,采用的CNN模型以经典CNN Lenet-5模型为基础,在经典CNN Lenet-5结构的基础上进行改进。其中,Lenet-5为一种经典的CNN网络架构,包括3个卷积层、2个池化层和2个全连接层。一种实现方式中,对Lenet-5结构的改进,如图5所示。
01、第一个卷积层为32个卷积核,第二个卷积层为64个卷积核。
02、第二个池化层后面增加0.25的DropOut层,第一个全连接层后面增加0.5的DropOut层。
在本申请的一个实施例中,样本文件为样本恶意文件。这种情况下,在提取文件识别模型中CNN模型的预设层的输出结果,作为样本文件的特征之后,还可以包括:根据提取的多个特征构建恶意文件特征库。
可选的,为了避免图像数据的特征过长,增加文件识别的计算量,同时,为了避免图像数据的特征过短,降低文件识别的准确性,预设层可以为CNN模型的第三个卷积层。可选的,第三个卷积层输出的特征长度为512字节。
在本申请的一个实施例中,可以采用恶意文件特征库对待识别文件进行识别,确定待识别文件是否为恶意文件。具体的,将待识别文件输入文件识别模型;获取文件识别模型中CNN模型的预设层的输出结果,作为目标特征;从恶意文件特征库中查找目标特征。若查找到,则确定待识别文件为恶意文件。若未查找到,则确定待识别文件为安全文件。
本申请实施例中,提取预先训练获得的识别模型中CNN模型的预设层输出的特征,不需要人工分析处理提取文件的特征,提高了特征提取的效率,降低了人工成本。
另外,基于提取的恶意文件的特征构建恶意文件特征库,基于恶意文件特征库对待识别文件进行识别。由于恶意文件特征库中包括的特征是从恶意文件中直接提取到的,若待识别文件的特征与恶意文件特征库中的特征匹配,完全可以确定待识别文件为恶意文件,提高了文件识别的准确性。另外,相较于DNN模型识别特征的计算量,匹配恶意文件特征库中的特征计算量要小很多,提高了文件识别的效率。
基于相同的发明构思,本申请实施例还提供了一种文件识别装置。参考图9,图9为本申请实施例提供的文件识别装置的第一种结构示意图,该装置包括:
获取模块901,用于获取待识别文件;
第一确定模块902,用于根据预设读取规则和预设词组模型,确定待识别文件对应的多个字符串;
构建模块903,用于根据多个字符串,构建转移矩阵;其中,转移矩阵中的元素与字符串种类一一对应;
第二确定模块904,用于根据转移矩阵中的元素,确定待识别文件对应的目标图像数据;
识别模块905,用于提取目标图像数据的特征,并根据目标图像数据的特征,确定待识别文件是否为恶意文件。
在本申请的一个实施例中,第一确定模块902,具体可以用于:
按照预设读取规则读取待识别文件,得到多个字符;
按照预设词组模型,组合多个字符中相邻的字符,得到多个字符串。
在本申请的一个实施例中,构建模块903,具体可以用于:
确定每一字符串在多个字符串中的出现次数;
根据每一字符串的出现次数,构建转移矩阵。
在本申请的一个实施例中,构建模块903,具体可以用于:
针对每一字符串,将该字符串的出现次数作为转移矩阵中该字符串对应的元素的值,得到转移矩阵;或者,
针对每一字符串,计算该字符串的出现次数与预设初始值的和值,将计算得到的和值作为转移矩阵中该字符串对应的元素的值,得到转移矩阵。
在本申请的一个实施例中,第二确定模块904,具体可以用于:
根据转移矩阵中各元素的值,计算转移矩阵中各元素对应的图像模块格的颜色深度,得到待识别文件对应的目标图像数据。
在本申请的一个实施例中,第二确定模块904,具体可以用于:
针对所述转移矩阵中的第一元素,确定所述第一元素的值为第一数值;其中,所述第一元素为所述转移矩阵中的任一元素,所述第一元素的值根据第一字符串的出现次数确定;
确定所有第二元素的值之和为第二数值;其中,所述第二元素的值根据第二字符串的出现次数确定,所述第二字符串的头部词与所述第一字符串的头部词相同;
计算所述第一数值与第二数值的比值;
根据计算得到的比值,确定第一元素对应的图像单元格的颜色深度。
在本申请的一个实施例中,第二确定模块904,具体可以用于:
针对第一元素,根据以下公式确定第一元素的转移概率:
h=Log T;
其中,h为第一元素的转移概率,T为计算得到的比值;
将计算得到的第一元素的转移概率,确定为第一元素对应的图像模块格的颜色深度。
在本申请的一个实施例中,识别模块905,具体可以用于:将目标图像数据输入预先训练的CNN模型,得到目标图像数据的特征;
其中,CNN模型以经典CNN Lenet-5模型为基础,第一个卷积层为32个卷积核,第二个卷积层为64个卷积核,第二个池化层后面增加0.25的DropOut层,第一个全连接层后面增加0.5的DropOut层。
在本申请的一个实施例中,识别模块905,具体可以用于:
将目标图像数据的特征输入预先训练的DNN模型,得到输出结果;其中,DNN模型用于对图像数据的特征进行识别,确定图像数据对应的文件是否为恶意文件,输出结果包括指示待识别文件是否为恶意文件的信息。
在本申请的一个实施例中,目标图像数据的特征为CNN模型的预设层的输出结果;
此时,识别模块905,具体可以用于:
从预设恶意文件特征库中查找目标图像数据的特征;预设恶意文件特征库包括:多个样本恶意文件对应的图像数据的特征;
若查找到,则确定待识别文件为恶意文件;
若未查找到,则确定待识别文件为安全文件。
在一可选的实施例中,多个样本恶意文件对应的图像数据的特征的获取方式可以为:针对每一样本恶意文件,将该样本恶意文件对应的图像数据输入CNN模型,并将CNN模型的预设层对应输出的结果作为对应的图像数据的特征。
本申请实施例中,进行文件识别时,将待识别文件转换为图像数据,提取图像数据的特征,根据提取的特征,确定待识别文件是否为恶意文件。其中,图像数据的特征是待识别文件客观存在的特征,而不是根据经验设定的,依据此客观存在的特征的识别结果,降低了文件识别对人的主观因素的依赖,提高了文件识别的准确性。
基于相同的发明构思,本申请实施例还提供了一种文件识别装置。参考图10,图10为本申请实施例提供的文件识别装置的第二种结构示意图,该装置包括:获取模块1001、输入模块1002和文件识别模型,文件识别模型包括:第一确定模块1003、构建模块1004、第二确定模块1005和识别模块1006;
获取模块1001,用于获取待识别文件;
输入模块1002,用于将待识别文件输入预先训练的文件识别模型;
第一确定模块1003,用于根据预设读取规则和预设词组模型,确定输入文件对应的多个字符串;
构建模块1004,用于根据输入文件对应的多个字符串,构建转移矩阵;转移矩阵中的元素与字符串种类一一对应;
第二确定模块1005,用于根据转移矩阵中的元素,确定输入文件对应的目标图像数据;
识别模块1006,用于提取目标图像数据的特征,并根据目标图像数据的特征,确定输入文件是否为恶意文件。
在本申请的一个实施例中,第一确定模块1003,具体可以用于:
按照预设读取规则读取输入文件,得到多个字符;按照预设词组模型,组合多个字符中相邻的字符,得到多个字符串。
在本申请的一个实施例中,构建模块1004,具体可以用于:
确定每一字符串在多个字符串中的出现次数;根据每一字符串的出现次数,构建转移矩阵。
在本申请的一个实施例中,构建模块1004,具体可以用于:
针对每一字符串,将该字符串的出现次数作为转移矩阵中该字符串对应的元素的值,得到转移矩阵;或者,
针对每一字符串,计算该字符串的出现次数与预设初始值的和值,将计算得到的和值作为转移矩阵中该字符串对应的元素的值,得到转移矩阵。
在本申请的一个实施例中,第二确定模块1005,具体可以用于:
根据转移矩阵中各元素的值,计算转移矩阵中各元素对应的图像模块格的颜色深度,得到输入文件对应的目标图像数据。
在本申请的一个实施例中,第二确定模块1005,具体可以用于:
针对所述转移矩阵中的第一元素,确定所述第一元素的值为第一数值;其中,所述第一元素为所述转移矩阵中的任一元素,所述第一元素的值根据第一字符串的出现次数确定;
确定所有第二元素的值之和为第二数值;其中,所述第二元素的值根据第二字符串的出现次数确定,所述第二字符串的头部词与所述第一字符串的头部词相同;
计算所述第一数值与第二数值的比值;
根据计算得到的比值,确定第一元素对应的图像单元格的颜色深度。
在本申请的一个实施例中,第二确定模块1005,具体可以用于:
针对第一元素,根据以下公式确定第一元素的转移概率:
h=Log T;
其中,h为第一元素的转移概率,T为计算得到的比值;
将计算得到的第一元素的转移概率确定为第一元素对应的图像模块格的颜色深度。
在本申请的一个实施例中,识别模块1006,具体可以用于:将目标图像数据输入预先训练的CNN模型,得到目标图像数据的特征;
其中,CNN模型以经典CNN Lenet-5模型为基础,第一个卷积层为32个卷积核,第二个卷积层为64个卷积核,第二个池化层后面增加0.25的DropOut层,第一个全连接层后面增加0.5的DropOut层。
在本申请的一个实施例中,识别模块1006,具体可以用于:
将目标图像数据的特征输入预先训练的DNN模型,得到输出结果;其中,DNN模型用于对图像数据的特征进行识别,确定图像数据对应的文件是否为恶意文件,输出结果包括指示输入文件是否为恶意文件的信息。
在本申请的一个实施例中,目标图像数据的特征为CNN模型的预设层的输出结果;
此时,识别模块1006,具体可以用于:
从预设恶意文件特征库中查找目标图像数据的特征;预设恶意文件特征库包括:多个样本恶意文件对应的图像数据的特征;
若查找到,则确定输入文件为恶意文件;
若未查找到,则确定输入文件为安全文件。
在一可选的实施例中,多个样本恶意文件对应的图像数据的特征的获取方式可以为:针对每一样本恶意文件,将该样本恶意文件对应的图像数据输入CNN模型,并将CNN模型的预设层对应输出的结果作为对应的图像数据的特征。
本申请实施例中,进行文件识别时,将待识别文件转换为图像数据,提取图像数据的特征,根据提取的特征,确定待识别文件是否为恶意文件。其中,图像数据的特征是待识别文件客观存在的特征,而不是根据经验设定的,依据此客观存在的特征的识别结果,降低了文件识别对人的主观因素的依赖,提高了文件识别的准确性。
基于相同的发明构思,本申请实施例还提供了一种特征提取装置。参考图11,图11为本申请实施例提供的特征提取装置的一种结构示意图,该装置包括:输入模块1101、提取模块1102和文件识别模型;文件识别模型包括第一确定模块1103、第一构建模块1104、第二确定模块1105和第一识别模块1106。
输入模块1101,用于将多个样本文件分别输入文件识别模型;
第一确定模块1103,用于根据预设读取规则和预设词组模型,确定输入文件对应的多个字符串;
第一构建模块1104,用于根据输入文件对应的多个字符串,构建转移矩阵;转移矩阵中的元素与字符串种类一一对应;
第二确定模块1105,用于根据转移矩阵中的元素,确定输入文件对应的目标图像数据;
第一识别模块1106,用于利用CNN模型提取输入目标图像数据的特征,并利用DNN模型对目标图像数据的特征进行识别,确定输入文件是否为恶意文件;
提取模块1102,用于针对每一样本文件,提取CNN模型的预设层输出的特征的输出结果,作为该样本文件的特征。
在本申请的一个实施例中,第一确定模块1103,具体可以用于:
按照预设读取规则读取输入别文件,得到多个字符;按照预设词组模型,组合多个字符中相邻的字符,得到多个字符串。
在本申请的一个实施例中,第一构建模块1104,具体可以用于:
确定每一字符串在多个字符串中的出现次数;根据每一字符串的出现次数,构建转移矩阵。
在本申请的一个实施例中,第一构建模块1104,具体可以用于:
针对每一字符串,将该字符串的出现次数作为转移矩阵中该字符串对应的元素的值,得到转移矩阵;或者,
针对每一字符串,计算该字符串的出现次数与预设初始值的和值,将计算得到的和值作为转移矩阵中该字符串对应的元素的值,得到转移矩阵。
在本申请的一个实施例中,第二确定模块1105,具体可以用于:
根据转移矩阵中各元素的值,计算转移矩阵中各元素对应的图像模块格的颜色深度,得到待识别文件对应的目标图像数据。
在本申请的一个实施例中,第二确定模块1105,具体可以用于:
针对所述转移矩阵中的第一元素,确定所述第一元素的值为第一数值;其中,所述第一元素为所述转移矩阵中的任一元素,所述第一元素的值根据第一字符串的出现次数确定;
确定所有第二元素的值之和为第二数值;其中,所述第二元素的值根据第二字符串的出现次数确定,所述第二字符串的头部词与所述第一字符串的头部词相同;
计算所述第一数值与第二数值的比值;
根据计算得到的比值,确定第一元素对应的图像单元格的颜色深度。
在本申请的一个实施例中,第二确定模块1105,具体可以用于:
针对第一元素,根据以下公式确定第一元素的转移概率:
h=Log T;
其中,h为第一元素的转移概率,T为计算得到的比值;
将计算得到的第一元素的转移概率确定为第一元素对应的图像模块格的颜色深度。
在本申请的一个实施例中,CNN模型以经典CNN Lenet-5模型为基础,第一个卷积层为32个卷积核,第二个卷积层为64个卷积核,第二个池化层后面增加0.25的DropOut层,第一个全连接层后面增加0.5的DropOut层。
在本申请的一个实施例中,上述特征提取装置还可以包括:
第二构建模块,用于在针对每一样本文件,提取所述CNN模型的预设层的输出结果,作为该样本文件的特征之后,根据提取的多个特征构建恶意文件特征库。
在本申请的一个实施例中,上述特征提取装置还可以包括:第二识别模块,用于:
将待识别文件输入文件识别模型;获取文件识别模型中CNN模型的预设层的输出结果,作为目标特征;从恶意文件特征库中查找目标特征;若查找到,则确定待识别文件为恶意文件;若未查找到,则确定待识别文件为安全文件。
本申请实施例中,提取文件预先训练获得的识别模型中CNN模型的预设层输出的特征,不需要人工分析处理提取文件的特征,提高了特征提取的效率,降低了人工成本。
另外,基于提取的恶意文件的特征构建恶意文件特征库,基于恶意文件特征库对待识别文件进行识别。由于恶意文件特征库中包括的特征是从恶意文件中直接提取到的,若待识别文件的特征与恶意文件特征库中的特征匹配,完全可以确定待识别文件为恶意文件,提高了文件识别的准确性。另外,相较于DNN模型识别特征的计算量,匹配恶意文件特征库中的特征计算量要小很多,提高了文件识别的效率。
基于相同的发明构思,本申请实施例还提供了一种网络设备,如图12所示,包括处理器1201和机器可读存储介质1202,机器可读存储介质1202存储有能够被处理器1201执行的机器可执行指令。处理器1201被机器可执行指令促使实现上述图1所示的文件识别方法。
另外,如图12所示,网络设备还可以包括:通信接口1203和通信总线1204;其中,处理器1201、机器可读存储介质1202、通信接口1203通过通信总线1204完成相互间的通信,通信接口1203用于上述网络设备与其他设备之间的通信。
其中,机器可执行指令包括:获取指令1212、第一确定指令1222、构建指令1232、第二确定指令1242和识别指令1252。
处理器1201被获取指令1212促使实现:获取待识别文件;
处理器1201被第一确定指令1222促使实现:根据预设读取规则和预设词组模型,确定待识别文件对应的多个字符串;
处理器1201被构建指令1232促使实现:根据多个字符串,构建转移矩阵;其中,转移矩阵中的元素与字符串种类一一对应;
处理器1201被第二确定指令1242促使实现:根据转移矩阵中的元素,确定待识别文件对应的目标图像数据;
处理器1201被识别指令1252促使实现:提取目标图像数据的特征,并根据目标图像数据的特征,确定待识别文件是否为恶意文件。
在本申请的一个实施例中,处理器1201被第一确定指令1222促使具体可以实现:
按照预设读取规则读取待识别文件,得到多个字符;按照预设词组模型,组合多个字符中相邻的字符,得到多个字符串。
在本申请的一个实施例中,处理器1201被构建指令1232促使具体可以实现:
确定每一字符串在多个字符串中的出现次数;根据每一字符串的出现次数,构建转移矩阵。
在本申请的一个实施例中,处理器1201被构建指令1232促使具体可以实现:
针对每一字符串,将该字符串的出现次数作为转移矩阵中该字符串对应的元素的值,得到转移矩阵;或者,
针对每一字符串,计算该字符串的出现次数与预设初始值的和值,将计算得到的和值作为转移矩阵中该字符串对应的元素的值,得到转移矩阵。
在本申请的一个实施例中,处理器1201被第二确定指令1242促使具体可以实现:
根据转移矩阵中各元素的值,计算转移矩阵中各元素对应的图像指令格的颜色深度,得到待识别文件对应的目标图像数据。
在本申请的一个实施例中,第处理器1201被第二确定指令1242促使具体可以实现:
针对转移矩阵中的第一元素,确定第一元素的值为第一数值;其中,第一元素为转移矩阵中的任一元素,第一元素的值根据第一字符串的出现次数确定;
确定所有第二元素的值之和为第二数值;其中,第二元素的值根据第二字符串的出现次数确定,第二字符串的头部词与第一字符串的头部词相同;
计算第一数值与第二数值的比值;
根据计算得到的比值,确定第一元素对应的图像单元格的颜色深度。
在本申请的一个实施例中,处理器1201被第二确定指令1242促使具体可以实现:
针对第一元素,根据以下公式确定第一元素的转移概率:
h=Log T;
其中,h为第一元素的转移概率,T为计算得到的比值;
将计算得到的第一元素的转移概率,确定为第一元素对应的图像单元格的颜色深度。
在本申请的一个实施例中,处理器1201被识别指令1252促使具体可以实现:
将目标图像数据输入预先训练的CNN模型,得到目标图像数据的特征;其中,CNN模型以经典CNNLenet-5模型为基础,第一个卷积层为32个卷积核,第二个卷积层为64个卷积核,第二个池化层后面增加0.25的DropOut层,第一个全连接层后面增加0.5的DropOut层。
在本申请的一个实施例中,处理器1201被识别指令1252促使具体可以实现:
将目标图像数据的特征输入预先训练的DNN模型,得到输出结果;其中,DNN模型用于对图像数据的特征进行识别,确定图像数据对应的文件是否为恶意文件,输出结果包括指示待识别文件是否为恶意文件的信息。
在本申请的一个实施例中,目标图像数据的特征为CNN模型的预设层的输出结果;
此时,处理器1201被识别指令1252促使具体可以实现:
从预设恶意文件特征库中查找目标图像数据的特征;预设恶意文件特征库包括:多个样本恶意文件对应的图像数据的特征;
若查找到,则确定待识别文件为恶意文件;
若未查找到,则确定待识别文件为安全文件。
在一可选的实施例中,多个样本恶意文件对应的图像数据的特征的获取方式可以为:针对每一样本恶意文件,将该样本恶意文件对应的图像数据输入CNN模型,并将CNN模型的预设层对应输出的结果作为对应的图像数据的特征。
本申请实施例中,进行文件识别时,将待识别文件转换为图像数据,提取图像数据的特征,根据提取的特征,确定待识别文件是否为恶意文件。其中,图像数据的特征是待识别文件客观存在的特征,而不是根据经验设定的,依据此客观存在的特征的识别结果,降低了文件识别对人的主观因素的依赖,提高了文件识别的准确性。
基于相同的发明构思,本申请实施例还提供了一种网络设备,如图13所示,包括处理器1301和机器可读存储介质1302,机器可读存储介质1302存储有能够被处理器1301执行的机器可执行指令。处理器1301被机器可执行指令促使实现上述图7所示的文件识别方法。
另外,如图13所示,网络设备还可以包括:通信接口1303和通信总线1304;其中,处理器1301、机器可读存储介质1302、通信接口1303通过通信总线1304完成相互间的通信,通信接口1303用于上述网络设备与其他设备之间的通信。
其中,机器可执行指令包括:获取指令1312、输入指令1322和文件识别指令集,文件识别指令集包括:第一确定指令1332、构建指令1342、第二确定指令1352和识别指令1362;
处理器1301被获取指令1312促使实现:获取待识别文件;
处理器1301被输入指令1322促使实现:将待识别文件输入预先训练的文件识别指令集;
处理器1301被第一确定指令1332促使实现:根据预设读取规则和预设词组模型,确定输入文件对应的多个字符串;
处理器1301被构建指令1342促使实现:根据多个字符串,构建转移矩阵;转移矩阵中的元素与字符串种类一一对应;
处理器1301被第二确定指令1352促使实现:根据转移矩阵中的元素,确定输入文件对应的目标图像数据;
处理器1301被识别指令1362促使实现:提取目标图像数据的特征,根据目标图像数据的特征,确定输入文件是否为恶意文件。
在本申请的一个实施例中,处理器1301被第一确定指令1332促使具体可以实现:
按照预设读取规则读取输入文件,得到多个字符;按照预设词组模型,组合多个字符中相邻的字符,得到多个字符串。
在本申请的一个实施例中,处理器1301被构建指令1342促使具体可以实现:
确定每一字符串在多个字符串中的出现次数;根据每一字符串的出现次数,构建转移矩阵。
在本申请的一个实施例中,处理器1301被构建指令1342促使具体可以实现:
针对每一字符串,将该字符串的出现次数作为转移矩阵中该字符串对应的元素的值,得到转移矩阵;或者,
针对每一字符串,计算该字符串的出现次数与预设初始值的和值,将计算得到的和值作为转移矩阵中该字符串对应的元素的值,得到转移矩阵。
在本申请的一个实施例中,处理器1301被第二确定指令1352促使具体可以实现:
根据转移矩阵中各元素的值,计算转移矩阵中各元素对应的图像指令格的颜色深度,得到输入文件对应的目标图像数据。
在本申请的一个实施例中,处理器1301被第二确定指令1352促使具体可以实现:
针对转移矩阵中的第一元素,确定第一元素的值为第一数值;其中,第一元素为转移矩阵中的任一元素,第一元素的值根据第一字符串的出现次数确定;
确定所有第二元素的值之和为第二数值;其中,第二元素的值根据第二字符串的出现次数确定,第二字符串的头部词与第一字符串的头部词相同;
计算第一数值与第二数值的比值;
根据计算得到的比值,确定第一元素对应的图像单元格的颜色深度。
在本申请的一个实施例中,处理器1301被第二确定指令1352促使具体可以实现:
针对第一元素,根据以下公式确定第一元素的转移概率:
h=Log T;
其中,h为第一元素的转移概率,T为计算得到的比值;
将计算得到的第一元素的转移概率,确定为第一元素对应的图像单元格的颜色深度。
在本申请的一个实施例中,处理器1301被识别指令1362促使具体可以实现:
将目标图像数据输入预先训练的CNN模型,得到目标图像数据的特征;
其中,CNN模型以经典CNN Lenet-5模型为基础,第一个卷积层为32个卷积核,第二个卷积层为64个卷积核,第二个池化层后面增加0.25的DropOut层,第一个全连接层后面增加0.5的DropOut层。
在本申请的一个实施例中,处理器1301被识别指令1362促使具体可以实现:
将目标图像数据的特征输入预先训练的DNN模型,得到输出结果;其中,DNN模型用于对图像数据的特征进行识别,确定图像数据对应的文件是否为恶意文件,输出结果包括指示输入文件是否为恶意文件的信息。
在本申请的一个实施例中,目标图像数据的特征为CNN模型的预设层的输出结果;
此时,处理器1301被识别指令1362促使具体可以实现:
从预设恶意文件特征库中查找目标图像数据的特征;预设恶意文件特征库包括:多个样本恶意文件对应的图像数据的特征;
若查找到,则确定输入文件为恶意文件;
若未查找到,则确定输入文件为安全文件。
在一可选的实施例中,多个样本恶意文件对应的图像数据的特征的获取方式可以为:针对每一样本恶意文件,将该样本恶意文件对应的图像数据输入CNN模型,并将CNN模型的预设层对应输出的结果作为对应的图像数据的特征。
本申请实施例中,进行文件识别时,将待识别文件转换为图像数据,提取图像数据的特征,根据提取的特征,确定待识别文件是否为恶意文件。其中,图像数据的特征是待识别文件客观存在的特征,而不是根据经验设定的,依据此客观存在的特征的识别结果,降低了文件识别对人的主观因素的依赖,提高了文件识别的准确性。
基于相同的发明构思,本申请实施例还提供了一种网络设备,如图14所示,包括处理器1401和机器可读存储介质1402,机器可读存储介质1402存储有能够被处理器1401执行的机器可执行指令。处理器1401被机器可执行指令促使实现上述图8所示的文件识别方法。
另外,如图14所示,网络设备还可以包括:通信接口1403和通信总线1404;其中,处理器1401、机器可读存储介质1402、通信接口1403通过通信总线1404完成相互间的通信,通信接口1403用于上述网络设备与其他设备之间的通信。
其中,机器可执行指令包括:输入指令1412、提取指令1422和文件识别指令集;文件识别指令集包括第一确定指令1432、第一构建指令1442、第二确定指令1452和第一识别指令1462。
处理器1401被输入指令1412促使实现:将多个样本文件分别输入文件识别模型;
处理器1401被第一确定指令1432促使实现:根据预设读取规则和预设词组模型,确定输入文件对应的多个字符串;
处理器1401被第一构建指令1442促使实现:根据输入文件对应的多个字符串,构建转移矩阵,转移矩阵中的元素与字符串种类一一对应;
处理器1401被第二确定指令1452促使实现:根据转移矩阵中的元素,确定输入文件对应的目标图像数据;
处理器1401被第一识别指令1462促使实现:利用CNN模型提取输入文件对应的目标图像数据的特征,并利用DNN模型对目标图像数据的特征进行识别,确定输入文件是否为恶意文件;
处理器1401被提取指令1422促使实现:针对每一样本文件,提取所述CNN模型的预设层的输出结果,作为该样本文件的特征。
在本申请的一个实施例中,处理器1401被第一确定指令1432促使具体可以实现:
按照预设读取规则读取输入别文件,得到多个字符;按照预设词组模型,组合多个字符中相邻的字符,得到多个字符串。
在本申请的一个实施例中,处理器1401被第一构建指令1442促使具体可以实现:
确定每一字符串在多个字符串中的出现次数;根据每一字符串的出现次数,构建转移矩阵。
在本申请的一个实施例中,处理器1401被第一构建指令1442促使具体可以实现:
针对每一字符串,将该字符串的出现次数作为转移矩阵中该字符串对应的元素的值,得到转移矩阵;或者,
针对每一字符串,计算该字符串的出现次数与预设初始值的和值,将计算得到的和值作为转移矩阵中该字符串对应的元素的值,得到转移矩阵。
在本申请的一个实施例中,处理器1401被第二确定指令1452促使具体可以实现:
根据转移矩阵中各元素的值,计算转移矩阵中各元素对应的图像指令格的颜色深度,得到待识别文件对应的目标图像数据。
在本申请的一个实施例中,处理器1401被第二确定指令1452促使具体可以实现:
针对转移矩阵中的第一元素,确定第一元素的值为第一数值;其中,第一元素为转移矩阵中的任一元素,第一元素的值根据第一字符串的出现次数确定;
确定所有第二元素的值之和为第二数值;其中,第二元素的值根据第二字符串的出现次数确定,第二字符串的头部词与第一字符串的头部词相同;
计算第一数值与第二数值的比值;
根据计算得到的比值,确定第一元素对应的图像单元格的颜色深度。
在本申请的一个实施例中,处理器1401被第二确定指令1452促使具体可以实现:
针对第一元素,根据以下公式确定第一元素的转移概率:
h=Log T;
其中,h为第一元素的转移概率,T为计算得到的比值;
将计算得到的第一元素的转移概率,确定为第一元素对应的图像单元格的颜色深度。
在本申请的一个实施例中,CNN模型以经典CNN Lenet-5模型为基础,第一个卷积层为32个卷积核,第二个卷积层为64个卷积核,第二个池化层后面增加0.25的DropOut层,第一个全连接层后面增加0.5的DropOut层。
在本申请的一个实施例中,机器可执行指令还可以包括:第二构建指令;
所述样本文件为样本恶意文件;
处理器1401被第二构建指令促使实现:在针对每一样本文件,提取所述CNN模型的预设层的输出结果,作为该样本文件的特征之后,根据获取的多个特征构,构建恶意文件特征库。
在本申请的一个实施例中,机器可执行指令还可以包括:第二识别指令;
处理器1401被第二识别指令促使实现:将待识别文件输入文件识别模型;获取文件识别模型中CNN模型的预设层的输出结果,作为目标特征;从恶意文件特征库中查找目标特征;若查找到,则确定待识别文件为恶意文件;若未查找到,则确定待识别文件为安全文件。
本申请实施例中,提取文件预先训练获得的识别模型中CNN模型的预设层输出的特征,不需要人工分析处理提取文件的特征,提高了特征提取的效率,降低了人工成本。
另外,基于提取的恶意文件的特征构建恶意文件特征库,基于恶意文件特征库对待识别文件进行识别。由于恶意文件特征库中包括的特征是从恶意文件中直接提取到的,若待识别文件的特征与恶意文件特征库中的特征匹配,完全可以确定待识别文件为恶意文件,提高了文件识别的准确性。另外,相较于DNN模型识别特征的计算量,匹配恶意文件特征库中的特征计算量要小很多,提高了文件识别的效率。
上述通信总线可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
上述机器可读存储介质可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。另外,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
基于相同的发明构思,本申请实施例还提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,机器可执行指令促使处理器实现上述图1所示的文件识别方法。
基于相同的发明构思,本申请实施例还提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,机器可执行指令促使处理器实现上述图7所示的文件识别方法。
基于相同的发明构思,本申请实施例还提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,机器可执行指令促使处理器实现上述图8所示的特征提取方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于文件识别装置、特征提取装置、网络设备、机器可读存储介质实施例而言,由于其基本相似于文件识别方法和特征提取方法实施例,所以描述的比较简单,相关之处参见文件识别方法和特征提取方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (12)

1.一种文件识别方法,其特征在于,所述方法包括:
获取待识别文件;
根据预设读取规则和预设词组模型,确定所述待识别文件对应的多个字符串;
确定每一字符串在所述多个字符串中的出现次数;
针对每一字符串,将该字符串的出现次数作为转移矩阵中该字符串对应的元素的值,得到所述转移矩阵;
或者,针对每一字符串,计算该字符串的出现次数与预设初始值的和值,将计算得到的和值作为转移矩阵中该字符串对应的元素的值,得到所述转移矩阵;
其中,所述转移矩阵中的元素与字符串种类一一对应;
根据所述转移矩阵中的元素,确定所述待识别文件对应的目标图像数据;
提取所述目标图像数据的特征,并根据所述目标图像数据的特征,确定所述待识别文件是否为恶意文件。
2.根据权利要求1所述的方法,其特征在于,所述根据预设读取规则和预设词组模型,确定所述待识别文件对应的多个字符串,包括:
按照预设读取规则读取所述待识别文件,得到多个字符;
按照预设词组模型,组合所述多个字符中相邻的字符,得到多个字符串。
3.根据权利要求1所述的方法,其特征在于,所述根据所述转移矩阵中的元素,确定所述待识别文件对应的目标图像数据,包括:
根据所述转移矩阵中各元素的值,计算所述转移矩阵中各元素对应的图像单元格的颜色深度,得到所述待识别文件对应的目标图像数据。
4.根据权利要求3所述的方法,其特征在于,所述根据所述转移矩阵中各元素的值,计算所述转移矩阵中各元素对应的图像单元格的颜色深度,包括:
针对所述转移矩阵中的第一元素,确定所述第一元素的值为第一数值;其中,所述第一元素为所述转移矩阵中的任一元素,所述第一元素的值根据第一字符串的出现次数确定;
确定所有第二元素的值之和为第二数值;其中,所述第二元素的值根据第二字符串的出现次数确定,所述第二字符串的头部词与所述第一字符串的头部词相同;
计算所述第一数值与所述第二数值的比值;
根据计算得到的比值,确定所述第一元素对应的图像单元格的颜色深度。
5.根据权利要求4所述的方法,其特征在于,所述根据计算得到的比值,确定所述第一元素对应的图像单元格的颜色深度,包括:
针对所述第一元素,根据以下公式确定所述第一元素的转移概率:
h=Log T;
其中,h为所述第一元素的转移概率,T为计算得到的比值;
将计算得到的所述第一元素的转移概率,确定为所述第一元素对应的图像单元格的颜色深度。
6.根据权利要求1所述的方法,其特征在于,所述提取所述目标图像数据的特征,包括:
将所述目标图像数据输入预先训练的卷积神经网络CNN模型,得到所述目标图像数据的特征;
其中,所述CNN模型以经典CNN Lenet-5模型为基础,第一个卷积层为32个卷积核,第二个卷积层为64个卷积核,第二个池化层后面增加0.25的丢弃DropOut层,第一个全连接层后面增加0.5的DropOut层。
7.根据权利要求6所述的方法,其特征在于,所述根据所述目标图像数据的特征,确定所述待识别文件是否为恶意文件,包括:
将所述目标图像数据的特征输入预先训练的深度神经网络DNN模型,得到输出结果;其中,所述DNN模型用于对图像数据的特征进行识别,确定图像数据对应的文件是否为恶意文件,所述输出结果包括指示所述待识别文件是否为恶意文件的信息。
8.根据权利要求6所述的方法,其特征在于,所述目标图像数据的特征为所述CNN模型的预设层的输出结果;
所述根据所述目标图像数据的特征,确定所述待识别文件是否为恶意文件,包括:
从预设恶意文件特征库中查找所述目标图像数据的特征;所述预设恶意文件特征库包括:多个样本恶意文件对应的图像数据的特征;
若查找到,则确定所述待识别文件为恶意文件;
若未查找到,则确定所述待识别文件为安全文件。
9.一种文件识别方法,其特征在于,所述方法包括:
获取待识别文件;
将所述待识别文件输入预先训练的文件识别模型,确定所述待识别文件是否为恶意文件;
其中,所述文件识别模型用于:根据预设读取规则和预设词组模型,确定输入文件对应的多个字符串;确定每一字符串在所述多个字符串中的出现次数;针对每一字符串,将该字符串的出现次数作为转移矩阵中该字符串对应的元素的值,得到所述转移矩阵;或者,针对每一字符串,计算该字符串的出现次数与预设初始值的和值,将计算得到的和值作为转移矩阵中该字符串对应的元素的值,得到所述转移矩阵,所述转移矩阵中的元素与字符串种类一一对应;根据所述转移矩阵中的元素,确定所述输入文件对应的目标图像数据;提取所述目标图像数据的特征,并根据所述目标图像数据的特征,确定所述输入文件是否为恶意文件。
10.一种特征提取方法,其特征在于,所述方法包括:
将多个样本文件分别输入文件识别模型;其中,所述文件识别模型用于:根据预设读取规则和预设词组模型,确定输入文件对应的多个字符串;确定每一字符串在所述多个字符串中的出现次数;针对每一字符串,将该字符串的出现次数作为转移矩阵中该字符串对应的元素的值,得到所述转移矩阵;或者,针对每一字符串,计算该字符串的出现次数与预设初始值的和值,将计算得到的和值作为转移矩阵中该字符串对应的元素的值,得到所述转移矩阵,所述转移矩阵中的元素与字符串种类一一对应;根据所述转移矩阵中的元素,确定所述输入文件对应的目标图像数据;利用卷积神经网络CNN模型提取所述目标图像数据的特征;利用深度神经网络DNN模型对所述目标图像数据的特征进行识别,确定所述输入文件是否为恶意文件;
针对每一样本文件,提取所述CNN模型的预设层的输出结果,作为该样本文件的特征。
11.根据权利要求10所述的方法,其特征在于,所述样本文件为样本恶意文件;
在针对每一样本文件,提取所述CNN模型的预设层的输出结果,作为该样本文件的特征之后,还包括:
根据提取的多个特征,构建恶意文件特征库。
12.根据权利要求11所述的方法,其特征在于,还包括:
将待识别文件输入所述文件识别模型;
获取所述CNN模型的预设层的输出结果,作为目标特征;
从所述恶意文件特征库中查找所述目标特征;
若查找到,则确定所述待识别文件为恶意文件;
若未查找到,则确定所述待识别文件为安全文件。
CN201810349458.6A 2018-04-18 2018-04-18 文件识别方法和特征提取方法 Active CN109753987B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810349458.6A CN109753987B (zh) 2018-04-18 2018-04-18 文件识别方法和特征提取方法
PCT/CN2019/083200 WO2019201295A1 (zh) 2018-04-18 2019-04-18 文件识别方法和特征提取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810349458.6A CN109753987B (zh) 2018-04-18 2018-04-18 文件识别方法和特征提取方法

Publications (2)

Publication Number Publication Date
CN109753987A CN109753987A (zh) 2019-05-14
CN109753987B true CN109753987B (zh) 2021-08-06

Family

ID=66402373

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810349458.6A Active CN109753987B (zh) 2018-04-18 2018-04-18 文件识别方法和特征提取方法

Country Status (2)

Country Link
CN (1) CN109753987B (zh)
WO (1) WO2019201295A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110516125B (zh) * 2019-08-28 2020-05-08 拉扎斯网络科技(上海)有限公司 识别异常字符串的方法、装置、设备及可读存储介质
CN111079528A (zh) * 2019-11-07 2020-04-28 国网辽宁省电力有限公司电力科学研究院 一种基于深度学习的图元图纸校核方法及系统
CN111222856A (zh) * 2020-01-15 2020-06-02 深信服科技股份有限公司 一种邮件识别方法、装置、设备及存储介质
CN111310205A (zh) * 2020-02-11 2020-06-19 平安科技(深圳)有限公司 敏感信息的检测方法、装置、计算机设备和存储介质
CN111582282B (zh) * 2020-05-13 2024-04-12 科大讯飞股份有限公司 一种文本识别方法、装置、设备及存储介质
CN113949582B (zh) * 2021-10-25 2023-05-30 绿盟科技集团股份有限公司 一种网络资产的识别方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101046858A (zh) * 2006-03-29 2007-10-03 腾讯科技(深圳)有限公司 电子信息比较系统和方法以及反垃圾邮件系统
US8499354B1 (en) * 2011-03-15 2013-07-30 Symantec Corporation Preventing malware from abusing application data
CN104751055A (zh) * 2013-12-31 2015-07-01 北京启明星辰信息安全技术有限公司 一种基于纹理的分布式恶意代码检测方法、装置及系统
CN105095755A (zh) * 2015-06-15 2015-11-25 安一恒通(北京)科技有限公司 文件识别方法和装置
CN107392019A (zh) * 2017-07-05 2017-11-24 北京金睛云华科技有限公司 一种恶意代码家族的训练和检测方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104216875B (zh) * 2014-09-26 2017-05-03 中国科学院自动化研究所 基于非监督关键二元词串提取的微博文本自动摘要方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101046858A (zh) * 2006-03-29 2007-10-03 腾讯科技(深圳)有限公司 电子信息比较系统和方法以及反垃圾邮件系统
US8499354B1 (en) * 2011-03-15 2013-07-30 Symantec Corporation Preventing malware from abusing application data
CN104751055A (zh) * 2013-12-31 2015-07-01 北京启明星辰信息安全技术有限公司 一种基于纹理的分布式恶意代码检测方法、装置及系统
CN105095755A (zh) * 2015-06-15 2015-11-25 安一恒通(北京)科技有限公司 文件识别方法和装置
CN107392019A (zh) * 2017-07-05 2017-11-24 北京金睛云华科技有限公司 一种恶意代码家族的训练和检测方法及装置

Also Published As

Publication number Publication date
CN109753987A (zh) 2019-05-14
WO2019201295A1 (zh) 2019-10-24

Similar Documents

Publication Publication Date Title
CN109753987B (zh) 文件识别方法和特征提取方法
CN108737406B (zh) 一种异常流量数据的检测方法及系统
WO2020140386A1 (zh) 基于TextCNN知识抽取方法、装置、计算机设备及存储介质
WO2019128529A1 (zh) Url攻击检测方法、装置以及电子设备
CN109005145B (zh) 一种基于自动特征抽取的恶意url检测系统及其方法
EP2585962B1 (en) Password checking
CN106709345A (zh) 基于深度学习方法推断恶意代码规则的方法、系统及设备
CN109831460B (zh) 一种基于协同训练的Web攻击检测方法
CN113596007B (zh) 一种基于深度学习的漏洞攻击检测方法和设备
CN111600919B (zh) 智能网络应用防护系统模型的构建方法和装置
EP4211591A1 (en) Method and system for identifying citations within regulatory content
CN110334488B (zh) 基于随机森林模型的用户认证口令安全评估方法及装置
CN109033833B (zh) 一种基于多特征与特征选择的恶意代码分类方法
CN112580346B (zh) 事件抽取方法、装置、计算机设备和存储介质
CN112861518B (zh) 文本纠错方法、装置和存储介质及电子装置
CN111475622A (zh) 一种文本分类方法、装置、终端及存储介质
CN115080756A (zh) 一种面向威胁情报图谱的攻防行为和时空信息抽取方法
CN116684144A (zh) 一种恶意域名检测方法及装置
CN110929013A (zh) 一种基于bottom-up attention和定位信息融合的图片问答实现方法
CN115473734A (zh) 基于单分类和联邦学习的远程代码执行攻击检测方法
CN114338058A (zh) 一种信息处理方法、装置和存储介质
CN110197066B (zh) 一种云计算环境下的虚拟机监控方法及监控系统
CN113688240A (zh) 威胁要素提取方法、装置、设备及存储介质
KR101893029B1 (ko) 머신 러닝 기반의 취약점 정보를 분류하는 방법 및 장치
CN112463964A (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