安全测试需要开箱即用,它没有明确的测试用例,并且不可重复,这意味着一次又一次地运行相同的操作集将永远无法确保安全性。


所以我想知道如何计划?仅给测试人员时间来入侵网站,然后记录漏洞,这不是更好吗?


要求详细的安全测试计划以及要包括的内容是否合理?

#1 楼

首先,您的产品可能具有某种与安全性相关的规定:身份验证,授权,密码恢复,阻止一个用户看到另一用户的数据,等等。这些将有正面和负面的测试用例。

除此之外,还有更复杂的东西。有一些工具可用于扫描网站是否存在安全问题(例如Nessus),因此您应该计划使用它们。有些公司将为您进行安全性测试。他们可能使用那些专门从事此类工作的工具和/或员工黑客。这是一门非常专业的学科,大多数质量检查人员都没有足够的技能或最新知识来对此进行全面的研究。闯入您的网站。

#2 楼

上面的答案是正确的,并且根据安全性的重要性,最好建议您请一些安全专家。

除此之外,为了让您自己行事,我用于涉足安全性测试/道德黑客的有用资源是:

https://www.owasp.org/index.php/Main_Pagehttp://google-gruyere.appspot.com/http: //www.hackthissite.org/pages/index/index.php
“如何破解网络软件” James Whittaker

我在Google gruyere和朋友网站上进行练习,向他们提供有关它们的安全性-您会发现一些有趣的漏洞,这些漏洞实际上并没有那么好隐藏。

#3 楼

我不是安全测试人员,但是,您的测试计划会有所不同,具体取决于您是否需要维护Web应用程序的安全状态,或者是否要进行一次性的“此应用程序是安全的”测试集。 />
在两种情况下,我都认为您需要计划-但是对于一次性测试集,您无需计划可重复性。常见漏洞和潜在危害,并使用这些漏洞的矩阵来对测试进行优先级排序:从常见的,潜在破坏力高的场景开始,一直进行到破坏性较小,然后是不太常见的场景。

您的计划应该是一份实时文档-用于尝试破坏应用程序安全性的技术模板。这样,您就不会在测试中无意间忽略了某些内容,并且测试用例记录了您使用的方法和收到的结果。

#4 楼

我可能会看一下STRIDE并为每个威胁区域分配给定的时间,但是分配的持续时间将取决于测试人员的技能和经验。

如果没有团队中任何经验丰富的安全测试人员,那么您在内部执行此操作可能不会获得任何真正的价值,这确实是一个专业领域。您可以对每个威胁区域进行风险评估,并根据结果接受风险。

#5 楼

我有一个类似的问题,只是想法而不是答案。我开始在网站上进行测试,并很快开始安全性。我的理解是,拥有一组“探索性”测试点比逐步测试要好得多。

例如:

login
- attempt html code
- attempt SQL injection
etc.

Address bar
- reach root directory
- edit files contained within parent directory
etc.


这使测试人员可以自由地“尝试”并非所有人都知道的黑客。这在很大程度上取决于测试人员的经验。话虽如此,有人会从哪里获得已知的“黑客”名单?或者有人如何列出“黑客”或黑客的检查方法?这些信息不只是在某些地方列出,供测试人员“检查”正确吗?