广告

4种应该注意的CPU漏洞

2022-05-16 14:03:03 Philippe Luc,Codasip验证事业部总监 阅读:
在设计一个复杂的处理器内核时,可能会出现1000到2000个不等的bug,经验告诉我们这是事实,尽管这个数字听上去难以置信。而且并不是所有的bug都是一样的:它们的重要性和带来的后果有很大的不同。本文让我们来看看4种不同类型的CPU漏洞,如何找到它们?以及如果我们没有及时找到并击中它们,对用户来说会有着怎么样的后果?

在设计一个复杂的处理器内核时,可能会出现1000到2000个不等的bug,经验告诉我们这是事实,尽管这个数字听上去难以置信。而且并不是所有的bug都是一样的:它们的重要性和带来的后果有很大的不同。本文让我们来看看4种不同类型的CPU漏洞,如何找到它们?以及如果我们没有及时找到并击中它们,对用户来说会有着怎么样的后果?rY9ednc

类型一:验证工程师很容易发现的处理器漏洞!

类似在设计过程中忘记写入一个分号的漏洞类型非常容易发现,它通常是在编译时直接发现的。对于此类bug,除了睁大你的眼睛之外,没有其他办法来避免!rY9ednc

可能你会经常听到同事说"哦,这个规范的一部分没有被实现"。这其实是另一种极其容易发现的CPU漏洞,只要有一个明确的测试存在,你就可以用任何像样的测试平台找到它。在这种情况下,行使该功能的第一个简单测试将失败。那么此时处理器验证团队需要做什么?确保详尽健全的测试方式方法是一方面。另一方面,设计团队需要努力仔细阅读规范,并在开发过程中随时关注规范的任何变化。rY9ednc

换句话说,简单的bug是指仅仅通过运行该功能的测试就能发现。它的(坏)行为是系统性的,而不是一个时间条件。详尽的验证是找到这种CPU bug的关键。代码覆盖率可以帮助你,但绝对不够。如果一个功能没有在RTL中编码,覆盖率也就不可能报告它的缺失?此时需要在规范明确的情况下执行代码审查。rY9ednc

类型二:验证团队钟爱的极端案例!

极端案例下的CPU漏洞找起来比较复杂,需要一个强大的测试平台。行使该功能的简单测试用例在有随机延迟的情况下也可以通过。很多时候,当异步事件加入时,就可以发现这些bug。例如,一个中断正好在两条指令之间到达,时间很精确。或者当存储缓冲区想要合并的时候,缓存中的一行被驱逐时。为了解决这些问题,我们需要一个测试平台来处理指令、参数和延迟,从而使所有可能的指令和事件的交错都得到锻炼。很明显,一个好的检查器应该发现任何与预期不同的偏差项。rY9ednc

在这种情况下,不幸的是代码覆盖率完全没用。仅仅是因为bug的条件是几个事件的组合,而这些事件已经被单独覆盖。在这里,条件覆盖或分支覆盖可能会有帮助。但分析起来很痛苦,而且最终也不会有有效的结果。rY9ednc

rY9ednc

动画显示了4种类型的CPU bug演变过程rY9ednc

  • 测试平台已经发现了简单的bug和几个极端案例。
  • 我们从这些极端案例中汲取经验,以改进测试平台并扩大验证范围。这样做可以使我们发现隐藏漏洞,此时隐藏bug转变为极端bug(或较容易的bug)。
  • 随着bug成群结队的出现,我们可以根据最后发现的bug进一步扩大验证范围。
  • 当我们遇到一个“愚蠢”的bug时,就意味着我们的验证测试已经足够有效了。

类型三:偶然发现的隐匿式CPU漏洞——或由客户发现的漏洞!

最坏的情况是如果这种隐藏的bug是由客户发现的,或者是偶然发现的(团队内部或在发布之前)。出现这两种情况,这意味着目前的验证方法不足以击中它们。rY9ednc

如果使用不同的测试平台或环境,因为刺激的不同可以找到其他的漏洞。那么我们所说的 "偶然发现 "是什么意思?这里涉及到随机测试平台方法的限制。rY9ednc

在随机刺激下,测试平台通常会产生 "相同 "的东西。如果你掷骰子得到一个随机数,连续10次得到数字6的机会非常少。准确地说,是六千万分之一的机会。对于有100条不同指令的RISC-V CPU来说,一个(可等价的)随机指令发生器每10⁰次只有1次机会产生连续10次相同的指令,这种机率是魔方不同位置数量的两倍……在一个10级流水线处理器上,用所有流水线阶段的相同指令来测试它也不是不合理的。如果此时还不调整随机约束,那么只能祝你好运……rY9ednc

类型四:在现实生活中不会出现的“silly bugs”!

如果我们把极端漏洞和隐藏漏洞看得太重,那么最终创建的测试或许有点徒劳。rY9ednc

在连接调试器时,每个周期来回改变字节数,这可能是永远不会出现在消费者产品上的案例,如果一个CPU漏洞的后果对客户来说是不可见的,那么它就不是一个真正的漏洞。如果你在复制文件时故意拔掉U盘,而导致文件被损坏,我认为这不是一个bug。如果某些操作导致USB控制器挂起,那么此时这是一个不容无视bug。rY9ednc

当我们试图扩大验证的范围时,如果出现“silly bugs”,那么我们可能是在错误的地方投入了太多的努力。rY9ednc

应用不同的验证技术,在客户之前有效地发现CPU漏洞,是Codasip应用的验证方法。我们使用多个组件测试平台,各种随机测试生成器,随机刺激器,以及其他一些技术来验证我们的产品。并随着项目的发展,发展完善这些技术以拥有一个强大的验证方法。更多关于处理器验证方法,请关注我们的系列博文,了解Codasip如何不断改进验证方法,以获得最高品质的处理器产品。rY9ednc

rY9ednc

作者:rY9ednc

rY9ednc

Philippe LucrY9ednc

Codasip验证事业部总监rY9ednc

责编:Franklin
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • MIT曝光Apple M1 芯片新硬件漏洞:可被无痕攻破 尽管苹果最近发布的 M1 芯片号称Apple 迄今为止功能最强大的芯片,并具有行业领先的能效,但最近,麻省理工学院计算机科学和人工智能实验室(CSAIL)的科学家发布了一项研究称,他们发现了一种可以绕过 Apple M1 CPU 上的指针验证机制的新型硬件攻击……
  • 欧洲大学生拼凑出首台RISC-V超级计算机 一个欧洲大学生团队拼凑出第一台RISC-V 超级计算机,展示了 RISC-V 在高性能计算和代理方面的潜在前进道路,为欧洲摆脱对美国芯片技术的完全依赖提供了机会。
  • 每秒可对近20亿张图像进行处理分类的“超级芯片” 在测试过程中,该团队制作了一个尺寸为 9.3 mm 2(0.01 in 2)的芯片,并将其用于对一系列类似于字母的手写字符进行分类。在对相关数据集进行训练后,该芯片能够对包含两种字符集的图像进行分类,准确率达到 93.8%,对四种类型的图像进行分类准确率为 89.8%。
  • 俄罗斯首款国产笔记本电脑搭载自主研发“Baikal-M”处 Promobit公司董事Maxim Kposov在接受采访时表示,这款笔记本电脑主要面向企业市场和国家参与的公司。
  • 国产航电系统迎来突破,100%全自主研制的HKM9000 GPU通 当前国产大飞机的其他部件都可以做到自主可控,只有在航电系统和动力系统方面,还显得不足,需要和国外的厂商进行合作。但是就在近日,国产航电系统也迎来了突破。据中国航空报报道,航空工业计算所翔腾微电子公司自主研发的HKM9000 图形处理器转入适航认证阶段。
  • 台湾禁止向俄罗斯和白俄罗斯出口超过25MHz的芯片 日前,台湾经济部(MOEA)正式公布了禁止向俄罗斯和白俄罗斯出口的高科技产品清单,该清单禁止台湾生产的各种高科技设备以及用于制造芯片的工具出口到俄罗斯。经济部补充说该名单符合瓦森纳安排的第 3 类至第 9 类,涵盖电子、计算机、电信、传感器、激光、导航设备、海事技术、导航、航空电子设备、喷气发动机和许多其他类别。
  • 智能楼宇不只是能源管理 新冠疫情的到来,引发了我们在如何在办公室、工厂和商店等室内环境更智能、安全地进行社交和协作方面更多的思考与讨论。
  • 利用LM386音频放大器设计无线电接收器电路 LM386音频放大器IC可用于设计简单的无线电接收器电路,并且这些电路还能提供惊人的高性能。这些电路可用于接收中、短波波段的AM、CW和SSB射频传输,而不需要外部天线。
  • 西班牙计划投入122.5 亿欧元发展5nm芯片制造 据EDN电子技术设计了解,西班牙政府已表示计划到 2027 年在半导体行业投入 122.5 亿欧元(约合 130 亿美元、约 874.65亿元人民币),以支持国内 5nm 以上和以下的芯片制造。
  • 三星将成立千人自研芯片团队,目标是超越苹果芯片 三星将在 7 月成立一个由大约 1,000 人组成自研芯片团队专门研发Galaxy S系列专用的Exynos芯片,目标是到 2025 年将该芯片组商业化,三星的目标是超越 Apple Silicon。一位三星官员的话:“这是最高管理层出于长远眼光而做出的大胆而冒险的决定。”
  • 将以太网供电用作室内定位和实时定位系统的骨干网 本文将探讨室内定位和实时定位系统的实现方式,并说明两者之间的区别,还将讨论以太网供电(PoE)如何为这些定位服务和用于实施这些服务的设备提供理想的高速供电骨干网。
  • Android 13将使用EROFS,这项华为自研技术为什么能吸引 据EDN电子技术设计报道,谷歌正在3做出一个有趣但可能引起争议的决定,即歌计划在 Android 13 中加入增强型只读文件系统 (EROFS),使其成为默认的只读系统。该文件系统是高翔在华为担任工程师时创建的,与现有文件系统相比,EROFS 具有显着优势……
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了