如何测试应用程序的安全性

2022-06-14

161

原文作者:Craig Risi
原文译自:CNCF(云原生基金会)


我们有在持续了解、研究知名App数据泄漏和安全攻击的有关信息。企业不能想当然的认为自己的App是绝对安全的。面对如此多的关键数据,企业必须提前考虑应用程序的安全性和识别安全漏洞的过程,以确保应用程序的安全。


然而,安全测试在行业中被视为是复杂的。如此多的企业无法保障他们的应用程序安全,因为他们不确定首先如何验证App的安全性 。


软件安全测试最大的复杂性之一,是漏洞数量和漏洞类型变化速度之快。虽然有一些方法可以保护程序代码免受常见漏洞的影响,但第三方应用程序、浏览器、操作系统和网络系统的问题可能仍然存在安全漏洞,这些问题通常超出企业的控制范围。通过遵循以下测试方法,企业可以检测出大多数的已知安全风险,并在开发过程中修复这些问题。


1、让安全测试成为开发的一部分

2、选择安全测试方法。

3、挑选安全测试。

4、选择安全测试工具。

5、记录安全测试策略。


让安全测试成为开发的一部分


一些开发团队避开安全测试,因为他们认为这需要专业知识,只有专业的安全测试人员和ethical hackers应该去处理安全测试问题。


虽然这些行业有一席之地,但开发团队应该尝试在应用程序上线之前解决关键的安全问题(并且不依赖互联网用户的善意提醒)。对于大多数企业来说,每次要更新部署到生产中时,都通过安全团队运行应用程序是不可行的,因此开发团队需要自己开发这些安全技能和能力。


在安全测试过程中,开发团队可以带来很多东西。您测试安全性的频率越高,在为应用程序提供快速更新的同时维护安全性就越容易。


在项目结束之前不要放弃安全测试。 越早发现、解决问题越好。


选择您的安全测试方法


确保选择的方法与团队达成一致的测试范围、您优先考虑的安全测试类型以及团队的能力相匹配。


· Tiger Box 测试人员通常使用带有各种操作系统和黑客工具的笔记本电脑。该测试可帮助渗透和安全测试人员进行漏洞评估和攻击。

· 白盒测试 人员了解目标系统的内部运作。此测试显示如果您的源代码或其他机密信息泄露可能会发生什么。

· 黑盒测试 人员不了解目标系统的内部运作,但有权测试有关网络拓扑和技术的所有内容。

· 灰盒测试 测试人员会收到有关目标系统的部分信息。它是白盒和黑盒方法的混合体。


选择您的安全测试


主流娱乐可能将黑客或安全专家展示为高度复杂的编码人员。尽管如此,事实是安全测试和道德黑客主要依靠程序测试来发现缺陷,而不是程序化天才。


您必须了解并考虑将七种主要类型的安全测试和评估应用于您的软件系统。


1、漏洞扫描 使用自动化软件针对已知漏洞签名扫描系统。它将扫描您的代码并查找易受 SQL 或代码注入等攻击的部分以及特定代码包中的其他已知漏洞。

2、安全扫描 涉及识别网络和系统风险以及降低这些风险的解决方案。就像漏洞扫描一样,许多工具可以扫描您的代码以识别这些风险。

3、安全审计 是对应用程序和操作系统的安全漏洞的内部检查。它可以包括逐行代码审计。

4、渗透测试 模拟来自恶意黑客的攻击。它将分析系统以检查外部黑客攻击的潜在漏洞。渗透测试不同于道德黑客攻击(如下),因为它重现了一种已知的方法并且可以自动化。

5、道德黑客 攻击是攻击组织或应用程序以暴露和纠正安全漏洞。道德黑客采用一组黑客按照实验方法来发现和复制缺陷。

6、风险评估 评估不同的风险,以帮助确定您应该优先考虑的事项。风险评估将风险分为低、中和高,通常包括额外的措施来帮助您在确定风险的优先级和降低风险方面做出正确的决定。

7、态势评估 是风险评估的延伸,它结合了安全扫描、 道德黑客攻击和风险评估,以显示组织的整体安全态势。


选择您的安全测试工具


安全测试严重依赖于检测和评估漏洞的工具。您应该能够选择正确的工具来支持您的测试方法和测试程序。这里有一些标准工具。


OWASP


开放 Web 应用程序安全项目 ( OWASP ) 是一个致力于提高软件安全性的全球性非营利组织。该项目有多种工具用于渗透测试各种软件环境和协议。


该项目的旗舰工具包括:


Zed Attack Proxy:一个集成的渗透测试工具

OWASP Dependency-Check:扫描项目依赖关系并检查已知漏洞

OWASP Web 测试环境项目:安全工具和文档的集合


WireShark


WireShark 是一种网络分析工具,以前称为 Ethereal。WireShark 实时捕获数据包并以人类可读的格式显示它们。


它是一个网络数据包分析器,提供有关您的网络协议、解密、数据包信息等的详细信息。您可以在 WireShark 的 GUI 或 TTY 模式 TShark Utility 中读取信息。


WireShark 是开源的,适用于 Linux、Windows、macOS、Solaris、NetBSD、FreeBSD 和许多其他系统。


W3af


w3af 是一个 Web 应用程序攻击和审计框架。它具有三种类型的插件:发现、审计和攻击。这些插件相互通信。


例如:

· Discovery 插件查找 URL 以测试漏洞并将它们转发到 Audit 插件。

· Audit 插件在 URL 中搜索漏洞并将其转发给 Attack 插件。

· Attack 插件试图利用这些漏洞。


CloudOS


CloudOS,一站式云原生开发平台,包括四个部分:



· 云原生应用工厂 实现对云原生应用研发的全方位支撑,集成云原生 DevOps 能力,提供应用项目管理、架构设计、在线开发、在线测试、多云部署、可视化运维、测试环境管理、研发看板、流水线等能力。应用研发时可以使用云原生应用商店中的企业公共能力组件。
· 云原生应用商店 实现企业云原生资产的沉淀和管理,包括企业公共的业务能力组件、消息中间件、数据库中间件等。应用工厂开发的企业公共业务能力组件可以上架到云原生应用商店。  云原生应用管理 实现对企业数字化应用的部署、业务调度管理、业务运维、服务治理能力。
· K8S 集群/容器平台 实现数字化应用的运行支撑,包括自动伸缩、多副本等。此平台可以与其他厂家容器平台对接集成,或是由行云提供基于开源 K8S 的版本。
· 与 IaaS 资源对接 本产品对 IaaS 资源层无特殊要求,可以是公有云 IaaS 资源或者企业私有云资源,可以是物理机或者虚拟机。


开发测试云



CloudOS支持API 测试及用例管理:


· 进行 API 规范化定义,围绕 API 文档进行开发、研发变更管理、调试。API 文档可追踪、可找回、可切换;
· 实现 API 管理、版本管理、API 订阅、API 变更、API 通知、API 对比、API 导入导出;
· API Mock 功能,有效解决调试依赖问题,提升研发效率;
· 支持 HTTP、TCP、GRPC、Web socket 等协议;
· 实现 API 用例管理、API 自动化测试、测试报告生成、测试通知、报表统计等。


记录您的安全测试策略


测试应用程序安全性的最后一步是记录您的测试策略和程序。您的开发团队需要知道何时以及如何测试安全性。


组织经常忽略这一步骤,而倾向于采用灵活的临时方法——但是,安全性受益于清晰的审计文档、可重复性和适当的知识转移。一个有据可查的策略将确保您的测试是安全的、获得批准的并有效地解决问题。


您的安全测试策略文档应包括以下内容。


· 测试范围、时间、安全和责任

· 测试方法

· 测试用例或场景

· 测试工具

· 测试程序,包括时间表、批准和监控

· 问题解决程序

· 示例测试数据

· 分析来自不同安全工具的测试输出


结论


为了不损害应用程序的安全性,因此企业需要一个可靠的安全测试策略。防火墙和 SecOps 团队无法管理满是安全漏洞的应用程序。最好的安全策略是从早期开始,在开发中,开发团队就开始采用例行的安全测试。


技术交流
我们建了一个云原生技术交流群,其中有来自Oracle、Citrix、华为、腾讯等国内外云计算专家,立即扫码,拉你进群。目前已有1000+开发者加入我们......
云原生厂商 云原生技术服务商
在云原生时代,行云创新致力于通过赋能开发者,实现企业快速迭代与交付,大幅提升创新效率。
免费试用