一种BIOS级系统文件的度量方法转让专利

申请号 : CN201110195921.4

文献号 : CN102270229B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 沈昌祥王晓晨金刚杜中平郑志蓉曾颖明蔡谊陈志浩傅子奇黄强刘毅

申请人 : 中国人民解放军海军计算技术研究所中国航天科工集团第二研究院七〇六所

摘要 :

一种BIOS级系统文件度量方法,包括读取硬盘MBR;定位读取超级块扇区数据;计算得到块大小和块组inode(i节点)节点数;计算得到组描述符表起始扇区和扇区数;剖析待度量系统文件的路径;读取待度量系统文件所在父目录的扇区数据;计算读取待度量系统文件所在块的扇区号;计算文件数据所在起始扇区号;输出文件的二进制镜像数据,进行完整性度量;对应于BIOS级系统文件度量方法的系统文件定位索引模块,实现系统文件完整性度量。有效保证了操作系统启动之前核心系统文件的安全性。本发明通用性强,采取可靠有效的算法实现二进制镜像文件的解析与定位,保证系统文件度量的稳定性和高效性。进一步增强了系统的安全性。

权利要求 :

1.一种BIOS级系统文件的度量方法,包括文件系统结构分析模块(1)、文件数据存储解析模块(2)、待度量系统文件路径解析模块(3)和系统文件定位索引模块(4);其特征在于包括以下步骤:步骤1:读取硬盘主引导记录MBR;

对应于BIOS级系统文件度量方法的文件系统结构分析模块(1),调用系统中断读取硬盘第一个扇区的数据,进行解析,判定主分区的文件系统;

步骤2:定位读取超级块扇区数据;

对应于BIOS级系统文件度量方法的文件系统结构分析模块(1),确认文件系统为EXT2、EXT3和EXT4中的一种后,调用系统中断读取硬盘超级块的扇区数据;

步骤3:计算得到块大小和块组inode节点数;

对应于BIOS级系统文件度量方法的文件数据存储解析模块(2),在超级块特定偏移位置读取数据,计算得到块的大小和每个块组包含的inode节点数;

步骤4:计算得到组描述符表起始扇区和扇区数;

对应于BIOS级系统文件度量方法的文件数据存储解析模块(2),根据块的大小,计算得到组描述符表的起始扇区和扇区数,并调用系统中断读取组描述符表的扇区数据;

步骤5:剖析待度量系统文件的路径;

对应于BIOS级系统文件度量方法的待度量系统文件路径解析模块(3),从根目录开始一层一层解析,定位到待度量系统文件的父目录,直至定位到待度量系统文件为止;

步骤6:读取待度量系统文件所在父目录的扇区数据;

对应于BIOS级系统文件度量方法的文件系统结构分析模块(1),读取待度量系统文件所在父目录的扇区数据,与待度量文件名或目录名进行匹配,从而定位到相应的偏移位置;

步骤7:计算读取待度量系统文件所在块的扇区号;

对应于BIOS级系统文件度量方法的系统文件定位索引模块(4),获取待度量系统文件所对应的inode节点号,计算得到块组号和块组内的节点号,根据块组描述符表,进行转换计算,得到系统文件所在块的扇区号;

步骤8:计算文件数据所在起始扇区号;

对应于BIOS级系统文件度量方法的系统文件定位索引模块(4),根据所得的块组内的节点号和每个inode节点数占用128字节的特性,得到该系统文件所在块,进行转换计算,得到文件数据所在起始扇区号;

步骤9:输出文件的二进制镜像数据,进行完整性度量;

对应于BIOS级系统文件度量方法的系统文件定位索引模块(4),根据文件数据所在起始扇区号,按块输出文件的二进制镜像数据,调用可信密码算法,与基准值进行匹配,实现系统文件完整性度量。

说明书 :

一种BIOS级系统文件的度量方法

技术领域

[0001] 本发明涉及一种BIOS级系统文件度量方法,特别是一种面向Linux操作系统的BIOS级文件度量方法。

背景技术

[0002] 随着计算机的日益普及以及互联网技术的飞速发展,计算机安全控制技术也在不断进步。目前,单机环境下的计算机安全控制技术一般实现于操作系统层面,其实施手段通常有两种,一种是身份认证机制增强,其实现途径是替换操作系统基于口令的认证方式,改为基于硬件介质的双因素认证方式,如智能卡、USBKey等;另一种是安全防护机制增强,其实现途径是在操作系统层面增加防火墙来限制互联网上非法用户的攻击,增加防火墙来防止合法用户进行硬盘数据窃取等。
[0003] 虽然在操作系统层面增加的安全控制措施能够在一定程度上满足人们的安全需求,但同时也暴露出一些问题。一方面,很多计算机并没有在BIOS(Basic Input/Output System)启动阶段设置身份认证过程,因此,非法用户只需要通过简单的技术,如光驱引导、U盘引导等方式,就能绕开操作系统的安全控制策略进入计算机,获取硬盘中存储的数据文件;另一方面,虽然很多计算机在BIOS系统中设置了基于口令的身份认证手段,但仍然存在一些缺陷,如:某些合法用户仍然可以通过可引导设备绕开操作系统的安全控制策略进行硬盘数据窃取;非法用户通过CMOS放电等简单操作即可清除口令;很多计算机厂家对BIOS系统设置了超级口令,这种超级口令也是一种潜在的安全隐患。
[0004] 另外,如果操作系统的核心系统文件被篡改或删除,也会对系统的安全构成直接威胁,造成信息泄露的可能。而在BIOS系统下无法完成对文件的直接读取,因为文件系统驱动只存在于操作系统之上,因此需要在BIOS中实现对文件的识别来完成对操作系统核心文件的完整性度量功能。

发明内容

[0005] 本发明目的在于提供一种基于BIOS的系统文件度量方法,通过对系统文件的二进制镜像文件解析、定位和度量,解决计算机在操作系统启动之前缺乏有效的安全控制措施的问题。
[0006] 本发明是采用以下技术手段实现的:
[0007] 一种BIOS级系统文件度量方法,包括文件系统结构分析模块、文件数据存储解析模块、待度量系统文件路径解析模块和系统文件定位索引模块。其中文件系统结构分析包括EXT2文件系统结构分析子模块、EXT3文件系统结构分析子模块和EXT4文件系统结构分析子模块。
[0008] 一种BIOS级系统文件度量方法的具体步骤为:
[0009] 第一步:读取硬盘MBR(主引导记录);
[0010] 对应于BIOS级系统文件度量方法的文件系统结构分析模块,调用系统中断读取硬盘第一个扇区的数据,进行解析,判定主分区的文件系统;
[0011] 第二步:定位读取超级块扇区数据;
[0012] 对应于BIOS级系统文件度量方法的文件系统结构分析模块,确认文件系统为EXT2、EXT3和EXT4中的一种后,调用系统中断读取硬盘超级块的扇区数据;
[0013] 第三步:计算得到块大小和块组inode(i节点)节点数;
[0014] 对应于BIOS级系统文件度量方法的文件数据存储解析模块,在超级块特定偏移位置读取数据,计算得到块的大小和每个块组包含的inode节点数;
[0015] 第四步:计算得到组描述符表起始扇区和扇区数;
[0016] 对应于BIOS级系统文件度量方法的文件数据存储解析模块,根据块的大小,计算得到组描述符表的起始扇区和扇区数,并调用系统中断读取组描述符表的扇区数据。
[0017] 第五步:剖析待度量系统文件的路径;
[0018] 对应于BIOS级系统文件度量方法的待度量系统文件路径解析模块,从根目录开始一层一层解析,定位到待度量系统文件的父目录,直至定位到待度量系统文件为止。
[0019] 第六步:读取待度量系统文件所在父目录的扇区数据;
[0020] 对应于BIOS级系统文件度量方法的文件系统结构分析模块,读取待度量系统文件所在父目录的扇区数据,与待度量文件名或目录名进行匹配,从而定位到相应的偏移位置。
[0021] 第七步:计算读取待度量系统文件所在块的扇区号;
[0022] 对应于BIOS级系统文件度量方法的系统文件定位索引模块,获取待度量系统文件所对应的inode节点号,计算得到块组号和块组内的节点号,根据块组描述符表,进行转换计算,得到系统文件所在块的扇区号。
[0023] 第八步:计算文件数据所在起始扇区号;
[0024] 对应于BIOS级系统文件度量方法的系统文件定位索引模块,根据所得的块组内的节点号和每个inode占用128字节的特性,得到该文件所在块,进行转换计算,得到文件数据所在起始扇区号。
[0025] 第九步:输出文件的二进制镜像数据,进行完整性度量;
[0026] 对应于BIOS级系统文件度量方法的系统文件定位索引模块,根据文件数据所在起始扇区号,按块输出文件的二进制镜像数据,调用可信密码算法,与基准值进行匹配,实现系统文件完整性度量。
[0027] 至此,通过以上各个步骤,有效保证了操作系统启动之前核心系统文件的安全性。
[0028] 本发明与现有技术相比,具有以下明显的优势和有益效果:
[0029] 1、本发明通用性强,既可应用于普通计算机,也可应用于服务器、嵌入式终端等具有BIOS系统的计算机;
[0030] 2、本发明采取可靠有效的算法实现二进制镜像文件的解析与定位,保证系统文件度量的稳定性和高效性;
[0031] 3、本发明实施于BIOS启动阶段,能够保证操作系统启动之前核心系统文件的安全性,同时不妨碍用户在操作系统层面继续实施其他的安全控制手段,进一步增强系统的安全性。

附图说明

[0032] 图1为一种BIOS级系统文件度量方法的流程图;
[0033] 其中,1为文件系统结构分析模块,2为文件数据存储解析模块,3.待度量系统文件路径解析模块,4为系统文件定位索引模块。

具体实施方式

[0034] 以下结合说明书附图对本发明的具体实施例加以说明:
[0035] 请参阅图1所示,一种BIOS级系统文件度量方法,包括文件系统结构分析模块1、文件数据存储解析模块2、待度量系统文件路径解析模块3和系统文件定位索引模块4。其中文件系统结构分析模块1包括EXT2文件系统结构分析子模块、EXT3文件系统结构分析子模块和EXT4文件系统结构分析子模块。
[0036] 一种基于BIOS的计算机安全控制方法的具体步骤为:
[0037] 第一步:读取硬盘MBR
[0038] 对应于BIOS级系统文件度量方法的文件系统结构分析模块1,调用系统中断读取硬盘第一个扇区的数据,进行解析,判定主分区的文件系统;
[0039] 第二步:定位读取超级块扇区数据
[0040] 对应于BIOS级系统文件度量方法的文件系统结构分析模块1,确认文件系统为EXT2、EXT3和EXT4中的一种后,调用系统中断读取硬盘超级块的扇区数据;
[0041] 第三步:计算得到块大小和块组inode节点数
[0042] 对应于BIOS级系统文件度量方法的文件数据存储解析模块2,在超级块特定偏移位置读取数据,计算得到块的大小和每个块组包含的inode节点数;
[0043] 第四步:计算得到组描述符表起始扇区和扇区数
[0044] 对应于BIOS级系统文件度量方法的文件数据存储解析模块2,根据块的大小,计算得到组描述符表的起始扇区和扇区数,并调用系统中断读取组描述符表的扇区数据。
[0045] 第五步:剖析待度量系统文件的路径
[0046] 对应于BIOS级系统文件度量方法的待度量系统文件路径解析模块3,从根目录开始一层一层解析,定位到待度量系统文件的父目录,直至定位到待度量系统文件为止。
[0047] 第六步:读取待度量系统文件所在父目录的扇区数据
[0048] 对应于BIOS级系统文件度量方法的文件系统结构分析模块1,读取待度量系统文件所在父目录的扇区数据,与待度量文件名(或目录名)进行匹配,从而定位到相应的偏移位置。
[0049] 第七步:计算读取待度量系统文件所在块的扇区号
[0050] 对应于BIOS级系统文件度量方法的系统文件定位索引模块4,获取待度量系统文件所对应的inode节点号,计算得到块组号和块组内的节点号,根据块组描述符表,进行转换计算,得到系统文件所在块的扇区号。
[0051] 第八步:计算文件数据所在起始扇区号
[0052] 对应于BIOS级系统文件度量方法的系统文件定位索引模块4,根据所得的块组内的节点号和每个inode占用128字节的特性,得到该文件所在块,进行转换计算,得到文件数据所在起始扇区号。
[0053] 第九步:输出文件的二进制镜像数据,进行完整性度量
[0054] 对应于BIOS级系统文件度量方法的系统文件定位索引模块4,根据文件数据所在起始扇区号,按块输出文件的二进制镜像数据,调用可信密码算法,与基准值进行匹配,实现系统文件完整性度量。
[0055] 至此,通过以上各个步骤,有效保证了操作系统启动之前核心系统文件的安全性。