CN109359090A - 基于卷积神经网络的文件碎片分类方法及系统 - Google Patents

基于卷积神经网络的文件碎片分类方法及系统 Download PDF

Info

Publication number
CN109359090A
CN109359090A CN201810980175.1A CN201810980175A CN109359090A CN 109359090 A CN109359090 A CN 109359090A CN 201810980175 A CN201810980175 A CN 201810980175A CN 109359090 A CN109359090 A CN 109359090A
Authority
CN
China
Prior art keywords
file
file fragmentation
character
neural networks
convolutional neural
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.)
Pending
Application number
CN201810980175.1A
Other languages
English (en)
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.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
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 Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN201810980175.1A priority Critical patent/CN109359090A/zh
Publication of CN109359090A publication Critical patent/CN109359090A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore

Abstract

本发明涉及一种基于卷积神经网络的文件碎片分类方法及系统。该方法包括以下步骤:(1)提取文件碎片内容,将其转换成十六进制表示的字符序列;(2)对文件碎片内容进行解析,将十六进制表示的字符序列转换为二进制向量化形式的字符向量;(3)通过卷积神经网络对文件碎片的字符向量进行卷积、池化、分类的过程,实现对文件碎片的分类。本发明通过卷积神经网络实现对文件碎片的分类,自动从碎片内容中学习特征表示,省略了人工设计、降维特征的步骤,因此能减少人为设计错误的发生,能够高效、准确、自动地完成对文件碎片的分类。

Description

基于卷积神经网络的文件碎片分类方法及系统
技术领域
本发明属于计算机取证领域,涉及一种数据恢复技术,特别涉及一种文件碎片恢复的关键技术。
背景技术
传统数据恢复方法,主要依赖于文件系统的结构恢复被删除的数据,例如文件分配表内容。大多数文件系统在删除文件过程不实际删除所在物理位置中的数据,只是标记该区域可以用于存储新的数据。删除结束后文件分配表中的文件条目以及删除文件与簇(即在存储介质中可寻址的最小存储单元)的链接信息依然存在,因此根据文件系统结构信息很容易恢复一个被删除的文件。除了解析处理磁盘上未分配空间的数据,通过访问文件系统结构还可以识别并快速提取所有未被删除的数据。
已有的数据恢复工具主要处理在介质上连续存储的文件数据。如何恢复碎片化的文件数据是目前数据恢复的一个难点。Garfinkel指出与取证案件相关的文件更倾向于以碎片化形式存在,并给出高达58%的Outlook电子邮件客户端数据是碎片化存储的统计数据。造成碎片化的主要原因包括以下几点:
(1)磁盘介质长时间使用并随机增加、删除将无法连续存储完整的文件;
(2)在现有文件附加数据,如果没有足够的未分配空间,文件系统将数据附加到其它位置;
(3)文件系统不支持按某种长度连续存储文件,例如Unix文件系统。
当文件系统结构不存在、损坏以及被人为删除时,以上碎片化存储的文件将无法利用传统方法恢复。许多案例中,由于一些重要文件通常没有备份只能通过恢复技术来获得证据,因此碎片文件数据的恢复有助于案件的取证调查。基于文件雕刻(file carving)的技术是被认为是恢复碎片文件数据的有效解决方案。文件雕刻是一种基于文件内容的恢复技术,与传统方法的区别是不依赖于指向文件内容的元数据。
此外文件雕刻技术还可用于恢复硬盘中未分配空间中的文件,未分配空间指的是不再保留任何文件系统结构中所示文件信息(例如文件分配表中的信息)的磁盘空间。在丢失、损坏文件系统结构时整个磁盘空间都是未分配空间,这种情况同样增加了取证调查的难度。
随着研究的深入,许多方法被引入到基于文件雕刻的数据恢复技术中。最早的实现是基于文件头/尾的雕刻方法,该方法根据基于文件签名的数据库识别已知文件类型的起点、终点,然后中间的连续介质存储空间进行恢复处理。该方法的局限性是未考虑文件数据碎片化存储的情况。在此基础上的改进包括:文件头/最大长度雕刻、基于文件结构雕刻、基于语义雕刻、碎片恢复雕刻等。
正确分类文件碎片类型对于成功雕刻文件碎片是一个重要环节。然而文件碎片分类是复杂的任务,文件类型包含大量不同的类别:从简单的原始类别(primitive type),例如一段ASCII 码的text或JPEG文件;到复杂的包含其它类型文件的容器文件(例如Pdf文件)、存档文件 (例如RAR、ZIP件)。分类检查的碎片数据包括:数据块,缺少魔数信息(例如文件签名)、文件扩展名、文件系统元数据、数据包头信息以及其它用于标识该类型文件特征的文件碎片。尽管现有商用软件(例如TrID)及开源工具(例如Unix file)根据签名及其它魔数信息能够有效对不明类型数据正确区分,但是在文件系统元数据信息丢失、损坏或位置不明时分类效果不好。
基于内容的分析方法通常用于元数据信息不可用的情况。主要的分析方法包括以下几种:
(1)语义解析。该分析方法主要根据自然语言结构、语义的形式表达及数据结构和逻辑顺序。由于这类结构和表示在某些类型的文件和数据流中比较罕见,因此语义解析在文件和数据类型分类中作用有限。
(2)非语义解析。该分析方法涉及搜索在特定文件和数据类型中比较常见的字符串,例如识别PDF文件类型可以利用搜索“obj”、“stream”、“endstream”等字符串。非语义解析方法的问题是不是所有文件和数据类型带有典型的字符串,例如TXT文件。
(3)机器学习。机器学习方法包括监督学习和非监督学习算法,通常采用基于统计的分类方法,因此可以有效地解决许多文件和数据类型的分类问题。
发明内容
本发明提出了一种基于卷积神经网络的文件碎片分类方法及系统,能够高效、准确、自动完成对文件碎片的分类。
本发明采用的技术方案如下:
一种基于卷积神经网络的文件碎片分类方法,其步骤包括:
(1)提取文件碎片内容,将其转换成十六进制表示的字符序列;
(2)对文件碎片内容进行解析,将十六进制表示的字符序列转换为二进制向量化形式的字符向量;
(3)通过卷积神经网络对文件碎片的字符向量进行卷积、池化、分类的过程,实现对文件碎片的分类。
上述方法中,步骤(1)的十六进制是文件碎片内容的原始表示,步骤(2)进一步进行向量化的表示,每个十六进制的表示内容被表示成多维的二进制向量。例如,6A这种的十六进制字符被表示成一个300维的向量。
进一步地,步骤(1)将转换得到的十六进制表示的字符序列与文件原内容进行哈希MD5 计算,获得哈希校验值,以保证二者在内容上的一致性。
进一步地,步骤(2)将十六进制表示的字符串序列的每一个字符与预先形成的字典即预定义字典的索引相关联,预定义字典是一个随机初始化而成的低维的实数向量组,包含二进制向量,每一二进制向量对应一个字符,称为字符向量。
进一步地,步骤(3)包括:
训练卷积神经网络分类模型中的参数,通过一些具有典型的类型特征的文件碎片的训练,获得分类模型的内部各参数,包括w、b,其中w为卷积核加权矩阵,b为偏置量。
进一步地,步骤(3)还包括:
(a)在卷积神经网络分类模型的配置文件中设立模型的配置选项,批量数据大小、训练数据地址、核函数大小、dropout值;
(b)在卷积神经网络分类模型中输入接口位置信息、文件碎片位置信息、文件碎片大小信息等;
(c)在卷积神经网络分类模型的训练过程中更新关联的字符向量,使其具有一定的语义信息。
与上面方法对应地,本发明还提供一种基于卷积神经网络的文件碎片分类系统,其包括:
文件碎片内容提取模块,用于提取文件碎片内容,将其转换成十六进制表示的字符序列;
文件碎片内容解析模块,用于对文件碎片内容进行解析,将十六进制表示的字符序列转换为二进制向量化形式的字符向量;
文件碎片分类模块,用于通过卷积神经网络对文件碎片的字符向量进行卷积、池化、分类的过程,实现对文件碎片的分类。
与现有技术相比,本发明的有益效果如下:
传统的分类方法首先需要提取碎片中合适的特征用于分类算法的输入,通常提取n-gram 或采用某种字节频率测量分析方法;然后对输入特征集进行降维处理;第三步根据设计的分类算法完成对碎片文件的分类。本发明通过卷积神经网络实现对文件碎片的分类,自动从碎片内容中学习特征表示,省略了人工设计、降维特征的步骤,因此能减少人为设计错误的发生。
附图说明
图1为本发明方法的总体架构图。
图2为基于卷积神经网络的文件碎片分类模型的示意图。
图3为不同分类算法的性能对比图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明中的技术方案进行清楚、完整地描述。
本发明的技术方法为,通过卷积神经网络提取文件碎片内容特征、分析碎片内容特点,将碎片文件归类到某个已知文件类型。
图1是本发明的总体架构图。本发明方法的步骤如下:
(1)提取碎片文件内容并转换成十六进制表示,将转换结果与文件原内容进行哈希MD5 计算验证以保证内容的一致性。
(2)CNN(卷积神经网络)的输入是词向量层,将十六进制表示的字符串序列的每一个字符与预先形成的字典即预定义字典的索引相关联,从而将十六进制表示的字符序列转换为二进制向量化形式的字符向量。
预定义字典是一个随机初始化而成的低维的实数向量组,包含二进制向量,每一二进制向量对应一个字符,称为字符向量,定义字符向量的维度为d。在CNN的算法训练过程中将更新关联的字符向量使其具有一定的语义信息。
(3)CNN的卷积层的目标是捕获文件碎片内容中字符向量的组合语义特征并压缩这些信息到特征图。
假设xi:j是文件碎片中连续的字节xi xi+1…xj。卷积层中涉及对卷积核的操作,卷积核 w∈Rh×d是一个窗口函数应用到h个字节提取特征,其中R表示实数,例如特征ci的生成采用如下公式所示:
ci=f(w·xi:i+h-1+b)
其中,b为偏置量,f为非线性函数,例如双曲正切函数。卷积核的操作是在句子中按 x1:h x2:h+1…xn-h+1:n顺序移动卷积核窗口函数产生一组碎片的组合语义特征c1c2…cn-h+1。通常在网络模型中采用多个卷积核来捕获不同的特征,假设应用m个卷积核 W=w1w2…wm,则卷积操作可按如下公式进行:
cji=f(wj·xi:i+h-1+bj)
其中,j的范围是从1到m。每次卷积核操作生成一个特征图:
c=[c1,c2,…,cn-h+1]
其中c∈R(n-h+1),最终通过卷积运算获得一个特征矩阵C∈Rm×(n-h+1)
(4)每个核函数生成的特征图维度随文件碎片大小和核函数的窗口大小变化。池化函数的作用是降低每个特征图的维度和待估计的参数。本实施例加入最大池化层逐元素计算求出卷积层各输出的特征向量第k维最大值作为池化层第k维的值。
(5)最终文件碎片的分类结果通过softmax函数产生。在softmax层采用“dropout”作为正则化的方法防止过拟合。
图2为本实施例采用的基于卷积神经网络的文件碎片分类模型的示意图。其中词向量矩阵即二进制向量化形式的字符向量;词向量查找是词向量层,将十六进制表示的字符串序列的词向量与预定义字典的索引相关联;全连接层作为输出网络的具体实现,用于连接所有的特征,将输出值送给softmax函数。
下面结合开源库tensorflow实现分类算法,说明本发明方法的实施过程,tensorboard为 tensorflow中的可视化组件。
tensorflow是一个开源的机器学习资源库,包括tensorflow,tensorboard,tensorserving等。 tensorflow可以高效地应用python语言实习机器学习算法,基于卷积神经网络的分类碎片算法过程分为preprocess(预处理)、embedding(向量表示)、convolution(卷积运算)、maxpooling (池化运算)、output(输出结果)五个阶段。
本实施例中,通过python语言编写,实现基于卷积神经网络文件碎片分类算法。实验中各参数选取如下,非线性函数选择ReLU,卷积核大小分别为:4、8、16,对应的每个特征图维度为100;Dropout为0.5,L2范数为2。根据需求分别控制爬取深度与广度。
为了验证本发明方法的技术效果,本实验使用同一批文件碎片,分别分类不同大小的文件碎片,64,128,256,512,1024,2048,4096,并与不同的分类算法进行了对比,如图3所示,可以看出,本发明方法(CNN方法)的分类准确度优于现有的其它分类算法(Xgboost、SVM、KNN)。
本发明另一实施例提供一种基于卷积神经网络的文件碎片分类系统,其包括:文件碎片内容提取模块,用于提取文件碎片内容,将其转换成十六进制表示的字符序列;文件碎片内容解析模块,用于对文件碎片内容进行解析,将十六进制表示的字符序列转换为二进制向量化形式的字符向量;文件碎片分类模块,用于通过卷积神经网络对文件碎片的字符向量进行卷积、池化、分类的过程,实现对文件碎片的分类。其中文件碎片内容提取模块还负责将转换得到的十六进制表示的字符序列与文件原内容进行哈希MD5计算,获得哈希校验值,以保证二者在内容上的一致性;文件碎片内容解析模块将十六进制表示的字符串序列的每一个字符与预先形成的字典即预定义字典的索引相关联,预定义字典是一个随机初始化而成的低维的实数向量组,包含二进制向量,每一二进制向量对应一个字符,称为字符向量。文件碎片分类模块的具体工作过程可以参考上面实施例中对文件碎片分类方法的具体描述。
综上所述,传统的分类方法首先需要提取碎片中合适的特征用于分类算法的输入,通常提取n-gram或采用某种字节频率测量分析方法;然后对输入特征集进行降维处理;最后根据设计的分类算法完成对碎片文件的分类。本发明通过卷积神经网络实现对文件碎片的分类,自动从碎片内容中学习特征表示,省略了人工设计、降维特征的步骤,因此能减少人为设计错误的发生。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。

Claims (10)

1.一种基于卷积神经网络的文件碎片分类方法,其特征在于,包括以下步骤:
(1)提取文件碎片内容,将其转换成十六进制表示的字符序列;
(2)对文件碎片内容进行解析,将十六进制表示的字符序列转换为二进制向量化形式的字符向量;
(3)通过卷积神经网络对文件碎片的字符向量进行卷积、池化、分类的过程,实现对文件碎片的分类。
2.根据权利要求1所述的方法,其特征在于,步骤(1)将转换得到的十六进制表示的字符序列与文件原内容进行哈希MD5计算,获得哈希校验值,以保证二者在内容上的一致性。
3.根据权利要求1所述的方法,其特征在于,步骤(2)将十六进制表示的字符串序列的每一个字符与预先形成的字典即预定义字典的索引相关联,预定义字典是一个随机初始化而成的低维的实数向量组,包含二进制向量,每一二进制向量对应一个字符,称为字符向量。
4.根据权利要求1所述的方法,其特征在于,步骤(3)通过具有典型的类型特征的文件碎片的训练,获得卷积神经网络分类模型的内部各参数。
5.根据权利要求1所述的方法,其特征在于,步骤(3)包括:
(a)在卷积神经网络分类模型的配置文件中设立模型的配置选项,批量数据大小、训练数据地址、核函数大小、dropout值;
(b)在卷积神经网络分类模型中输入接口位置信息、文件碎片位置信息、文件碎片大小信息;
(c)在卷积神经网络分类模型的训练过程中更新关联的字符向量,使其具有一定的语义信息。
6.根据权利要求1所述的方法,其特征在于,所述卷积神经网络包括:卷积层,用于捕获文件碎片内容中字符向量的组合语义特征并压缩这些信息到特征图;池化层,用于采用池化函数降低每个特征图的维度和待估计的参数;全连接层,用于连接所有的特征,将输出值送给softmax层;softmax层,用于采用softmax函数产生文件碎片的分类结果。
7.根据权利要求1所述的方法,其特征在于,所述池化层为最大池化层。
8.一种基于卷积神经网络的文件碎片分类系统,其特征在于,包括:
文件碎片内容提取模块,用于提取文件碎片内容,将其转换成十六进制表示的字符序列;
文件碎片内容解析模块,用于对文件碎片内容进行解析,将十六进制表示的字符序列转换为二进制向量化形式的字符向量;
文件碎片分类模块,用于通过卷积神经网络对文件碎片的字符向量进行卷积、池化、分类的过程,实现对文件碎片的分类。
9.根据权利要求8所述的系统,其特征在于,所述文件碎片内容提取模块将转换得到的十六进制表示的字符序列与文件原内容进行哈希MD5计算,获得哈希校验值,以保证二者在内容上的一致性。
10.根据权利要求8所述的系统,其特征在于,所述文件碎片内容解析模块将十六进制表示的字符串序列的每一个字符与预先形成的字典即预定义字典的索引相关联,预定义字典是一个随机初始化而成的低维的实数向量组,包含二进制向量,每一二进制向量对应一个字符,称为字符向量。
CN201810980175.1A 2018-08-27 2018-08-27 基于卷积神经网络的文件碎片分类方法及系统 Pending CN109359090A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810980175.1A CN109359090A (zh) 2018-08-27 2018-08-27 基于卷积神经网络的文件碎片分类方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810980175.1A CN109359090A (zh) 2018-08-27 2018-08-27 基于卷积神经网络的文件碎片分类方法及系统

Publications (1)

Publication Number Publication Date
CN109359090A true CN109359090A (zh) 2019-02-19

Family

ID=65349995

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810980175.1A Pending CN109359090A (zh) 2018-08-27 2018-08-27 基于卷积神经网络的文件碎片分类方法及系统

Country Status (1)

Country Link
CN (1) CN109359090A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110928848A (zh) * 2019-11-21 2020-03-27 中国科学院深圳先进技术研究院 一种文件碎片分类方法及系统
CN111176623A (zh) * 2019-12-31 2020-05-19 中山大学 一种基于图卷积神经网络的c++抽象信息恢复方法
CN113792820A (zh) * 2021-11-15 2021-12-14 航天宏康智能科技(北京)有限公司 用户行为日志异常检测模型的对抗训练方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160337426A1 (en) * 2015-05-14 2016-11-17 Hola Networks Ltd. System and Method for Streaming Content from Multiple Servers
CN107436730A (zh) * 2016-05-25 2017-12-05 爱思开海力士有限公司 数据处理系统及其操作方法
CN108319518A (zh) * 2017-12-08 2018-07-24 中国电子科技集团公司电子科学研究院 基于循环神经网络的文件碎片分类方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160337426A1 (en) * 2015-05-14 2016-11-17 Hola Networks Ltd. System and Method for Streaming Content from Multiple Servers
CN107436730A (zh) * 2016-05-25 2017-12-05 爱思开海力士有限公司 数据处理系统及其操作方法
CN108319518A (zh) * 2017-12-08 2018-07-24 中国电子科技集团公司电子科学研究院 基于循环神经网络的文件碎片分类方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
QIAN CHEN: "File Fragment Classification Using Grayscale Image Conversion and Deep Learning in Digital Forensics", 《2018 IEEE SECURITY AND PRIVACY WORKSHOPS (SPW)》 *
江翀: "文件碎片类型的高校识别技术研究与实现", 《中国优秀硕士学位论文全文数据库 社会科学1辑》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110928848A (zh) * 2019-11-21 2020-03-27 中国科学院深圳先进技术研究院 一种文件碎片分类方法及系统
WO2021098620A1 (zh) * 2019-11-21 2021-05-27 中国科学院深圳先进技术研究院 一种文件碎片分类方法及系统
CN111176623A (zh) * 2019-12-31 2020-05-19 中山大学 一种基于图卷积神经网络的c++抽象信息恢复方法
CN111176623B (zh) * 2019-12-31 2021-11-26 中山大学 一种基于图卷积神经网络的c++抽象信息恢复方法
CN113792820A (zh) * 2021-11-15 2021-12-14 航天宏康智能科技(北京)有限公司 用户行为日志异常检测模型的对抗训练方法和装置

Similar Documents

Publication Publication Date Title
Zhong et al. An end-to-end dense-inceptionnet for image copy-move forgery detection
Zheng et al. Coupled binary embedding for large-scale image retrieval
CN107944480B (zh) 一种企业行业分类方法
Afzal et al. Deepdocclassifier: Document classification with deep convolutional neural network
Kulis et al. Fast similarity search for learned metrics
CN110222218B (zh) 基于多尺度NetVLAD和深度哈希的图像检索方法
Huang et al. Object-location-aware hashing for multi-label image retrieval via automatic mask learning
CN108319518B (zh) 基于循环神经网络的文件碎片分类方法及装置
CN106557777B (zh) 一种基于SimHash改进的Kmeans文档聚类方法
WO2020164278A1 (zh) 一种图像处理方法、装置、电子设备和可读存储介质
CN106033426A (zh) 一种基于潜在语义最小哈希的图像检索方法
WO2020228182A1 (zh) 基于大数据的数据去重的方法、装置、设备及存储介质
CN107357895B (zh) 一种基于词袋模型的文本表示的处理方法
CN109359090A (zh) 基于卷积神经网络的文件碎片分类方法及系统
CN112163114B (zh) 一种基于特征融合的图像检索方法
CN112434553A (zh) 一种基于深度字典学习的视频鉴别方法及系统
Xu et al. Idhashgan: deep hashing with generative adversarial nets for incomplete data retrieval
Wang et al. File fragment type identification with convolutional neural networks
Pengcheng et al. Fast Chinese calligraphic character recognition with large-scale data
Du et al. Large-scale signature matching using multi-stage hashing
US20230138491A1 (en) Continuous learning for document processing and analysis
Ou et al. Convolutional neural codes for image retrieval
Radha et al. Modified cuckoo search algorithm: feature subset selection & shape, color and texture features descriptors for content-based image retrieval
Goel et al. Font-ProtoNet: Prototypical Network-Based Font Identification of Document Images in Low Data Regime
Ozdemir et al. Supervised incremental hashing

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190219