微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

针对故障注入的 Atoi() 漏洞

如何解决针对故障注入的 Atoi() 漏洞

我在嵌入式 c 应用程序中使用 atoi 将字符串转换为整数。但是,我可以使用时钟毛刺故障注入攻击来利用 atoi() 中的漏洞。我的意思是当我有一个或多个故障时,处理器错过了一些字符并返回错误的整数。 atoi 函数是否有任何替代方案可以更稳健地防止故障注入?可以用它的互补(itoa函数)重新生成字符串并比较两个字符串吗?

  • 我将 strtol 函数视为验证的替代方法,而不是 atoi()。这可能是我的问题的一种情况,还是只是返回软件错误

解决方法

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

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。