首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何估计Web应用程序安全测试所需的时间?

如何估计Web应用程序安全测试所需的时间?
EN

Security用户
提问于 2015-08-19 05:03:46
回答 2查看 4.7K关注 0票数 4

我想对测试网站/ web应用程序安全漏洞所需的时间做一些估计。我将对OWASP前10名的网站进行测试

根据我的理解,网站中静态/动态URL的数量、要测试的参数数(URL、Body)、其他插入点(如cookie参数、参数名称、HTTP头、REST样式参数)都是导致所需时间的因素。如果我错了,请改正。

话虽如此,我们可以包括哪些因素来达到进行安全评估所需的时间呢?

此外,由于估计应该在我们开始测试之前进行,并且网站中的URL/参数的数量将在稍后阶段(比如爬行/爬行之后)已知,那么我们是否可以事先进行估计呢?

业务逻辑、要测试的函数数量、特权级别的数量可能对所花费的时间有发言权,但它不会细分为我们将要测试的参数的数量吗?

我想这样做是为了让我的客户相信进行评估所需的时间。

例如,如果我的客户要求在'n‘天内对10个网站进行评估,我应该能够以证据/估计告诉他们,这将需要'X’时间。

有人能和你分享你的想法吗?这方面有什么方法吗?

EN

回答 2

Security用户

发布于 2015-08-19 07:39:49

您不能提供证据证明漏洞评估需要花费n天的时间。你可以给他们一个估计。

当我对一个应用程序进行测试时,我会看到一些东西。大部分都是你已经报道过的。

  • 应用程序做什么(处理金钱或人力资源数据,或为博客服务)
  • 应用程序有多大(几个URL/页面或很多;只是内容,或许多功能)
  • 应用程序有多复杂(大小和复杂性并不总是一回事)
  • 涉及多少个角色(如用户、管理员、超级管理员)
  • 任何涉及的API(如REST、SOAP、定制)
  • 涉及多个客户端(如移动、厚客户端和web)

就像任何事情一样,要能够准确地确定测试项目的范围,需要经验。您将考虑到类似大小和复杂性的应用程序需要多长时间进行测试,并适当地进行范围测试。根据你在哪里工作,可能有一个公式,x时间花在不同类型的功能和其他因素,这取决于你的雇主。

如果你有选择的话,我建议听你的团队中更有经验的人做范围界定,这样你就可以理解他们是如何做的,以及他们为什么做出了决定。客户端的范围过低或范围过大可能会导致您的一个或两个问题。如果你的范围不够,你或你团队中的人可能没有足够的时间来完成测试,而过度的范围可能会导致客户不必要地花钱。当然,错误是会发生的,这是学习过程的一部分,但重要的是要理解为什么事情的范围是像它们的范围一样,然后在没有经验支持的情况下跳进去。

票数 4
EN

Security用户

发布于 2015-08-19 08:30:22

我想补充一下我对此的看法。假设您有一个应用程序需要测试(我这里不包括厚客户端,因为它是纯web应用程序)。估计可能依赖的条件是:

可观项目

  • 可通过Burp's Spider获取的URL数量
  • 可以通过Burp的参与工具获取的参数数
  • 如果没有指向相同的主应用程序资源的vhost数量
  • 包含在作用域中的Web或API的存在
    1. 在这里,您可以通过问卷调查的方式获取API
    2. 映射web服务参数(REST或SOAP)
    3. 将所有这些添加到Web服务(sum)的指针中

估计

答案中前面讨论过的复杂性和大小可以通过访问vhost来确定,即动态URL的数量(动态只意味着应用程序在数据层与后端对话)。考虑使用测试用例,就像我在之前的一项研究中为下面的客户机所做的那样(这是私有的,可以在那里定义自己的):

如果您不知道并且几乎需要估计时间线交付,那么对每个提交和测试用例模块使用Gnatt图表,即定期定义模块,如“输入验证安全测试用例”、“会话管理安全测试用例”等。查看下面的时间线必须绝对了解如何估计正确的企业交付计划:

但在所有这些之前,最重要的是为项目规划者绘制路线图,并在工作表中描述所需的测试用例,这样客户端就可以浏览需求文档并提供相应的提交,以便为您确定适当的时间表安排;这可以通过以下几种方式之一实现:

  1. 映射需求,如果白色框,什么是凭据要求,等等?
  2. 填补空白,在提交之前检查应用程序,还需要哪些细节?
  3. 对上述结论进行总结,得出结论。
  4. 添加比原来更多的天数,这样你才能保证质量。

项目规划师可能看起来像这样,这可能是规划web应用程序安全项目阶段的一个不可或缺的需求,也可以帮助您为项目定义时间表:

再一次的估计是副产品,也不一定你不会面对任何范围的蠕变,项目的时间延迟,项目的资源,等等,在项目之间(这就是为什么额外的日期后,你映射的时间表)。现在,剩下的是指出项目的关键路径和断点,例如,可能出错的地方和范围,等等。您需要非常好地管理这个问题,并预先定义所有的内容。祝你好运!我希望你能找到有用的信息。

票数 4
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/97210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档