[rtl] Faults that reach only the register file can go unnoticed
维护者通常 2 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 35/100
- Issue 类型
- 缺陷
- 描述清晰度
- 需要澄清
- 活跃度
- 活跃
- 领域
- security
调研方向
Start by reading security.rst and the fault-injection findings described in the issue, then trace the register file ECC and lockstep coverage in the OpenTitan ibex_top configuration. The issue asks whether register-file-only faults are in scope; the expected outcome is a decision on that coverage and, if they are out of scope, a one-line clarification in security.rst.
由索引模型根据 Issue 内容生成。
描述
A fault that reaches only the register file, not the lockstep, can still go unnoticed. #2566 added the register file's read addresses and write port to the lockstep compare, through u_signals_prim_buf. A fault that the lockstep does not receive is left to the register file ECC. That ECC misses a wrong value with the same check bits as the correct one, for example its inverse. A fault in the register file's own address decoding could do the same, but I did not test that.
I ran a SymbiYosys fault-injection check on #2566, using ibex_top in the opentitan config with CHERIoT mode off and on. It flipped one bit of the port A read address, the write address or the write enable for one cycle. A flip on the core's output reaches both the register file and the lockstep. Every such flip was followed by a lockstep mismatch and the major alert, unless it came too late for the check to see the response. For flips that reached only the register file, the check found cases with no major alert within three clock cycles of the core using the wrong value.
The check ran about 10 clock cycles deep, without interrupts or debug requests. Address flips hit a read or a write that an instruction made. Write-enable flips could also hit a cycle without a write. I did not inject faults on the write data, the port B address, address bit 4 in CHERIoT mode, or during dummy instructions.
security.rst counts the register file as covered by its ECC and the lockstep compare. If faults that reach only the register file are out of scope, should I send a one-line follow-up that says so?
- 主要语言
- SystemVerilog
- 星标
- 2.2k
- 派生
- 836
- 平均合并
- 5 天 8 小时
- 30 天内合并 PR
- 22
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
lowRISC/ibex 的其他 Issue
-
[Bug Report] rvfi_intr is not set on the first instruction of an exception handler可能已有人在做 @h-filali 于 6 天前认领。 未关闭Type:Bug
难度 2/5 半天 新手友好度 68/100
维护者通常 2 天内回复
-
Type:Bug
难度 2/5 1-3 小时 新手友好度 83/100
维护者通常 2 天内回复
-
Type:Bug
难度 1/5 1 小时以内 新手友好度 88/100
维护者通常 2 天内回复
-
[doc] Document basic commands for running/checking Ibex可能已有人在做 @shrutikbalwan 于 46 天前认领。 未关闭Component:Doc Good First Issue Type:Task
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 2 天内回复
-
难度 4/5 3-5 天 新手友好度 42/100
维护者通常 2 天内回复
相似的 Issue
-
enhancement maintenance
难度 2/5 1-3 小时 新手友好度 77/100
OWASP/OWASP-Hunting#76 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
databricks/databricks-sql-python#1034 ·
维护者通常 1 天内回复
-
priority:medium
难度 2/5 1-3 小时 新手友好度 70/100
silent-suite/silentsuite#992 ·
维护者通常 1 天内回复
-
IP hex groups are parsed with parseInt, so malformed groups parse partially and NaN reaches BigInt未关闭bug claude Minor static-analysis
难度 2/5 1-3 小时 新手友好度 68/100
linagora/crowdsieve#79 ·
-
难度 2/5 1-3 小时 新手友好度 78/100
eclipse-theia/theia#18365 · 1 条评论 ·
维护者通常 2 天内回复