我有一个嵌入式应用程序,在断言的情况下,创建(内存)转储以供分析(也由第三方)。问题是这个应用程序处理应该保密的秘密(密钥、密码)(尤其是当我从客户端得到转储时)。 问题是堆栈 - 它包含在转储中,因此秘密会泄漏。
到目前为止我发现的唯一解决方案是将这些参数移动到在特殊内存区域(在链接器中声明)中声明的全局变量,该区域超出了转储的范围。也许有更好的方法?
拨打
memfd_secret(2)
mmap(2)
MAP_NOCORE