论文部分内容阅读
在数字取证、入侵检测和逆向工程等领域,经常会遇到一些类型未知或格式不明的数据或文件片段。如何快速识别出这些数据的数据类型或所在原文件的文件类型是一个至关重要的问题。本文针对已有的方法往往存在识别颗粒度粗糙的问题,特别是在遇到流行的复合文件碎片时识别效果不理想的问题,对基于机器学习的数据碎片类型识别技术进行了研究。首先,分析并总结了已有的数据碎片识别方法的优缺点。本文分析并总结了当前基于相似性度量的方法,基于机器学习的方法,以及转化为图片分类问题的方法等数据碎片类型识别方法的优缺点;指出这些方法大多是依据文件类型的,即试图推断出一个单独碎片来自哪种类型的文件,存在颗粒度粗糙且准确率低的问题,特别是在遇到流行的复合文件碎片时识别效果往往不理想。其次,为了解决识别颗粒度粗糙且准确率低的问题,本文提出了一个更精确的碎片识别问题的定义,并在此基础上提出一个使用机器学习算法、依据数据类型进行数据碎片识别方法。该方法首先通过分析常见的文件格式及其数据结构,得到常见的数据类型并构造数据集;然后将数据集分为训练集和测试集两部分,并提取碎片特征;之后使用机器学习算法和训练集中的数据构建分类器;最后使用测试集中的数据检验分类器分类效果。该方法在识别碎片类型时依据数据类型,与已有的依据文件类型的方法相比,准确率提高了约20%,并且减少了碎片类型识别颗粒度。此外,本文在实验中使用了多种机器学习算法,对比分析了它们的优缺点。最后,将提出的方法应用到PPT文件碎片识别技术中。PPT文件类型是一种复合文档格式,在依据文件类型的方法中,其碎片识别率一直很低。本文分析了其文件格式,找出了其内部常见的数据类型,探讨了其难以识别的原因,并将依据数据类型进行数据碎片识别的技术应用到PPT碎片识别中。实验结果表明,本文提出的方法与依据文件类型的方法相比,准确率提高了52%。本文把碎片的文件类型识别问题转换为更精确的数据类型识别,使用机器学习方法进行碎片识别,对数据碎片识别问题进行了有益的探索。所提出的方法不仅可以提高数据碎片识别的正确率,而且减少了数据碎片识别的颗粒度。