C语言 memset() vulnerability



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

uint8_t Delete()
{
memset(cure.name, 0x0, 32);
cure.volume = 0;
cure.valid=0;
printf("[*] Cure DELETEDn");
return 1;
}

我正在尝试针对故障注入攻击(时钟故障(对其进行评估。正如我在实验中看到的那样,出现时钟故障的内存集也会覆盖邻居的内存块。(已用零填充(。对于内存集,有什么更安全的替代功能可以使用吗?可能是在所有复制步骤验证目的块的指令。

提前感谢您的帮助;

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

  1. 使执行时间不可预测
  2. 添加自我验证码

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

我不知道这是否足够。您可能需要更多关于系统中哪些内容易受攻击的详细信息;目标指令是什么,以便添加验证码

最新更新