进行安全测试以发现软件/应用程序中的漏洞和安全弱点。安全专家和测试人员使用不同类型的安全测试来识别潜在威胁,衡量利用漏洞的可能性,并衡量软件/应用程序面临的整体风险。从这些测试中获得的可操作见解可用于弥补差距并最大限度地降低安全风险。在本文中,将深入探讨安全测试的类型和属性。
安全测试有哪些类型?
漏洞扫描
通常由自动化提供支持(也存在手动工具),利用漏洞扫描来识别已知漏洞和漏洞签名。这是漏洞管理和应用程序/软件安全的许多步骤中的第一步。它用于了解安全风险的基线。
安全扫描
安全扫描是识别应用程序/软件、网络和系统中的漏洞和错误配置的过程。手动和自动工具都用于此测试类型。列出并深入分析了这些测试的见解,并提供了解决问题的解决方案。
渗透测试
渗透测试(笔测试)是在安全条件下刺激针对应用程序/软件、系统或网络的实时网络攻击的过程。它(并且必须)由受信任的、经过认证的安全专家手动执行,以实时了解针对攻击的安全措施的强度。最重要的是,未知漏洞(包括零日威胁和业务逻辑缺陷)通过渗透测试暴露出来。
安全审计/审查
安全审计或安全审查是根据定义的标准审查/审计应用程序/软件的结构化过程。通过差距分析和代码/设计审查,评估物理配置、操作系统、信息处理流程、用户实践等的安全性。还评估了对监管标准和框架的遵守情况。
道德黑客
道德黑客,比渗透测试更广泛,是一个包含多种黑客方法的总称。在这里,所有漏洞和错误配置都试图通过模拟来自应用程序/软件内部的攻击来暴露。
风险评估
通过风险评估,识别、分析和分类应用程序/软件/网络面临的安全风险(关键、高、中、低)。根据优先级建议缓解措施和控制措施。
姿势评估
组织的整体安全态势是通过安全扫描、道德黑客攻击和风险评估相结合的态势评估来评估的。
注意:进行安全测试没有单一的最佳方法。它必须高度定制,安全测试的选择应基于组织的需求、环境和规范。
安全测试必须包括的7个属性是什么?
验证
在通过身份验证访问系统之前,用户会被数字识别。通过测试和验证该属性,确保系统仅允许合法/正确用户访问的有效性。该系统可以使用简单的用户名-密码或多因素身份验证过程(其中可以使用 OTP、生物识别、安全 ID 令牌等的组合)。
授权
一旦用户通过身份验证,他们就可以访问系统。他们在系统内执行操作的特权和权限是根据用户角色定义的,并受授权限制。例如,由授权属性决定特定用户是否可以修改数据、访问某些文件等。
保密
通过测试机密性属性,验证信息、服务和资源是否仅供预期用户访问并且仅在请求时访问。测试人员可以
- 识别未经授权的用户是否正在访问特权资源。
- 验证是否所有数据都已加密。
- 分析请求时显示数据的格式等。
可用性
测试可用性属性时,测试人员可以了解软件/应用程序是否全天候正常运行,并且可接受的停机时间最少(来自定期维护和升级)。还验证了根据请求提供的信息和服务的可用性以及在出现故障时的备份文件。
正直
如果是,则通过完整性属性进行验证
- 收到的信息在传输过程中没有改变。
- 根据用户组、权限和限制提供正确和更新的信息。
不可否认性
在这里,被拒绝的访问请求连同时间戳和 IP 地址被跟踪。测试人员确认用户是否真实且不构成安全威胁。
弹力
通过弹性属性的测试来检验系统对内外部攻击的抵抗力。
结论
众所周知,成功的网络攻击和破坏会削弱信任、声誉和财务资源。进行安全测试是赢得利益相关者信任的关键步骤。