首页 / 专利库 / 软件 / 用户代理 / 操作系统安全远程加载方法

操作系统安全远程加载方法

阅读:132发布:2020-05-08

专利汇可以提供操作系统安全远程加载方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种 操作系统 安全远程加载方法,包括:(1)待加载计算机的合法性验证步骤;(2)操作系统的远程加载步骤;(3)加载过程中,操作系统的完整性测量步骤。本发明针对目前安全 软件 无法解决操作系统级恶意程序的问题,能够在操作系统启动之前对操作系统进行完整性度量,从而保证启动前的环境安全。,下面是操作系统安全远程加载方法专利的具体信息内容。

1.一种操作系统安全远程加载方法,其特征在于,包括:
(1)待加载计算机的合法性验证步骤;
(2)操作系统的远程加载步骤;在步骤(2)中,包括:
(201)待加载计算机的合法性验证通过后,DHCP服务器为待加载计算机分配动态IP地址,并向待加载计算机提供TFTP服务器的地址;
(202)待加载计算机从TFTP服务器获取操作系统启动文件并启动加载过程,所述操作系统启动文件包括GRUB的配置文件BOOTX64.conf、UEFI的启动镜像文件BOOTX64.efi以及UEFI启动菜单工具splash.xpm.gz;
(203)待加载计算机加载UEFI驱动并与FTP服务器建立网络连接,从FTP服务器获取操作系统和操作系统的SHA1值;
(204)将操作系统的控制权交给PEI内核,所述控制权转移首先将计算机从实模式转换到包含模式,并且在UEFI固件中寻找BFV并从BFV中找到SEC镜像,然后调用SEC入口函数,在SEC的函数中首先初始化栈和IDT和EFI_SEC_PEI_HAND_OFF,初始化完成后将EFI_SEC_PEI_HAND_OFF传递给PEI,此时控制权移交给PEI;
(3)加载过程中,操作系统的完整性测量步骤。
2.根据权利要求1所述的操作系统安全远程加载方法,其特征在于,在步骤(1)中,包括:
(101)在DHCP服务器上建立可信列表,所述可信列表用于保存可信任的系统数据、可信任的主机信息以及可信任的用户程序信息;
(102)待加载计算机启动网卡驱动,并向DHCP服务器发出IP地址请求;DHCP服务器对待加载计算机进行身份验证,将其接收到的请求信息与所述可信列表中的信息进行对比,如果相同则表示待加载计算机可信,继续步骤(2),否则不可信并终止加载过程。
3.根据权利要求2所述的操作系统安全远程加载方法,其特征在于,所述IP地址请求包括:在基于TCP/IP协议的无盘启动Rom接口获得控制权之前进行自我测试,测试所得的信息包括主机的物理地址、CPU、内存、网卡的信息,所述信息被封装为DHCP报文,所述DHCP报文被发送到DHCP服务器。
4.根据权利要求3所述的操作系统安全远程加载方法,其特征在于,在步骤(102)中,所述的对比步骤包括:
(102a)DHCP服务器读取DHCP报文的Chaddr字段,从其中读取出待加载计算机的硬件地址;
(102b)读取DHCP报文的Options字段,获取主机的标识符;
(102c)将(102a)和(102b)中获取到的内容进行Hash运算,并将运算后的值与可信列表保存的值进行对比。
5.根据权利要求1所述的操作系统安全远程加载方法,其特征在于,在步骤(3)中,通过UEFI固件启动完整性测量代理,所述完整性测量的步骤具体包括:
(301)启动TPM芯片,将系统上的PCR清零;
(302)计算CRTM的SHA1值,将得到的结果与PCR的值做或运算;
(303)使用步骤(302)中得到的值依次与GRUB的SHA1值、操作系统的SHA1值进行或运算,并将该值保存到安全度量列表中;
(304)将当前获取的GRUB和操作系统代码与CRTM做SHA1运算,并与安全度量列表中的值进行比较,如果相同,则操作系统进入启动阶段,否则中断操作系统的加载。

说明书全文

操作系统安全远程加载方法

技术领域

[0001] 本发明涉及操作系统的远程加载方法,更具体地说,涉及一种操作系统安全远程加载方法。

背景技术

[0002] 在计算飞速发展的今天,数据的安全问题也越来越严重,在使用安全软件保证计算机安全的同时,对于操作系统加载的安全性保护也是一项很重要的任务。目前实现操作系统安全保护的技术已经非常丰富,然而对于操作系统加载环境和操作系统加载过程以及远程加载的安全性保护措施仍然不够完善。在远程加载操作系统的过程中,操作系统的安全性和完整性都难以保证,同时由于网络传输的不安全,可能导致操作系统在传输过程中被篡改,一旦操作系统被篡改,有可能造成客户机被劫持等诸多问题。
[0003] 目前计算机对恶意软件所采取的方法是在系统中加入恶意代码防范技术,这类技术主要是通过特征码扫描、完整性检查、访问控制技术等对系统中运行的程序代码进行扫描和监控,从而阻止恶意代码的破坏性行为。恶意代码为了能够长期地在系统中停留,保持对系统的控制权,会利用各种隐藏技术逃避安全防范软件的查杀,甚至一些恶意软件使用系统级的Rootkit技术在系统加载过程中,抢在安全软件之前启动,从而获取操作系统内核的控制权,破坏操作系统内核,甚至终止安全软件的执行,从而使操作系统处于不受保护的状态。而这些恶意软件很难被现有的安全防范技术所识别。
[0004] 随着恶意软件的快速演变,恶意软件正在将启动路径作为首选攻击目标。此类攻击很难防范,因为恶意软件可以禁用反恶意软件的产品,彻底阻止加载反恶意软件。现有的远程加载模式,存在恶意程序攻击的危险,无法对服务器的安全性进行验证,从而存在被恶意服务器攻击的危险。
[0005] 而借助安全启动体系结构及其建立的信任根,通过确保在加载操作系统之前,仅能够执行已签名并获得认证的“已知安全”代码和启动加载程序,可以防止用户在根路径中执行恶意代码。在统一可扩展固件接口(Unified Extensible Firmware Interface,UEFI)协议中,安全启动作为其一种功能,支持固件对组件的可靠性验证,并且原始设备制造商可以通过其平台自定义证书和管理级别来对固件进行自定义,从而满足客户的需求。同时在UEFI中,支持固件实施安全策略,UEFI的安全启动协议是实现跨平台和固件安全的基础,与体系结构无关,在执行固件映像之前,安全启动基于公钥基础结构(Public Key Infrastructure,PKI)流程来验证固件映像,帮助降低遭受启动加载程序攻击的险。但是,尽管在UEFI启动阶段将安全启动作为可选功能纳入到操作系统启动过程中,但是没有从服务器的度来对操作系统进行完整性度量,因此仍然存在操作系统被篡改的危险。

发明内容

[0006] 针对现有技术的缺点,本发明的目的在于提供一种操作系统安全远程加载方法,在加载过程中保证操作系统的安全性和完整性。
[0007] 为了实现上述目的,本发明的技术方案为:一种操作系统安全远程加载方法,包括:(1)待加载计算机的合法性验证步骤;(2)操作系统的远程加载步骤;(3)加载过程中,操作系统的完整性测量步骤。
[0008] 作为本发明的一种改进,在步骤(1)中,包括:(101)在DHCP服务器上建立可信列表,所述可信列表用于保存可信任的系统数据、可信任的主机信息以及可信任的用户程序信息;(102)待加载计算机启动网卡驱动,并向DHCP服务器发出IP地址请求;DHCP服务器对待加载计算机进行身份验证,将其接收到的请求信息与所述可信列表中的信息进行对比,如果相同则表示待加载计算机可信,继续步骤(2),否则不可信并终止加载过程。
[0009] 作为本发明的一种改进,所述IP地址请求包括:在基于TCP/IP协议的无盘启动Rom接口获得控制权之前进行自我测试,测试所得的信息包括主机的物理地址、CPU、内存、网卡的信息,所述信息被封装为DHCP报文,所述DHCP报文被发送到DHCP服务器。
[0010] 作为本发明的一种改进,在步骤(102)中,所述的对比步骤包括:(102a)DHCP服务器读取DHCP报文的Chaddr字段,从其中读取出待加载计算机的硬件地址;(102b)读取DHCP报文的Options字段,获取主机的标识符;(102c)将(102a)和(102b)中获取到的内容进行Hash运算,并将运算后的值与可信列表保存的值进行对比。
[0011] 作为本发明的一种改进,在步骤(2)中,包括:(201)待加载计算机的合法性验证通过后,DHCP服务器为待加载计算机分配动态IP地址,并向待加载计算机提供TFTP服务器的地址;(202)待加载计算机从TFTP服务器获取操作系统启动文件并启动加载过程,所述操作系统启动文件包括GRUB的配置文件BOOTX64.conf、UEFI的启动镜像文件BOOTX64.efi以及UEFI启动菜单工具splash.xpm.gz;(203)待加载计算机加载UEFI驱动并与FTP服务器建立网络连接,从FTP服务器获取操作系统和操作系统的SHA1值;(204)将操作系统的控制权交给PEI内核,所述控制权转移首先将计算机从实模式转换到包含模式,并且在UEFI固件中寻找BFV并从BFV中找到SEC镜像,然后调用SEC入口函数,在SEC的函数中首先初始化栈和IDT和EFI_SEC_PEI_HAND_OFF,初始化完成后将EFI_SEC_PEI_HAND_OFF传递给PEI,此时控制权移交给PEI。
[0012] 作为本发明的一种改进,在步骤(3)中,通过UEFI固件启动完整性测量代理,所述完整性测量的步骤具体包括:(301)启动TPM芯片,将系统上的PCR清零;(302)计算CRTM的SHA1值,将得到的结果与PCR的值做或运算;(303)使用步骤(302)中得到的值依次与GRUB的SHA1值、操作系统的SHA1值进行或运算,并将该值保存到安全度量列表中;(304)将当前获取的GRUB和操作系统代码与CRTM做SHA1运算,并与安全度量列表中的值进行比较,如果相同,则操作系统进入启动阶段,否则中断操作系统的加载。
[0013] 与现有技术相比,本发明针对目前安全软件无法解决操作系统级恶意程序的问题,能够在操作系统启动之前对操作系统进行完整性度量,从而保证启动前的环境安全;另外,针对目前远程加载无法验证服务器的问题,本发明从UEFI固件入手,在UEFI固件中写入验证程序,在启动过程中根据安全芯片(Trusted Platform Module,TPM)的可信根建立可信链,从而解决保证系统加载过程中的安全。附图说明
[0014] 下面结合附图和具体实施方式,对本发明的结构及其有益技术效果进行详细说明。
[0015] 图1为本发明操作系统安全远程加载方法流程图
[0016] 图2为本发明操作系统安全远程加载方法所使用的硬件连接示意图。
[0017] 图3为本发明的UEFI框架执行流程图。

具体实施方式

[0018] 为了使本发明的发明目的、技术方案及其有益技术效果更加清晰,以下结合附图和具体实施方式,对本发明进行进一步详细说明。应当理解的是,本说明书中描述的具体实施方式仅仅是为了解释本发明,并非为了限定本发明。
[0019] 本实施例中,TFTP服务器和FTP服务器使用Ubuntu14.04作为操作系统,数据库为MySQL;客户端(待加载计算机)为台式机,待加载的操作系统为Windows7操作系统。
[0020] 请参阅图1、图2和图3,本实施例操作系统安全远程加载方法,包括以下步骤:
[0021] 步骤1.在配置了动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)的服务器上建立可信列表,所述可信列表用于保存可信任的系统数据、可信任的主机信息以及可信任的用户程序信息。
[0022] 所述DHCP服务器是指配置了动态主机配置协议的服务器,本实例中是一台安装了Windows 2000Server/Advanced Server系统的计算机,该服务器控制一段IP范围,客户机登录该服务器将会自动获取IP地址。
[0023] 步骤2.待加载计算机启动网卡驱动,并向DHCP服务器发出地址请求请求,所述请求内容包括待加载主机的物理地址(Medium Access Control,MAC)和硬件信息,硬件信息主要包括网卡的MAC信息。IP地址请求的方法:在基于TCP/IP协议的无盘启动Rom接口(Bootrom)获得控制权之前会进行自我测试,测试所得信息即包括主机的物理地址、CPU、内存、网卡等信息,这些信息会被封装为DHCP报文。然后Bootprom将报文发送到DHCP服务器,如果服务器收到该要求并对客户端进行身份验证,验证成功会送回BOOTP/DHCP回应,内容包括客户端的IP地址,预设网关,及开机映像文件。否则,服务器会忽略这个要求。
[0024] 步骤3.DHCP服务器对步骤2中的信息进行验证,验证过程如下:
[0025] A1.读取DHCP报文的Chaddr字段,从其中读取出客户端的硬件地址;
[0026] A2.读取Options字段,获取主机的标识符;
[0027] A3.将A1和A2中获取到的内容进行Hash运算,并将运算后的值与步骤1中可信列表保存的值进行对比,如果相同则表示客户端可信,转到步骤4,否则客户端不可信,终止加载过程。
[0028] 步骤4.DHCP服务器为待加载计算机分配动态IP地址,并向待加载计算机提供TFTP服务器的地址;所述TFTP服务器是指配置了简单文本传输协议(Trivial File Transfer Protocol,TFTP)的服务器,主要用来为操作系统的加载提供引导文件。
[0029] 步骤5.待加载计算机从TFTP服务器获取操作系统启动文件并启动加载过程,所述操作系统启动文件包括统一引导装入器(GRand Unified Bootloader,GRUB)的配置文件BOOTX64.conf、UEFI的启动镜像文件BOOTX64.efi以及UEFI启动菜单工具splash.xpm.gz。
[0030] 步骤6.待加载计算机加载UEFI驱动并与FTP服务器建立网络连接,从FTP服务器获取操作系统和操作系统的SHA1值;
[0031] 步骤7:将操作系统的控制权交给预置可扩展固件接口初始化(Pre-EFI Initialization,PEI)内核,所述控制权转移首先将计算机从实模式转换到包含模式,并且在UEFI固件中寻找启动固件卷(Boot Firmware Volume,BFV)并从BFV中找到SEC镜像,然后调用安全(Security,SEC)入口函数,在SEC的函数中首先初始化栈和IDT和EFI_SEC_PEI_HAND_OFF,初始化完成后将EFI_SEC_PEI_HAND_OFF传递给PEI,此时控制权移交给PEI。
[0032] 步骤8:通过UEFI固件启动完整性测量代理,对步骤4的操作系统进行完整性测量,所述完整性测量具体步骤如下:
[0033] A1.启动TPM芯片,将系统上的PCR清零。
[0034] A2.计算CRTM的SHA1值,将得到的结果与平台状态寄存器(PCR)的值做或运算;
[0035] A3.使用A2中得到的值依次与GRUB的SHA1值、操作系统的SHA1值进行或运算,并将该值保存到安全度量列表中。
[0036] A4.将当前获取的GRUB和操作系统代码与可信度量根(Core Root of Trust for Measurement,CRTM)做SHA1运算,并与安全度量列表中的值进行比较,如果相同,则转到步骤9,否则中断操作系统的加载。
[0037] 步骤9:进入启动阶段,该阶段以后与传统操作系统启动方式相同,本说明书不再赘述。
[0038] 本发明是一种基于UEFI的操作系统安全远程加载方法,通过UEFI固件写入的方式验证远程操作系统的完整性,来保证操作系统的安全加载。本发明能够保证待启动计算机的安全性,现有的技术对待启动计算机的验证,仅仅通过其网卡的MAC地址进行比较,因此存在着被恶意程序攻击的危险,本发明在DHCP服务器中建立可信列表,从而仅为列表中的计算机提供IP服务;能够保证操作系统加载过程中的安全性,本发明采用了TPM可信链技术,在操作系统加载的过程中,对操作系统进行完整性度量;能够提高加载速度,采用UEFI固件验证技术,解决现有BIOS中存在的加载速度慢的问题。
[0039] 从操作系统的加载方式来看:对于远程加载方式的实现主要是通过PXE的方式来实现,通过PXE的方式对操作系统的加载主要是通过加载操作系统镜像,通过远程主机安装的方法对客户端提供服务支持;本发明从UEFI的角度,通过加载UEFI固件从而直接加载操作系统,在UEFI固件程序之上将操作系统通过流式加载到本地。从安全性角度而言:目前操作系统的加载仅仅是通过启动完成后的恶意代码检测工具来完成对操作系统运行的检测,尽管在UEFI启动阶段将安全性启动作为可选功能纳入到操作系统启动过程中,但是仍然没有从服务器的角度来对操作系统进行完整性度量,因此仍然存在操作系统被篡改的危险;;本发明主要通过远程服务器提供操作系统摘要,并且在加载过程中对操作系统进行完整性度量,保证了操作系统的完整性和安全性。
[0040] 根据上述说明书的揭示和教导,本发明所属领域的技术人员还可以对上述实施方式进行适当的变更和修改。因此,本发明并不局限于上面揭示和描述的具体实施方式,对本发明的一些修改和变更也应当落入本发明的权利要求的保护范围内。此外,尽管本说明书中使用了一些特定的术语,但这些术语只是为了方便说明,并不对本发明构成任何限制。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈