CN102436566B - 一种动态可信度量方法及安全嵌入式系统 - Google Patents
一种动态可信度量方法及安全嵌入式系统 Download PDFInfo
- Publication number
- CN102436566B CN102436566B CN201210008704.4A CN201210008704A CN102436566B CN 102436566 B CN102436566 B CN 102436566B CN 201210008704 A CN201210008704 A CN 201210008704A CN 102436566 B CN102436566 B CN 102436566B
- Authority
- CN
- China
- Prior art keywords
- module
- credible
- tpm
- tolerance
- dynamic
- 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.)
- Expired - Fee Related
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种动态可信度量方法及安全嵌入式系统,所述方法包括以下步骤:S1,硬件层通过TPM芯片和传统硬件重新设计可信BIOS,信任链从TPM安全芯片、可信BIOS、可信OS内核、嵌入式软件栈传递到应用程序,实现动态可信度量模块DTM的可信启动;S2,应用层度量请求模块根据来自安全设备的可疑事件及本地安全策略需求生成度量请求信息,并将其格式化,发送度量请求给内核层的动态可信度量模块DTM,激活动态可信度量模块DTM;S3,动态可信度量模块DTM对系统进程或模块进行可信度量并响应。本发明能有效地探测和防御复杂实时攻击。并且能够主动探测和防御内部物理层的攻击,实现安全嵌入式系统平台。
Description
技术领域
本发明涉及一种动态可信度量方法及安全嵌入式系统,属于工业控制安全技术领域。
背景技术
一直以来,信息安全的主要技术是防火墙、入侵检测和杀毒软件。传统的这三种信息安全技术是以“防外”为重点,与目前的信息安全问题主要源自内部(用户行为等)的实际情况不相适应,尤其是工业控制系统,其更严重的攻击来自内部物理层的攻击,传统的信息安全手段对这类攻击的预防已无能为力;另外,人们应对信息安全问题的注意力主要集中在对服务器和网络设备的保护上,都是被动的封堵的办法,忽略了对终端的主动的保护,这就造成了执行代码的可被修改,病毒程序的可被植入并运行;超级用户权限的可被窃取;私密信息的可被读取等漏洞。而近年来,嵌入式系统被广泛应用在工业领域中,但是嵌入式系统在最初的设计时没有过多地考虑其安全特性,使得现有的安全方案大多基于软件,缺乏硬件层面的支持。
因此,越来越多的研究开始转向基于硬件的安全方案,其中,比较多的是在硬件平台上引入安全芯片(可信平台模块TPM)来提高终端系统的安全性,即可信计算技术。可信嵌入式系统设计的目标是使系统运行的各种固件和软件具有可信赖性,全子系统从一个硬件组成的信任根源开始,从系统上电到操作系统上层软件的运行形成信任链,每一个环节都具有完整性检测、存储保护和状态报告等机制,以确保系统运行的软件实体在该环节中不被非法改变。
现有的TCG(可信计算组织)度量方法仅提供程序装载时的度量,不能响应实时运行攻击。现在有不少研究机构和大学对可信度量技术进行了研究,从多个角度对可信度量进行探索,如IMA度量架构、基于信息流的度量(PRIMA)。IMA在操作系统载入到内存时,对程序文件进行度量,但由于它在系统调用中插入了度量点,因而会产生大量冗余;PRIMA对此进行了改进,与SELinux结合,使用了策略规约的方法减少了冗余度,但IMA和PRIMA从本质说,仍然是静态度量系统;LKIM等人研究基于内核的上下文检查的度量方法,它采用静态度量加上状态变量的方式,但并没有实现真正的动态度量,而且它度量针对的linux内核,对普通的进程无能为力;基于属性的度量不同于此前基于二进制的度量,其度量方式不再是对被度量对象的二进制代码进行哈希运算得到的摘要,而是确定被度量对象是否满足需要的安全属性,但缺点是,属性一般依赖于应用程序和其运行环境,可扩展性比较差。这些方法要求监测的应用程序的源代码被限定在特定的运行环境中,在动态性和实时性方面都有很大缺陷,缺乏灵活性,不能有效阻止或探测实时攻击。
目前大多数商用操作系统将内核程序设计成拥有超级用户权限,而且内核程序使用共享线性内存以便提高系统效率,这导致了仅仅提供软件加载验证的TCG结构容易遭受TOCTOU攻击,该攻击利用程序度量和程序使用这个时间差,对程序的内存进行篡改,导致TPM所提供的平台信息无法反映出实际的运行情况(采用内存监控机制,发现内存被修改,攻击事件记录,通知度量模块进行响应)。目前出现了一种新的实时攻击,即被称为返回导向编程攻击技术,它不需要注入新的代码,而是使用已经存在进程内存空间的代码;这种新的攻击能够覆盖堆栈中的返回地址,指向程序或系统库中的现有的代码片段,现有的保护机制如数据执行保护(DEP)已经无能为力。这些实时攻击使得信息系统面临这极大的威胁,特别是工业控制系统,这些攻击可能造成更严重的财产和生命安全,目前还没有完善的解决方案。
发明内容
本发明的目的在于,提供一种动态可信度量方法及安全嵌入式系统,能有效地探测和防御复杂实时攻击。并且能够主动探测和防御内部物理层的攻击,实现安全嵌入式系统平台。
为解决上述技术问题,本发明采用如下的技术方案:一种动态可信度量方法,包括以下步骤:
S1,硬件层通过TPM芯片和传统硬件重新设计可信BIOS,信任链从TPM安全芯片、可信BIOS、可信OS内核、嵌入式软件栈传递到应用程序,实现动态可信度量模块DTM的可信启动;也可以将CRTM(CRTM是平台执行RTM的执行代码,在一个可信平台中有三个可信根:度量可信根RTM、存储可信根RTS、报告可信根RTR)集成到TPM中,使得CRTM不直接与嵌入式设备的主处理器进行交互,避免了平台异构性对CRTM带来的影响;
S2,应用层度量请求模块根据来自安全设备的可疑事件及本地安全策略需求生成度量请求信息,并将其格式化,发送度量请求给内核层的动态可信度量模块DTM,激活动态可信度量模块DTM;
S3,动态可信度量模块DTM对系统进程或模块进行可信度量并响应。
前述的一种动态可信度量方法中,所述实现动态可信度量模块DTM的可信启动的步骤包括:
S21,启动TPM芯片进行初始化;
S22,由可信根依次对BootLoader、OS和应用程序3个实体进行完整性度量,如果所有被度量实体的完整性没有被破坏,就转到步骤S23;如果实体的完整性被破坏,就转到步骤S24;
S23,将完整性度量值存储在TPM内部的平台配置寄存器(PCR)中,系统控制权交给BootLoader开始启动,然后启动OS,最后启动应用程序;
S24,由上述实体的备份替换上述实体,再重新度量该实体的完整性,只有3个实体的完整性都通过验证之后,才能正常启动,否则拒绝启动执行。
前述的一种动态可信度量方法中,所述步骤S3包括:
S31,当监测到度量请求时,将DTM模块插入内核;
S32,判断度量目标程序是进程还是内核模块,根据其不同的数据结构分别进行处理;由于进程和模块度量的关键数据(主体)不完全相同,因此其度量处理的过程有所不同,需要分别进行处理;
S33,对程序的静态二进制进行度量,根据跟踪控制策略重写程序二进制代码;
S34,程序进程被激活,开始对程序进行动态跟踪,跟踪代码在相应的数据段存储跟踪数据;
S35,随着跟踪事件的发生,跟踪代码动态地更新跟踪数据;
S36,将这些跟踪数据交与TPM芯片做散列值,并由TPM芯片进行签名,将散列值和签名存入事先定义好的数据结构中;
S37,处理并响应接收的度量信息。
前述的一种动态可信度量方法中,所述系统与其他终端或设备进行远程认证,如果该终端或设备也扩展了TPM安全芯片,系统与该终端或设备之间通过各自的TPM模块相互进行可信报告。远程认证终端服务程序可以与访问控制模块相交互,通过远程认证进行双方的可信报告,如果通过验证则生成会话标志,可以进行会话,否则中断会话。
前述的一种动态可信度量方法中,当监测到内存更改时就激活动态可信度量模块DTM,对系统进行动态可信度量,可以作为度量请求的一种补充形式,实现真正的动态度量,采用虚拟技术,可以不改动硬件,可扩展性较好。
前述的一种动态可信度量方法中,向嵌入式系统加载新的软件和升级现有的软件,并由中心管理平台统一管理。主要包括系统升级、加载新的操作系统核心模块、升级已有的操作系统核心模块、加载新的应用程序、升级已有的应用程序等,通过嵌入式终端中引入TPM构建安全嵌入式系统,通过应用基于TPM的身份鉴别、动态可信度量、数字签名等技术来保障系统升级的安全可靠,从可信的角度考虑操作的安全性、可靠性及可恢复性。
实现前述方法的一种安全嵌入式系统,包括:硬件层、内核层(OS层)和应用层(用户层);
其中,硬件层包括ARM处理器、BIOS系统、外围设备和TPM模块,通过扩展TPM安全芯片作为信任根,信任链从TPM安全芯片、可信BIOS、可信OS内核、嵌入式软件栈传递到应用程序;ARM处理器具有高性能、低功耗的显著优点;外围设备包括存储器、输入设备、输出设备、外围接口、硬盘、电源、内存卡及其他嵌入式固件等;TPM具有密钥管理和配置管理等特性,能够被用于平台的完整性验证,用户身份认证和数据签名等,其内部还包括一组被称为PCR(平台配置寄存器)的易失性存储器,被用来作为完整性度量的依据;在基于ARM处理器的嵌入式系统中,通过SPI接口并基于FPGA来扩展TPM芯片,通过FPGA实现信号间的转换,负责特殊LPC总线周期的生成。
内核层包括度量接口模块和动态可信度量模块DTM;TPM接口可以采用LPC总线接口,也可以通过SPI接口采用FPGA来扩展TPM芯片。
应用层包括用来激活动态可信度量模块DTM的度量请求模块,位于应用层的用户空间,主要接收来自远端询问、访问控制等安全设备的可疑事件以及本地安全策略需求等,并将其格式化;度量请求模块与度量接口模块进行交互。
前述的一种安全嵌入式系统中,所述动态可信度量模块DTM包括:
程序加载引擎,用于对系统进程或模块进行静态可信度量;
跟踪度量策略模块,用于预先定义所有需要度量的程序二进制的跟踪事件,以及与不同进程及模块相匹配的模式和跟踪代码;
跟踪实现组件,用于对进程或模块的二进制代码进行重写,即附加跟踪代码,用来实现对程序动态跟踪;跟踪实现组件的实现可以采用基于信息流的动态污点分析技术、基于数据流跟踪和库函数识别技术等;
跟踪度量引擎,用于对系统进程或模块进行动态可信度量,实现程序动态事件跟踪及跟踪数据维护;负责与TPM模块的交互,将跟踪数据交与TPM芯片做散列值,并由TPM进行签名,将散列值和签名存入事先定义好的数据结构中;
度量响应引擎,用于根据度量结果进行判断并响应,将度量信息组装,发送回远端或本地。
前述的一种安全嵌入式系统中,内核层还包括认证代理模块,与动态可信度量模块进行交互,用于系统与其他终端或设备进行远程认证,如果该终端或设备也扩展了TPM安全芯片,系统与该终端或设备之间通过各自的TPM模块相互进行可信报告,如果通过验证则生成会话标志,可以进行会话,否则中断会话,这样大大增加了通讯的安全性。
前述的一种安全嵌入式系统中,内核层还包括内存监视器,用于监视内存更改,当监测到内存更改时就激活动态可信度量模块DTM,对内核进行动态可信度量,可以作为度量请求的一种补充形式,实现真正的动态度量,采用虚拟技术,可以不改动硬件,可扩展性较好。
前述的一种安全嵌入式系统中,内核层还包括可信在线升级模块,与动态可信度量模块进行交互,用于向系统加载新的软件和升级现有的软件,并由中心管理平台统一管理。主要包括系统升级、加载新的操作系统核心模块、升级已有的操作系统核心模块、加载新的应用程序、升级已有的应用程序等,通过嵌入式终端引入TPM构建安全嵌入式系统,通过应用基于TPM的身份鉴别、动态可信度量、数字签名等技术来保障系统升级的安全可靠,从可信的角度考虑操作的安全性、可靠性及可恢复性。
与现有技术相比,本发明从可信硬件层、可信操作系统层和可信应用层这三个层上来保证嵌入式系统的安全,动态可信度量架构考虑了程序装载可信度量技术、动态跟踪技术、内存监视、远程认证、访问控制策略等技术,来构建安全嵌入式系统,能够探测和防御内部攻击及实时攻击,实现安全嵌入式系统平台。本发明采用嵌入式硬件扩展TPM安全芯片的硬件保护策略,通过BIOS静态启动度量,扩展到可执行程序加载度量,再到进程、模块及内存的动态度量,以及终端之间的远程认证,并与访问控制、入侵检测等安全策略相配合,采用全方位的保护策略,对系统从加电到运行进行实时度量和跟踪,能够有效防御TOCTOU、返回导向编程ROP等复杂实时攻击。
采用动态二进制数据流跟踪分析技术,很好的解决程序源代码不易获得的问题,它通过将来自不安全途径的数据打标签,并跟踪观察其在内存中的行为,只要增加探测的规则就可以广泛的探测各种攻击行为,比较典型的如缓冲区溢出攻击、ROP攻击。跟踪代码可以采用二进制方式来实现,是由于目标是跟踪缓冲区溢出攻击、ROP攻击的一般特征,而不是特定程序的行为,因此不需要知道程序的源代码。
现有的采用加密技术的嵌入式系统中,密钥通常被存储在不安全的存储器中,很容易被窃取。本发明基于软硬件相结合的技术,通过在嵌入式平台内部引入可信硬件设备TPM安全芯片作为系统安全性的支撑模块,对系统引导及运行过程所需要的主要密码运算和安全存储提供支持。而TPM则可以将各种密钥及敏感数据存放在芯片内部和其他组件隔离的存储器内,从根本上摆脱了对操作系统的依赖,实现了数据的物理隔离。此外,TPM的加解密功能以及安全存储能力,可以在不占用嵌入式设备原有资源的情况下为系统提供安全保障,通过其低功耗、高性能的特点也刚好满足嵌入式系统的需求。
附图说明
图1是本发明的一种实施例的动态可信度量架构图;
图2是本发明的一种实施例的总体架构图;
图3是本发明的一种实施例的工作流程图。
下面结合附图和具体实施方式对本发明作进一步的说明。
具体实施方式
本发明的实施例:一种利用前述系统的可信度量方法,包括以下步骤:
S1,硬件层通过TPM芯片和传统硬件重新设计可信BIOS,信任链从TPM安全芯片、可信BIOS、可信OS内核、嵌入式软件栈传递到应用程序,实现动态可信度量模块DTM的可信启动;也可以将CRTM(CRTM是平台执行RTM的执行代码,在一个可信平台中有三个可信根:度量可信根RTM、存储可信根RTS、报告可信根RTR)集成到TPM中,使得CRTM不直接与嵌入式设备的主处理器进行交互,避免了平台异构性对CRTM带来的影响;
S2,应用层度量请求模块根据来自安全设备的可疑事件及本地安全策略需求生成度量请求信息,并将其格式化,发送度量请求给内核层的动态可信度量模块DTM,激活动态可信度量模块DTM;
S3,动态可信度量模块DTM对系统进程或模块进行可信度量并响应。
如图2所示,实心箭头标识了安全嵌入式系统信任链的传递过程,安全嵌入式系统信任链包括TPM安全芯片、可信BIOS、可信OS内核、嵌入式软件栈和应用程序。TSS(可信软件协议栈)是对可信度量计算平台提供支持的软件,是对使用TPM功能的应用程序提供一个唯一的入口,这样应用程序就可以通过调用TSS中的API函数(可信服务提供模块TSP)方便地使用TPM中的功能,包括TPM的同步访问、管理TPM的资源、适当的时候释放TPM的资源等。TSS从结构上可分为三层,自下至上分别为TDDL、TCS和TSP,全部运行于用户模式。其中,TDDL(TPM驱动程序库)主要功能是通过提供标准接口,屏蔽各种不同安全芯片的差异,在用户模式和内核模式之间提供一个通信通道;TCS(TSS核心服务)是用户模式的系统进程,通常以系统服务形式存在,它通过TDDL与安全芯片进行通信,除提供安全芯片所具有的所有原始功能外,还提供如密钥管理等功能。通过TCS的接口,上层应用可以非常直接、简便地使用安全芯片提供的功能;TSP(TSS服务提供者)是用户模式的用户进程,位于TSS的最上层,它为应用程序提供了丰富的、面向对象的接口,使应用程序可以更加方便地利用安全芯片提供的功能结构建所需要的安全特性。嵌入式终端的资源有限,功能普遍单一,其应用领域相对比较集中,因此某一类型的嵌入式设备对TSS的功能需求相对固定,因此,可以将嵌入式TSS的功能模块化,仅向上层提供某种功能的接口,应用程序可以按照自身需要选择有用的TSS功能,可以通过对现有的TSS进行剪裁和改造来实现。
所述实现动态可信度量模块DTM的可信启动的步骤包括:
S21,启动TPM芯片进行初始化;
S22,由可信根依次对BootLoader、OS和应用程序3个实体进行完整性度量,如果所有被度量实体的完整性没有被破坏,就转到步骤S23;如果实体的完整性被破坏,就转到步骤S24;
S23,将完整性度量值存储在TPM内部的平台配置寄存器(PCR)中,系统控制权交给BootLoader开始启动,然后启动OS,最后启动应用程序;
S24,由上述实体的备份替换上述实体,再重新度量该实体的完整性,只有3个实体的完整性都通过验证之后,才能正常启动,否则拒绝启动执行。
所述步骤S3包括:
S31,当监测到度量请求时,将DTM模块插入内核;
S32,判断度量目标程序是进程还是内核模块,根据其不同的数据结构分别进行处理;由于进程和模块度量的关键数据(主体)不完全相同,因此其度量处理的过程有所不同,需要分别进行处理;
S33,对程序的静态二进制进行度量,根据跟踪控制策略重写程序二进制代码;
S34,程序进程被激活,开始对程序进行动态跟踪,跟踪代码在相应的数据段存储跟踪数据;
S35,随着跟踪事件的发生,跟踪代码动态地更新跟踪数据;
S36,将这些跟踪数据交与TPM芯片做散列值,并由TPM芯片进行签名,将散列值和签名存入事先定义好的数据结构中;
S37,处理并响应接收的度量信息。
所述系统与其他终端或设备进行远程认证,如果该终端或设备也扩展了TPM安全芯片,系统与该终端或设备之间通过各自的TPM模块相互进行可信报告。远程认证终端服务程序可以与访问控制模块相交互,通过远程认证进行双方的可信报告,如果通过验证则生成会话标志,可以进行会话,否则中断会话。
当监测到内存更改时就激活动态可信度量模块DTM,对系统进行动态可信度量,可以作为度量请求的一种补充形式,实现真正的动态度量,采用虚拟技术,可以不改动硬件,可扩展性较好。
向嵌入式系统加载新的软件和升级现有的软件,并由中心管理平台统一管理。主要包括系统升级、加载新的操作系统核心模块、升级已有的操作系统核心模块、加载新的应用程序、升级已有的应用程序等,通过嵌入式终端中引入TPM构建安全嵌入式系统,通过应用基于TPM的身份鉴别、动态可信度量、数字签名等技术来保障系统升级的安全可靠,从可信的角度考虑操作的安全性、可靠性及可恢复性。
如图3所示,嵌入式平台上 Boot Loader严重依赖于硬件平台,必须在考虑嵌入式平台的基础上对Boot Loader进行重新设计。对于采用ARM+ Linux开发平台来说,Boot Loader通常分为两个阶段:第一个阶段通常是一段代码,包括基本硬件初始化,为第二阶段准备RAM空间,复制Boot Loader的第二阶段代码到RAM,设置堆栈,之后跳转到第二阶段的程序入口点;第二阶段通常是C程序,包括初始化本阶段要用到的硬件设备,检查系统内存映射,将内核影像和根文件映像从Flash读到RAM,为内核设置启动参数,最后调用操作系统内核。
系统首先进行硬件BIOS可信引导过程。进行以下处理:硬件平台和TPM同时加电,TPM初始化,首先度量第一阶段关键代码的完整性;对硬件平台上各种硬件进行初始化,并度量其组成与配置;对第二阶段程序代码进行度量,为第二阶段准备RAM空间,复制第二段代码到RAM,设置堆栈,掉转到程序入口;检查系统内存映射,进行完整性度量,操作系统度量应用程序完整性,生成全部完整性度量值,存入RAM;设置内核启动参数,调用内核,TPM将完整性值报告给操作系统;操作系统将完整性序列值和已存储在TPM内部的验证码进行比较;如两者不同,则中断系统运行,进行系统恢复,重启;若两者相同,系统能够正常启动,然后进入系统正常运行状态。
系统进入正常的运行状态,系统程序的调度和响应是采用线程及中断方式进行的,操作系统基于线程及中断的调度方式可以实现快速切换、多处理器的并行运行,满足系统实时性的要求。系统按照以下流程工作的:首先,进行系统、线程及中断初始化,为系统工作做准备;然后通过设置状态字及优先级的方式,进行线程及中断服务程序的调用,直到接收到结束命令。该系统主要由动态可信度量终端服务程序、远程认证中断服务程序、可信在线升级中断服务程序、第三方软件可信启动线程以及其他中断服务程序或线程组成。
动态可信度量终端服务程序实现更加细粒度的实时动态度量,包括对内核的进程、模块的代码、参数、堆栈等分别进行度量。
远程认证终端服务程序可以与访问控制模块相交互,通过远程认证进行双方的可信报告,如果通过验证则生成会话标志,可以进行会话,否则中断会话。
第三方应用软件可信启动:应用软件的可信启动将通过软件签名验证机制来保证,确保软件完整性没有被破坏,从而实现受控启动。在嵌入式可信平台上运行的应用软件(包括动态链接库)、内核模块和脚本文件,必须由第三方可信认证中心对其签名授权发布。首先计算原文件的Hash值,用TPM签名密钥对中的私钥对其加密,形成数字签名,然后附加在原文件后面,合并为签名后的新文件。应用软件的执行,将基于LSM框架结构和可信系统调用,实现软件的签名验证和受控启动。LSM框架通过对客体进行访问的函数中插入hook,截获访问,由可信系统调用模块实现对可执行文件的签名验证。LSM的捕获点在内核空间中,其粒度比系统调用更细,且都位于对各种资源的访问点上,因此对软件的执行可实现更细粒度的安全控制。
可重复编程是嵌入式系统的一大特性,但在产品投入使用后并且被安装在偏远或环境较为恶劣的地方,嵌入式系统软件直接制约着使用该嵌入式系统产品的功能。大多数情况下,产品功能的提升都可以通过嵌入式系统软件升级特别是远程在线升级来实现。
其中,不同的中断服务程序采用不同优先级进行响应,线程之间采用状态字的方式进行同步控制。
实现前述方法的一种安全嵌入式系统,如图1所示,包括:硬件层、内核层(OS层)和应用层(用户层);
其中,硬件层包括ARM处理器、BIOS系统、外围设备和TPM模块,通过扩展TPM安全芯片作为信任根,信任链从TPM安全芯片、可信BIOS、可信OS内核、嵌入式软件栈传递到应用程序;ARM处理器具有高性能、低功耗的显著优点;外围设备包括存储器、输入设备、输出设备、外围接口、硬盘、电源、内存卡及其他嵌入式固件等;TPM具有密钥管理和配置管理等特性,能够被用于平台的完整性验证,用户身份认证和数据签名等,其内部还包括一组被称为PCR(平台配置寄存器)的易失性存储器,被用来作为完整性度量的依据;在基于ARM处理器的嵌入式系统中,通过SPI接口并基于FPGA来扩展TPM芯片,通过FPGA实现信号间的转换,负责特殊LPC总线周期的生成。
内核层包括度量接口模块和动态可信度量模块DTM;TPM接口可以采用LPC总线接口,也可以通过SPI接口采用FPGA来扩展TPM芯片。
应用层包括用来激活动态可信度量模块DTM的度量请求模块,位于应用层的用户空间,主要接收来自远端询问、访问控制等安全设备的可疑事件以及本地安全策略需求等,并将其格式化;度量请求模块与度量接口模块进行交互。
所述动态可信度量模块DTM包括:
程序加载引擎,用于对系统进程或模块进行静态可信度量;
跟踪度量策略模块,用于预先定义所有需要度量的程序二进制的跟踪事件,以及与不同进程及模块相匹配的模式和跟踪代码;
跟踪实现组件,用于对进程或模块的二进制代码进行重写,即附加跟踪代码,用来实现对程序动态跟踪;跟踪实现组件的实现可以采用基于信息流的动态污点分析技术、基于数据流跟踪和库函数识别技术等;
跟踪度量引擎,用于对系统进程或模块进行动态可信度量,实现程序动态事件跟踪及跟踪数据维护;负责与TPM模块的交互,将跟踪数据交与TPM芯片做散列值,并由TPM进行签名,将散列值和签名存入事先定义好的数据结构中;
度量响应引擎,用于根据度量结果进行判断并响应,将度量信息组装,发送回远端或本地。
内核层还包括认证代理模块,与动态可信度量模块进行交互,用于系统与其他终端或设备进行远程认证,如果该终端或设备也扩展了TPM安全芯片,系统与该终端或设备之间通过各自的TPM模块相互进行可信报告,如果通过验证则生成会话标志,可以进行会话,否则中断会话,这样大大增加了通讯的安全性。
内核层还包括内存监视器,用于监视内存更改,当监测到内存更改时就激活动态可信度量模块DTM,对内核进行动态可信度量,可以作为度量请求的一种补充形式,实现真正的动态度量,采用虚拟技术,可以不改动硬件,可扩展性较好。
内核层还包括可信在线升级模块,与动态可信度量模块进行交互,用于向系统加载新的软件和升级现有的软件,并由中心管理平台统一管理。主要包括系统升级、加载新的操作系统核心模块、升级已有的操作系统核心模块、加载新的应用程序、升级已有的应用程序等,通过嵌入式终端引入TPM构建安全嵌入式系统,通过应用基于TPM的身份鉴别、动态可信度量、数字签名等技术来保障系统升级的安全可靠,从可信的角度考虑操作的安全性、可靠性及可恢复性。
以上对本发明实施方式提供的技术方案进行了详细的介绍,本文中应用了具体实施例对本发明所实施的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明实施的原理;同时,对于本领域的一般技术人员,本发明实施例,在具体实施方式以及应用范围上均有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1. 一种动态可信度量方法,其特征在于,包括以下步骤:
S1,硬件层通过TPM芯片和传统硬件重新设计可信BIOS,信任链从TPM安全芯片、可信BIOS、可信OS内核、嵌入式软件栈传递到应用程序,实现动态可信度量模块DTM的可信启动;
S2,应用层度量请求模块根据来自安全设备的可疑事件及本地安全策略需求生成度量请求信息,并将其格式化,发送度量请求给内核层的动态可信度量模块DTM,激活动态可信度量模块DTM;
S3,动态可信度量模块DTM对系统进程或模块进行可信度量并响应;
所述实现动态可信度量模块DTM的可信启动的步骤包括:
S21,启动TPM模块进行初始化;
S22,由可信根依次对BootLoader、OS和应用程序3个实体进行完整性度量,如果所有被度量实体的完整性没有被破坏,就转到步骤S23;如果实体的完整性被破坏,就转到步骤S24;
S23,将完整性度量值存储在TPM内部的平台配置寄存器(PCR)中,系统控制权交给BootLoader开始启动,然后启动OS,最后启动应用程序;
S24,由上述实体的备份替换上述实体,再重新度量该实体的完整性,只有3个实体的完整性都通过验证之后,才能正常启动,否则拒绝启动执行;
所述步骤S3包括:
S31,当监测到度量请求时,将DTM模块插入内核;
S32,判断度量目标程序是进程还是内核模块,根据其不同的数据结构分别进行处理;
S33,对程序的静态二进制进行度量,根据跟踪控制策略重写程序二进制代码;
S34,程序进程被激活,开始对程序进行动态跟踪,跟踪代码在相应的数据段存储跟踪数据;
S35,随着跟踪事件的发生,跟踪代码动态地更新跟踪数据;
S36,将这些跟踪数据交与TPM芯片做散列值,并由TPM芯片进行签名,将散列值和签名存入事先定义好的数据结构中;
S37,处理并响应接收的度量信息。
2. 根据权利要求1所述的一种动态可信度量方法,其特征在于:所述动态可信度量方法应用于安全嵌入式系统与其他终端或设备进行远程认证中,如果该终端或设备也扩展了TPM安全芯片,系统与该终端或设备之间通过各自的TPM模块 相互进行可信报告。
3. 根据权利要求1所述的一种动态可信度量方法,其特征在于:采用内存监视方式,即监测到内存更改,就激活动态可信度量模块DTM,对系统进行动态可信度量。
4. 实现权利要求1~3任意一项所述方法的一种动态可信度量系统,其特征在于,包括:
通过TPM芯片和传统硬件重新设计可信BIOS的模块,用于信任链从TPM安全芯片、可信BIOS、可信OS内核、嵌入式软件栈传递到应用程序;
动态可信度量模块DTM,用于对系统进程或模块进行可信度量并响应;
实现动态可信度量模块DTM的可信启动的模块;
和应用层度量请求模块,用于根据来自安全设备的可疑事件及本地安全策略需求生成度量请求信息,并将其格式化,发送度量请求给内核层的动态可信度量模块DTM,激活动态可信度量模块DTM;
实现动态可信度量模块DTM的可信启动的模块包括:
初始化模块,用于启动TPM模块进行初始化;
完整性度量模块,用于通过可信根依次对BootLoader、OS和应用程序3个实体进行完整性度量,判断所有被度量实体的完整性是否被破坏;
启动模块,用于将完整性度量值存储在TPM内部的平台配置寄存器中,系统控制权交给BootLoader开始启动,然后启动OS,最后启动应用程序;
和完整性重新度量模块,由上述实体的备份替换上述实体,再重新度量该实体的完整性,只有3个实体的完整性都通过验证之后,才能正常启动,否则拒绝启动执行;
所述动态可信度量模块DTM包括:
请求监测模块,用于当监测到度量请求时,将DTM模块插入内核;
度量目标程序判断模块,用于判断度量目标程序是进程还是内核模块,根据其不同的数据结构分别进行处理;
静态度量模块,用于对程序的静态二进制进行度量,根据跟踪控制策略重写程序二进制代码;
动态跟踪模块,用于程序进程被激活,开始对程序进行动态跟踪,跟踪代码在相应的数据段存储跟踪数据;
跟踪数据更新模块,用于随着跟踪事件的发生,跟踪代码动态地更新跟踪数据;
跟踪数据处理模块,用于将这些跟踪数据交与TPM芯片做散列值,并由TPM芯片进行签名,将散列值和签名存入事先定义好的数据结构中;
和度量响应引擎,用于处理并响应接收的度量信息。
5. 根据权利要求4所述的一种动态可信度量系统,其特征在于:还包括认证代理模块,与动态可信度量模块进行交互,用于安全嵌入式系统与其他终端或设备进行远程认证,如果该终端或设备也扩展了TPM安全芯片,安全嵌入式系统与该终端或设备之间通过各自的TPM模块相互进行可信报告。
6. 根据权利要求4所述的一种动态可信度量系统,其特征在于:还包括内存监视器,用于监视内存更改,当监测到内存更改时就激活动态可信度量模块DTM,对内核进行动态可信度量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210008704.4A CN102436566B (zh) | 2012-01-12 | 2012-01-12 | 一种动态可信度量方法及安全嵌入式系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210008704.4A CN102436566B (zh) | 2012-01-12 | 2012-01-12 | 一种动态可信度量方法及安全嵌入式系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102436566A CN102436566A (zh) | 2012-05-02 |
CN102436566B true CN102436566B (zh) | 2014-07-09 |
Family
ID=45984624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210008704.4A Expired - Fee Related CN102436566B (zh) | 2012-01-12 | 2012-01-12 | 一种动态可信度量方法及安全嵌入式系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102436566B (zh) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880826A (zh) * | 2012-08-29 | 2013-01-16 | 华南理工大学 | 一种电子政务云平台安全性的动态完整性度量方法 |
CN103166952B (zh) * | 2012-11-16 | 2016-04-27 | 太原科技大学 | 一种嵌入式车载数据采集终端 |
CN103150523B (zh) * | 2013-03-07 | 2016-01-13 | 太原科技大学 | 一种简易的嵌入式可信终端系统及方法 |
CN103139221B (zh) * | 2013-03-07 | 2016-07-06 | 中国科学院软件研究所 | 一种可信虚拟平台及其构建方法、平台之间数据迁移方法 |
CN103678955A (zh) * | 2013-04-26 | 2014-03-26 | 厦门密安信息技术有限责任公司 | 可信芯片设计 |
CN103905450B (zh) * | 2014-04-03 | 2017-05-31 | 国网河南省电力公司电力科学研究院 | 智能电网嵌入式设备网络检测评估系统与检测评估方法 |
CN104268461B (zh) | 2014-09-16 | 2018-03-06 | 华为技术有限公司 | 一种可信度量方法及装置 |
CN105516967A (zh) * | 2014-09-25 | 2016-04-20 | 中兴通讯股份有限公司 | 可信环境创建方法和装置及基站异常恢复方法和装置 |
CN104598841B (zh) * | 2014-12-29 | 2017-11-28 | 东软集团股份有限公司 | 一种面向终端安全的双系统引导方法和装置 |
CN105205401B (zh) * | 2015-09-30 | 2017-10-24 | 中国人民解放军信息工程大学 | 基于安全密码芯片的可信计算机系统及其可信引导方法 |
CN105354497A (zh) * | 2015-10-26 | 2016-02-24 | 浪潮电子信息产业股份有限公司 | 一种计算机防护的装置及方法 |
CN106909848A (zh) * | 2015-12-22 | 2017-06-30 | 中电科技(北京)有限公司 | 一种基于bios扩展的计算机安全增强系统及其方法 |
CN105740710A (zh) * | 2016-02-01 | 2016-07-06 | 浪潮电子信息产业股份有限公司 | 一种基于bmc实现bios动态度量的方法 |
CN105956466A (zh) * | 2016-04-28 | 2016-09-21 | 浪潮电子信息产业股份有限公司 | 一种基于tpm的主动度量及异常上报系统和方法 |
US10210333B2 (en) * | 2016-06-30 | 2019-02-19 | General Electric Company | Secure industrial control platform |
CN106326751B (zh) * | 2016-08-09 | 2019-04-19 | 中国船舶重工集团公司第七0九研究所 | 一种可信道系统及其实现方法 |
CN106295331A (zh) * | 2016-08-22 | 2017-01-04 | 浪潮电子信息产业股份有限公司 | 一种主动防御及异常上报系统的设计方法 |
WO2018053855A1 (en) * | 2016-09-26 | 2018-03-29 | Mcafee, Inc. | Enhanced secure boot |
CN106599679A (zh) * | 2016-12-14 | 2017-04-26 | 中标软件有限公司 | 应用程序的可信度量方法及装置 |
CN106803046A (zh) * | 2017-01-22 | 2017-06-06 | 济南浪潮高新科技投资发展有限公司 | 一种基于外部存储的度量日志加密方法 |
CN108573153B (zh) * | 2017-03-13 | 2022-03-18 | 中标软件有限公司 | 一种车载操作系统及其使用方法 |
CN106951785B (zh) * | 2017-03-15 | 2020-07-07 | 湖南文盾信息技术有限公司 | 一种java虚拟机及其中的信任链延伸方法 |
CN106960163A (zh) * | 2017-03-28 | 2017-07-18 | 联想(北京)有限公司 | 一种大数据平台的安全防护方法及系统 |
US10635821B2 (en) * | 2017-10-13 | 2020-04-28 | Baidu Usa Llc | Method and apparatus for launching a device |
CN109840430B (zh) * | 2017-11-28 | 2023-05-02 | 中国科学院沈阳自动化研究所 | Plc的安全处理单元及其总线仲裁方法 |
CN109948326B (zh) * | 2017-12-20 | 2021-01-08 | 北京可信华泰信息技术有限公司 | 一种异常状态回溯方法及终端 |
CN108733455B (zh) * | 2018-05-31 | 2020-08-18 | 上海交通大学 | 基于ARM TrustZone的容器隔离性增强系统 |
CN109634541B (zh) * | 2018-12-06 | 2022-06-10 | 中国船舶重工集团公司第七0七研究所 | 一种基于可信计算的打印机信息安全监控方法 |
CN109697351B (zh) * | 2018-12-18 | 2023-05-16 | 超越科技股份有限公司 | 一种可信度量系统及方法 |
CN109871695B (zh) * | 2019-03-14 | 2020-03-20 | 沈昌祥 | 一种计算与防护并行双体系结构的可信计算平台 |
CN110096887B (zh) | 2019-03-22 | 2020-06-30 | 阿里巴巴集团控股有限公司 | 一种可信计算方法及服务器 |
CN110189473B (zh) * | 2019-04-08 | 2021-07-06 | 全球能源互联网研究院有限公司 | 一种计费控制系统的可信度量认证交互方法及装置 |
CN110188530A (zh) * | 2019-05-30 | 2019-08-30 | 苏州浪潮智能科技有限公司 | 一种安全认证方法、装置、设备及可读存储介质 |
CN110543769B (zh) * | 2019-08-29 | 2023-09-15 | 武汉大学 | 一种基于加密tf卡的可信启动方法 |
CN110601831A (zh) * | 2019-09-19 | 2019-12-20 | 北京天地和兴科技有限公司 | 基于可信模块的工控网络嵌入式安全设备的度量方法 |
CN111343352B (zh) * | 2019-12-23 | 2022-03-01 | 珠海奔图电子有限公司 | 图像形成装置及其启动控制方法、存储介质 |
CN111177708A (zh) * | 2019-12-30 | 2020-05-19 | 山东超越数控电子股份有限公司 | 基于tcm芯片的plc可信度量方法、系统及度量装置 |
EP4116851A4 (en) * | 2020-03-31 | 2023-08-30 | Huawei Technologies Co., Ltd. | CONFIDENCE MEASUREMENT METHOD AND ASSOCIATED APPARATUS |
CN111625846B (zh) * | 2020-04-24 | 2023-08-29 | 公安部第一研究所 | 一种移动终端设备的系统状态记录方法 |
CN112115483B (zh) * | 2020-09-27 | 2023-05-05 | 成都中科合迅科技有限公司 | 对核电dcs工程师站进行保护的可信计算应用方法 |
CN112685779A (zh) * | 2020-12-31 | 2021-04-20 | 天津南大通用数据技术股份有限公司 | 基于数据库执行select语句主要关键字的静态可信判定方法 |
CN112800429B (zh) * | 2021-01-28 | 2024-05-24 | 北京工业大学 | 一种基于基础性的uefi bios固件系统中驱动程序保护的方法 |
CN112948086B (zh) * | 2021-03-04 | 2023-11-03 | 浙江中控研究院有限公司 | 一种可信plc控制系统 |
CN113536317A (zh) * | 2021-06-17 | 2021-10-22 | 杭州加速科技有限公司 | 一种加强ate测试机台安全性的方法和系统 |
CN113468615B (zh) * | 2021-06-24 | 2023-08-01 | 邦彦技术股份有限公司 | 可信度量方法、可信芯片、逻辑控制器及可信度量系统 |
CN113486353B (zh) * | 2021-06-24 | 2023-08-01 | 邦彦技术股份有限公司 | 可信度量方法、系统、设备及存储介质 |
CN113342735B (zh) * | 2021-06-28 | 2024-04-16 | 海光信息技术股份有限公司 | 一种处理器芯片及电子设备 |
CN114647453B (zh) * | 2022-03-01 | 2023-06-09 | 芯原微电子(成都)有限公司 | 多处理器的可信动态启动方法、系统、存储介质及终端 |
CN114666103B (zh) * | 2022-03-04 | 2023-08-15 | 阿里巴巴(中国)有限公司 | 可信度量装置、设备、系统及可信身份认证方法 |
TWI826048B (zh) * | 2022-10-18 | 2023-12-11 | 信驊科技股份有限公司 | 資料安全性校驗方法及電子裝置 |
CN116340956B (zh) * | 2023-05-25 | 2023-08-08 | 国网上海能源互联网研究院有限公司 | 一种电力嵌入式终端设备的可信防护优化方法和装置 |
CN117195205B (zh) * | 2023-11-06 | 2024-01-26 | 西安热工研究院有限公司 | 可信dcs上位机程序动态验证方法、系统、设备及介质 |
CN117909956B (zh) * | 2024-03-20 | 2024-06-14 | 山东科技大学 | 一种硬件辅助的嵌入式系统程序控制流安全认证方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101226577A (zh) * | 2008-01-28 | 2008-07-23 | 南京大学 | 基于可信硬件与虚拟机的微内核操作系统完整性保护方法 |
CN101488174A (zh) * | 2009-01-15 | 2009-07-22 | 北京交通大学 | 动态透明的虚拟可信平台模块的实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7103914B2 (en) * | 2002-06-17 | 2006-09-05 | Bae Systems Information Technology Llc | Trusted computer system |
-
2012
- 2012-01-12 CN CN201210008704.4A patent/CN102436566B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101226577A (zh) * | 2008-01-28 | 2008-07-23 | 南京大学 | 基于可信硬件与虚拟机的微内核操作系统完整性保护方法 |
CN101488174A (zh) * | 2009-01-15 | 2009-07-22 | 北京交通大学 | 动态透明的虚拟可信平台模块的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102436566A (zh) | 2012-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102436566B (zh) | 一种动态可信度量方法及安全嵌入式系统 | |
US11176255B2 (en) | Securely booting a service processor and monitoring service processor integrity | |
US11503030B2 (en) | Service processor and system with secure booting and monitoring of service processor integrity | |
US9489512B2 (en) | Trustzone-based integrity measurements and verification using a software-based trusted platform module | |
CN102792307B (zh) | 在虚拟环境中提供网络访问控制的系统和方法 | |
US8028172B2 (en) | Systems and methods for updating a secure boot process on a computer with a hardware security module | |
CN105205401B (zh) | 基于安全密码芯片的可信计算机系统及其可信引导方法 | |
US7506380B2 (en) | Systems and methods for boot recovery in a secure boot process on a computer with a hardware security module | |
US20200042711A1 (en) | Method for starting trusted embedded platform based on tpm industrial control | |
JP6044362B2 (ja) | 仮想マシン内でトラストチェーンを構築する方法 | |
US8886929B2 (en) | Generating a chain of trust for a virtual endpoint | |
WO2011146305A2 (en) | Extending an integrity measurement | |
CN103518359A (zh) | 实现云计算网络防攻击的方法、设备和网络 | |
CN105069352A (zh) | 一种在服务器上构建可信应用程序运行环境的方法 | |
CN104933358A (zh) | 一种计算机免疫系统设计方法与实现 | |
CN102880828A (zh) | 一种针对虚拟化支撑环境的入侵检测与恢复系统 | |
Dhobi et al. | Secure firmware update over the air using trustzone | |
CN103258164A (zh) | 一种嵌入式可信系统的启动方法 | |
CN115879064A (zh) | 一种程序运行方法、装置、处理器、芯片及电子设备 | |
CN115481401A (zh) | 一种终端可信运行方法、装置、电子设备及存储介质 | |
Zhou et al. | Dtstm: dynamic tree style trust measurement model for cloud computing | |
Madi et al. | A fault and intrusion tolerance framework for containerized environments: A specification-based error detection approach | |
Chang et al. | Implementing a hardware‐assisted memory management mechanism for arm platforms using the b method | |
Guo et al. | Analysis and research of remote attestation based on trusted computing | |
Liu et al. | TZEAMM: An Efficient and Secure Active Measurement Method Based on TrustZone |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140709 Termination date: 20150112 |
|
EXPY | Termination of patent right or utility model |