CN101833503A - 基于模糊技术的可信软件栈测试系统 - Google Patents
基于模糊技术的可信软件栈测试系统 Download PDFInfo
- Publication number
- CN101833503A CN101833503A CN201010150363A CN201010150363A CN101833503A CN 101833503 A CN101833503 A CN 101833503A CN 201010150363 A CN201010150363 A CN 201010150363A CN 201010150363 A CN201010150363 A CN 201010150363A CN 101833503 A CN101833503 A CN 101833503A
- Authority
- CN
- China
- Prior art keywords
- data
- test
- module
- software stack
- function
- 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.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明涉及信息系统安全技术领域,尤其涉及一种基于模糊技术的可信软件栈测试系统。本发明包括服务提供者测试模块、核心服务测试模块,所述服务提供者测试模块进一步包括用户函数通信拦截子模块、故障注入子模块;所述核心服务测试模块进一步可包括网络通信拦截子模块、故障注入子模块。本发明在测试内容方面,实现对可信软件栈各层次数据通信的有效拦截,在不影响正常执行流程的情况下,实现了数据包的拦截与替换功能;在测试方法方面,通过运用模糊技术来构造测试数据,其中包括根据通信数据格式解析并识别数据,根据安全缺陷的模糊测试算法构造测试数据变量以及根据通信数据格式重新封装数据。
Description
技术领域
本发明涉及信息系统安全技术领域,尤其涉及一种基于模糊技术的可信软件栈测试系统。
背景技术
可信计算作为一种信息系统安全新技术,已经成为信息科学与技术领域的研究热点之一。在国际上,可信计算组织TCG(Trusted Computing Group,参见文献1)制定并不断完善一系列的技术规范,可信计算产品日趋产业化、系列化,截止目前几乎所有的主流笔记本生产厂商都已经或计划在产品中配置TPM安全芯片,可信PDA、可信服务器等产品也已推出。
所谓的可信计算,其主要观点在于在PC机硬件平台上引入安全芯片架构,通过提供安全特性来提高终端的安全性。其中,可信计算平台TCP基于可信平台模块TPM(TrustedPlatform Module,可信平台模块),以密码技术为支持,安全操作系统为核心。
可信计算的核心是称为TPM的安全芯片,它是固化在PC终端的主板上的一个具有安全保护功能的硬件芯片,由于TPM芯片内部资源有限,仅提供了基本功能的接口,所以就需要在TPM芯片外部套接一个软件栈来实现它的上层的面向实际应用的功能,软件栈的引入使得TPM的内部功能得到了充分应用。
可信软件栈TSS(TCG Software Stack,参见文献2)是一种为上层的可信计算应用提供访问TPM接口的软件系统,是可信计算平台体系中必不可少的组成部分,其设计的目标是提供对TPM的同步访问,给上层的应用程序提供一个合理有效的接口来替代TPM繁杂的指令流,管理TPM资源,在适当的时候释放TPM资源。
在整个体系中,可信平台模块TPM是整个平台的信任根;信任链(Trusted Chain)将信任从信任根依次传递给BIOS、操作系统和可信计算应用环境;TSS为应用程序访问TPM提供支持,并对TPM进行管理。目前TSS的相关产品有Infineon TPM Professional Package 3.0、IBM TrouSerS和NTRU CTSS等,广泛的应用在可信计算平台中。
然而,目前缺乏对可信软件栈软件自身的脆弱性、安全威胁和影响进行的评估,缺乏对其中是否存在安全缺陷的检查,因此可信软件栈需要提出一种进行安全缺陷测试的有效方法。
文献1:Trusted Computing Group.TCG Specification Architecture Overview[EB/OL].[2007-04-08]https://www.trustedcomputinggroup.org/groups/TCG 1_4_Architecture_Overview.pdf
文献2:Trusted Computing Group.TCG Software Stack(TSS)Specifiction[EB/OL].[2005-12-01].https://www.trustedcomputinggroup.org/specs/TSS.
发明内容
本发明的目的是提供一种基于模糊技术的可信软件栈测试系统,以实现对不同的可信软件栈TSS产品进行安全缺陷测试。
为达到上述目的,本发明采用如下的技术方案:
-服务提供者测试模块,用于测试可信软件栈的服务提供者管理功能中的安全缺陷,所述服务提供者测试模块进一步包括:
用户函数通信拦截子模块,用于拦截可信软件栈的服务提供者管理函数的通信数据流,同时保持函数原有的执行状态迁移不变;
故障注入子模块,用于将模糊技术测试模块处理后的构造数据返回服务提供者管理函数,同时保持函数原有的执行状态迁移不变;
-核心服务测试模块,用于测试可信软件栈的核心服务管理功能中的安全缺陷,所述核心服务测试模块进一步可包括:
网络通信拦截子模块,用于拦截可信软件栈的核心服务管理函数的网络通信数据流,同时保持网络通信原有的交互状态迁移不变;
故障注入子模块,用于将模糊技术测试模块处理后的构造数据返回核心服务管理函数,同时保持网络通信原有的交互状态迁移不变。
模糊测试模块,用于根据通信数据格式解析拦截数据,并识别其中的测试数据变量,然后根据安全缺陷的模糊测试算法对测试数据变量进行构造,最后将构造后的数据重新按数据格式完成封装;
数据库模块,用于存储通信数据的结构描述,利用XML记录其中的变量声明、类型定义以及需要进行构造的变量或字段。
所述模糊测试模块由通信拦截子模块、畸形构造子模块和故障注入子模块三部分组成,
通信拦截子模块,用于拦截可信软件栈测试函数的通信数据流,同时保持函数原有的执行状态迁移不变;
畸形构造子模块,用于根据数据库中存储的数据格式解析拦截数据,并识别其中的测试数据变量,然后根据安全缺陷的模糊测试算法对测试数据变量进行构造;最后将构造后的数据重新按数据格式完成封装;
故障注入子模块,用于将构造的畸形数据返回可信软件栈测试函数,同时保持函数原有的执行状态迁移不变。
测试可信软件栈的服务提供者管理功能的方法,包括以下步骤:
①可信软件栈的服务提供者根据测试需求,执行相关的管理功能,确定需要测试的功能函数;
②在功能函数执行后,用户函数通信拦截模块得到功能函数的输入数据流;
③数据流转发给模糊测试模块,由该模块负责从正常数据到测试数据的转换;
④模糊测试模块得到数据流后,从数据库中得到相关的数据格式,再依据该格式解析通信数据,并得到需要进行构造的变量或字段;
⑤针对测试变量或字段,根据模糊测试算法进行模糊构造;
⑥模糊测试模块根据得到通信数据的结构描述信息,重新封装测试数据;
⑦模糊测试模块将测试数据回传给故障注入模块,此时并不影响原功能函数的处理流程与状态迁移;
⑧故障注入模块将测试数据输入待测功能函数后,观察执行后的程序状态;
⑨如果程序状态出现异常或错误,转至步骤⑩;如果程序执行正常,说明该组测试数据通过,转至步骤⑤,重新进行测试数据的构造;
⑩对程序异常或错误进行调试与观察,发现程序中引发异常的安全缺陷。
本发明具有以下优点和积极效果:
1)在测试内容方面,实现对可信软件栈各层次数据通信的有效拦截,在不影响正常执行流程的情况下,实现了数据包的拦截与替换功能;
2)在测试方法方面,通过运用模糊技术来构造测试数据,其中包括根据通信数据格式解析并识别数据,根据安全缺陷的模糊测试算法构造测试数据变量以及根据通信数据格式重新封装数据。
附图说明
图1是本发明提供的可信软件栈的测试模型。
图2是本发明提供的模糊测试模块组成结构。
图3是本发明提供的基于模糊技术的服务提供者测试框架。
具体实施方式
下面以具体实施例结合附图对本发明作进一步说明:
可信软件栈的测试模型如图1所示,在对可信软件栈TSS进行安全性测试前,首先需要对可信软件栈TSS设计所依据的设计规范进行分析,提取具体的测试需求。针对TSS中的服务提供者和核心服务层函数,通过规范分析检查器,分别使用相应的测试模块进行测试用例的自动化生成和测试自动执行。当添加模糊测试策略到测试用例的自动化生后,它可与可信软件站TSS产品进行输入输出的交互。最后,输出测试结果,使用评估方法对测试结果进行总结与评估,给出量化的测试报告和意见。
图1所示为可信软件栈的测试模型,根据TCG的TSS规范所定义的内容,本发明提供的基于模糊技术的可信软件栈测试系统包括:
服务提供者测试模块,用于测试可信软件栈的服务提供者管理功能中的安全缺陷;
核心服务测试模块,用于测试可信软件栈的核心服务管理功能中的安全缺陷;
其中,服务提供者测试模块进一步可包括:
①用户函数通信拦截子模块,用于拦截可信软件栈的服务提供者管理函数的通信数据流,同时保持函数原有的执行状态迁移不变;
②故障注入子模块,用于将模糊技术测试模块处理后的构造数据返回服务提供者管理函数,同时保持函数原有的执行状态迁移不变。
核心服务测试模块进一步可包括:
①网络通信拦截子模块,用于拦截可信软件栈的核心服务管理函数的网络通信数据流,同时保持网络通信原有的交互状态迁移不变;
②故障注入子模块,用于将模糊技术测试模块处理后的构造数据返回核心服务管理函数,同时保持网络通信原有的交互状态迁移不变。
本发明上述可信软件栈测试模块的基础上,进一步改进提出了安全缺陷测试模型,依据通信数据格式与模糊测试算法构造缺陷测试数据,如图2所示模糊测试模块模型,包括:
模糊测试模块,由通信拦截子模块、畸形构造子模块和故障注入子模块三部分组成。
数据库模块,用于存储通信数据的结构描述,利用XML记录其中的变量声明、类型定义以及需要进行构造的变量或字段。
具体来说,模糊测试模块中通信拦截子模块用于拦截可信软件栈测试函数的通信数据流,同时保持函数原有的执行状态迁移不变;畸形构造子模块负责根据数据库中存储的数据格式解析拦截数据,并识别其中的测试数据变量,然后根据安全缺陷的模糊测试算法对测试数据变量进行构造;最后将构造后的数据重新按数据格式完成封装;故障注入子模块,用于将构造的畸形数据返回可信软件栈测试函数,同时保持函数原有的执行状态迁移不变。
模糊测试模块利用模糊技术根据通信数据格式和缺陷测试算法构造用于测试的畸形数据,包括:
1)模糊测试模块接收来自于拦截装备的数据包,并利用收集到的数据结构描述信息,解析通信数据并识别其中的测试变量;
2)针对测试变量,利用模糊测试算法创建用于测试的畸形数据;
3)模糊测试模块再次利用数据结构描述信息,将测试数据与原通信数据中的其它内容封重新封装;
4)将封装后的数据包返回给服务提供者测试模块、核心服务测试模块或设备驱动库测试模块中的故障注入模块。
模糊测试模块在执行过程中,与数据库模块相交互,完成基于模糊技术的测试数据构造,具体工作过程如下:
(1)模糊测试模块从各层测试模块的通信拦截模块得到通信数据;
(2)模糊测试模块查询数据库模块,得到通信数据的结构描述信息,依据该信息解析通信数据,并得到需要进行构造的变量或字段;
(3)根据模糊测试算法对测试数据变量或字段进行构造,以有利于检测安全缺陷为前提;
(4)模糊测试模块查询数据库,得到通信数据的结构描述信息,依据该信息重新封装测试数据。
本发明提供了测试可信软件栈的服务提供者管理功能的方法,如图3所示:
1.可信软件栈的服务提供者根据测试需求,执行相关的管理功能,确定需要测试的功能函数。
2.在功能函数执行后,用户函数通信拦截模块得到功能函数的输入数据流。
3.数据流转发给模糊测试模块,由该模块负责从正常数据到测试数据的转换。
4.模糊测试模块得到数据流后,从数据库中得到相关的数据格式,再依据该格式解析通信数据,并得到需要进行构造的变量或字段。
5.针对测试变量或字段,根据模糊测试算法进行模糊构造。
6.模糊测试模块根据得到通信数据的结构描述信息,重新封装测试数据。
7.模糊测试模块将测试数据回传给故障注入模块,此时并不影响原功能函数的处理流程与状态迁移。
8.故障注入模块将测试数据输入待测功能函数后,观察执行后的程序状态。
9.如果程序状态出现异常或错误,转至步骤10;如果程序执行正常,说明该组测试数据通过,转至步骤5,重新进行测试数据的构造。
10.对程序异常或错误进行调试与观察,发现程序中引发异常的安全缺陷。
Claims (4)
1.一种基于模糊技术的可信软件栈测试系统,其特征在于,包括:
-服务提供者测试模块,用于测试可信软件栈的服务提供者管理功能中的安全缺陷,所述服务提供者测试模块进一步包括:
用户函数通信拦截子模块,用于拦截可信软件栈的服务提供者管理函数的通信数据流,同时保持函数原有的执行状态迁移不变;
故障注入子模块,用于将模糊技术测试模块处理后的构造数据返回服务提供者管理函数,同时保持函数原有的执行状态迁移不变;
-核心服务测试模块,用于测试可信软件栈的核心服务管理功能中的安全缺陷,所述核心服务测试模块进一步可包括:
网络通信拦截子模块,用于拦截可信软件栈的核心服务管理函数的网络通信数据流,同时保持网络通信原有的交互状态迁移不变;
故障注入子模块,用于将模糊技术测试模块处理后的构造数据返回核心服务管理函数,同时保持网络通信原有的交互状态迁移不变。
2.根据权利要求1所述的基于模糊技术的可信软件栈测试系统,其特征在于,还包括:
模糊测试模块,用于根据通信数据格式解析拦截数据,并识别其中的测试数据变量,然后根据安全缺陷的模糊测试算法对测试数据变量进行构造,最后将构造后的数据重新按数据格式完成封装;
数据库模块,用于存储通信数据的结构描述,利用XML记录其中的变量声明、类型定义以及需要进行构造的变量或字段。
3.根据权利要求2所述的基于模糊技术的可信软件栈测试系统,其特征在于:
所述模糊测试模块由通信拦截子模块、畸形构造子模块和故障注入子模块三部分组成,
通信拦截子模块,用于拦截可信软件栈测试函数的通信数据流,同时保持函数原有的执行状态迁移不变;
畸形构造子模块,用于根据数据库中存储的数据格式解析拦截数据,并识别其中的测试数据变量,然后根据安全缺陷的模糊测试算法对测试数据变量进行构造;最后将构造后的数据重新按数据格式完成封装;
故障注入子模块,用于将构造的畸形数据返回可信软件栈测试函数,同时保持函数原有的执行状态迁移不变。
4.一种测试可信软件栈的服务提供者管理功能的方法,其特征在于,包括以下步骤:
①可信软件栈的服务提供者根据测试需求,执行管理功能,确定需要测试的功能函数;
②在功能函数执行后,用户函数通信拦截模块得到功能函数的输入数据流;
③数据流转发给模糊测试模块,由该模块负责从正常数据到测试数据的转换;
④模糊测试模块得到数据流后,从数据库中得到相关的数据格式,再依据该格式解析通信数据,并得到需要进行构造的变量或字段;
⑤针对测试变量或字段,根据模糊测试算法进行模糊构造;
⑥模糊测试模块根据得到通信数据的结构描述信息,重新封装测试数据;
⑦模糊测试模块将测试数据回传给故障注入模块,此时并不影响原功能函数的处理流程与状态迁移;
⑧故障注入模块将测试数据输入待测功能函数后,观察执行后的程序状态;
⑨如果程序状态出现异常或错误,转至步骤⑩;如果程序执行正常,说明该组测试数据通过,转至步骤⑤,重新进行测试数据的构造;
⑩对程序异常或错误进行调试与观察,发现程序中引发异常的安全缺陷。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010150363 CN101833503B (zh) | 2010-04-14 | 2010-04-14 | 基于模糊技术的可信软件栈测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010150363 CN101833503B (zh) | 2010-04-14 | 2010-04-14 | 基于模糊技术的可信软件栈测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101833503A true CN101833503A (zh) | 2010-09-15 |
CN101833503B CN101833503B (zh) | 2013-03-13 |
Family
ID=42717579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010150363 Expired - Fee Related CN101833503B (zh) | 2010-04-14 | 2010-04-14 | 基于模糊技术的可信软件栈测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101833503B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012162823A1 (en) * | 2011-05-31 | 2012-12-06 | Alcatel Lucent | Message flow rerouting for autonomous self-disrupting network element |
CN103853650A (zh) * | 2012-11-28 | 2014-06-11 | 西门子公司 | 一种模糊测试的测试用例生成方法及装置 |
CN104202296A (zh) * | 2014-07-30 | 2014-12-10 | 中国电子科技集团公司第三十研究所 | 一种国产操作系统可信安全增强方法 |
CN108182359A (zh) * | 2017-12-29 | 2018-06-19 | 中国信息通信研究院 | 一种测试可信环境下api安全性的方法、装置及存储介质 |
CN108805537A (zh) * | 2018-05-21 | 2018-11-13 | 郑州云海信息技术有限公司 | 一种利用tpm作为比特币客户端随机源的方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1325451A1 (en) * | 2000-10-10 | 2003-07-09 | Metso Paper, Inc. | Method and system for maintenance of a production plant |
CN101540014A (zh) * | 2008-03-17 | 2009-09-23 | 大叶大学 | 运用无线射频识别于设施与设备维护管理的信息系统及其方法 |
-
2010
- 2010-04-14 CN CN 201010150363 patent/CN101833503B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1325451A1 (en) * | 2000-10-10 | 2003-07-09 | Metso Paper, Inc. | Method and system for maintenance of a production plant |
CN101540014A (zh) * | 2008-03-17 | 2009-09-23 | 大叶大学 | 运用无线射频识别于设施与设备维护管理的信息系统及其方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012162823A1 (en) * | 2011-05-31 | 2012-12-06 | Alcatel Lucent | Message flow rerouting for autonomous self-disrupting network element |
US8634307B2 (en) | 2011-05-31 | 2014-01-21 | Alcatel Lucent | Message flow rerouting for autonomous self-disrupting network element |
CN103853650A (zh) * | 2012-11-28 | 2014-06-11 | 西门子公司 | 一种模糊测试的测试用例生成方法及装置 |
CN103853650B (zh) * | 2012-11-28 | 2017-03-01 | 西门子公司 | 一种模糊测试的测试用例生成方法及装置 |
CN104202296A (zh) * | 2014-07-30 | 2014-12-10 | 中国电子科技集团公司第三十研究所 | 一种国产操作系统可信安全增强方法 |
CN108182359A (zh) * | 2017-12-29 | 2018-06-19 | 中国信息通信研究院 | 一种测试可信环境下api安全性的方法、装置及存储介质 |
CN108182359B (zh) * | 2017-12-29 | 2020-04-24 | 中国信息通信研究院 | 一种测试可信环境下api安全性的方法、装置及存储介质 |
CN108805537A (zh) * | 2018-05-21 | 2018-11-13 | 郑州云海信息技术有限公司 | 一种利用tpm作为比特币客户端随机源的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101833503B (zh) | 2013-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Alkhalil et al. | IoT data provenance implementation challenges | |
CN101833503B (zh) | 基于模糊技术的可信软件栈测试方法 | |
CN101452469B (zh) | 基于攻击模式的软件安全缺陷库系统及其管理方法 | |
CN105306463A (zh) | 基于支持向量机的Modbus TCP入侵检测方法 | |
CN113190330B (zh) | 一种区块链威胁感知系统及方法 | |
CN103995705A (zh) | 一种操作系统地址空间随机化分配系统及方法 | |
Zhao et al. | A research for high interactive honepot based on industrial service | |
Zhao et al. | A new framework of security vulnerabilities detection in PHP web application | |
Barbareschi et al. | Malicious traffic analysis on mobile devices: a hardware solution | |
Schmerl et al. | Architecture modeling and analysis of security in android systems | |
CN103812905B (zh) | 一种物联网终端应用一体化生成系统和方法 | |
Hamadouche et al. | Virus in a smart card: Myth or reality? | |
Sun et al. | IPSpex: Enabling efficient fuzzing via specification extraction on ICS protocol | |
Ul Haq et al. | A survey on IoT & embedded device firmware security: architecture, extraction techniques, and vulnerability analysis frameworks | |
Wang et al. | A model-based behavioral fuzzing approach for network service | |
Gu et al. | Accurate and fast machine learning algorithm for systems outage prediction | |
Zhao et al. | Gan-enabled code embedding for reentrant vulnerabilities detection | |
Gao et al. | Service reconfiguration architecture based on probabilistic modeling checking | |
Sun et al. | Advances in Artificial Intelligence and Security: 7th International Conference, ICAIS 2021, Dublin, Ireland, July 19-23, 2021, Proceedings, Part III | |
Li et al. | Hardware-assisted malware detection for embedded systems in smart grid | |
Tian et al. | A Practical Remote Power Attack on Machine Learning Accelerators in Cloud FPGAs | |
Zhang et al. | Integrating web services technology to HLA-based multidisciplinary collaborative simulation system for complex product development | |
Liu et al. | Hardware design and verification techniques for supply chain risk mitigation | |
Pedroza et al. | Timed-model-based method for security analysis and testing of smart grid systems | |
Rubio-Medrano et al. | Verifying access control properties with design by contract: Framework and lessons learned |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130313 Termination date: 20190414 |