1、空天信息安全与可信计算教育部重点实验室武汉大学计算机学院汇报人:徐明迪2009年7月18日第二届中国信息安全博士论坛第二届中国信息安全博士论坛可信计算平台测评理论与技术可信计算平台测评理论与技术报告提纲报告提纲二二总结总结 1可信计算平台测评概念可信计算平台测评概念可信计算平台测评系统可信计算平台测评系统一一三三一、可信计算平台测评概念一、可信计算平台测评概念1.1.可信计算平台测评可信计算平台测评v可信计算产品已经开始走向应用几乎所有的著名笔记本电脑都配置了TPM芯片OpenTC和IBM分别各自推出了开源的可信计算软件v我国政策规定根据中国国家信息安全测评认证管理办法的规定,信息安全产品必须
2、经过测评认证才能实际应用v可信计算平台测评可信计算平台的标准一致性测试可信计算平台的安全性测试可信计算平台的可靠性测试一、可信计算平台测评概念一、可信计算平台测评概念2.2.国内外研究现状国内外研究现状v德国波鸿大学发现主流的TPM在不同程度上都存在与标准不符合的问题v匈牙利布达佩斯大学将白盒测试和Fuzzing技术相结合,发现OpenTC项目中的TSS的若干Bug和远程溢出安全漏洞v中国科学院软件所TCM、TSM测试v国内外尚没有可信计算平台测评的完整的理论、技术和测评系统报告提纲报告提纲一一总结总结1可信计算平台测评概念可信计算平台测评概念可信计算平台测评系统可信计算平台测评系统二二三三二
3、、可信计算平台测评系统二、可信计算平台测评系统v 测试依据测试依据 TCG的规范的规范 我国国家密码管理局制定的我国国家密码管理局制定的可信计算平台密码可信计算平台密码方案方案、可信计算密码支撑平台功能与接口规可信计算密码支撑平台功能与接口规范范和国信办主持制定的一系列可信计算技术规和国信办主持制定的一系列可信计算技术规范。范。v 提出提出“一套框架多套技术一套框架多套技术”测评对象:可信计算平台的主要可信特征测评对象:可信计算平台的主要可信特征 测评层次:测评层次:TPM,信任链,信任链,TSS二、可信计算平台测评系统二、可信计算平台测评系统TCP测评测评可信计算平台安全测评原型系统可信计算
4、平台安全测评原型系统可信计算平台安全规范标准一致性测试可信计算平台安全规范标准一致性测试子系统子系统可信计算平台安全规范漏洞扫描测试可信计算平台安全规范漏洞扫描测试子系统子系统可信计算平台安全规范渗透性测试子可信计算平台安全规范渗透性测试子系统系统可信计算平台安全测评理论与技术可信计算平台安全测评理论与技术 可信计算平台可信特征描述方法可信计算平台可信特征描述方法 可信计算平台的测试方法可信计算平台的测试方法 可信计算平台安全评估方法可信计算平台安全评估方法1 1、可信特征描述方法、可信特征描述方法信任链特征描述信任链特征描述 可信可信PC信任链交互模型信任链交互模型 为了能够抽象出信任链规范
5、中的角色进程,建为了能够抽象出信任链规范中的角色进程,建立不同角色之间的交互关系,我们将可信计算立不同角色之间的交互关系,我们将可信计算平台抽象为三个实体:平台抽象为三个实体:可信平台模块可信平台模块(TPM)可信度量根可信度量根(RTM)软硬件所组成的系统软硬件所组成的系统(System)1 1、可信特征描述方法、可信特征描述方法 信任链特征描述信任链特征描述(Cont.)基于基于Biba模型的模型的TCG信任链安全性分析信任链安全性分析依据依据Biba模型将信任链中的节点分为主体和客体模型将信任链中的节点分为主体和客体根据信任链的传递次序给节点建立安全级别根据信任链的传递次序给节点建立安全
6、级别将信任链中的度量操作、创建日志操作和迭代将信任链中的度量操作、创建日志操作和迭代PCR操作转换为操作转换为“读读”、“写写”、“执行执行”和和“追加追加”操作操作分析信任链建立过程中是否存在违背安全规则的行为分析信任链建立过程中是否存在违背安全规则的行为1 1、可信特征描述方法、可信特征描述方法TPM 特征描述特征描述TPM应用编程接口安全模型应用编程接口安全模型v 语法系统语法系统 借助安全协议分析的思想,将借助安全协议分析的思想,将API的执行表征为一的执行表征为一组输入组输入/输出知识的逻辑公式集。输出知识的逻辑公式集。根据规范表述,提取与系统安全特征相关的知识集根据规范表述,提取与
7、系统安全特征相关的知识集 定义攻击者能力,通过定义攻击者能力,通过API调用和离线密码运算得调用和离线密码运算得到内部保护的秘密。到内部保护的秘密。1 1、可信特征描述方法、可信特征描述方法TPM 特征描述特征描述(Cont.)v 推理系统与自动证明推理系统与自动证明 待验证的安全目标以定理的形式描述待验证的安全目标以定理的形式描述 利用归结原理和反例搜索的方法,验证安全目标能利用归结原理和反例搜索的方法,验证安全目标能否在模型中成立,若不成立,搜索结果即反映出一否在模型中成立,若不成立,搜索结果即反映出一组有效的攻击序列。组有效的攻击序列。通过集成的可执行状态判决机制,在一定程序上缓通过集成
8、的可执行状态判决机制,在一定程序上缓解了状态空间爆炸的问题。解了状态空间爆炸的问题。1 1、可信特征描述方法、可信特征描述方法 TSS特征描述特征描述TSS要为可信计算平台的应用层提供完整性保护、身要为可信计算平台的应用层提供完整性保护、身份可信性认证、数据安全性保护等可信特征功能;份可信性认证、数据安全性保护等可信特征功能;通过对不同通过对不同TSS的规范进行分析和抽取,定义出的规范进行分析和抽取,定义出TSS的可信特征;的可信特征;遵照不同规范的遵照不同规范的TSS产品实现机制会有不同,但只要产品实现机制会有不同,但只要TSS能实现相对应可信特征功能,同样能达到安全的能实现相对应可信特征功
9、能,同样能达到安全的要求。要求。2 2、可信计算平台的测试方法、可信计算平台的测试方法 信任链测试方法信任链测试方法基于规范的分层测试模型基于规范的分层测试模型 基于系统层次的信任链测试结构划分基于系统层次的信任链测试结构划分 基于动作约简的事件和状态测试基于动作约简的事件和状态测试 信任链测试方法信任链测试方法(Cont.)v 基于系统层次的信任链测试结构划分基于系统层次的信任链测试结构划分 结合结合PC启动的一般流程,信任链的测试结构可划分为:启动的一般流程,信任链的测试结构可划分为:CRTM定义为信任链的最底层,它是完整性度量的起始点,也是事件定义为信任链的最底层,它是完整性度量的起始点
10、,也是事件日志的创建者日志的创建者CRTM所创建的事件日志定义为中间层,它是构建信任链的依据所创建的事件日志定义为中间层,它是构建信任链的依据事件所产生的平台状态定义为最高层,它决定信任传递的正确与否事件所产生的平台状态定义为最高层,它决定信任传递的正确与否2 2、可信计算平台的测试方法、可信计算平台的测试方法2 2、可信计算平台的测试方法、可信计算平台的测试方法信任链测试方法信任链测试方法(Cont.)v基于动作约简的事件和状态测试基于动作约简的事件和状态测试依据依据RTM与与TPM,System之间的交互关系之间的交互关系通过交互关系建立通过交互关系建立System动作集合和信任链状态之间
11、动作集合和信任链状态之间的有向图的有向图从测试的角度出发进行约简从测试的角度出发进行约简,消去影响信任链测试的内消去影响信任链测试的内部动作和不可达状态部动作和不可达状态通过约简后的有向图得到适合信任链规范测试的测试通过约简后的有向图得到适合信任链规范测试的测试例集合例集合,并生成测试用例并生成测试用例,对信任链系统进行一致性测试对信任链系统进行一致性测试2 2、可信计算平台的测试方法、可信计算平台的测试方法信任链规范说明对应的信任链规范说明对应的LTS系统系统经过约简后得到的信任链经过约简后得到的信任链规范实现规范实现LTS系统系统 信任链测试方法信任链测试方法(Cont.)v基于动作约简的
12、事件和状态测试基于动作约简的事件和状态测试2 2、可信计算平台的测试方法、可信计算平台的测试方法 TPM测试方法测试方法基于特征提取的功能关联测试模型基于特征提取的功能关联测试模型 基于功能划分的基于功能划分的TPM测试结构测试结构 基于特征提取的基于特征提取的TPM基本功能依赖集合生基本功能依赖集合生成成 基于状态机理论的规范一致性测试基于状态机理论的规范一致性测试 TPM测试方法测试方法(Cont.)v 基于功能划分的基于功能划分的TPM测试结构测试结构 根据规范定义的根据规范定义的TPM所必须具有的功能,将所必须具有的功能,将TPM功能横向划分为:功能横向划分为:将将TPM基本信息划分为
13、最底层,它是其它所有功能的基础基本信息划分为最底层,它是其它所有功能的基础 将将TPM密码服务划分为中间层,它为密码服务划分为中间层,它为TPM可信服务提供密码算法保障可信服务提供密码算法保障 将将TPM可信服务划分为最高层,它为整个平台提供完整性和安全性的应用可信服务划分为最高层,它为整个平台提供完整性和安全性的应用与保障与保障2 2、可信计算平台的测试方法、可信计算平台的测试方法TPM测试方法测试方法(Cont.)v 基于特征提取的基于特征提取的TPM基本功能依赖集合生成基本功能依赖集合生成 根据提取的根据提取的TPM功能以及它们之间的关系,将提取的功能之功能以及它们之间的关系,将提取的功
14、能之间的间的总结为基本功能依赖集,根据基本功能依赖集总结为基本功能依赖集,根据基本功能依赖集扩展可得到所有功能的测试顺序。扩展可得到所有功能的测试顺序。2 2、可信计算平台的测试方法、可信计算平台的测试方法 TPM测试方法测试方法(Cont.)v 基于状态机理论的规范一致性测试基于状态机理论的规范一致性测试 根据提取的功能依赖性,对根据提取的功能依赖性,对TPM规范进行了状态机建模,通规范进行了状态机建模,通过比较测试时的状态机模型与过比较测试时的状态机模型与TPM规范的状态机模型,判断规范的状态机模型,判断被测试的被测试的TPM是否达到规范一致性。下图为建立的是否达到规范一致性。下图为建立的
15、TPM正常正常运行状态下部分状态机示意图。运行状态下部分状态机示意图。2 2、可信计算平台的测试方法、可信计算平台的测试方法 TSS测试方法测试方法基于反射机制的分层测试框架基于反射机制的分层测试框架 TSS测试的功能结构划分测试的功能结构划分 基于反射机制的基于反射机制的TSS测试框架测试框架 基于静态分析与基于静态分析与Fuzzing的安全测试的安全测试2 2、可信计算平台的测试方法、可信计算平台的测试方法TSS测试方法测试方法(Cont.)v TSS测试的结构划分测试的结构划分 根据根据TSS规范所定义的内容划分测试的层次功能结构如下:规范所定义的内容划分测试的层次功能结构如下:TSP层
16、测试层测试:包括上下文包括上下文管理测试、策略管理测试管理测试、策略管理测试、TPM管理测试、密钥管理测试、密钥管理测试等;管理测试等;TCS层测试层测试:包括密钥证包括密钥证书管理测试,事件管理测书管理测试,事件管理测试,参数块产生测试等;试,参数块产生测试等;TDDL层测试层测试:包括对包括对TDDL接口的测试。接口的测试。2 2、可信计算平台的测试方法、可信计算平台的测试方法TSS测试方法测试方法(Cont.)v 基于反射机制的基于反射机制的TSS测试框架测试框架 不同不同TSS规范中定义的函数信息有差异,被测函数繁多且测试流程是动规范中定义的函数信息有差异,被测函数繁多且测试流程是动态
17、组合的态组合的 通过建立通用的程序框架,将被测函数的相关信息存入数据库中,利用通过建立通用的程序框架,将被测函数的相关信息存入数据库中,利用Java反射机制调用被测试函数并获取相应参数信息;反射机制调用被测试函数并获取相应参数信息;测试程序有良好的通用性和扩展性。测试程序有良好的通用性和扩展性。2 2、可信计算平台的测试方法、可信计算平台的测试方法TSS测试方法测试方法(Cont.)v 静态分析(符号执行)与随机化测试(静态分析(符号执行)与随机化测试(Fuzzing测试)测试)分析测试可信软件栈(分析测试可信软件栈(TCG Software Stack,TSS)设计与实现中的安全缺陷与)设计
18、与实现中的安全缺陷与漏洞漏洞 基于基于TSSTSS分层封装特点,针对分层封装特点,针对TSPITSPI应用接口与应用接口与TCSITCSI网络接口的网络接口的APIAPI函数进行安全测试函数进行安全测试。测试框架与测试用例的构造建立在对测试框架与测试用例的构造建立在对APIAPI序列语义分析与参数语法分析的基础上进行序列语义分析与参数语法分析的基础上进行。测试方法兼顾程序静态分析与随机测试,通过具体的测试用例触发安全缺陷。测试方法兼顾程序静态分析与随机测试,通过具体的测试用例触发安全缺陷。2 2、可信计算平台的测试方法、可信计算平台的测试方法TSS测试方法测试方法(Cont.)v 静态分析(符
19、号执行)与随机化测试(静态分析(符号执行)与随机化测试(Fuzzing测试)测试)面向缺陷的软件自动化测试方法研究面向缺陷的软件自动化测试方法研究 使用符号执行使用符号执行+约束求解的方法自动遍历程序内部执行路径约束求解的方法自动遍历程序内部执行路径 使用随机构造的测试用例配合符号执行,提高效率和准确性使用随机构造的测试用例配合符号执行,提高效率和准确性 用断言和抽象解释的方法显式定义待检测缺陷的属性用断言和抽象解释的方法显式定义待检测缺陷的属性2 2、可信计算平台的测试方法、可信计算平台的测试方法3 3、可信计算平台安全测评原型系统、可信计算平台安全测评原型系统3 3、可信计算平台安全测评原
20、型系统、可信计算平台安全测评原型系统 信任链测试信任链测试测试对象测试对象 符合符合TCG规范的可信计算平台:规范的可信计算平台:HP6400、HP6230和和ThinkPad R61i 符合中国符合中国可信计算密码支撑平台功能与接口可信计算密码支撑平台功能与接口规范的国内规范的国内两种可信计算机两种可信计算机测试目标测试目标 基于基于Biba模型,对平台信任链的完整性进行评估模型,对平台信任链的完整性进行评估 通过结果分析,对平台信任链的关键技术点进行评估,并判通过结果分析,对平台信任链的关键技术点进行评估,并判断各个测试平台对于可信计算平台规范的实现程度以及与规断各个测试平台对于可信计算平
21、台规范的实现程度以及与规范的匹配程度范的匹配程度 通过一致性测试和安全测试之间的映射关系,找出当前可信通过一致性测试和安全测试之间的映射关系,找出当前可信计算平台存在的内部安全隐患计算平台存在的内部安全隐患 信任链测试信任链测试 部分测试界面部分测试界面3 3、可信计算平台安全测评原型系统、可信计算平台安全测评原型系统 信任链测试信任链测试测试结果及分析测试结果及分析 HP6400、HP6230、ThinkPad R61i和国内两种可信计算机的信任链实现程度和国内两种可信计算机的信任链实现程度分别为:分别为:81.82%,72.72%,18.18%,9.09%,9.09%被测装载被测装载TCG
22、 TPM1.2平台上基本已经实现了信任链的建立和传递过程平台上基本已经实现了信任链的建立和传递过程 被测装载被测装载TCG TPM1.1平台的大部分测试都不满足要求,仅提供了平台的大部分测试都不满足要求,仅提供了TPM驱动驱动和和TPM访问接口访问接口 国内外一些被测样机,基本上没有实现信任链。国内外一些被测样机,基本上没有实现信任链。3 3、可信计算平台安全测评原型系统、可信计算平台安全测评原型系统 TPM 测试测试测试对象测试对象按照按照TCG规范实现的可信平台模块:规范实现的可信平台模块:Infineon TPM 1.1和和Atmel TPM 1.2按照中国按照中国可信计算密码支撑平台功
23、能与接口可信计算密码支撑平台功能与接口规范的可信规范的可信平台模块:平台模块:某国产品牌样片某国产品牌样片测试目标测试目标基于状态机模型,对可信平台模块进行安全功能的规范一致基于状态机模型,对可信平台模块进行安全功能的规范一致性测试,总结各个功能模块的规范符合程度性测试,总结各个功能模块的规范符合程度通过结果分析,判断各个可信平台模块对于规范的匹配程度通过结果分析,判断各个可信平台模块对于规范的匹配程度3 3、可信计算平台安全测评原型系统、可信计算平台安全测评原型系统 TPM 测试测试部分测试界面部分测试界面3 3、可信计算平台安全测评原型系统、可信计算平台安全测评原型系统 TPM 测试测试测
24、试结果及分析测试结果及分析从统计结果可以看出:从统计结果可以看出:HP Infineon TPM 1.1、ThinkPad Atmel TPM 1.2和某国产和某国产品牌样片的规范符合度分别为:品牌样片的规范符合度分别为:92.66%、80.19%和和82.92%。3 3、可信计算平台安全测评原型系统、可信计算平台安全测评原型系统 TSS测试测试测试对象测试对象按照按照TCG规范实现的可信软件栈:规范实现的可信软件栈:Daonity TSS1.1测试目标测试目标对可信对可信软件栈软件栈进行安全功能的规范一致性测试,总结各个功进行安全功能的规范一致性测试,总结各个功能模块的规范符合程度能模块的规
25、范符合程度通过结果分析,判断可信通过结果分析,判断可信软件栈软件栈对于规范的匹配程度对于规范的匹配程度3 3、可信计算平台安全测评原型系统、可信计算平台安全测评原型系统TSS测试界面测试界面部分测试界面部分测试界面3 3、可信计算平台安全测评原型系统、可信计算平台安全测评原型系统 TSS测试测试测试结果及分析测试结果及分析参照TSS V1.1规范,测试原型系统对Daonity 项目中的TSS进行了测试。对比测试通过的功能数和TCG规范定义的可信软件栈的功能数。三个功能模块:TSP、TCS 和 TDDL中通过的函数功能数的功能覆盖率为 81%。3 3、可信计算平台安全测评原型系统、可信计算平台安全测评原型系统报告提纲报告提纲一一总结总结 1可信计算平台测评概念可信计算平台测评概念可信计算平台测评系统可信计算平台测评系统三三二二三、总结三、总结v信任链测试 现有产品尚不完全符合规范说明没有平台证书未实现MA驱动 信任链安全机制需增强动态度量机密性保护vTPM测试 大部分TPM芯片稳定性不高 密码使用和密码管理功能相混杂 大量的API复用内部的数据结构 需要更加丰富的API支持相关应用vTSS测试 设计之初就应该考虑安全问题类型安全边界检查互斥、原子操作 规范一致性测试:易 安全性测试:难谢谢!谢谢!