李金亮 高文静
(91404部队93分队 秦皇岛 066001)
基于Fuzzing技术的可信软件栈穿透性测试*
李金亮高文静
(91404部队93分队秦皇岛066001)
摘要利用Fuzzing技术对可信软件栈(TSS)进行软件代码脆弱性以及安全漏洞测试,通过故障注入、畸形数据构造以及异常行为捕获,发现了TSS软件代码中的安全缺陷,根据TSS的系统结构与具体机制,设计并实现了相关测试原型系统,对TSS软件产品进行了测试,实验结果表明:TSS软件产品并不完全符合可信规范的要求,TSS中的若干API功能函数中存在可被利用的安全漏洞。
关键词Fuzzing技术; 可信软件栈; 穿透性测试
Penetration Testing for TCG Software Stack Based on Fuzzing Technology
LI JinliangGAO Wenjing
(Unit 93, No. 91404 Troops of PLA, Qinhuangdao066001)
AbstractFuzzing testing technology is utilized to find security faults and codes vulnerability for TCG software stack(TSS). By using fault injection, abnormal data structure and capture abnormal behavior, security flaws in TSS are found in this paper. According to TSS’ structure and specification, the relevant test prototype system is designed and implemented to test some kinds of TSS products. Experiment results show that TSS products do not fully comply with the requirements of specification, there are some vulnerability in API functions of TSS.
Key WordsFuzzing technology, TCG software stack, penetration testing
Class NumberTP309
1引言
可信计算已经成为国际信息安全领域的新热潮。可信软件栈(TCG Software Stack,TSS)是可信计算平台的重要组成部分,可信计算产品应符合可信计算规范的要求。从安全测评的角度出发,应通过标准符合性测试、安全穿透性测试和漏洞扫描测试等测试手段对TSS进行安全测评,以检测TSS系统中是否存在已知、公开的安全漏洞[1]。
在安全穿透性测试方面,除文献[2]发现了部分安全缺陷外,文献[3]将白盒源代码审核和Fuzzing技术相结合,发现OpenTC项目中的TSS存在若干程序Bug以及可能造成远程溢出的安全漏洞。
本文以国内外TSS为穿透性测试对象,利用Fuzzing技术检查产品代码中是否存在安全漏洞,从而发现软件代码中的安全缺陷。通过对相关TSS产品的实验测评,给出TSS安全性评估的量化测试结果,并且发现API(Application Programming Interface)接口函数中存在的若干安全漏洞。
2技术背景
目前国内外较常见以及成熟的穿透性测试技术,主要包括静态分析、补丁分析、Fuzzing技术[4]与动态调试技术。……