在敏捷开发商店中是否有最佳实践来测试安全性?

关于敏捷开发,每个版本测试安全性的最佳做法是什么?

如果是月度发布,有没有商店每个月都在进行笔测?

0
额外 编辑
意见: 1

4 答案

我不是敏捷开发的专家,但我可以想象,将一些基本的自动笔测试软件集成到您的构建周期中将是一个好的开始。我已经看到了几个软件包,可以进行基本测试,非常适合自动化。

0
额外

我不是一名安全专家,但我认为在测试安全性之前,您应该了解的最重要的事实就是您要保护的内容。只有当你知道你想要保护什么时,你才能对你的安全措施进行适当的分析,然后才能开始测试这些已实施的措施。

非常抽象,我知道。但是,我认为这应该是每个安全审计的第一步。

0
额外
+1好吧,@David。我是一位安全专家,不知何故,我仍然看到所谓的“专家”,他们没有得到这个基本原则。
额外 作者 AviD,

Unit testing, Defense Programming and lots of logs

单元测试

尽早确保您的单元测试(例如密码应被发送之前进行加密,SSL隧道工作等)。这会防止你的程序员意外使程序不安全。

防御编程

我个人称之为偏执编程,但维基百科永远不会错( sarcasm )。基本上,您可以将测试添加到检查所有输入的函数中:

  • 是用户的Cookie有效吗?
  • 他还在登录吗?
  • 是防止SQL注入的函数参数? (即使你知道输入是由你自己的函数生成的,你仍然会测试)

登录</强>

记录一切都很疯狂。它更容易删除日志然后添加它们。用户已登录?记录它。用户找到了404?记录它。管理员编辑/删除了一个帖子?记录它。有人能够访问受限制的页面?记录它。

如果日志文件在开发阶段达到15 Mb以上,请不要感到惊讶。在测试期间,您可以决定删除哪些日志。如果你愿意,你可以添加一个标志来决定何时记录某个事件。

0
额外

你的应用领域是什么?这取决于。

既然你使用了“敏捷”这个词,我猜这是一个网络应用程序。我有一个很好的答案给你。

去购买Burp Suite的拷贝(这是谷歌为“打嗝”的第一名结果---肯定的认可!);如果你等到11月份,它会花费你99欧元,或者180美元,或者98美元的奥巴马元。

Burp可用作Web代理。您可以使用Firefox或IE浏览您的网页应用程序,并收集您生成的所有点击。这些命中得到了一个名为“入侵者”,这是一个网络fuzzer功能。入侵者会找出你提供给你的每个查询处理程序的所有参数。然后它会为每个参数尝试疯狂的值,包括SQL,文件系统和HTML元字符。在一个典型的复杂表单文章中,这将产生大约1500个点击量,您将通过查看来识别可怕---或者更重要的是在敏捷环境中,新的---错误响应。

在每个版本迭代中对Web应用程序中的每个查询处理程序进行模糊化处理是您可以做的第一件事,它可以提高应用程序安全性,而无需创建正式的“SDLC”并添加人员数量。除此之外,请查看您的代码以了解主要的Web应用安全热点:

  • 只使用参数化的准备好的SQL语句;千万不要简单地连接字符串并将它们提供给数据库句柄。

  • 过滤所有输入到已知好字符(alnum,基本标点符号)的白名单,更重要的是,从查询结果中输出过滤器数据以将HTML元字符“中和”为HTML实体(“lt,lt, gt等)。

  • 在当前使用查询参数中的简单整数行ID的任意位置使用长随机难猜测标识符,并确保用户X仅通过猜测这些标识符就看不到用户Y的数据。 >

  • 测试应用程序中的每个查询处理程序,以确保它们仅在呈现有效的登录会话cookie时才起作用。

  • 打开Web堆栈中的XSRF保护,这将在所有呈现的表单上生成隐藏的表单标记参数,以防止攻击者创建恶意链接来为毫不知情的用户提交表单。 LI>

  • 使用bcrypt ---而不是别的---来存储散列的密码。

0
额外