针对错误注入的 Atoi() 漏洞
Atoi() vulnerability against fault injection
我在嵌入式 C 应用程序中使用 atoi 将字符串转换为整数。但是,我可以使用时钟故障故障注入攻击来利用 atoi() 中的漏洞。我的意思是当我遇到一个或多个故障时,处理器会丢失一些字符和 returns 个错误的整数。 atoi 函数是否有更强大的抗故障注入的替代方法?我可以使用它的互补(itoa 函数)重新生成字符串并比较两个字符串吗?
- 我看到 strtol 函数代替 atoi() 作为验证的替代方法。这可能是我的问题的原因,还是只是 returns 软件错误?
这是一个典型的CPU被薛定谔猫控制的案例。凭借她的量化爪子,她可以决定执行或跳过哪些指令...
很难想象在这样的环境中会有弹性的代码。
事实上,任何测试输出一致性的尝试都可能因跳过相应指令而失败。
正如 Barmar 评论的那样,您可以调用 atoi()
两次并比较值,希望时钟故障能分散注意力。
我在嵌入式 C 应用程序中使用 atoi 将字符串转换为整数。但是,我可以使用时钟故障故障注入攻击来利用 atoi() 中的漏洞。我的意思是当我遇到一个或多个故障时,处理器会丢失一些字符和 returns 个错误的整数。 atoi 函数是否有更强大的抗故障注入的替代方法?我可以使用它的互补(itoa 函数)重新生成字符串并比较两个字符串吗?
- 我看到 strtol 函数代替 atoi() 作为验证的替代方法。这可能是我的问题的原因,还是只是 returns 软件错误?
这是一个典型的CPU被薛定谔猫控制的案例。凭借她的量化爪子,她可以决定执行或跳过哪些指令...
很难想象在这样的环境中会有弹性的代码。
事实上,任何测试输出一致性的尝试都可能因跳过相应指令而失败。
正如 Barmar 评论的那样,您可以调用 atoi()
两次并比较值,希望时钟故障能分散注意力。