首页 > 解决方案 > C# 安全风险

问题描述

我正在开发一个小型 C# 应用程序,它充当某个 Web 协议(myprotocol://blafoobar)的处理程序。因此,每当用户单击此类 Web 链接时,Windows 都会调用处理程序。然后它解析 URI 并执行某些操作。

这当然可能是一个安全风险。一种可能的攻击向量是,攻击者向用户提供恶意链接:“myprotocol://someevilstuff”。然后,由于缓冲区溢出等,URI 的解析会导致我的应用程序暴露一些意外行为(<-我不是这方面的专家)。

所以我有一堆问题:

标签: c#security

解决方案


C# 通常对缓冲区溢出更健壮吗

就是这样,编写好的 C# 代码 - 基本上你必须一直检查分配的内存。也就是说,除非您的应用程序明确违反信任边界(不安全代码、调用本机库),否则您是完全安全的。100% 不太可能,但是很多人都在努力修复那里的每个错误。

C# 字符串类是否相当安全(拆分等)?

是的。

是否有一些我应该注意/避免的一般性建议?

不是真的在技术层面上。在逻辑层面 - 使可能的攻击向量尽可能小,即不要只删除东西等并验证输入是否有意义。


推荐阅读