CN107657170B - 支持智能修复的可信加载启动控制系统和方法 - Google Patents

支持智能修复的可信加载启动控制系统和方法 Download PDF

Info

Publication number
CN107657170B
CN107657170B CN201610591661.5A CN201610591661A CN107657170B CN 107657170 B CN107657170 B CN 107657170B CN 201610591661 A CN201610591661 A CN 201610591661A CN 107657170 B CN107657170 B CN 107657170B
Authority
CN
China
Prior art keywords
trusted
loading
verification
module
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.)
Active
Application number
CN201610591661.5A
Other languages
English (en)
Other versions
CN107657170A (zh
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.)
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
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 Beijing Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN201610591661.5A priority Critical patent/CN107657170B/zh
Publication of CN107657170A publication Critical patent/CN107657170A/zh
Application granted granted Critical
Publication of CN107657170B publication Critical patent/CN107657170B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种支持智能修复的可信加载启动控制系统和方法,其中,该系统包括:数据资源库、可信恢复模块、策略库模块、验证模块、度量模块以及决策模块;该数据资源库包括系统许可文件内容;该度量模块用于为输入数据文件计算完整性度量值;该验证模块用于根据该度量模块的结果,判断预加载数据文件的正确性和完整性,并判断加载文件是否在为系统许可文件,并对加载文件进行完整性判定;该决策模块用于依据该验证模块的判断结果决定后续的执行操作;该可信恢复模块用于恢复被破坏的文件。

Description

支持智能修复的可信加载启动控制系统和方法
技术领域
本发明涉及操作系统技术领域,特别是一种操作系统下的支持智能修复的可信加载启动控制系统及方法。
背景技术
可信加载启动控制系统主要用于控制操作系统下程序/服务的可信加载与启动,从源头禁止非法程序/服务的加载和运行,保证系统环境的安全。
操作系统的安全直接决定应用环境的安全。目前已出现多种方法保护系统安全,如借助杀毒软件、防火墙等安全产品在系统外围建立安全防护屏障,以抵制外部恶意攻击;在系统内部集成用户身份认证和访问控制机制,实现对系统内客体的安全保护,保证合法用户访问合法客体等。
中科院软件所的专利申请“安全操作系统中建立可信路径的方法”201110450435.2,介绍了由用户按下SAK触发或应用程序发起构建可信路径的方法,其步骤为:1)创建可信程序列表;2)根据该可信程序列表自动生成对应的可信进程列表;3)当某进程预运行时,首先验证该进程所在的程序是否在所述可信程序列表内以及该进程是否在所属的可信进程列表中,其次验证其是否可信;4)若该进程所在的程序在所述可信程序列表内且该进程在所述可信进程列表中,并且通过了Sha密码验证,则允许执行,否则中止执行。该专利存在一些不足:1)由用户按下SAK键触发可信路径的建立,可信路径的建立成为了可选项;2)可信路径建立的时机偏后,在用户登录或应用程序启动后才触发建立,无法保证系统启动初期系统服务不被篡改或旁路;3)当应用程序或服务被篡改时,直接采取中止执行策略,对于关键业务程序,可能导致整个应用系统的瘫痪。因此采用该方法不能完全保证操作系统的安全,以及应用系统的可信运行。
国防科技大学的专利申请“基于反向完整性验证的操作系统可信引导方法”CN102270288A,介绍了基于预度量和反向完整性验证保证系统可信引导的方法,首先对系统引导各阶段的信息进行完整性度量,并保存度量基准值;然后重启系统,加载反向完整性验证模块和存储单元,由反向完整性验证模块读取系统引导各阶段的可信引导基准值,并对系统引导各阶段的信息重新计算基准值,比较两者是否相同,若不相同,则设置系统状态为不可信状态,否则进入下一阶段的比较。该专利仅对系统启动过程中的信息进行了完整性验证,不能保证系统启动完成后应用程序的完整性。在众多安全攻击事件中,大多都是对应用系统的攻击,因此在保证系统启动可信的基础上,还必须保证应用软件的安全可信。
发明内容
本发明的目的在于提供一种支持智能修复的可信加载启动控制系统及方法,用于解决上述现有技术的问题。
本发明一种支持智能修复的可信加载启动控制系统,其中,包括:数据资源库、可信恢复模块、策略库模块、验证模块、度量模块以及决策模块;该数据资源库包括系统许可文件内容;该度量模块用于为输入数据文件计算完整性度量值;该验证模块用于根据该度量模块的结果,判断预加载数据文件的正确性和完整性,并判断加载文件是否在为系统许可文件,并对加载文件进行完整性判定;该决策模块用于依据该验证模块的判断结果决定后续的执行操作;该可信恢复模块用于恢复被破坏的文件。
根据本发明的支持智能修复的可信加载启动控制系统的一实施例,其中,该数据资源库包括:策略库以及软件白名单模块;该策略库用于存储启动策略和恢复策略,该启动策略用于定义操作系统启动阶段必须加载启动的系统服务及其加载的先后顺序,该恢复策略用于定义部分程序文件失效后的处理措施;该软件白名单模块用于记录本机所有已安装且合法可信的系统服务和应用程序。
根据本发明的支持智能修复的可信加载启动控制系统的一实施例,其中,还包括:更新管理模块,用于更新系统启动策略、修改恢复策略、更新升级程序以及更新该软件白名单模块。
根据本发明的支持智能修复的可信加载启动控制系统的一实施例,其中,还包括:该数据资源库还包括:镜像备份库,用于存储文件副本;该可信恢复模块调取该镜像备份库中的副本文件的备件替换被破坏的文件。
根据本发明的支持智能修复的可信加载启动控制系统的一实施例,其中,该后续的执行操作包括:加载启动、中止加载或可信修复。
本发明的一种支持智能修复的可信加载启动控制方法,其中,包括:a)在系统服务加载前,临时截获操作系统加载的控制权,对系统服务执行文件实施可信干预;b)结合启动策略,判断该系统服务是否在预设的系统服务许可列表内且是否下一步预加载的系统服务,当同时满足上述两条件中有一为否,则终止初始化进程对当前系统服务的加载操作,结束对当前系统服务的干预,归还初始化进程的控制权,使其自动转入下一个系统服务的加载流程中;c)读取系统服务的服务脚本及其命令对应的可执行文件,计算可执行文件的完整性度量值,并得到完整性验证结果;d)根据不同的完整性验证结果,分别采取不同决策:如果验证通过,则结束可信加载启动控制系统的干预,归还初始化进程的控制权,由操作系统初始化进程继续系统服务的加载启动流程;如果验证失败且根据恢复策略中制定的策略不需要恢复,则终止操作系统初始化进程对当前系统服务的加载操作,结束对当前系统服务的可信干预,归还初始化进程的控制权,使其自动转入下一个系统服务的加载流程中;如果验证失败且恢复策略指定要求恢复,则进行修复。
根据本发明的支持智能修复的可信加载启动控制方法的一实施例,其中,进行修复的方法包括:首先,调用镜像副本替换被破坏的目标文件;对修复的文件重复步骤c),如完整性验证结果未通过,则修复失败。
根据本发明的支持智能修复的可信加载启动控制方法的一实施例,其中,还包括:f)根据不同的修复结果,采取不同的策略,如果修复失败,则终止操作系统初始化进程对当前系统服务的加载操作,结束可信加载启动控制系统对当前系统服务的可信干预,归还初始化进程的控制权,使其自动转入下一个系统服务的加载流程中;否则结束可信加载启动控制系统的干预,归还初始化进程的控制权,由操作系统初始化进程加载启动修复后的系统服务。
根据本发明的支持智能修复的可信加载启动控制方法的一实施例,其中,对各预启动的应用程序实施可信加载启动控制包括:A1)在应用程序文件加载前,临时截获操作系统的控制权,暂停对程序文件的加载工作;B1)读取程序文件名和可执行文件路径,判断该应用程序是否处于白名单列表内,若为否则终止此次系统调用,同时结束此次控制系统对应用程序的可信干预;C1)读取应用程序文件,计算所有与该应用程序关联的文件的完整性度量值,并得到完整性验证结果;D1)根据不同的完整性验证结果,分别采取不同决策:如果验证通过,则结束可信加载启动控制系统的干预,归还系统调用的控制权,继续应用程序文件的加载启动流程;如果验证失败且根据恢复策略中制定的策略不需要恢复,则终止系统调用对当前应用程序文件的加载操作,结束对当前应用程序的可信干预,归还操作系统的控制权;如果验证失败,且恢复策略指定要求恢复,则执行智能修复;E1)首先,调用镜像备份库中的镜像副本替换被破坏的应用程序文件;其次,对修复的文件再次执行步骤C1),如完整性验证结果未通过,则修复失败;F1)根据不同的修复结果,采取不同的策略,如果修复失败,则终止调用对当前应用程序的加载操作,结束对当前应用程序的可信干预,归还操作系统的控制权;否则结束可信加载启动控制系统的干预,归还系统调用的控制权,调用加载启动修复后的应用程序及其相关对象文件。
根据本发明的支持智能修复的可信加载启动控制方法的一实施例,其中,在执行a)步骤之前,还包括:A2)扫描文件系统,生成当前操作系统下所有的系统服务和已安装应用软件的白名单列表;B2)设置系统服务的启动策略,根据应用及安全性需求,定制系统启动过程中必须加载的系统服务,及其加载执行顺序;C2)配置恢复策略并备份镜像。
综上,本发明支持智能修复的可信加载启动控制系统及方法,实现了操作系统自启动阶段到用户使用阶段全生命周期内系统进程与用户进程的可信加载启动控制,并为关键程序文件提供智能修复功能,保证系统运行环境的安全。
附图说明
图1所示为支持智能修复的可信加载启动控制系统的一实施例的示意图;
图2本发明支持智能修复的可信加载启动控制系统的系统服务的加载启动控制示意图;
图3本发明支持智能修复的可信加载启动控制系统的应用程序的加载启动控制示意图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
图1所示为支持智能修复的可信加载启动控制系统的一实施例的示意图,如图1所示,本发明一种支持智能修复的可信加载启动控制系统包括:更新管理模块1,策略库模块2,软件白名单模块3,镜像备份库4,验证模块5,度量模块6,决策模块7以及可信恢复模块8。
如图1所示,其中,验证模块5、度量模块6、决策模块7、可信恢复模块8、更新管理模块1等为执行模块,策略库2、软件白名单模块3、镜像备份库4等为数据资源库。
如图1所示,策略库2包括启动策略和恢复策略。启动策略定义了操作系统启动阶段必须加载启动的系统服务,及其加载的先后顺序。恢复策略定义了部分程序文件失效后的处理措施,未定义文件失效时按中止启动处理。软件白名单模块3记录了本机所有已安装且合法可信的系统服务和应用程序,包括程序/服务名称、执行文件/脚本路径、完整性度量基准值、合法用户角色等。镜像备份库4保存了完整可信的重要文件副本。
如图1所示,验证模块5主要负责验证预加载数据文件的正确性和完整性。判断程序/服务名称和路径是否在系统服务许可列表或软件白名单模块3的软件白名单列表中,验证执行文件/脚本是否符合白名单列表中的完整性判定。度量模块6基于可信平台模块(Trusted Platform Module,TPM)提供杂凑运算服务,为输入数据文件计算完整性度量值。决策模块7依据验证模块5的输出结果决定后续的执行操作,如加载启动、中止加载或可信修复等。可信恢复模块8用镜像备份库4中对应程序文件的备件替换被破坏的程序文件。决策模块7与可信修复模块8联合实现智能修复功能。更新管理模块1为管理员更新系统启动策略、修改恢复策略,更新升级程序及其备份镜像、更新软件白名单列表等提供接口,支持人性化管理。
图2本发明支持智能修复的可信加载启动控制系统的系统服务的加载启动控制示意图,图3本发明支持智能修复的可信加载启动控制系统的应用程序的加载启动控制示意图,如图2以及图3所示,本发明支持智能修复的可信加载启动控制方法,假设操作系统内核安全可信,其包括:
更新管理模块1对可信加载启动控制系统的各数据资源库进行初始化配置,为系统正常运行提供依据,其子步骤包括如下:
a)初始化软件白名单列表
扫描文件系统,生成当前操作系统下所有的系统服务和已安装应用软件的白名单列表。
b)设置系统服务的启动策略
设置策略库2中的启动策略。根据应用及安全性需求,定制系统启动过程中必须加载的系统服务,及其加载执行顺序。
c)配置恢复策略并备份镜像
配置策略库2中的恢复策略并建立镜像备份库。结合具体业务特点,为关键软件设置恢复策略并建立备份镜像。
重启操作系统,可信加载启动控制系统生效;
根据启动顺序依次对各预启动的系统服务执行可信加载启动控制;
在操作系统的初始化进程上以钩子形式挂载对系统服务的可信干预,由可信加载启动控制系统中各执行模块依次对各预启动的系统服务实施可信验证和处理。可信加载启动控制系统对某系统服务的可信干预步骤包括:
a)验证模块5在系统服务加载前获取运行权
在系统服务加载前,验证模块5临时截获操作系统加载执行文件/脚本的控制权,对系统服务执行文件实施可信干预。
b)验证模块5验证预加载系统服务的正确性
验证模块5读取系统服务名及其路径,结合启动策略,判断该系统服务在系统服务许可列表内且是下一步预加载的系统服务。只有同时满足上述两条件的系统服务才具有加载的机会;否则终止初始化进程对当前系统服务的加载操作,结束可信加载启动控制系统对当前系统服务的可信干预,归还初始化进程的控制权,使其自动转入下一个系统服务的加载流程中。
c)验证模块5验证系统服务相关文件内容的完整性
验证模块5读取系统服务的服务脚本及其命令对应的可执行文件,调用度量模块6计算可执行文件的完整性度量值,验证其是否与软件白名单列表中的基准值一致,输出验证结果。
d)决策模块7根据验证模块5的验证结果决定后续的执行操作
决策模块7根据验证模块5不同的完整性验证结果,分别采取不同决策:如果验证通过,则结束可信加载启动控制系统的干预,归还初始化进程的控制权,由操作系统初始化进程继续系统服务的加载启动流程;如果验证失败,且根据恢复策略中制定的策略不需要恢复,则终止操作系统初始化进程对当前系统服务的加载操作,结束可信加载启动控制系统对当前系统服务的可信干预,归还初始化进程的控制权,使其自动转入下一个系统服务的加载流程中;如果验证失败,且恢复策略指定要求恢复,则调用可信恢复模块8执行智能修复。
e)可信恢复模块8根据决策模块的修复决策执行智能恢复操作
可信恢复模块8根据决策模块7的修复决策,分两步完成可信恢复:首先,调用镜像备份库4中的镜像副本替换被破坏的目标文件;然后,对修复的文件重复步骤c),再次进行完整性验证,只有完整性度量值与白名单列表中的基准值一致,可信修复才成功,否则可信修改失败。
f)决策模块7根据可信修复结果决定后续的执行策略
决策模块7根据不同的可信修复结果,采取不同的策略。如果可信修复失败,则终止操作系统初始化进程对当前系统服务的加载操作,结束可信加载启动控制系统对当前系统服务的可信干预,归还初始化进程的控制权,使其自动转入下一个系统服务的加载流程中;否则结束可信加载启动控制系统的干预,归还初始化进程的控制权,由操作系统初始化进程加载启动修复后的系统服务。
如图3所示,根据业务需求或用户需求依次对各预启动的应用程序实施可信加载启动控制包括:
在操作系统启动完成进入用户使用阶段后,由exec系统调用负责应用程序的加载启动。可信加载启动控制系统干预exec系统调用,对各应用程序实施加载前的可信验证和处理,其子步骤包括:
a)验证模块5在程序文件加载前获取运行权
在应用程序文件加载前,验证模块5临时截获操作系统的控制权,暂停对程序文件的加载工作。
b)验证模块5验证程序文件的正确性
验证模块5读取程序文件名和可执行文件路径,判断该应用程序是否处于白名单列表内。只有白名单列表中的应用程序才具有运行的可能;否则可信加载启动控制系统直接终止此次系统调用,同时结束此次控制系统对应用程序的可信干预。
c)验证模块5验证程序文件的完整性
验证模块5读取应用程序文件,调用度量模块6计算所有与该应用程序关联的文件的完整性度量值,比较其与软件白名单列表中对应软件的基准值是否一致,输出验证结果;
d)决策模块7根据完整性验证结果决定后续的执行操作
决策模块7根据验证模块5不同的完整性验证结果,分别采取不同决策:如果验证通过,则结束可信加载启动控制系统的干预,归还系统调用的控制权,由exec系统调用继续应用程序文件的加载启动流程;如果验证失败,且根据恢复策略中制定的策略不需要恢复,则终止系统调用对当前应用程序文件的加载操作,结束可信加载启动控制系统对当前应用程序的可信干预,归还操作系统的控制权;如果验证失败,且恢复策略指定要求恢复,则调用可信恢复模块执行智能修复。
e)可信恢复模块8根据决策模块7的修复决策执行智能恢复操作
可信恢复模块根据决策模块的修复决策,分两步完成可信恢复:首先,用镜像备份库中的镜像副本替换被破坏的应用程序文件;其次,对修复的文件再次执行步骤c),进行完整性验证。只有完整性度量值与白名单列表中的基准值一致,可信修复才成功,否则可信修改失败。
f)决策模块根据可信修复结果决定后续的执行策略
决策模块7根据不同的可信修复结果,采取不同的策略。如果可信修复失败,则终止exec系统调用对当前应用程序的加载操作,结束可信加载启动控制系统对当前应用程序的可信干预,归还操作系统的控制权;否则结束可信加载启动控制系统的干预,归还exec系统调用的控制权,由exec系统调用加载启动修复后的应用程序及其相关对象文件。
如图1所示,本发明支持智能修复的可信加载启动控制方法还包括:系统服务的加载启动控制之前搭建可信加载启动控制系统。
综上,本发明支持智能修复的可信加载启动控制系统及方法,实现了操作系统自启动阶段到用户使用阶段全生命周期内系统进程与用户进程的可信加载启动控制,并为关键程序文件提供智能修复功能,保证系统运行环境的安全。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (10)

1.一种支持智能修复的可信加载启动控制系统,其特征在于,包括:
数据资源库、可信恢复模块、策略库模块、验证模块、度量模块以及决策模块;
该数据资源库包括系统许可文件内容;
该度量模块用于为输入数据文件计算完整性度量值;
该验证模块用于根据该度量模块的结果,判断预加载数据文件的正确性和完整性,并判断加载文件是否在为系统许可文件,并对加载文件进行完整性判定;
该决策模块用于依据该验证模块的判断结果决定后续的执行操作;
该可信恢复模块用于恢复被破坏的文件;
可信加载启动控制系统对某系统服务的可信干预步骤包括:
验证模块在系统服务加载前获取运行权;
验证模块验证预加载系统服务的正确性;
验证模块读取系统服务名及其路径,结合启动策略,判断该系统服务在系统服务许可列表内且是下一步预加载的系统服务,只有同时满足上述两条件的系统服务才具有加载的机会;否则终止初始化进程对当前系统服务的加载操作,结束可信加载启动控制系统对当前系统服务的可信干预,归还初始化进程的控制权,使转入下一个系统服务的加载流程中;
验证模块验证系统服务相关文件内容的完整性;验证模块读取系统服务的服务脚本及其命令对应的可执行文件,调用度量模块计算可执行文件的完整性度量值,验证其是否与软件白名单列表中的基准值一致,输出验证结果;
决策模块根据验证模块不同的完整性验证结果,分别采取不同决策:如果验证通过,则结束可信加载启动控制系统的干预,归还初始化进程的控制权,由操作系统初始化进程继续系统服务的加载启动流程;如果验证失败,且根据恢复策略中制定的策略不需要恢复,则终止操作系统初始化进程对当前系统服务的加载操作,结束可信加载启动控制系统对当前系统服务的可信干预,归还初始化进程的控制权,使其自动转入下一个系统服务的加载流程中;如果验证失败,且恢复策略指定要求恢复,则调用可信恢复模块执行智能修;
可信恢复模块根据决策模块的修复决策,分两步完成可信恢复:调用镜像备份库中的镜像副本替换被破坏的目标文件;对修复的文件再次进行完整性验证,只有完整性度量值与白名单列表中的基准值一致,可信修复才成功,否则可信修改失败;
决策模块根据不同的可信修复结果,采取不同的策略,如果可信修复失败,则终止操作系统初始化进程对当前系统服务的加载操作,结束可信加载启动控制系统对当前系统服务的可信干预,归还初始化进程的控制权,使其自动转入下一个系统服务的加载流程中;否则结束可信加载启动控制系统的干预,归还初始化进程的控制权,由操作系统初始化进程加载启动修复后的系统服务;
根据业务需求或用户需求依次对各预启动的应用程序实施可信加载启动控制包括:
在操作系统启动完成进入用户使用阶段后,由exec系统调用负责应用程序的加载启动,可信加载启动控制系统干预exec系统调用,对各应用程序实施加载前的可信验证和处理,包括:
验证模块在程序文件加载前获取运行权;
验证模块读取程序文件名和可执行文件路径,判断该应用程序是否处于白名单列表内,只有白名单列表中的应用程序才具有运行的可能;否则可信加载启动控制系统直接终止此次系统调用,同时结束此次控制系统对应用程序的可信干预;
验证模块读取应用程序文件,调用度量模块计算所有与该应用程序关联的文件的完整性度量值,比较其与软件白名单列表中对应软件的基准值是否一致,输出验证结果;
决策模块根据验证模块不同的完整性验证结果,分别采取不同决策:如果验证通过,则结束可信加载启动控制系统的干预,归还系统调用的控制权,由exec系统调用继续应用程序文件的加载启动流程;如果验证失败,且根据恢复策略中制定的策略不需要恢复,则终止系统调用对当前应用程序文件的加载操作,结束可信加载启动控制系统对当前应用程序的可信干预,归还操作系统的控制权;如果验证失败,且恢复策略指定要求恢复,则调用可信恢复模块执行智能修复;
可信恢复模块根据决策模块的修复决策,分两步完成可信恢复:首先,用镜像备份库中的镜像副本替换被破坏的应用程序文件;其次,对修复的文件再次进行完整性验证,只有完整性度量值与白名单列表中的基准值一致,可信修复才成功,否则可信修改失败;
决策模块根据不同的可信修复结果,采取不同的策略,如果可信修复失败,则终止exec系统调用对当前应用程序的加载操作,结束可信加载启动控制系统对当前应用程序的可信干预,归还操作系统的控制权;否则结束可信加载启动控制系统的干预,归还exec系统调用的控制权,由exec系统调用加载启动修复后的应用程序及其相关对象文件。
2.如权利要求1所述的支持智能修复的可信加载启动控制系统,其特征在于,该数据资源库包括:策略库以及软件白名单模块;
该策略库用于存储启动策略和恢复策略,该启动策略用于定义操作系统启动阶段必须加载启动的系统服务及其加载的先后顺序,该恢复策略用于定义部分程序文件失效后的处理措施;
该软件白名单模块用于记录本机所有已安装且合法可信的系统服务和应用程序。
3.如权利要求2所述的支持智能修复的可信加载启动控制系统,其特征在于,还包括:更新管理模块,用于更新系统启动策略、修改恢复策略、更新升级程序以及更新该软件白名单模块。
4.如权利要求3所述的支持智能修复的可信加载启动控制系统,其特征在于,还包括:该数据资源库还包括:镜像备份库,用于存储文件副本;
该可信恢复模块调取该镜像备份库中的副本文件的备件替换被破坏的文件。
5.如权利要求4所述的支持智能修复的可信加载启动控制系统,其特征在于,该后续的执行操作包括:加载启动、中止加载或可信修复。
6.一种支持智能修复的可信加载启动控制方法,其特征在于,包括:
a)在系统服务加载前,临时截获操作系统加载的控制权,对系统服务执行文件实施可信干预;
b)结合启动策略,判断该系统服务是否在预设的系统服务许可列表内且是否下一步预加载的系统服务,当同时满足上述两条件中有一为否,则终止初始化进程对当前系统服务的加载操作,结束对当前系统服务的干预,归还初始化进程的控制权,使其自动转入下一个系统服务的加载流程中;
c)读取系统服务的服务脚本及其命令对应的可执行文件,计算可执行文件的完整性度量值,并得到完整性验证结果;
d)根据不同的完整性验证结果,分别采取不同决策:如果验证通过,则结束可信加载启动控制系统的干预,归还初始化进程的控制权,由操作系统初始化进程继续系统服务的加载启动流程;如果验证失败且根据恢复策略中制定的策略不需要恢复,则终止操作系统初始化进程对当前系统服务的加载操作,结束对当前系统服务的可信干预,归还初始化进程的控制权,使其自动转入下一个系统服务的加载流程中;如果验证失败且恢复策略指定要求恢复,则进行修复;
可信加载启动控制系统对某系统服务的可信干预步骤包括:
验证模块在系统服务加载前获取运行权;
验证模块验证预加载系统服务的正确性;
验证模块读取系统服务名及其路径,结合启动策略,判断该系统服务在系统服务许可列表内且是下一步预加载的系统服务,只有同时满足上述两条件的系统服务才具有加载的机会;否则终止初始化进程对当前系统服务的加载操作,结束可信加载启动控制系统对当前系统服务的可信干预,归还初始化进程的控制权,使转入下一个系统服务的加载流程中;
验证模块验证系统服务相关文件内容的完整性;验证模块读取系统服务的服务脚本及其命令对应的可执行文件,调用度量模块计算可执行文件的完整性度量值,验证其是否与软件白名单列表中的基准值一致,输出验证结果;
决策模块根据验证模块不同的完整性验证结果,分别采取不同决策:如果验证通过,则结束可信加载启动控制系统的干预,归还初始化进程的控制权,由操作系统初始化进程继续系统服务的加载启动流程;如果验证失败,且根据恢复策略中制定的策略不需要恢复,则终止操作系统初始化进程对当前系统服务的加载操作,结束可信加载启动控制系统对当前系统服务的可信干预,归还初始化进程的控制权,使其自动转入下一个系统服务的加载流程中;如果验证失败,且恢复策略指定要求恢复,则调用可信恢复模块执行智能修;
可信恢复模块根据决策模块的修复决策,分两步完成可信恢复:调用镜像备份库中的镜像副本替换被破坏的目标文件;对修复的文件再次进行完整性验证,只有完整性度量值与白名单列表中的基准值一致,可信修复才成功,否则可信修改失败;
决策模块根据不同的可信修复结果,采取不同的策略,如果可信修复失败,则终止操作系统初始化进程对当前系统服务的加载操作,结束可信加载启动控制系统对当前系统服务的可信干预,归还初始化进程的控制权,使其自动转入下一个系统服务的加载流程中;否则结束可信加载启动控制系统的干预,归还初始化进程的控制权,由操作系统初始化进程加载启动修复后的系统服务;
根据业务需求或用户需求依次对各预启动的应用程序实施可信加载启动控制包括:
在操作系统启动完成进入用户使用阶段后,由exec系统调用负责应用程序的加载启动,可信加载启动控制系统干预exec系统调用,对各应用程序实施加载前的可信验证和处理,包括:
验证模块在程序文件加载前获取运行权;
验证模块读取程序文件名和可执行文件路径,判断该应用程序是否处于白名单列表内,只有白名单列表中的应用程序才具有运行的可能;否则可信加载启动控制系统直接终止此次系统调用,同时结束此次控制系统对应用程序的可信干预;
验证模块读取应用程序文件,调用度量模块计算所有与该应用程序关联的文件的完整性度量值,比较其与软件白名单列表中对应软件的基准值是否一致,输出验证结果;
决策模块根据验证模块不同的完整性验证结果,分别采取不同决策:如果验证通过,则结束可信加载启动控制系统的干预,归还系统调用的控制权,由exec系统调用继续应用程序文件的加载启动流程;如果验证失败,且根据恢复策略中制定的策略不需要恢复,则终止系统调用对当前应用程序文件的加载操作,结束可信加载启动控制系统对当前应用程序的可信干预,归还操作系统的控制权;如果验证失败,且恢复策略指定要求恢复,则调用可信恢复模块执行智能修复;
可信恢复模块根据决策模块的修复决策,分两步完成可信恢复:首先,用镜像备份库中的镜像副本替换被破坏的应用程序文件;其次,对修复的文件再次进行完整性验证,只有完整性度量值与白名单列表中的基准值一致,可信修复才成功,否则可信修改失败;
决策模块根据不同的可信修复结果,采取不同的策略,如果可信修复失败,则终止exec系统调用对当前应用程序的加载操作,结束可信加载启动控制系统对当前应用程序的可信干预,归还操作系统的控制权;否则结束可信加载启动控制系统的干预,归还exec系统调用的控制权,由exec系统调用加载启动修复后的应用程序及其相关对象文件。
7.如权利要求6所述的支持智能修复的可信加载启动控制方法,其特征在于,进行修复的方法包括:
首先,调用镜像副本替换被破坏的目标文件;对修复的文件重复步骤c),如完整性验证结果未通过,则修复失败。
8.如权利要求6所述的支持智能修复的可信加载启动控制方法,其特征在于,还包括:
f)根据不同的修复结果,采取不同的策略,如果修复失败,则终止操作系统初始化进程对当前系统服务的加载操作,结束可信加载启动控制系统对当前系统服务的可信干预,归还初始化进程的控制权,使其自动转入下一个系统服务的加载流程中;否则结束可信加载启动控制系统的干预,归还初始化进程的控制权,由操作系统初始化进程加载启动修复后的系统服务。
9.如权利要求6所述的支持智能修复的可信加载启动控制方法,其特征在于,还包括:对各预启动的应用程序实施可信加载启动控制包括:
A1)在应用程序文件加载前,临时截获操作系统的控制权,暂停对程序文件的加载工作;
B1)读取程序文件名和可执行文件路径,判断该应用程序是否处于白名单列表内,若为否则终止此次系统调用,同时结束此次控制系统对应用程序的可信干预;
C1)读取应用程序文件,计算所有与该应用程序关联的文件的完整性度量值,并得到完整性验证结果;
D1)根据不同的完整性验证结果,分别采取不同决策:如果验证通过,则结束可信加载启动控制系统的干预,归还系统调用的控制权,继续应用程序文件的加载启动流程;如果验证失败且根据恢复策略中制定的策略不需要恢复,则终止系统调用对当前应用程序文件的加载操作,结束对当前应用程序的可信干预,归还操作系统的控制权;如果验证失败,且恢复策略指定要求恢复,则执行智能修复;
E1)首先,调用镜像备份库中的镜像副本替换被破坏的应用程序文件;其次,对修复的文件再次执行步骤C1),如完整性验证结果未通过,则修复失败;
F1)根据不同的修复结果,采取不同的策略,如果修复失败,则终止调用对当前应用程序的加载操作,结束对当前应用程序的可信干预,归还操作系统的控制权;否则结束可信加载启动控制系统的干预,归还系统调用的控制权,调用加载启动修复后的应用程序及其相关对象文件。
10.如权利要求6所述的支持智能修复的可信加载启动控制方法,其特征在于,在执行a)步骤之前,还包括:
A2)扫描文件系统,生成当前操作系统下所有的系统服务和已安装应用软件的白名单列表;
B2)设置系统服务的启动策略,根据应用及安全性需求,定制系统启动过程中必须加载的系统服务,及其加载执行顺序;
C2)配置恢复策略并备份镜像。
CN201610591661.5A 2016-07-25 2016-07-25 支持智能修复的可信加载启动控制系统和方法 Active CN107657170B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610591661.5A CN107657170B (zh) 2016-07-25 2016-07-25 支持智能修复的可信加载启动控制系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610591661.5A CN107657170B (zh) 2016-07-25 2016-07-25 支持智能修复的可信加载启动控制系统和方法

Publications (2)

Publication Number Publication Date
CN107657170A CN107657170A (zh) 2018-02-02
CN107657170B true CN107657170B (zh) 2020-12-01

Family

ID=61126925

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610591661.5A Active CN107657170B (zh) 2016-07-25 2016-07-25 支持智能修复的可信加载启动控制系统和方法

Country Status (1)

Country Link
CN (1) CN107657170B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109254797B (zh) * 2018-08-15 2022-01-14 Oppo广东移动通信有限公司 移动终端及其开机控制方法、存储介质
CN110334518B (zh) * 2019-07-05 2021-05-14 北京可信华泰信息技术有限公司 基于可信计算平台的度量策略的验证方法及装置
CN110334517B (zh) * 2019-07-05 2021-05-14 北京可信华泰信息技术有限公司 可信策略的更新方法及装置、可信安全管理平台
CN111159762B (zh) * 2019-12-23 2022-08-12 北京工业大学 一种强制访问控制下的主体可信验证方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1952885A (zh) * 2005-10-19 2007-04-25 联想(北京)有限公司 一种可进行完整性检测的计算机系统和方法
CN102270288A (zh) * 2011-09-06 2011-12-07 中国人民解放军国防科学技术大学 基于反向完整性验证的操作系统可信引导方法
CN102332070A (zh) * 2011-09-30 2012-01-25 中国人民解放军海军计算技术研究所 一种可信计算平台的信任链传递方法
CN102831355A (zh) * 2011-12-30 2012-12-19 中国科学院软件研究所 安全操作系统中建立可信路径的方法
CN103747036A (zh) * 2013-12-23 2014-04-23 中国航天科工集团第二研究院七〇六所 一种桌面虚拟化环境下的可信安全增强方法
CN105740729A (zh) * 2016-01-29 2016-07-06 浪潮电子信息产业股份有限公司 一种系统服务程序可信检查的方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8239688B2 (en) * 2007-01-07 2012-08-07 Apple Inc. Securely recovering a computing device
US8782801B2 (en) * 2007-08-15 2014-07-15 Samsung Electronics Co., Ltd. Securing stored content for trusted hosts and safe computing environments
CN101226577A (zh) * 2008-01-28 2008-07-23 南京大学 基于可信硬件与虚拟机的微内核操作系统完整性保护方法
US9026803B2 (en) * 2009-11-30 2015-05-05 Hewlett-Packard Development Company, L.P. Computing entities, platforms and methods operable to perform operations selectively using different cryptographic algorithms
CN103905270A (zh) * 2014-03-11 2014-07-02 国网湖北省电力公司信息通信公司 智能电网andriod系统安全基线自动化检查系统及检查方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1952885A (zh) * 2005-10-19 2007-04-25 联想(北京)有限公司 一种可进行完整性检测的计算机系统和方法
CN102270288A (zh) * 2011-09-06 2011-12-07 中国人民解放军国防科学技术大学 基于反向完整性验证的操作系统可信引导方法
CN102332070A (zh) * 2011-09-30 2012-01-25 中国人民解放军海军计算技术研究所 一种可信计算平台的信任链传递方法
CN102831355A (zh) * 2011-12-30 2012-12-19 中国科学院软件研究所 安全操作系统中建立可信路径的方法
CN103747036A (zh) * 2013-12-23 2014-04-23 中国航天科工集团第二研究院七〇六所 一种桌面虚拟化环境下的可信安全增强方法
CN105740729A (zh) * 2016-01-29 2016-07-06 浪潮电子信息产业股份有限公司 一种系统服务程序可信检查的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Windows环境下信任链传递及其性能分析;李晓勇等;《计算机研究与发展》;20071130(第11期);第1891-1892页 *

Also Published As

Publication number Publication date
CN107657170A (zh) 2018-02-02

Similar Documents

Publication Publication Date Title
EP3036623B1 (en) Method and apparatus for modifying a computer program in a trusted manner
US9389898B2 (en) System and method for enforcement of security controls on virtual machines throughout life cycle state changes
US8028172B2 (en) Systems and methods for updating a secure boot process on a computer with a hardware security module
US10025674B2 (en) Framework for running untrusted code
US8474032B2 (en) Firewall+ storage apparatus, method and system
CN107657170B (zh) 支持智能修复的可信加载启动控制系统和方法
US20060236122A1 (en) Secure boot
US7921461B1 (en) System and method for rootkit detection and cure
CN102880828B (zh) 一种针对虚拟化支撑环境的入侵检测与恢复系统
CN110188547B (zh) 一种可信加密系统及方法
WO2014000613A1 (zh) 系统修复方法、装置及存储介质
US20170255775A1 (en) Software verification systems with multiple verification paths
EP3485416B1 (en) Bios security
WO2014153635A1 (en) Method and system for platform and user application security on a device
US9390275B1 (en) System and method for controlling hard drive data change
CN104573417A (zh) 一种基于uefi的软件全过程保护系统和方法
JP7354074B2 (ja) 情報処理装置、情報処理方法およびプログラム
US9804932B2 (en) Method and device for processing data and electronic apparatus
US20240028736A1 (en) Validation and recovery of operating system boot files during os installation and runtime for uefi secure boot systems
US20240143770A1 (en) Validation and recovery of operating system boot files during os upgrade operations for uefi secure boot systems
US20240143444A1 (en) Error handling for runtime operations of operating system boot files for uefi secure boot systems
US20240143771A1 (en) Raid array for validating and recovering operating system boot files for uefi secure boot systems
CN112099855B (zh) 一种信息处理方法、电子设备和计算机存储介质
CN115879070B (zh) 安全加固方法、装置、存储介质及备份服务器
KR102153048B1 (ko) Smram 변조 탐지 방법 및 장치

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant