针对恶意攻击的防御性编程

时间:2009-09-15 17:40:01

标签: c# security defensive-programming

我所工作的公司正在重新开发一种供外部使用的内部产品。

该产品最初将使用WPF在C#中开发,然后移植到Silverlight。

其中一个重点是针对恶意攻击进行编码,例如SQL注入等。

问题:

  1. 任何人都可以推荐指向安全性“最佳做法”文章的网址。
  2. 任何人都可以推荐一种分析工具来分析代码以识别缺陷。如果可能,我们希望将该工具包含在我们的持续集成脚本中。

3 个答案:

答案 0 :(得分:3)

我找到的最好的资源是:

http://www.owasp.org/index.php/Main_Page

在该网站内,我将从这里开始:

http://www.owasp.org/index.php/Top_10_2007

排名前10位的是网站漏洞,但这些概念适用于所有类型的应用。在我个人看来,在学习安全编码方面,你真的不能做得更好。

该网站提供最佳实践,工具,并且无论您的技能水平如何,都能让一切变得可以理解。

*已添加*

另一个很好的资源是MSDN文档,因为您的问题被标记为C#。

http://msdn.microsoft.com/en-us/library/ms998408.aspx

答案 1 :(得分:1)

在MSDN上尝试以下文章:Security (How Do I in C#)

答案 2 :(得分:1)

我认为从安全开发开始将意味着三个步骤:

识别并了解大局:可能出现的问题

这意味着要了解漏洞的技术方面以及漏洞如何帮助您解决问题。

通常,我会使用OWASP的十大Web应用程序安全漏洞(google:owasp top 10 2007)。

如果您不理解,那么请寻求指导。理解这样的文档并不能直接告诉您如何构建安全代码,但它是您对安全开发的理解水平的一个很好的指标。

找出导致安全发展的良好通用做法

虽然许多文档都会告诉您出现问题的方法,但实际上很少有资源会告诉您如何以一般方式避免它们。

目前,我主要推荐这些资源:

  • David Rook的“安全发展原则”(google:david rook安全开发原则)
  • OWASP的十大漏洞保护部分页面(每个条目都可以在Top 10的在线版本上点击)

查找针对您的技术量身定制的资源

以您所说的语言访问告诉您“如何执行此操作”的资源。通常,C#。 MSDN门户为开发人员提供了许多安全检查表(http://msdn.microsoft.com/en-us/library/ms998408.aspx)。

最后,进入它:连接到应用程序安全性的常规输入,查找博客,阅读新闻(使用某些漏洞名称或“应用程序安全性”或“安全开发”等词语构建Google警报),看看会发生什么。< / p>

希望它有所帮助。

SB

PS:对不起'谷歌'链接,我是新用户,只能在我的答案中发布1个网址:(