首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >memset()漏洞

memset()漏洞
EN

Stack Overflow用户
提问于 2021-04-13 10:06:09
回答 1查看 556关注 0票数 0

我在一个嵌入式应用程序中使用memset来删除一个数据。以下是功能:

代码语言:javascript
运行
复制
uint8_t Delete()

{

    memset(cure.name, 0x0, 32);

    cure.volume = 0;

    cure.valid=0;

    printf("[*] Cure DELETED\n");

    return 1;

}

我试图评估它的故障注入攻击(时钟故障)。正如我在时钟故障后的实验中看到的那样,memset也覆盖了邻居的内存块。(它们被零填充)。对memset是否有更安全(更有保障)的替代功能可以使用?可能是在所有复制步骤中都验证目标块的指令。

提前感谢您的帮助;

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-14 09:15:40

memset是一个标准的库函数;它不太可能考虑到有意生成的硬件故障。固件对这些故障的保护似乎取决于:

unpredictable

  • adding自验证代码的执行时序
  1. .

我怀疑您必须编写自己的函数才能做到这一点;例如,您可以在循环中添加随机延迟以对内存进行零化。

我不知道这是否足够。您可能需要更多关于系统中哪些易受攻击的详细信息;哪些指令是有针对性的,以便同时添加验证代码。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67072768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档