云渗透测试是一种通过模拟恶意代码的攻击来主动检查和检验云系统的方法。
云计算是云提供商和从提供商处获得服务的客户共同的责任。
由于基础设施的影响,不允许在 SaaS 环境进行渗透测试。
在需要一些协调的情况下,允许在 PaaS 和 IaaS 中进行云渗透测试。
应实施定期安全监控来监控威胁、风险和漏洞的存在。
SLA 合同将决定允许何种类型的渗透测试以及渗透测试的频率。
重要的云渗透测试清单
-
检查服务水平协议,确保**云服务提供商 (CSP)**和客户之间已涵盖适当的政策。 -
为了保持治理与合规,请检查云服务提供商和订阅者之间的适当责任。 -
检查服务水平协议文档并跟踪CSP的记录,以确定维护云资源的角色和职责。 -
检查计算机和互联网使用政策,并确保已按照适当的政策实施。5.检查未使用的端口和协议,并确保服务应被阻止。 -
检查存储在云服务器中的数据是否默认加密。 -
检查所使用的双因素身份验证并验证 OTP 以确保网络安全。 -
检查 URL 中云服务的 SSL 证书,确保证书是从可靠的证书颁发机构 (COMODO、Entrust、GeoTrust、Symantec、Thawte 等) 购买的。 -
使用适当的安全控制检查接入点、数据中心和设备的组件。 -
检查向第三方披露数据的政策和程序。 -
检查 CSP 是否在需要时提供克隆和虚拟机。 -
检查云应用程序的正确输入验证,以避免 XSS、CSRF、SQLi 等 Web 应用程序攻击。
云计算攻击
会话操纵(跨站点请求伪造)
CSRF 是一种旨在诱使受害者提交恶意请求以冒充用户执行某项任务的攻击。
旁路攻击
这种类型的攻击是云端所独有的,并且可能非常具有破坏性,但它需要大量的技巧和一定程度的运气。
此次攻击试图利用受害者在云中使用共享资源的事实,间接侵犯受害者的机密性。
签名包装攻击
另一种类型的攻击并非云环境所独有,但仍然是一种危害** Web 应用程序安全性**的危险方法。
基本上,签名包装攻击依赖于 Web 服务中使用的技术的利用。
云环境中的其他攻击:
-
利用网络嗅探进行服务劫持 -
使用 XSS 攻击 进行会话劫持 -
域名系统 DNS 攻击 -
SQL 注入攻击 -
密码分析攻击 -
拒绝服务 (DoS) 和分布式 DoS 攻击
云渗透测试的重要注意事项
-
在云环境中的可用主机上执行漏洞扫描 -
确定云的类型,是 SaaS 还是 IaaS,还是 PaaS。 -
确定云服务提供商允许哪种类型的测试。 -
检查CSP对测试的协调、安排和执行情况。 -
执行内部和外部渗透测试。 -
获得进行渗透测试的书面同意。 -
在没有防火墙和反向代理的 Web 应用程序/服务上执行 Web 渗透测试。
云渗透测试的重要建议:
-
使用用户名和密码验证用户。 -
关注服务提供商的政策,确保编码策略安全。3.必须建议采用强密码策略。 -
由组织定期更改,例如由云提供商分配的用户帐户名和密码。5.保护渗透测试期间发现的信息。 -
密码建议加密。 -
对SaaS 应用程序使用集中式身份验证或单点登录。 -
确保安全协议是最新的且灵活的。
重要的渗透测试工具
SOASTA CloudTest:
该套件可以在单一网络平台上实现四种类型的测试:移动功能和性能测试以及基于网络的功能和性能测试。
LoadStorm:
LoadStorm 是一款针对 Web 和移动应用程序的负载测试工具,易于使用且经济高效。
BlazeMeter:
BlazeMeter 用于移动应用程序、网站和 API 的端到端性能和负载测试。
Nexpose:
Nexpose 是一种广泛使用的 漏洞扫描程序,可以检测各种设备、防火墙、虚拟化系统和云基础设施中的漏洞、错误配置和缺失的补丁。
AppThwack:
AppThwack 是一款基于云的模拟器,用于在实际设备上测试 Android、iOS 和 Web 应用。它与流行的自动化平台(如 Robotium、Calabash、UI Automation 等)兼容。
十大云渗透测试清单
2024 年云渗透测试清单应涵盖最新的安全趋势、技术和合规性要求。云渗透测试侧重于识别和利用云环境中的漏洞,确保它们符合最新的安全最佳实践。
1. 参与前阶段
范围定义:* 定义被测试的云环境和资产(例如,AWS、Azure、GCP、SaaS 应用程序)。* 指定要测试的云服务(例如,虚拟机、数据库、存储、容器)。* 就一组明确的测试目标达成一致,包括法律和合规界限。
-
获取权限: -
如果测试第三方云(例如 AWS、Azure、GCP),请确保获得云提供商的书面同意。 -
验证测试不会违反云提供商的服务条款。数据敏感性: -
识别范围内的关键和敏感数据。 -
根据 GDPR、HIPAA 或 SOC2 等合规性要求对数据进行分类。
2. 信息收集
识别云服务:
识别并规划出所有正在使用的云服务(IaaS、PaaS、SaaS)。
DNS 和子域名枚举:
枚举面向公众的域和子域。
公共云足迹:
识别暴露的 IP 地址、服务、API 和端点。
分析云基础设施元数据中的暴露数据(例如,AWS S3 存储桶策略、Azure Blob 存储设置)。
云提供商特定侦察:
AWS:枚举 IAM 角色、S3 存储桶、Lambda 函数和 EC2 实例。
Azure:检查 AD、Key Vault 和基于角色的访问控制 (RBAC) 策略。
GCP:检查 IAM 权限、存储桶和云功能。
3. 身份和访问管理 (IAM)
用户访问审核:
检查未使用或不活动的用户和权限。
审查最小特权原则 (PoLP) 并确保所有用户仅拥有必要的访问权限。
角色与政策审查:
识别配置错误的角色或允许过度访问的策略。
检查可能提供未经授权访问的开放或公共角色。
认证机制:
测试密码策略和 MFA 执行的强度。
测试单点登录 (SSO) 实现、OAuth、OpenID Connect。
特权升级路径:
识别具有过多权限的用户并测试权限提升攻击(例如,AWS“AssumeRole”或Azure“Contributor”)。
4. 网络安全
网络架构评审:
评估 VPC(虚拟私有云)和网络分段。
检查安全组配置(AWS 安全组、Azure NSG)。
公开资源:
识别面向公众的实例(例如,EC2、应用服务)并确认曝光是合理的。
验证传入和传出流量的防火墙规则,确保它们最少且合适。
云负载均衡器和 CDN:
测试负载均衡器、CDN 配置和相关安全功能(如 TLS 卸载)。
VPN 和直接连接:
验证 VPN 或 DirectConnect/ExpressRoute 设置是否安全。
5. 存储和数据安全
访问控制:
检查公共或配置错误的存储桶(AWS S3、Azure Blob、GCP Buckets)。
确认敏感数据(例如 PII、财务数据)未存储在公共或不安全的区域。
加密:
确保静态和传输过程中均实施加密。
验证正确的密钥管理实践(例如,AWS KMS、Azure Key Vault)。
数据保留和备份:
评估备份配置和保留策略。
测试备份系统的安全性并确保它们不会暴露在公共互联网上。
6. 计算和容器安全
虚拟机:
检查过时或未修补的操作系统。
测试诸如错误配置的 SSH 或 RDP 访问或不正确的防火墙配置等漏洞。
容器安全:
测试 Kubernetes(K8s)等容器编排平台的安全性。
检查容器注册表、图像和权限中的配置错误。
识别过多的容器权限(例如 root 访问权限)。
无服务器架构:
测试函数即服务平台,例如 AWS Lambda、Azure Functions。
确保无服务器功能的最小权限和正确的 IAM 策略。
7. 应用程序安全
API 安全性:
识别暴露的 API 并评估其身份验证和授权机制。
测试常见的 API 漏洞(例如,破坏的对象级授权、不安全的 API 密钥)。
Web 应用程序:
执行标准 Web 应用程序测试(例如 OWASP Top 10)。
评估 AWS API Gateway 或 Azure App Services 等特定于云的服务的使用情况。
CI/CD 管道:
测试 CI/CD 管道中可能导致部署不安全代码的薄弱点。
确保正确使用云原生 CI/CD 工具,例如 AWS CodeBuild、Azure DevOps。
8. 合规性和日志记录
云提供商日志记录和监控:
验证日志记录服务的正确配置(例如,AWS CloudTrail、Azure Monitor、GCP Stackdriver)。
确保日志受到实时监控并可供事件响应使用。
审计访问和活动:
检查是否为用户和管理员活动启用了审计跟踪。
确保日志集中、加密并根据合规性要求保留。
安全事件和事件管理 (SIEM):
测试 SIEM 解决方案与云环境的集成。
确保针对可疑活动制定警报和响应机制。
9. 第三方集成
评估第三方工具:
评估访问云环境的任何第三方集成或工具(例如监控工具、CRM)的安全性。
供应链攻击:
测试供应链漏洞,包括软件依赖性和外部服务。
共担责任模式:
审查并确保云提供商和客户之间正确理解和覆盖安全责任。
10. 后续参与和报告
调查结果报告:
创建一份详细的报告,总结发现、风险和潜在影响。
包括补救建议,优先考虑高风险漏洞。
重新测试并验证:
进行后续测试以验证漏洞是否已解决。
持续监控与培训:
建议持续的监控策略和员工安全意识培训。
原文始发于微信公众号(独眼情报):云渗透测试清单 – 2024
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论