了解渗透测试的应用程序复杂性

安全资讯 小布 488浏览 0评论

将应用程序推向市场具有挑战性。开发人员经常在紧迫的期限和沉重的压力下工作。但是应用程序安全需要安全编码,然后是代码审查、质量和安全检查,并在应用程序发布之前再次测试。求助于外部测试人员会有所帮助,但您首先需要传达您的应用程序复杂性。

什么是应用渗透测试?

应用程序渗透测试旨在在黑客发现和利用漏洞之前识别漏洞。该测试揭示了现实世界中出于恶意/非商业目的入侵和未经授权访问敏感数据甚至接管系统的机会。

渗透测试为您的组织提供风险级别的视图,并应提供建议以优先解决已识别的应用程序缺陷。

应用程序渗透测试可以是手动的,也可以是自动的,但只有通过严格的手动测试技术才能实现有效和全面的渗透测试。

了解应用程序复杂性

现在您已经了解了应用程序渗透测试的内容和原因,您需要为实际的测试过程做好准备。引入第三方会有所帮助。毕竟,您自己的员工一直在努力开发您的应用程序并对其进行故障排除,但他们非常了解这一点,他们梦想着编写代码(如果他们有机会睡觉的话)。新鲜的眼睛有助于带来更客观的视角。

然而,对于成功的渗透测试,您需要了解应用程序的复杂性并能够将其传达给您的测试人员。问题通常是在尝试对任何给定应用程序进行建模时,有大量的变量在起作用。

尽管如此,我们还是会考虑人们谈论应用程序复杂性的一些标准方式。

一种方法是让渗透测试人员询问应用程序中静态和动态页面的数量。动态页面是用户向应用程序提供某种输入方式的页面;而静态页面的内容不会改变。

虽然这种方法通常是合适和成功的,但它并不总是有效。代码行并不以任何可靠的方式等同于复杂性。

同时,也有一些应用是单页应用。在这些情况下,谈论静态或动态页面的数量是没有意义的。相反,测试人员通常会转向以更有意义的方式询问功能和计算功能。

这可能意味着在引用内容时谈论屏幕数量。或者,由于单页应用程序主要是 API 驱动的,测试人员可以尝试通过讨论用于向应用程序提供内容的唯一 API 请求的数量来估计复杂性。

在应用程序复杂性对话中可以期待什么

大多数情况下,渗透测试人员会首先询问静态和动态页面。如果组织无法回答这个问题,测试人员将询问功能或邀请客户以任何对他们有意义的方式表达应用程序的复杂性。与此有关的问题是,对应用程序所有者有意义的内容可能并不总是转化为与评估复杂性的测试人员产生共鸣的内容。

这里的部分问题是在应用程序复杂性对话中存在许多过载的术语。基本上,当我们说相同的话时,我们的意思并不总是相同的。例如“动态页面”是指具有用户提供的内容(如上所述)的页面。然而,在开发环境中,动态页面主要由页面根据它从服务器接收的信息(内容)更改的方式确定。

由于项目经理(或其他缺乏应用程序深入技术细节的其他人)通常是与咨询公司交谈的人,因此在词汇方面达成一致可能会更加复杂。

收集所有不同的数据值以对应用程序的复杂性进行建模是一项具有挑战性且耗时的工作。有时,演示应用程序更容易,但这也很耗时。

应用程序演示通常在基于 Web 的屏幕共享会话中与客户端一起完成。有时,客户有一个可用的环境,测试人员可以在其中自行评估复杂性。演示将使渗透测试人员足够接近应用程序复杂性,以估计工作量 (LOE) 并创建提案。

布尔云安可以根据您组织的需求定制其渗透测试方法。保护您的应用程序。立即与布尔云安咨询专家交谈。

转载请注明:布尔云安的博客 » 了解渗透测试的应用程序复杂性

头像
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址