一种Access加密数据库检测方法、终端设备及存储介质技术

技术编号:30642630 阅读:39 留言:0更新日期:2021-11-04 00:42
本发明专利技术涉及一种Access加密数据库检测方法、终端设备及存储介质,该方法中包括:读取Access加密数据库文件,并对Access加密数据库文件的文件签名进行校验,当校验通过时,从Access加密数据库文件中提取数据库的引擎版本,并根据引擎版本的不同类别分别通过不同的方式判断数据库是否加密。本发明专利技术根据Access加密数据库文件特征、Access版本间加密算法差异进行检测,具有无组件依赖、检测速度快、准确率高的特点。高的特点。高的特点。

【技术实现步骤摘要】
一种Access加密数据库检测方法、终端设备及存储介质


[0001]本专利技术涉及数据库检测领域,尤其涉及一种Access加密数据库检测方法、终端设备及存储介质。

技术介绍

[0002]Microsoft Office Access(简称Access)是微软发布的结合了Microsoft JET数据库引擎、图形用户界面和软件开发组件(ODBC、DAO、ADO等)的关系型数据库管理系统,是Microsoft Office重要的系统程序之一。Access拥有强大的数据存储、处理、统计分析的能力,以Microsoft JET数据库和Microsoft SQ LServer数据库为主要开发对象,利用完备的数据库开发组件,能够便捷高效地开发业务系统软件,极大减少用户和开发人员的学习成本。因此Access被广泛应用于中小型企业的生产管理、销售管理、库存管理等企业管理系统。在一些中小型网站和Web应用系统上,Access作为存储数据的数据库,具有相当可观的市场占有率。
[0003]Access主要有3个重大版本差异:以Microsoft JET3为数据库引擎的Acce ss97,以Microsoft JET4为数据库引擎的Access2000~2003,以及Access2007及其后续版本。Access97和Access2000~2003主要以mdb为文件后缀名,密钥经过简单加密算法加密并存储在文件中,易恢复还原,安全性较低;Access2007及其后续版本主要以accdb为文件后缀名,改进了密钥产生方式,调整了对文件数据的加密算法(主要采用RC4算法),解决了数据安全性低的问题。
[0004]Access易学易用,广泛存在于中小型企业的Web应用系统。在取证分析领域,网络攻击等新型事件的数量比例正日益升高,新型事件往往涉及海量原始文件,研究识别Access加密数据库对提升取证效率具有积极影响。在加密文件检测分类方向上,对Access加密数据库的检测主要是通过微软提供的ODBC、DAO等开发接口进行试探性访问,并根据返回错误码判断加密状态。这种检测方式存在严重依赖组件API、容易漏判误判、检测速度慢等问题。

技术实现思路

[0005]为了解决上述问题,本专利技术提出了一种Access加密数据库检测方法、终端设备及存储介质。
[0006]具体方案如下:
[0007]一种Access加密数据库检测方法,包括:读取Access加密数据库文件,并对Access加密数据库文件的文件签名进行校验,当校验通过时,从Access加密数据库文件中提取数据库的引擎版本,并根据引擎版本的不同类别分别通过不同的方式判断数据库是否加密。
[0008]进一步的,当引擎版本的类别为JET版本时,判断数据库是否加密的方法为:从Access加密数据库文件偏移0x42位置处读取密码密文,并将密码密文恢复为密码明文,如果密码明文为空值,则判定数据库未加密;否则判定数据库加密。
[0009]进一步的,当引擎版本的类别为JET版本下的JET3版本时,将密码密文恢复为密码明文的方法为:将密码密文数组直接与未加密时的特征数组进行异或运算。
[0010]进一步的,当引擎版本的类别为JET版本下的JET4版本时,将密码密文恢复为密码明文的方法为:首先从Access加密数据库文件偏移0x66位置处提取short值,并将short值与原始固定的Magic值进行异或运算,得到新Magic值;然后将密码密文数组直接与未加密时的特征数组依次进行异或运算,检查每个异或运算的结果,当结果大于255时与新Magic值进行异或运算。
[0011]进一步的,当引擎版本的类别为Access2007及后续版本时,判断数据库是否加密的方法为:从Access加密数据库文件偏移0x298位置处读取加密状态信息数据块,如果加密状态信息数据块中的内容全为0x00时,则判定数据库未加密,否则判定数据库加密。
[0012]一种Access加密数据库检测终端设备,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本专利技术实施例上述的方法的步骤。
[0013]一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本专利技术实施例上述的方法的步骤。
[0014]本专利技术采用如上技术方案,根据Access加密数据库文件特征、Access版本间加密算法差异进行检测,具有无组件依赖、检测速度快、准确率高的特点。
附图说明
[0015]图1所示为Access数据库的文件结构示意图。
[0016]图2所示为Access2003文件头信息示意图。
[0017]图3所示为Access2013文件头信息示意图。
[0018]图4所示为Access2007加密状态信息示意图。
[0019]图5所示为Access2013加密状态信息示意图。
[0020]图6所示为Access2013加密的表结构和记录示意图。
[0021]图7所示为本专利技术实施例一方法的流程图。
具体实施方式
[0022]为进一步说明各实施例,本专利技术提供有附图。这些附图为本专利技术揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本专利技术的优点。
[0023]现结合附图和具体实施方式对本专利技术进一步说明。
[0024]实施例一:
[0025]经过研究发现,Access加密数据库的文件结构划分为文件头信息、加密状态信息、表结构和记录这3个部分,文件头信息与加密状态信息一起共4096个字节。组成部分关系如图1所示。
[0026](1)文件头信息:保存了Access加密数据库文件的基本信息,主要包括文件签名、数据库引擎版本(JET3:0;JET4:1;accdb2007:0x02;accdb2010及更高版本:0x0103)、密码密文(Access97、Access2000~2003)等信息。存放密码密文的起始为0x42。如图2和图3所
Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field

Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述Access加密数据库检测终端设备的控制中心,利用各种接口和线路连接整个Access加密数据库检测终端设备的各个部分。
[0039]所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述Access本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Access加密数据库检测方法,其特征在于,包括:读取Access加密数据库文件,并对Access加密数据库文件的文件签名进行校验,当校验通过时,从Access加密数据库文件中提取数据库的引擎版本,并根据引擎版本的不同类别分别通过不同的方式判断数据库是否加密。2.根据权利要求1所述的Access加密数据库检测方法,其特征在于:当引擎版本的类别为JET版本时,判断数据库是否加密的方法为:从Access加密数据库文件偏移0x42位置处读取密码密文,并将密码密文恢复为密码明文,如果密码明文为空值,则判定数据库未加密;否则判定数据库加密。3.根据权利要求2所述的Access加密数据库检测方法,其特征在于:当引擎版本的类别为JET版本下的JET3版本时,将密码密文恢复为密码明文的方法为:将密码密文数组直接与未加密时的特征数组进行异或运算。4.根据权利要求2所述的Access加密数据库检测方法,其特征在于:当引擎版本的类别为JET版本下的JET4版本时,将密码密文恢复为密码明文的方法为:首先从Access加密数...

【专利技术属性】
技术研发人员:刘志祥张峰苏再添陈俊珊黄志炜李国庆
申请(专利权)人:厦门市美亚柏科信息股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1