CN104573417A - 一种基于uefi的软件全过程保护系统和方法 - Google Patents

一种基于uefi的软件全过程保护系统和方法 Download PDF

Info

Publication number
CN104573417A
CN104573417A CN201410457600.0A CN201410457600A CN104573417A CN 104573417 A CN104573417 A CN 104573417A CN 201410457600 A CN201410457600 A CN 201410457600A CN 104573417 A CN104573417 A CN 104573417A
Authority
CN
China
Prior art keywords
submodule
downloader
protected
software
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410457600.0A
Other languages
English (en)
Inventor
陈小春
孙亮
张超
朱立森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC Beijing Co
Original Assignee
CETC Beijing Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CETC Beijing Co filed Critical CETC Beijing Co
Priority to CN201410457600.0A priority Critical patent/CN104573417A/zh
Publication of CN104573417A publication Critical patent/CN104573417A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot

Abstract

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

Description

一种基于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、程序停止运行。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

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、程序停止运行。
CN201410457600.0A 2014-09-10 2014-09-10 一种基于uefi的软件全过程保护系统和方法 Pending CN104573417A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410457600.0A CN104573417A (zh) 2014-09-10 2014-09-10 一种基于uefi的软件全过程保护系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410457600.0A CN104573417A (zh) 2014-09-10 2014-09-10 一种基于uefi的软件全过程保护系统和方法

Publications (1)

Publication Number Publication Date
CN104573417A true CN104573417A (zh) 2015-04-29

Family

ID=53089462

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410457600.0A Pending CN104573417A (zh) 2014-09-10 2014-09-10 一种基于uefi的软件全过程保护系统和方法

Country Status (1)

Country Link
CN (1) CN104573417A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106909829A (zh) * 2015-12-22 2017-06-30 中电科技(北京)有限公司 适用于龙芯台式计算机的软件安全保护系统及其保护方法
CN107066345A (zh) * 2015-12-22 2017-08-18 中电科技(北京)有限公司 一种基于硬盘间隙的数据恢复和备份方法
CN116149759A (zh) * 2023-04-20 2023-05-23 深圳市吉方工控有限公司 Uefi驱动卸载方法、装置、电子设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1648870A (zh) * 2005-03-09 2005-08-03 北京软通科技有限责任公司 计算机系统硬件设备自动检测的方法
CN1952885A (zh) * 2005-10-19 2007-04-25 联想(北京)有限公司 一种可进行完整性检测的计算机系统和方法
US20080046546A1 (en) * 2006-08-18 2008-02-21 Parmar Pankaj N EFI based mechanism to export platform management capabilities to the OS
CN102262574A (zh) * 2011-06-20 2011-11-30 奇智软件(北京)有限公司 操作系统启动保护方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1648870A (zh) * 2005-03-09 2005-08-03 北京软通科技有限责任公司 计算机系统硬件设备自动检测的方法
CN1952885A (zh) * 2005-10-19 2007-04-25 联想(北京)有限公司 一种可进行完整性检测的计算机系统和方法
US20080046546A1 (en) * 2006-08-18 2008-02-21 Parmar Pankaj N EFI based mechanism to export platform management capabilities to the OS
CN102262574A (zh) * 2011-06-20 2011-11-30 奇智软件(北京)有限公司 操作系统启动保护方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106909829A (zh) * 2015-12-22 2017-06-30 中电科技(北京)有限公司 适用于龙芯台式计算机的软件安全保护系统及其保护方法
CN107066345A (zh) * 2015-12-22 2017-08-18 中电科技(北京)有限公司 一种基于硬盘间隙的数据恢复和备份方法
CN116149759A (zh) * 2023-04-20 2023-05-23 深圳市吉方工控有限公司 Uefi驱动卸载方法、装置、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
US8028172B2 (en) Systems and methods for updating a secure boot process on a computer with a hardware security module
US7506380B2 (en) Systems and methods for boot recovery in a secure boot process on a computer with a hardware security module
US9880908B2 (en) Recovering from compromised system boot code
CN105205401B (zh) 基于安全密码芯片的可信计算机系统及其可信引导方法
US9205809B2 (en) Vehicle unit and method for operating the vehicle unit
CN102880828B (zh) 一种针对虚拟化支撑环境的入侵检测与恢复系统
US11290492B2 (en) Malicious data manipulation detection using markers and the data protection layer
CN106909829A (zh) 适用于龙芯台式计算机的软件安全保护系统及其保护方法
US7921461B1 (en) System and method for rootkit detection and cure
WO2014000613A1 (zh) 系统修复方法、装置及存储介质
EP3066562B1 (en) Systems and methods for updating system-level services within read-only system images
US8776233B2 (en) System, method, and computer program product for removing malware from a system while the system is offline
MXPA05012560A (es) Manejo de seguridad de computadora, tal como en una maquina virtual o sistema operativo reforzado.
US9064120B2 (en) Systems and methods for directing application updates
CN105122260A (zh) 到安全操作系统环境的基于上下文的切换
CN108334404B (zh) 应用程序的运行方法和装置
KR101649909B1 (ko) 가상 머신 취약점 점검과 복구 방법 및 장치
US9003176B1 (en) System and methods for full disk encryption with a check for compatibility of the boot disk
CN110245495B (zh) Bios校验方法、配置方法、设备及系统
CN104573499B (zh) 一种基于uefi的可执行程序文件保护系统和方法
CN104573417A (zh) 一种基于uefi的软件全过程保护系统和方法
CN107657170B (zh) 支持智能修复的可信加载启动控制系统和方法
CN104572169B (zh) 一种基于uefi的软件分发和安装系统
US9323541B2 (en) Method, apparatus, system, and machine readable storage medium for providing software security
CN104573500A (zh) 一种基于uefi的软件实时保护系统和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150429

WD01 Invention patent application deemed withdrawn after publication