针对错误注入的 Atoi() 漏洞

Atoi() vulnerability against fault injection

我在嵌入式 C 应用程序中使用 atoi 将字符串转换为整数。但是,我可以使用时钟故障故障注入攻击来利用 atoi() 中的漏洞。我的意思是当我遇到一个或多个故障时,处理器会丢失一些字符和 returns 个错误的整数。 atoi 函数是否有更强大的抗故障注入的替代方法?我可以使用它的互补(itoa 函数)重新生成字符串并比较两个字符串吗?

这是一个典型的CPU被薛定谔猫控制的案例。凭借她的量化爪子,她可以决定执行或跳过哪些指令...

很难想象在这样的环境中会有弹性的代码。

事实上,任何测试输出一致性的尝试都可能因跳过相应指令而失败。

正如 Barmar 评论的那样,您可以调用 atoi() 两次并比较值,希望时钟故障能分散注意力。