我不确定这是否是主题,但它是如此特定于 .NET WinForms,我相信它在这里比在 Security stackexchange 站点更有意义。
(此外,它与安全编码严格相关,我认为它与任何关于我在整个网站上看到的常见网站漏洞的问题一样重要。)
多年来,我们的团队一直在对网站项目进行威胁建模。我们模板的一部分包括OWASP前 10 名以及其他众所周知的漏洞,因此当我们进行威胁建模时,我们始终确保我们有一个记录在案的流程来解决这些常见漏洞中的每一个。
例子:
SQL 注入 (Owasp A-1)
- 标准实践
- 尽可能使用存储参数化过程来访问数据
- 如果存储过程不可行,请使用参数化查询。(使用我们无法修改的第 3 方数据库)
- 仅当上述选项不可行时才转义单引号
- 数据库权限必须按照最小权限原则设计
- 默认情况下,用户/组无权访问
- 在开发过程中,记录每个对象(表/视图/存储过程)所需的访问权限以及访问的业务需求。
- [剪辑]
无论如何,我们使用 OWASP Top 10 作为网站特定漏洞的起点。
(最后是问题)
在极少数情况下,当 Web 应用程序不能满足需求时,我们会开发 WinForms 或 Windows 服务应用程序。我想知道是否有 WinForms 应用程序的常见安全漏洞的等效列表。
在我的头顶上,我能想到一些......
- SQL 注入仍然是一个问题。
- CLR 通常可以防止缓冲区溢出,但如果将非托管代码与托管代码混合使用则更有可能
- .NET 代码可以反编译,因此将敏感信息存储在代码中,而不是在 app.config 中加密...
是否有这样一个列表,甚至是这样一个列表的多个版本,我们可以从中借用来创建我们自己的列表?如果是这样,我在哪里可以找到它?
我一直没能找到它,但如果有的话,这对我们以及其他 WinForms 开发人员都会有很大帮助。