复印机离线数据提取解析方法及装置与流程

文档序号:18901379发布日期:2019-10-18 21:59阅读:683来源:国知局
复印机离线数据提取解析方法及装置与流程

本发明属于复印机安全防护技术领域,特别涉及一种复印机离线数据提取解析方法及装置。



背景技术:

随着信息技术的发展,常用办公设备如数码复印机的数字化程度日益提高,其存储功能也从无到有、从弱到强。在存储功能增强的同时也伴随着泄密风险的增加。与计算机存储部件不同的是,数码复印机存储器中的信息难以查找、难以清除,由此带来极大的安全隐患。一方面为了从源头杜绝这种安全隐患,消除泄密的可能,规范日常工作中对这些复印机设备的使用;另一方面为了在设备维护、保修时或设备淘汰、报废时提供相应的技术保障手段检测其存储部件是否涉密,需要一种对其存储部件进行保密检查的软件工具。检查人员利用该软件工具对数码复印机进行保密检查查处,生成检查报告及检查结果的归档导出,内容包括设备型号和密级、存储介质型号和序列号,文件及其创建时间,文件涉密密级,文件敏感信息判别等,为被检查单位数码复印机作业保密检查、作业安全管控和作业信息防泄密发挥重要作用和重大保密效益。目前针对计算机违规使用检测和保密检查的软件和工具比较多,但针对复印机这类智能办公设备的安全检查技术鲜有较少,以日本为代表的复印机生产厂商对复印机技术的绝对垄断和知识产权的保护使得公开的研究并不多见。通过查询发现目前国内外很少见到有专门针对复印机安全性研究的报告与研究资料,在国内外公开场合也未发现相关技术。数码复印机产品更新速度很快,同一品牌生产厂商的不同系列的数码复印机其功能的实现、采用的文件系统类型及数据的编码方式都有可能不同,甚至同一系列不同型号之间的机器其实现方式都有可能不同,这就导致了对复印机设备安全防护的工具研究难度和工作量增大。



技术实现要素:

本发明提供一种复印机离线数据提取解析方法及装置,实现复印机离线数据的提取解析,便于对复印机工作数据的安全防护和监管,防止信息泄密,具有较强的应用前景。

按照本发明所提供的设计方案,一种复印机离线数据提取解析方法,包含如下内容:

a)读取设备固件代码,并通过逆向分析获取设备目标文件,该目标文件包含工作数据的存储规律;

b)分析并提取设备文件格式,获取设备中用户操作系统;

c)结合文件格式及存储规律,获取设备存储数据的编码信息,并提取设备中有参考价值的离线数据。

上述的,a)读取设备固件代码中,首先识别设备存储部件,并通过逆向分析设备固件代码的组成结构及逻辑功能,获取包含设备存储信息存储规律的目标文件,所述存储规律至少包含固件代码编码方式。

上述的,a)中,利用反汇编工具对设备存储部件进行反汇编和/或反编译,得到其反汇编和/或反编译代码,获取设备目标文件,该目标文件还包含扫描、复印及打印三个工作状态下的存储协议、通信协议及控制命令。

优选的,针对设备存储部件,通过编程器读取存储固件代码的闪存芯片,获取闪存芯片中二进制文件;通过分析二进制文件及二进制文件所使用的嵌入式系统,得到该二进制文件的文件系统;使用反汇编工具将二进制文件机器代码转换为可读的目标代码,对目标代码进行分析,提取出该目标代码存储规律,该目标代码存储规律包含目标代码逻辑功能结构。

上述的,b)获取设备中用户操作信息,包含通过提取出的设备目标文件识别设备运行操作系统类型。

优选的,识别设备运行操作系统类型,包含固件模块剥离解析,操作系统类型识别及内核版本识别,其中,固件模块剥离解析中,读取设备目标文件的二进制固件映像,结合模块特征数据库进行地址范围划分,将不同模块映像进行转存;操作系统类型识别中,对操作系统类型识别特征进行抽取,结合类型识别特征库进行筛选,排除不符合筛选特征的操作系统,依据筛选出的操作系统与固件模块待识别操作系统之间的相似度排序结果,获取操作系统类型识别结果;内核版本识别中,利用静态库函数的函数匹配,将待识别内核与标准内核的函数进行匹配,利用函数匹配数量计算两者之间相似度来识别内核版本。

优选的,将不同模块映像进行转存中,针对压缩文件,采用解压缩软件进行最大程度还原;针对文件系统映像,根据文件系统存储机制对文件系统内部数据进行解析释放。

优选的,利用静态库函数的函数匹配,首先加载内核函数库签名,对内核函数使用flirt函数匹配方法进行首轮匹配;然后,对未匹配成功的函数,通过结构化匹配方法进行函数结构化匹配;最终,对匹配成功的所有函数进行收集,计算待识别内核与标准内核之间的相似度,选出静态库函数中与待识别内核相似度最高的内核作为识别结果。

上述的,c)中,根据文件格式解析出设备存储体中所有可析出文件,恢复设备存储体中有参考价值数据,该有参考价值数据类型包含图片类型、设备用户日志和设备工作日志。

更进一步地,本发明还提供一种复印机离线数据提取解析装置,包含:分析模块、获取模块和提取模块,其中,

分析模块,用于读取设备固件代码,并通过逆向分析获取设备目标文件,该目标文件包含工作数据的存储规律;

获取模块,用于分析并提取设备文件格式,获取设备中用户操作系统;

提取模块,用于结合文件格式及存储规律,获取设备存储数据的编码信息,并提取设备中有参考价值的离线数据。

本发明的有益效果:

本发明从设备固件代码、存储格式、操作系统、文件结构、文件特征等方面进行分析,实现离线数据的提取与解析,不仅能够提取解析图片数据,还可以对用户日志、工作日志等有价值的数据进行提取;不仅可以实现不同系列复印机的不同的图片数据存储格式提取解析,也可以实现设备离线数据提取和解析;解决现有复印机离线数据提取与解析的难题,可以作为复印机数据采集模块单独使用;也可以嵌入到复印机安全保密检查系统中,作为检查和分析的对象,为系统提供深度数据提取,为检测复印机是否违规复印或扫描涉密敏感信息起到了数据支持作用,为被检查单位数码复印机作业的保密检查、作业安全管控和作业信息防泄密等发挥重要作用和重大保密效益,具有较强的应用前景。

附图说明:

图1为实施例中离线数据提取解析方法流程图;

图2为实施例中离线数据提取解析装置示意图;

图3为实施例中二进制文件读取结果示意之一;

图4为实施例中二进制文件读取结果示意之二;

图5为实施例中文件解析获取到的文件系统示意;

图6为实施例中设备存储体识别结果示意;

图7为实施例中设备存储体部分分区展开示意;

图8为实施例中设备存储体部分分区展开示意;

图9为实施例中设备存储体部分分区展开示意;

图10为实施例中设备存储体部分分区展开示意。

具体实施方式:

为使本发明的目的、技术方案和优点更加清楚、明白,下面结合附图和技术方案对本发明作进一步详细的说明。

复印机安全保密离线检查是指安全拆卸复印机存储部件,通过存储部件外部接口连接计算机,启动数码复印机保密检查系统对复印机存储部件直接进行保密检查。针对当前复印机设备安全防护工作,本发明实施例中,参见图1所示,提供一种复印机离线数据提取解析方法,包含如下内容:

s101)读取设备固件代码,并通过逆向分析获取设备目标文件,该目标文件包含工作数据的存储规律;

s102)分析并提取设备文件格式,获取设备中用户操作系统;

s103)结合文件格式及存储规律,获取设备存储数据的编码信息,并提取设备中有参考价值的离线数据。

从设备固件代码、存储格式、操作系统、文件结构、文件特征等方面进行分析,实现离线数据的提取与解析,不仅能够提取解析图片数据,还可以对用户日志、工作日志等有价值的数据进行提取。

进一步地,本发明实施例中,读取设备固件代码,首先识别设备存储部件,并通过逆向分析设备固件代码的组成结构及逻辑功能,获取包含设备存储信息存储规律的目标文件,所述存储规律至少包含固件代码编码方式。

进一步地,本发明实施例中,利用idapro、hex-rays等工具对设备存储部件进行反汇编和/或反编译,得到其反汇编和/或反编译代码,获取设备目标文件,该目标文件还包含扫描、复印及打印三个工作状态下的存储协议、通信协议及控制命令。

进一步地,本发明实施例中,针对设备存储部件,通过编程器读取存储固件代码的闪存芯片,获取闪存芯片中二进制文件;通过分析二进制文件及二进制文件所使用的嵌入式系统,得到该二进制文件的文件系统;使用反汇编工具将二进制文件机器代码转换为可读的目标代码,对目标代码进行分析,提取出该目标代码存储规律,该目标代码存储规律包含目标代码逻辑功能结构。

进一步地,本发明实施例中,获取设备中用户操作信息,包含通过提取出的设备目标文件识别设备运行操作系统类型。

进一步地,本发明实施例中,识别设备运行操作系统类型,包含固件模块剥离解析,操作系统类型识别及内核版本识别,其中,固件模块剥离解析中,读取设备目标文件的二进制固件映像,结合模块特征数据库进行地址范围划分,将不同模块映像进行转存;操作系统类型识别中,对操作系统类型识别特征进行抽取,结合类型识别特征库进行筛选,排除不符合筛选特征的操作系统,依据筛选出的操作系统与固件模块待识别操作系统之间的相似度排序结果,获取操作系统类型识别结果;内核版本识别中,利用静态库函数的函数匹配,将待识别内核与标准内核的函数进行匹配,利用函数匹配数量计算两者之间相似度来识别内核版本。

进一步地,本发明实施例中,将不同模块映像进行转存中,针对压缩文件,采用解压缩软件进行最大程度还原;针对文件系统映像,根据文件系统存储机制对文件系统内部数据进行解析释放。

进一步地,本发明实施例中,利用静态库函数的函数匹配,首先加载内核函数库签名,对内核函数使用flirt函数匹配方法进行首轮匹配;然后,对未匹配成功的函数,通过结构化匹配方法进行函数结构化匹配;最终,对匹配成功的所有函数进行收集,计算待识别内核与标准内核之间的相似度,选出静态库函数中与待识别内核相似度最高的内核作为识别结果。

进一步地,本发明实施例中,根据文件格式解析出设备存储体中所有可析出文件,恢复设备存储体中有参考价值数据,该有参考价值数据类型包含图片类型、设备用户日志和设备工作日志。

更进一步地,本发明实施例中还提供一种复印机离线数据提取解析装置,参见图2所示,包含:分析模块101、获取模块102和提取模块103,其中,

分析模块101,用于读取设备固件代码,并通过逆向分析获取设备目标文件,该目标文件包含工作数据的存储规律;

获取模块102,用于分析并提取设备文件格式,获取设备中用户操作系统;

提取模块103,用于结合文件格式及存储规律,获取设备存储数据的编码信息,并提取设备中有参考价值的离线数据。

下面结合京瓷数码复印机(以kyocera3500i为例),对本发明实施例中技术方案做进一步解释说明:

通过对京瓷复印机kyocera3500i后背板进行拆解,其存储部件为西数2.5寸160g硬盘,使用目前比较主流的sata(serialata)接口。该品牌复印机属于典型的嵌入式设备,是由嵌入式处理器、固件代码和存储部件构成的嵌入式系统。识别复印机的存储部件是固件代码的破解前提。针对控制芯片中固件代码的反汇编、反编译和静态模拟与动态仿真等逆向分析,分析出该设备固件代码的组成结构与逻辑功能,破解出该设备保存信息的编码方式。部分数字复印机管理和控制存储的芯片以powerpc或arm为主,有的数字复印机厂商则采用自己的专用芯片,芯片上没有任何标志和说明信息,可采用idapro、hex-rays等工具对常用办公设备的控制芯片进行反汇编和反编译,得到其反汇编、反编译代码,破解出其存储协议、通信协议、控制命令等内容。随着技术的不断创新,数码复印机的保密技术也越来越完善。京瓷复印机硬盘中的数据是以特殊格式储存的,不可以直接查看。为了解析这些数据,需要读取复印机的固件代码。固件代码读取分析过程如下:

将存储固件代码的flash芯片从主板上拆下来。京瓷主板上共有3片flash芯片:正面是2片norflash,分别是:u12lh_2f00003.040.nor、u22lh_2f00003.040.nor,;反面是1片nandflash:u32lh_2f00003.040.nand。嵌入式固件以编译好的二进制文件(bin)的形式存储于flash芯片中,使用编程器读取flash芯片中的数据。从每个芯片中读取出一个bin文件,分别命名为:noru1.bin、noru2.bin、nandu3.bin。使用二进制编辑软件读取文件,例如,图3所示的是noru1.bin的内容,图4所示的是nandu3.bin的内容。由于数据多数存储在nandflash中,因此重点解析nandu3.bin。通过分析固件文件的格式,得知nandu3.bin使用的嵌入式文件系统为cramfs,对该文件解压后得到文件系统如图5所示。解析出的文件大多是二进制形式的机器代码,对于它们进行分析必须首先还原代码,转换成一种具有可读性的代码表现形式。使用反汇编工具加人工分析的方法,首先使用反汇编工具将二进制形式的机器代码转换为可读的powerpc汇编代码,然后依靠人工来对目标代码进行解读和分析,对反汇编出来的汇编级代码进行流程分析,记录改变代码流程的有关信息,最后整理并提取出目标代码的逻辑功能结构。

在固件代码读取出来之后,接下来的工作就是确定该数码复印机所运行的操作系统类型。通过调研发现,市面上销售的数码复印机所采用的操作系统绝大部分为嵌入式操作系统(embeddedoperatingsystem,简称eos)。嵌入式操作系统作为数码复印机的管理核心,负责复印机的全部软、硬件资源的分配与调度工作,是支持数码复印机正常工作的系统软件。针对嵌入式操作系统的逆向解析是针对数码复印机固件中的操作系统进行剥离并对其结构、模块及代码进行逆向解析的过程。对数码复印机固件中的操作系统类型识别又分为固件模块剥离与逆向解析、操作系统类型识别和内核版本识别三个步骤。需要用到针对各种现有嵌入式操作系统分析生成的固件模块特征库、操作系统类型识别特征库和内核版本识别特征库。

模块的剥离与逆向解析是对固件进行基本的逆向处理,该过程的处理对象为前期读取出来的未知二进制固件映像,结合模块特征数据库的支持对二进制固件映像中的主要模块进行地址范围划分,在此基础上将不同模块映像转存。针对压缩文件,采用适当的解压缩软件进行最大程度的还原;针对文件系统映像,根据文件系统存储机制设计文件系统还原方法对文件系统内部数据进行解析及释放。

操作系统类型识别主要针对固件所使用操作系统类型进行判定。经过固件代码的基本逆向处理,可以获得有关操作系统的信息,针对逆向解析的数据及文件,首先进行操作系统类型识别特征的抽取;在获得类型识别特征的基础上,结合类型识别特征库进行操作系统筛选,从而排除不符合筛选特征的操作系统;计算筛选出的操作系统与固件中的待识别操作系统之间的相似程度,将相似度进行排序,通过相似度对筛选结果进行进一步判定得到识别结果。

内核版本识别主要针对逆向处理过程剥离出的操作系统内核映像的版本进行识别。利用静态库函数识别中函数匹配思想,将待识别内核与标准内核的函数进行匹配,利用函数匹配数量计算二者之间相似度来评判内核版本。函数匹配采用idapro的flirt库函数识别方法,结合已有的内核版本识别特征数据库,首先加载内核函数库签名,对内核函数使用flirt函数匹配方法进行首轮匹配;然后使用改进结构化匹配方法进行函数结构化匹配,对未匹配成功的函数进行进一步匹配;最终对匹配成功的所有函数进行收集,计算待识别内核与标准内核之间的相似程度,选出特征库中与待识别内核相似度最高的内核作为识别结果。

在判定出数字复印机所使用的嵌入式操作系统后,就要进一步对其文件系统类型做识别,根据其文件系统的定义格式解析出保存在存储体中的所有可析出文件。嵌入式操作系统的文件系统类型有多种,如cramfs、ext2、ext3、reiserfs、ufs、ufs2、xfs等。按照结构划分,有基于目录、压缩的文件系统;按照文件存储方式划分,有基于索引、链式结构的文件系统;按照文件系统运行的方式和存在形式划分,有基于硬盘、flash、内存的文件系统。不同品牌的复印机硬盘存储数据时采用的文件系统不一样,而且与其使用的操作系统紧密相关。经过对京瓷复印机硬盘的详细分析,已经确定kyocera(京瓷)3500i硬盘使用的是xfs文件系统。

在确定kyocera(京瓷)3500i的硬盘文件系统之后,通过使用针对xfs文件系统的解析文件系统工具就可以解析其硬盘上的所有数据和文件,从而恢复硬盘上有价值的数据。根据解析出来的文件系统分区来进行详细分析。图6显示了kyocera(京瓷)3500i硬盘被文件系统工具识别出来的分区个数,从hdb[298.09gb,fiexd]开始(hda[298.09gb,fiexd]是本机物理硬盘标识),一共有hdb5-hdb15共11个分区,每个分区下面又有下一级文件夹和一些文件,其中对代码破解和信息擦除有利用价值的分区是hdb6、hdb10、hdb14这三个分区里面的内容。hdb6分区展开后如图7,可以看到有两个文件夹和以00000001_开始命名的10个文件,经过分析发现主要是与扫描数据相关的一些数据文件、预览文件和属性文件。hdb10分区展开后如图8,其中主要存储用户日志数据、工作日志数据等。hdb14分区中的jbps目录下主要存储与各类打印数据相关的文件夹和文件,展开如图9所示。hdb14分区中的recp目录下主要存储与复印数据相关的文件夹和文件,展开如图10所示。表1是对各个分区及其文件夹中有价值文件数据进行解析后列表显示的结果。

表1kyocera(京瓷)3500i硬盘文件系统解析案例

表1kyocera(京瓷)3500i硬盘文件系统解析案例(续表1)

京瓷复印机扫描文件存储目录为hdb6\user\root\b000x\d000x(其中b000x中x表示文件夹序号,d000x中x表示文件序号),从中提取出主数据文件为0000000x_page_image.dat(其中x表示文件页数序号),属性文件为0000000x_page_attr.dat。提取到原始图片数据之后,还不能直接打开显示,需要进行进一步解析工作。经实验分析可知京瓷复印机的图片数据为jpg格式,且是分割成多个条状图像块进行不连续分条存储的。首先从属性文件中提取图片的块数及每一块图像的高、宽,然后在数据文件中按照jpg格式的文件特征逐条进行图像块的抽取,最后把多条图像块按抽取顺序拼接成一个完整的图片。至此就完成了一幅图片的解析。

针对京瓷数码复印机,本发明实施例中从固件代码、存储格式、操作系统、文件结构、文件特征等方面进行了详细分析,提实现了离线数据的提取与解析,不仅提取解析了图片数据,还对用户日志、工作日志等有价值的数据进行了提取。京瓷不同系列复印机的图片数据存储格式是有差别的,通过本发明技术方案实现离线数据的提取和解析;解决了京瓷复印机的离线数据提取与解析,本方法的实施步骤也为其它品牌复印机离线数据的获取提供了参考。本发明中技术方案,可以作为复印机数据采集模块单独使用,也可以嵌入到复印机安全保密检查系统中为系统提供深度数据提取,作为检查和分析的对象,为检测复印机是否违规复印或扫描了涉密敏感信息起到了数据支持作用。为被检查单位数码复印机作业保密检查、作业安全管控和作业信息防泄密发挥重要作用和重大保密效益,具有较强的实用性和应用前景。

除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。

基于上述的方法,本发明实施例还提供一种服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的方法。

基于上述的方法,本发明实施例还提供一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现上述的方法。

本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1