【技术实现步骤摘要】
一种状态感知的物联网可信执行环境模糊测试方法和系统
[0001]本专利技术涉及物联网可信执行环境测试领域,尤其涉及一种状态感知的物联网可信执行 环境模糊测试方法和系统。
技术介绍
[0002]随着物联网不断丰富、产业不断发展,为了保护物联网设备的安全性,相关厂商提出 了多种可信执行环境(Trust Execution Environment,TEE)实现方案,比如高通提出的QSEE、 百度提出的MesaTEE、阿里提出的LinkTEE等,并已经在移动支付、指纹识别、多级授权等 场景得到广泛应用。
[0003]考虑到物联网可信执行环境的多样性、闭源性,研究人员设计对可信执行环境的可信 用户程序的模糊测试方法。然而,针对物联网可信执行环境内核尚未有高效的自动化分析 方法。由于可信执行环境具有复杂依赖关系的系统调用函数、且可信执行环境具有较多全 局变量,可信执行应用程序与可信执行环境交互时具有丰富的上下文状态关系。现有的针 对可信程序的模糊测试方法,难以高效生成具有依赖关系的调用函数序列作为测试样例, 也较少考虑到可信执行 ...
【技术保护点】
【技术特征摘要】
1.一种状态感知的物联网可信执行环境模糊测试方法,其特征在于,包括以下步骤:步骤1,基于可信执行环境文档分析和程序分析,构建具有依赖关系的物联网可信执行环境测试样例模板;步骤2,基于步骤1的测试样例模板,对通过物联网可信应用程序执行日志得到的原始种子队列展开模糊测试,实时记录各测试用例运行时的反馈信息;步骤3,根据测试样例模板和测试用例的反馈信息,基于模型学习算法构建或更新物联网可信执行环境状态机;对符合状态机的测试样例进行优化,并将优化后的测试样例保存到种子文件;步骤4,根据步骤2获得的反馈信息和步骤3获得的状态机,为种子文件中的不同种子分配和更新不同的选择概率;步骤5,根据步骤4的选择概率挑选种子,加入到种子队列,对其进行模糊测试,挖掘待测试软件的漏洞,其反馈信息用于对步骤3中的状态机进行动态优化更新;步骤6,重复步骤3
‑
5,直至模糊测试结束。2.根据权利要求1所述的一种状态感知的物联网可信执行环境模糊测试方法,其特征在于,所述的步骤1包括:步骤1
‑
1:分析可信执行环境文档和实现代码,从中提取定义的函数调用信息以及参数之间的关系;所述的函数调用信息包括函数名称、函数参数个数、函数参数类型、返回值类型、改变的全局变量名称,所述的参数之间的关系包括枚举关系、显式依赖关系和隐式依赖关系;步骤1
‑
2:将步骤1
‑
1得到的函数调用信息以及参数之间的关系以形式化语言写为可信执行环境测试样例模板。3.根据权利要求1所述的一种状态感知的物联网可信执行环境模糊测试方法,其特征在于,所述的步骤2包括:步骤2
‑
1:以随机概率选择物联网应用程序执行日志中的函数执行序列,作为原始种子进行模糊测试,所述的模糊测试过程中需要基于测试样例模板对种子进行变异;步骤2
‑
2:在模糊测试的同时,基于硬件仿真器实时记录测试样例运行时的反馈信息,所述反馈信息包括函数名称、函数参数值、函数返回值、全局变量值和执行覆盖率。4.根据权利要求1所述的一种状态感知的物联网可信执行环境模糊测试方法,其特征在于,所述的步骤3包括:步骤3
‑
1:利用步骤1得到的测试样例模板构建状态机字典,所述的状态机字典中包含测试样例模板中定义的所有函数名称;步骤3
‑
2:根据步骤3
‑
1得到的状态机字典以及步骤2获得的反馈信息,采用被动模型学习算法自动构建可信执行环境状态机,并根据步骤5获得的反馈信息对状态机进行优化更新;所述状态机的输入列表为测试样例的函数执行序列,输出列表为测试样例的反馈信息;步骤3
‑
3:对符合状态机的测试样例进行重复测试,选择保留原状态中最小长度的函数执行序列保存到种子文件中。...
【专利技术属性】
技术研发人员:纪守领,王琴应,张旭鸿,常博宇,赵彬彬,吕晨阳,包晗,邓水光,杨星,
申请(专利权)人:浙江大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。