首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编译器选项是否与C#安全性相关?如果是,有哪些选择?

编译器选项是否与C#安全性相关?如果是,有哪些选择?
EN

Security用户
提问于 2015-03-16 02:26:26
回答 2查看 761关注 0票数 4

列出一些额外安全的编译器选项以防止对C和C++的攻击是正常的.然而,我没有发现任何类似的C#建议。编译器选项与C#安全性根本不相关吗?或者,是否有一些选项可以提高可执行文件的安全性?

另外:我可以看到如何更好地处理堆栈溢出。如果你认为是这样的话,请评论我。

EN

回答 2

Security用户

发布于 2015-03-16 04:12:41

首先,C#和.NET 不能进行确定性构建。见官方回应

Post编译您可能想混淆您的代码或加密

PDB文件意味着您的exe可以调试。按照以下指示,以防止在发布模式下创建PDB。

注意,在发行版中部署与调试不同,运行时调试器可能很难读取它(这是一件好事)。

考虑用授权码签名您的代码

考虑只加载强命名程序集

票数 2
EN

Security用户

发布于 2015-07-03 07:12:34

有一项工作是允许C#使用Roslyn生成确定性构建。这允许您验证源是否与二进制文件匹配。

当它们还没有出现的时候,你可以看到https://github.com/dotnet/roslyn/issues/372的进展

为什么这很重要?

在披露全球监测活动引起的关切以及用于创建可分发二进制文件的来源和编译器的完整性之后,同样能够复制构建的能力变得越来越重要和引人注目。确定性构建将允许任何用户确认包存储库中分发的二进制文件是从未更改的源包构建的,在构建时不受任何干扰。

(向Debian借来)

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

https://security.stackexchange.com/questions/83852

复制
相关文章

相似问题

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