代码之家  ›  专栏  ›  技术社区  ›  mson

.NET Web应用程序的应用程序安全审核?

  •  3
  • mson  · 技术社区  · 17 年前

    有人对.NET Web应用程序的安全审核有建议吗?

    我对所有的选择都感兴趣。我希望能够让一些不可知论的东西来调查我的应用程序的安全风险。

    编辑:

    为了澄清,系统的设计考虑了安全性。环境的设置考虑到了安全性。我想要一个独立的安全措施,除了“是的,它是安全的”…让某人审计超过一百万行代码的成本可能比开发成本更高。似乎还没有一个好的自动化/廉价的方法来解决这个问题。谢谢你的建议。

    审计的重点是独立地验证团队实现的安全性。

    顺便说一句-有几个自动的黑客/探测工具来探测应用程序/Web服务器,但我有点担心它们是否是蠕虫…

    6 回复  |  直到 15 年前
        1
  •  3
  •   dr. evil    15 年前

    最好的办法:

    • 雇佣安全人员进行源代码分析
    • 第二件最好的事情是雇佣一个保安/调查公司进行黑盒分析

    以下工具将有助于:

    • 静态分析工具强化/盎司实验室-代码审查
    • 考虑解决方案,如HP Webinspects的安全对象(vs.net插件)
    • 购买Blackbox应用程序扫描仪,如NetParker、AppScan、WebInspect、Hellstorm、Acunitix或免费版本的 Netsparker

    雇佣一些安全专家是个更好的主意(尽管成本更高),因为他们不仅会发现自动化工具可能会发现的注入和技术问题,而且还会发现所有逻辑问题。

        2
  •  2
  •   Vineet Reynolds    17 年前

    在您的情况下,任何人都可以使用以下选项:

    1. 代码审查,
    2. 使用工具对代码库进行静态分析,
    3. 运行时应用程序的动态分析。

    米切尔已经指出了防御的用途。事实上,Fortify有两个产品可以覆盖静态和动态分析领域。- SCA (静态分析工具,用于开发)和 PTA (在测试过程中执行测试用例时执行应用程序分析)。

    然而,没有一个工具是完美的,你可以以误报(代码库的片段,尽管不易受攻击,但会被标记)和误报结束。只有代码审查才能解决这些问题。代码审查是昂贵的-不是您组织中的每个人都能用安全专家的眼光审查代码。

    首先,可以从owasp开始。了解 principles behind security 在学习之前强烈推荐 OWASP Development Guide (3.0为草稿;2.0为稳定状态)。最后,您可以准备执行 first scan of your code base .

        3
  •  0
  •   Mitchel Sellers    17 年前

    我开始对内部应用程序做的第一件事就是使用一个工具,比如Fortify,它可以对代码库进行安全分析。

    否则,您可以考虑招募专门从事安全性的第三方公司的服务,让他们测试您的应用程序。

        4
  •  0
  •   frankodwyer    17 年前

    测试和静态分析是发现安全漏洞的一种非常糟糕的方法,如果您在整个设计和实现过程中没有考虑到安全性,那么它实际上是最后一种方法。

    问题是,您现在正试图列举应用程序可能失败的所有方式,并(通过修补)拒绝这些方式,而不是试图指定应用程序应该做什么,并阻止所有不该做的事情(通过防御性编程)。由于您的应用程序可能有无限的出错方式,而且只有一些它应该做的事情,所以您应该采用“默认拒绝”的方法,并且只允许好的事情发生。

    换一种方式来说,构建控件来防止所有类型的典型漏洞(例如,请参阅其他答案中提到的owasp)比寻找代码的特定错误版本更容易、更有效。你应该努力证明良好的控制措施(可以做到)的存在,而不是没有坏东西(不能做到)。

    如果你让别人审查你的设计和安全要求(你到底想保护什么?)通过完全访问代码和所有细节,这将比某种黑盒测试更有价值。因为如果您的设计是错误的,那么无论您实现的有多好都无关紧要。

        5
  •  0
  •   Gord    17 年前

    我们已经用过 Telus 为我们进行了几次笔试,并对结果印象深刻。

        6
  •  0
  •   McGovernTheory    17 年前

    我可以推荐你联系吗 Artec Group , Security Compass Veracode 看看他们的产品……