一种基于UEFI的软件全过程保护系统和方法.pdf

上传人:xia****o6 文档编号:1900124 上传时间:2018-07-23 格式:PDF 页数:17 大小:902KB
返回 下载 相关 举报
摘要
申请专利号:

CN201410457600.0

申请日:

2014.09.10

公开号:

CN104573417A

公开日:

2015.04.29

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):G06F 21/12申请公布日:20150429|||实质审查的生效IPC(主分类):G06F 21/12申请日:20140910|||公开

IPC分类号:

G06F21/12(2013.01)I; G06F21/51(2013.01)I; G06F21/52(2013.01)I

主分类号:

G06F21/12

申请人:

中电科技(北京)有限公司

发明人:

陈小春; 孙亮; 张超; 朱立森

地址:

100083北京市海淀区卧虎桥甲6号工作区(南)太极大厦13层北侧

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

本发明涉及一种基于UEFI的软件全过程保护系统和方法,属于计算机安全技术领域。系统包括驱动模块、客户端主程序和服务端。在开机启动阶段,在固件层的驱动模块对操作系统中的客户端主程序进行检测,若被篡改或删除,将会进行恢复;在操作系统运行阶段,客户端主程序将对被保护程序进行保护。在操作系统运行阶段,下载器子模块将在操作系统中启动,检测客户端主程序是否存在。若客户端主程序不存在则进行下载和启动。其后将检测被保护软件是否存在,不存在则进行下载和启动。本发明能解决在更换硬盘、Flash等存储空间的情况下,无法恢复被保护程序和动态绑定被保护软件的问题。

权利要求书

权利要求书
1.  一种基于UEFI的软件全过程保护系统,其特征在于,包括位于固件层的驱动模块、位于操作系统层的客户端主程序和服务端;
所述驱动模块的作用是将包含的下载器子模块安装在内存或硬盘中,并保证随操作系统自启动,驱动模块是符合UEFI规范的,驻守在固件层的驱动程序;驱动模块包括环境加载和安装子模块、度量检测子模块和下载器子模块;环境加载和安装子模块的功能是在固件层判断硬盘或Flash是否已经写入了下载器子模块,如果没有写入,则将下载器子模块写入到文件系统中,当下载器子模块写入到操作系统后,运行于UEFI固件中Runtime阶段的下载器子模块度量检测子模块,将会持续检测下载器子模块是否处于正确运行状态,如果发现下载器子模块异常,将会重新写入并启动下载器子模块;
所述客户端主程序的作用是对被保护软件提供文件完整性度量、运行状态监测的安全保护;客户端主程序包括通信接口子模块、加/解密子模块、软件安全守护子模块、被保护软件接口子模块;其中,通信接口子模块用于与服务端建立网络连接,进行安全通信;加/解密子模块能够对客户端和服务端之间传输的数据进行加密和解密;软件安全守护子模块能够对被保护软件执行服务端配置的软件保护策略;被保护软件接口子模块为与被保护软件的数据交互提供接口,用于监控被保护软件的运行状态是否正确;
所述服务端的作用是提供被保护软件的推送、制定安全保护策略;服务端包括软件仓库子模块、软件保护策略管理子模块和网络通信子模块;其中,软件仓库子模块用于存储被保护软件,并可以提供版本管理功能;软件保护策略管理子模块为被保护软件提供了保护策略,网络通信子模块用于提供服务端与客户端主程序建立安全网络连接。

2.  根据权利要求1所述的基于UEFI的软件全过程保护方法,其特征在于, 其实现步骤如下:
步骤一、计算设备开机启动;
步骤二、进入UEFI引导过程,加载相应的驱动程序;
步骤三、加载硬盘驱动模块,识别硬盘及相应分区,度量检测子模块在每个操作系统所在分区检测下载器子模块是否存在;若下载器子模块不存在,则写入下载器子模块及下载器子模块随操作系统自启动的所需文件;
步骤四、启动操作系统;
步骤五、检测下载器子模块文件完整性和是否处于正常运行状态,若下载器子模块的文件被篡改或被关闭,将立即重新安装和启动下载器子模块;
步骤六、下载器子模块将会检测客户端主程序是否存在,如果客户端主程序不存在,将对客户端主程序进行恢复;
步骤七、客户端主程序开始运行,与下载器子模块进行绑定,开启进程保护;
步骤八、客户端主程序将根据配置好的策略,检测被保护程序是否完整、且处于运行状态;如果被保护程序未运行或运行状态异常,则通过客户端主程序进行下载,并进行安装和恢复;
步骤九、被保护程序开始运行;
步骤十、客户端主程序将保护被保护软件的进程,防止其被关闭;
步骤十一、程序运行结束。

3.  根据权利要求2所述的基于UEFI的软件全过程保护方法,其特征在于,在所述步骤三中,在固件层需要检测下载器子模块是否已经写入硬盘,包括以下步骤:
步骤1、在固件层加载硬盘驱动模块;
步骤2、识别硬盘及相应分区。
步骤3、加载文件系统,识别每个分区的文件系统;
步骤4、检测系统分区中是否已经安装了下载器子模块,如果没有安装,则构建安装下载器子模块的运行环境,在操作系统中写入下载器子模块;如果有多操作系统时,将在每个安装系统的分区中构建安装下载器子模块的运行环境;
步骤5、继续引导流程;
步骤6、操作系统成功启动,下载器子模块写入文件系统后,需要在操作系统中进行自启动;
步骤7、检测下载器子模块文件是否完整,是否启动;如果发现下载器子模块文件被篡改、停止启动,将会立即进行重新安装下载器子模块;启动下载器子模块;
步骤8、检测下载器子模块是否处于正常的运行状态;如果发现下载器子模块文件被篡改、停止启动,将会立即进行重新安装下载器子模块;启动下载器子模块;
步骤9、检测是否接到停止检测的指令,如果没有检测到,则在下一个周期,继续循环执行步骤7到步骤9;如果检测到程序停止运行指令,则转入步骤10;
步骤10、程序运行结束。

4.  根据权利要求2所述的基于UEFI的软件全过程保护方法,其特征在于,在所述步骤六中,下载器子模块将会对客户端主程序文件进行完整性检测;如果文件被篡改或不存在,将对客户端主程序进行恢复,包括以下步骤:
步骤1、操作系统启动;
步骤2、下载器子模块在操作系统启动之后,也随之自启动;
步骤3、下载器子模块检测客户端主程序是否存在;如果不存在,则需要从 网络或本地恢复客户端主程序,并进行启动;
步骤4、下载器子模块对客户端主程序的文件进行完整性度量;
步骤5、下载器子模块根据完整度量检测结果判断客户端主程序是否存在、完整;如果客户端主程序文件被篡改或发现异常,则需要从网络或本地恢复客户端主程序,并进行启动;
步骤6、下载器子模块将会检测客户端主程序是否运行;如果客户端主程序文件未能启动,则需要从网络或本地恢复客户端主程序,并进行启动;
步骤7、下载器子模块将会检测客户端主程序运行状态是否正确;如果客户端主程序运行状态异常,则需要从网络或本地恢复客户端主程序,并进行启动;
步骤8、下载器子模块检测是否有停止运行的指令;如果没有检测到停止运行指令;如果检测套停止运行指令,则转入步骤9;
步骤9、程序停止运行。

5.  根据权利要求2所述的基于UEFI的软件全过程保护方法,其特征在于,在所述步骤八中,客户端主程序将对第三方程序文件进行完整性检测;如果文件被篡改或不存在,将对第三方程序程序进行恢复,包括以下步骤:
步骤1、客户端主程序启动;
步骤2、通过网络或接入本地的存储介质自动更新被保护软件策略;被保护软件策略的主要内容包括:计算设备的唯一设备标识、需要保护的软件列表、软件的保护方式、软件的安装和启动路径等;
步骤3、客户端主程序文件将会根据被保护软件策略,进行不同级别的保护;检测被保护主程序文件是否存在,如果存在则进入步骤4;如果不存在,则通过网络,通过服务器下载和安装被保护程序文件;或从本地硬盘或其他存储介质中进行恢复,并根据配置文件重启被保护程序;
步骤4、客户端主程序对被保护软件进行完整性度量;
步骤5、客户端主程序根据完整性度量结果,判断被保护程序的文件是否完整;如果文件完整,则转入步骤6;如果被保护程序文件被篡改或删除,则通过网络,通过服务器下载和安装被保护程序文件;或从本地硬盘或其他存储介质中进行恢复,并根据配置文件重启被保护程序;
步骤6、客户端主程序检测被保护软件是否运行;如果被保护程序运行,则转入步骤7;如果被保护程序未能运行,则根据配置文件重启被保护程序;
步骤7、客户端主程序检测被保护软件运行状态是否正确;如果被保护程序正常运行,则转入步骤7;如果被保护程序运行状态异常,则通过网络,通过服务器下载和安装被保护程序文件;或从本地硬盘或其他存储介质中进行恢复,并根据配置文件重启被保护程序;
步骤8、检测是否收到停止运行的指令;如果收到停止运行的指令则转入步骤9;如果未收到停止运行指令,循环执行步骤7;
步骤9、程序停止运行。

说明书

说明书一种基于UEFI的软件全过程保护系统和方法
技术领域
本发明属于计算机安全技术领域,涉及一种基于UEFI的固件,在从开机到操作系统运行的过程中对软件进行保护的系统和方法。
背景技术
目前,在计算机安全领域,对软件或进程的保护方法主要是通过操作系统中运行的守护进程,对被保护软件是否处于合法的运行状态进行检测。目前,也有通过外围设备,接收操作系统中被保护软件发送验证数据的方法,检测其是否处于合法的运行状态。
在操作系统中,通过软件方法保护特定应用有着以下的不足,主要包括:
(1)在计算设备更换硬盘、Flash等存储被保护程序的装置后,将不能自动地重新安装和恢复被保护程序。
(2)在对硬盘、Flash等被保护程序的存储空间进行重新分区后,计算设备将不能自动地重新安装和恢复被保护程序。
(3)在对硬盘、Flash等被保护程序的存储空间进行格式化后,计算设备将不能自动地重新安装和恢复被保护程序。
(4)当被保护软件不属于操作系统自带软件的情况下,在计算设备重新安装操作系统后,将不能自动地重新安装和恢复被保护程序。
(5)不能阻止合法的终端使用用户非法地卸载本终端上运行的特定应用软件。
(6)当终端的操作系统中的特定软件文件被病毒或木马篡改和删除后,将 不能合法地启动和运行。
(7)不能在操作系统启动前,确定特定的软件文件是否存在。如该软件(如审计软件等)必须在操作系统启动后运行,则软件文件被删除后,将不能正常启动和运行。
(8)不能远程地、动态地绑定新的软件应用,并保证其在操作系统中的合法运行。
统一可扩展固件接口(Unified Extensible Firmware Interface,UEFI)是一种固件接口规范,主要分为SEC、PEI、DXE、BDS、TSL、RT、AL共7个阶段,能够初始化硬件、引导操作系统,并在操作系统启动后,Runtime Service仍可以驻留内存。因此,UEFI可以在操作系统启动、运行、关闭的全过程中存在并可以与操作系统进行交互。
发明内容
本发明的目的是为了克服已有技术的缺陷,提出一种基于UEFI的软件全过程保护系统和方法,能解决在更换硬盘、Flash等存储空间的情况下,无法恢复被保护程序和动态绑定被保护软件的问题。
一种基于UEFI的软件全过程保护系统,系统包括位于固件层的驱动模块、位于操作系统层的客户端主程序和服务端。
所述驱动模块的主要作用是将包含的下载器子模块安装在内存或硬盘中,并保证随操作系统自启动。驱动模块是符合UEFI规范的,驻守在固件层的驱动程序。驱动模块的包括了环境加载和安装子模块、度量检测子模块和下载器子模块;环境加载和安装子模块的主要功能是在固件层判断硬盘或Flash(等其他类型的计算机存储介质)是否已经写入了下载器子模块。如果没有写入,则将 下载器子模块写入到文件系统中,当下载器子模块写入到操作系统后,运行于UEFI固件中Runtime阶段的下载器子模块度量检测子模块,将会持续检测下载器子模块是否处于正确运行状态。如果发现下载器子模块异常,将会重新写入并启动下载器子模块。
所述客户端主程序的主要作用是对被保护软件提供文件完整性度量、运行状态监测等安全保护。客户端主程序包括通信接口子模块、加/解密子模块、软件安全守护子模块、被保护软件接口子模块几个部分。其中,通信接口子模块用于与服务端建立网络连接,进行安全通信。加/解密子模块能够对客户端和服务端之间传输的数据进行加密和解密。软件安全守护子模块能够对被保护软件执行服务端配置的软件保护策略。被保护软件接口子模块为与被保护软件的数据交互提供接口,用于监控被保护软件的运行状态是否正确。
所述服务端的主要作用是提供被保护软件的推送、制定安全保护策略。服务端主要包括了软件仓库子模块、软件保护策略管理子模块、网络通信子模块几个部分。其中,软件仓库子模块用于存储被保护软件,并可以提供版本管理功能。软件保护策略管理子模块为被保护软件提供了保护策略,如是否提供进程保护、补丁更新等保护功能。网络通信子模块用于提供服务端与客户端主程序建立安全网络连接。
一种基于UEFI的软件全过程保护方法,其实现步骤如下:
步骤一、计算设备开机启动;
步骤二、进入UEFI引导过程,加载相应的驱动程序;
步骤三、加载硬盘驱动模块,识别硬盘及相应分区,度量检测子模块在每个操作系统所在分区检测下载器子模块是否存在;若下载器子模块不存在,则写入下载器子模块及下载器子模块随操作系统自启动的所需文件;
步骤四、启动操作系统;
步骤五、检测下载器子模块文件完整性和是否处于正常运行状态,若下载器子模块的文件被篡改或被关闭,将立即重新安装和启动下载器子模块;
步骤六、下载器子模块将会检测客户端主程序是否存在,如果客户端主程序不存在,将对客户端主程序进行恢复;
步骤七、客户端主程序开始运行,与下载器子模块进行绑定,开启进程保护;
步骤八、客户端主程序将根据配置好的策略,检测被保护程序是否完整、且处于运行状态;如果被保护程序未运行或运行状态异常,则通过客户端主程序进行下载,并进行安装和恢复;
步骤九、被保护程序开始运行;
步骤十、客户端主程序将保护被保护软件的进程,防止其被关闭;
步骤十一、程序运行结束。
在所述步骤三中,在固件层需要检测下载器子模块是否已经写入硬盘,其主要包括以下步骤:
步骤1、在固件层加载硬盘驱动模块;
步骤2、识别硬盘及相应分区。
步骤3、加载文件系统,识别每个分区的文件系统;
步骤4、检测系统分区中是否已经安装了下载器子模块,如果没有安装,则构建安装下载器子模块的运行环境,在操作系统中写入下载器子模块;如果有多操作系统时,将在每个安装系统的分区中构建安装下载器子模块的运行环境;
步骤5、继续引导流程;
步骤6、操作系统成功启动,下载器子模块写入文件系统后,需要在操作系 统中进行自启动;比如针对Windows操作系统,可以采用写入特定的自启动文件夹,或者在引导阶段写入注册表的方法;
步骤7、检测下载器子模块文件是否完整,是否启动;如果发现下载器子模块文件被篡改、停止启动,将会立即进行重新安装下载器子模块;启动下载器子模块;
步骤8、检测下载器子模块是否处于正常的运行状态;如果发现下载器子模块文件被篡改、停止启动,将会立即进行重新安装下载器子模块;启动下载器子模块;
步骤9、检测是否接到停止检测的指令,如果没有检测到,则在下一个周期,继续循环执行步骤7到步骤9;如果检测到程序停止运行指令,则转入步骤10;
步骤10、程序运行结束。
在所述步骤六中,下载器子模块将会对客户端主程序文件进行完整性检测;如果文件被篡改或不存在,将对客户端主程序进行恢复,其主要包括以下步骤,如图5所示:步骤1、操作系统启动;
步骤2、下载器子模块在操作系统启动之后,也随之自启动;
步骤3、下载器子模块检测客户端主程序是否存在;如果不存在,则需要从网络或本地恢复客户端主程序,并进行启动;
步骤4、下载器子模块对客户端主程序的文件进行完整性度量;
步骤5、下载器子模块根据完整度量检测结果判断客户端主程序是否存在、完整;如果客户端主程序文件被篡改或发现异常,则需要从网络或本地恢复客户端主程序,并进行启动;
步骤6、下载器子模块将会检测客户端主程序是否运行;如果客户端主程序文件未能启动,则需要从网络或本地恢复客户端主程序,并进行启动;
步骤7、下载器子模块将会检测客户端主程序运行状态是否正确;如果客户端主程序运行状态异常,则需要从网络或本地恢复客户端主程序,并进行启动;
步骤8、下载器子模块检测是否有停止运行的指令;如果没有检测到停止运行指令;如果检测套停止运行指令,则转入步骤9;
步骤9、程序停止运行。
在所述步骤八中,客户端主程序将对第三方程序文件进行完整性检测;如果文件被篡改或不存在,将对第三方程序程序进行恢复,其主要包括以下步骤,如图6示:步骤1、客户端主程序启动;
步骤2、通过网络或接入本地的存储介质自动更新被保护软件策略;被保护软件策略的主要内容包括:计算设备的唯一设备标识、需要保护的软件列表、软件的保护方式、软件的安装和启动路径等;
步骤3、客户端主程序文件将会根据被保护软件策略,进行不同级别的保护;检测被保护主程序文件是否存在,如果存在则进入步骤4;如果不存在,则通过网络,通过服务器下载和安装被保护程序文件;或从本地硬盘或其他存储介质中进行恢复,并根据配置文件重启被保护程序;
步骤4、客户端主程序对被保护软件进行完整性度量;
步骤5、客户端主程序根据完整性度量结果,判断被保护程序的文件是否完整;如果文件完整,则转入步骤6;如果被保护程序文件被篡改或删除,则通过网络,通过服务器下载和安装被保护程序文件;或从本地硬盘或其他存储介质中进行恢复,并根据配置文件重启被保护程序;
步骤6、客户端主程序检测被保护软件是否运行;如果被保护程序运行,则转入步骤7;如果被保护程序未能运行,则根据配置文件重启被保护程序;
步骤7、客户端主程序检测被保护软件运行状态是否正确;如果被保护程序 正常运行,则转入步骤7;如果被保护程序运行状态异常,则通过网络,通过服务器下载和安装被保护程序文件;或从本地硬盘或其他存储介质中进行恢复,并根据配置文件重启被保护程序;
步骤8、检测是否收到停止运行的指令;如果收到停止运行的指令则转入步骤9;如果未收到停止运行指令,循环执行步骤7;
步骤9、程序停止运行。
有益效果:
1、本发明通过符合UEFI接口规范的固件模块(驱动模块),能够在开机过程、操作系统运行过程中,保证被保护程序不会被篡改、关闭。通过驱动模块监控和恢复客户端主程序,通过客户端主程序恢复被保护程序,能够逐级建立程序信任和保护。如果发现被保护程序被篡改,客户端主程序将能够通过网络和本地存储介质进行自动恢复和启动。
2、本发明在计算设备更换硬盘、Flash等存储被保护程序的装置后,能够自动地重新安装和恢复被保护程序;在对硬盘、Flash等被保护程序的存储空间进行重新分区后,计算设备将能够自动地重新安装和恢复被保护程序;在对硬盘、Flash等被保护程序的存储空间进行格式化后,计算设备能够自动地重新安装和恢复被保护程序。
3、当被保护软件不属于操作系统自带软件的情况下,在计算设备重新安装操作系统后,仍能够自动地重新安装和恢复被保护程序。
4、本发明能够阻止合法的终端使用用户非法地卸载本终端上运行的特定应用软件。当终端使用用户希望卸载被保护应用时,如果与安全守护平台服务端安全保护策略相冲突,将无法卸载被保护应用。及时更换硬盘或采用重装系统等方式,也仍然会被重新恢复。
5、当终端的操作系统中的特定软件文件被病毒或木马篡改和删除后,将通过安全守护平台自动地进行恢复、启动和运行。
6、本发明能够在开机启动后,操作系统启动前,确定特定的软件文件是否存在;能够通过安全守护平台远程地、动态地绑定新的软件应用,并保证其在操作系统中的合法运行。
7、本发明还可以用于在固件层对下载器子模块以外的文件进行完整性检测和恢复。
8、本发明主要对软件进行两个阶段的保护:开机启动阶段和操作系统运行阶段。在开机启动阶段,主要是对运行程序文件的完整性进行保护,在固件层对操作系统中的下载器子模块进行检测,如果发现下载器子模块被篡改或删除,将会进行自动恢复。在操作系统运行阶段,下载器子模块将在操作系统中自动启动,检测客户端主程序是否存在。如果客户端主程序的文件不存在或文件被篡改,则通过网络在服务端进行下载和启动。客户端主程序启动后,将检测被保护软件文件是否完整,是否处于正常的运行状态。如果运行状态异常,则对被保护软件进行自动恢复和启动,能解决在更换硬盘、Flash等存储空间的情况下,无法恢复被保护程序和动态绑定被保护软件的问题。
附图说明
图1为软件安全守护平台总体框架图。
图2为软件安全守护平台驱动模块框架图。
图3为基于UEFI安全软件全过程保护方法流程图。
图4为固件层安装和检测下载器子模块流程图。
图5为操作系统层检测和安装客户端主程序流程图。
图6为客户端主程序对第三方程序进行保护流程图。
具体实施方式
如附图1所示,本发明提供了一种基于UEFI的软件全过程保护系统,系统包括位于固件层的驱动模块、位于操作系统层的客户端主程序和服务端。
所述驱动模块的主要作用是将包含的下载器子模块安装在内存或硬盘中,并保证随操作系统自启动。驱动模块是符合UEFI规范的,驻守在固件层的驱动程序。驱动模块的包括了环境加载和安装子模块、度量检测子模块和下载器子模块;环境加载和安装子模块的主要功能是在固件层判断硬盘或Flash(等其他类型的计算机存储介质)是否已经写入了下载器子模块。如果没有写入,则将下载器子模块写入到文件系统中,如图2所示。当下载器子模块写入到操作系统后,运行于UEFI固件中Runtime阶段的下载器子模块度量检测子模块,将会持续检测下载器子模块是否处于正确运行状态。如果发现下载器子模块异常,将会重新写入并启动下载器子模块。
所述客户端主程序的主要作用是对被保护软件提供文件完整性度量、运行状态监测等安全保护。客户端主程序包括通信接口子模块、加/解密子模块、软件安全守护子模块、被保护软件接口子模块几个部分。其中,通信接口子模块用于与服务端建立网络连接,进行安全通信。加/解密子模块能够对客户端和服务端之间传输的数据进行加密和解密。软件安全守护子模块能够对被保护软件执行服务端配置的软件保护策略。被保护软件接口子模块为与被保护软件的数据交互提供接口,用于监控被保护软件的运行状态是否正确。
所述服务端的主要作用是提供被保护软件的推送、制定安全保护策略。服务端主要包括了软件仓库子模块、软件保护策略管理子模块、网络通信子模块几个部分。其中,软件仓库子模块用于存储被保护软件,并可以提供版本管理功能。软件保护策略管理子模块为被保护软件提供了保护策略,如是否提供进 程保护、补丁更新等保护功能。网络通信子模块用于提供服务端与客户端主程序建立安全网络连接。
本发明在应用前,需要在计算机终端先行部署,可以选用的方法包括:
a)在UEFI核心镜像中添加驱动模块。
b)在UEFI核心镜像中挂载Option ROM模块。
c)在可信卡等其他外围设备中挂载驱动模块。
一种基于UEFI的软件全过程保护方法,如图3所示,其实现步骤如下:
步骤一、计算设备开机启动;
步骤二、进入UEFI引导过程,加载相应的驱动程序;
步骤三、加载硬盘驱动模块,识别硬盘及相应分区,度量检测子模块在每个操作系统所在分区检测下载器子模块是否存在;若下载器子模块不存在,则写入下载器子模块及下载器子模块随操作系统自启动的所需文件;
步骤四、启动操作系统;
步骤五、检测下载器子模块文件完整性和是否处于正常运行状态,若下载器子模块的文件被篡改或被关闭,将立即重新安装和启动下载器子模块;
步骤六、下载器子模块将会检测客户端主程序是否存在,如果客户端主程序不存在,将对客户端主程序进行恢复;
步骤七、客户端主程序开始运行,与下载器子模块进行绑定,开启进程保护;
步骤八、客户端主程序将根据配置好的策略,检测被保护程序是否完整、且处于运行状态;如果被保护程序未运行或运行状态异常,则通过客户端主程序进行下载,并进行安装和恢复;
步骤九、被保护程序开始运行;
步骤十、客户端主程序将保护被保护软件的进程,防止其被关闭;
步骤十一、程序运行结束。
在所述步骤三中,在固件层需要检测下载器子模块是否已经写入硬盘,其主要包括以下步骤,如图4所示:
步骤1、在固件层加载硬盘驱动模块;
步骤2、识别硬盘及相应分区。
步骤3、加载文件系统,识别每个分区的文件系统;
步骤4、检测系统分区中是否已经安装了下载器子模块,如果没有安装,则构建安装下载器子模块的运行环境,在操作系统中写入下载器子模块;如果有多操作系统时,将在每个安装系统的分区中构建安装下载器子模块的运行环境;
步骤5、继续引导流程;
步骤6、操作系统成功启动,下载器子模块写入文件系统后,需要在操作系统中进行自启动;比如针对Windows操作系统,可以采用写入特定的自启动文件夹,或者在引导阶段写入注册表的方法;
步骤7、检测下载器子模块文件是否完整,是否启动;如果发现下载器子模块文件被篡改、停止启动,将会立即进行重新安装下载器子模块;启动下载器子模块;
步骤8、检测下载器子模块是否处于正常的运行状态;如果发现下载器子模块文件被篡改、停止启动,将会立即进行重新安装下载器子模块;启动下载器子模块;
步骤9、检测是否接到停止检测的指令,如果没有检测到,则在下一个周期,继续循环执行步骤7到步骤9;如果检测到程序停止运行指令,则转入步骤10;
步骤10、程序运行结束。
在所述步骤六中,下载器子模块将会对客户端主程序文件进行完整性检测;如果文件被篡改或不存在,将对客户端主程序进行恢复,其主要包括以下步骤,如图5所示:步骤1、操作系统启动;
步骤2、下载器子模块在操作系统启动之后,也随之自启动;
步骤3、下载器子模块检测客户端主程序是否存在;如果不存在,则需要从网络或本地恢复客户端主程序,并进行启动;
步骤4、下载器子模块对客户端主程序的文件进行完整性度量;
步骤5、下载器子模块根据完整度量检测结果判断客户端主程序是否存在、完整;如果客户端主程序文件被篡改或发现异常,则需要从网络或本地恢复客户端主程序,并进行启动;
步骤6、下载器子模块将会检测客户端主程序是否运行;如果客户端主程序文件未能启动,则需要从网络或本地恢复客户端主程序,并进行启动;
步骤7、下载器子模块将会检测客户端主程序运行状态是否正确;如果客户端主程序运行状态异常,则需要从网络或本地恢复客户端主程序,并进行启动;
步骤8、下载器子模块检测是否有停止运行的指令;如果没有检测到停止运行指令;如果检测套停止运行指令,则转入步骤9;
步骤9、程序停止运行。
在所述步骤八中,客户端主程序将对第三方程序文件进行完整性检测;如果文件被篡改或不存在,将对第三方程序程序进行恢复,其主要包括以下步骤,如图6示:步骤1、客户端主程序启动;
步骤2、通过网络或接入本地的存储介质自动更新被保护软件策略;被保护软件策略的主要内容包括:计算设备的唯一设备标识、需要保护的软件列表、软件的保护方式、软件的安装和启动路径等;
步骤3、客户端主程序文件将会根据被保护软件策略,进行不同级别的保护;检测被保护主程序文件是否存在,如果存在则进入步骤4;如果不存在,则通过网络,通过服务器下载和安装被保护程序文件;或从本地硬盘或其他存储介质中进行恢复,并根据配置文件重启被保护程序;
步骤4、客户端主程序对被保护软件进行完整性度量;
步骤5、客户端主程序根据完整性度量结果,判断被保护程序的文件是否完整;如果文件完整,则转入步骤6;如果被保护程序文件被篡改或删除,则通过网络,通过服务器下载和安装被保护程序文件;或从本地硬盘或其他存储介质中进行恢复,并根据配置文件重启被保护程序;
步骤6、客户端主程序检测被保护软件是否运行;如果被保护程序运行,则转入步骤7;如果被保护程序未能运行,则根据配置文件重启被保护程序;
步骤7、客户端主程序检测被保护软件运行状态是否正确;如果被保护程序正常运行,则转入步骤7;如果被保护程序运行状态异常,则通过网络,通过服务器下载和安装被保护程序文件;或从本地硬盘或其他存储介质中进行恢复,并根据配置文件重启被保护程序;
步骤8、检测是否收到停止运行的指令;如果收到停止运行的指令则转入步骤9;如果未收到停止运行指令,循环执行步骤7;
步骤9、程序停止运行。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

一种基于UEFI的软件全过程保护系统和方法.pdf_第1页
第1页 / 共17页
一种基于UEFI的软件全过程保护系统和方法.pdf_第2页
第2页 / 共17页
一种基于UEFI的软件全过程保护系统和方法.pdf_第3页
第3页 / 共17页
点击查看更多>>
资源描述

《一种基于UEFI的软件全过程保护系统和方法.pdf》由会员分享,可在线阅读,更多相关《一种基于UEFI的软件全过程保护系统和方法.pdf(17页珍藏版)》请在专利查询网上搜索。

本发明涉及一种基于UEFI的软件全过程保护系统和方法,属于计算机安全技术领域。系统包括驱动模块、客户端主程序和服务端。在开机启动阶段,在固件层的驱动模块对操作系统中的客户端主程序进行检测,若被篡改或删除,将会进行恢复;在操作系统运行阶段,客户端主程序将对被保护程序进行保护。在操作系统运行阶段,下载器子模块将在操作系统中启动,检测客户端主程序是否存在。若客户端主程序不存在则进行下载和启动。其后将检测。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 >


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1