引用本文
  • 崔旭同,张看起,李淼,李沛南,孟丹,侯锐.处理器模糊测试技术研究综述[J].信息安全学报,已采用    [点击复制]
  • CUI XUTONG,ZHANG KANQI,LI MIAO,LI PEINAN,MENG DAN,HOU RUI.A Survey on Processor Fuzz Testing Technologies[J].Journal of Cyber Security,Accept   [点击复制]
【打印本页】 【下载PDF全文】 查看/发表评论下载PDF阅读器关闭

过刊浏览    高级检索

本文已被:浏览 186次   下载 0  
处理器模糊测试技术研究综述
崔旭同, 张看起, 李淼, 李沛南, 孟丹, 侯锐
0
(中国科学院信息工程研究所)
摘要:
处理器是计算机系统的核心组件,承担着执行指令、处理数据和调度任务的重要职责。为了应对日益剧增的计算需求和安全风险,处理器变得越来越复杂,同时也更容易出错。与可通过及时打补丁修复的软件错误不同,处理器硬件错误是永久性的,无法被轻易修复,会造成持久性危害。因此,在处理器制造前尽早发现设计和实现错误是非常重要的。然而以形式化验证和动态验证为代表的传统处理器验证方法分别存在状态空间爆炸和漏洞挖掘效率低的问题,难以适应复杂的处理器设计。为了弥补传统验证方法的不足,研究人员将软件模糊测试思想应用到处理器验证中,称为处理器模糊测试。模糊测试是当前最为流行的一种自动化软件漏洞挖掘技术,被广泛应用于各种软件测试,其核心思想是通过大量的随机输入来检测程序正确性。由于处理器和软件的固有差异,不能直接将软件模糊测试技术应用到处理器中。为此,研究人员专门设计了针对处理器特性的模糊测试技术。本文深入调研了现有处理器模糊测试研究工作,从挖掘不同漏洞类型的角度分类介绍了处理器模糊测试整体研究情况。然后,分析和总结了处理器模糊测试中使用的关键技术,包括输入构造、测试引导、种子调度和测试结果评估技术。 接着,本文探讨了现有研究工作的不足之处,并介绍了针对这些不足的优化工作。最后,本文总结了处理器模糊测试研究现状并讨论了未来可能的研究方向。
关键词:  模糊测试  处理器验证  处理器安全
DOI:
投稿时间:2024-03-06修订日期:2024-06-14
基金项目:国家自然科学基金项目(面上项目,重点项目,重大项目)
A Survey on Processor Fuzz Testing Technologies
CUI XUTONG, ZHANG KANQI, LI MIAO, LI PEINAN, MENG DAN, HOU RUI
(Institute of Information Engineering, Chinese Academy of Sciences,)
Abstract:
Processors are the core components of computer systems, which are responsible for executing instructions, processing data, and scheduling tasks. In response to increasing computing demands and security risks, processors have evolved to be-come increasingly complex and error-prone. Unlike software bugs that can often be fixed with timely patches, hardware flaws in processors are permanent and hard to repair, leading to lasting damage. Therefore, early detection of design and implementation errors in processors before manufacturing is very important. Conventional processor verification methodologies, including formal verification and dynamic verification, encounter challenges such as state space explosion and inefficiency in bug detection, making them difficult to apply on complex processor designs. To overcome these limitations, researchers have applied software fuzz testing techniques to processor verification, which is known as processor fuzzing. Fuzzing is a widely used automated technique for uncovering software bugs, deployed across diverse software testing scenarios, aiming at validating program correctness through extensive random inputs. However, due to the inherent difference of processors and software, software fuzz testing methods cannot be directly applied to processors. Consequently, researchers have designed fuzz testing techniques specifically targeting processors. This paper conducts a comprehensive review of related research, providing an overview of the current state of processor fuzz testing studies, with a focus on different types of flaws. Then it analyses and summarizes the key techniques in processor fuzz testing, including input generation, test guidance, seed scheduling and test result evaluation. Subsequently, this paper inspects shortcomings of typical studies, introduces optimization research aimed at addressing these shortcomings. Finally, this paper summarizes the current research landscape of processor fuzz testing and discusses on potential directions for future research.
Key words:  fuzz testing  processor verification  processor security