什么是云安全
Last updated
Last updated
云安全是云计算行业的专业术语,云安全 (Cloud security ),是指基于云计算商业模式应用的安全软件,硬件,用户,机构,安全云平台的总称。
"云安全" 是 "云计算" 的重要组成部分,在反病毒领域有广泛应用。它通过监测网络中软件行为的异常,获取最新的木马和恶意程序信息,并将其自动分析和处理,再将解决方案分发到每一个客户端。这样整个互联网就成为了一个超级大的杀毒软件,这就是云安全的目标。
这门课程也被我称为“云安全”,难免有些概念上的冲突但叫着顺口,而更改为“云上攻防”这个名称更符合课程内容,这门课主要关注渗透和横向渗透技术,而不是用户身份、业务、用户数据安全问题。
一是网络边界不可见。云计算通过引入虚拟化技术,将物理资源池化,按需分配给用户,这里涉及到计算虚拟化、网络虚拟化、存储虚拟化。
云服务商为用户提供虚拟化实体,对用户而言,以租用的形式使用的虚拟主机、网络和存储,传统的网络边界不可见。
在云计算中,传统的安全问题仍然存在,诸如拒绝服务攻击、中间人攻击、网络嗅探、端口扫描、SQL 注入和跨站脚本攻击等。
云渗透和传统渗透技术没有本质区别,只是应用场景不同。依然存在常见漏洞如SQL注入、弱口令、文件上传、网站备份泄露等。随着新技术的出现,会有新的安全风险,如AccessKey泄露的利用、OSS配置不当、容器化、K8s带来新的攻防技术。
常见的公有云服务包括亚马逊云、谷歌云、微软云、阿里云、腾讯云等。
这里我把公有云攻击分为两类:
针对租户的攻击:对于在云上的目标,依然存在常见的Web漏洞,SQL注入、弱口令、文件上传、SSRF,除此之外上云还出现了新的攻击方式,例如:AccessKey泄露接管服务器、存储桶配置不当、传统漏洞结合云特性获取实例元数据。
针对云平台的攻击:以下是大致思路,实际是围绕着整个云平台的架构攻击。
1. 云产品进行文件处理属性时引发漏洞
(1) 机器学习系统支持自定义函数
(2) 大数据计算引擎支持UDF
(3) 沙箱绕过等
2. 攻击中间件服务
(1) 攻击消息队列:Kafka、ActiveMQ、RabbitMQ
(2) 分布式服务框架:Dubbo、Zookeeper、TAF
(3) 监控或发布服务: hue、splunk、cacti、jenkins、zabbix、ElasticSearch
3. 数据库产品配置
(1) Python、Java、NodeJS沙箱绕过
(2) MySQL/MSSQL/PostGreSQL等
4. 开源产品已知问题
(1) Redis
(2) Mongodb
(3) Hadoop
5. 虚拟化逃逸
(1) KVM-QEMU逃逸
(2) 容器等逃逸
针对公有云的攻击还需要了解云相关产品、了解相关产品操作、了解架构文档、了解产品功能和架构模块。
AWS:https://docs.aws.amazon.com/
GCP:https://cloud.google.com/docs?hl=zh-cn
Azure:https://azure.microsoft.com/zh-cn/
阿里云:https://help.aliyun.com/
腾讯云:https://cloud.tencent.com/document/api
私有云的架构和公有云差不多,除了公有云的一些攻击点,更应该关注的是:
私有云缺乏有效隔离,可横向攻击
私有云部署在企业的业务生产网,云的底座网络、物理设备与业务网络在同一安全域,大多时候缺乏有效隔离
使用的开源组件列表漏洞
私有云的云产品属于定制开发,使用大量三方组件,且存在大量应用层的漏洞
虚拟化逃逸取得宿主机控制权
通过获取应用服务器权限
常规应用漏洞(Shiro、Fastjson等...)
私有云与虚拟化有密切的关系,因为私有云是建立在虚拟化技术的基础上的。虚拟化技术可以将一台物理机器的资源,如CPU、内存、存储等,通过软件层面划分成多个虚拟机,使得这些虚拟机可以独立运行不同的操作系统和应用程序。
虚拟化最直接利用的是漏洞例如:CVE-2021-21972、CVE-2021-21985、CVE-2021-22005。Vsphere、Esxi、vCenter弱密码,没有漏洞只能通过钓鱼,获取域控,信息收集获取虚拟化平台权限。
OpenStack是一个开源的云计算软件平台,支持虚拟化。OpenStack与虚拟化技术紧密结合,使用KVM作为其默认的虚拟化技术,也可以使用其他的虚拟化技术,如Xen、LXC等。
1.网络暴露:管理控制台,弱口令、高危漏洞
2.网络暴露:API 接口,未授权访问、越权、高危漏洞
3.网络暴露:三方组件引入的接口
4.网络暴露:容器服务
5.网络暴露:运营/运维服务
6.OpenStack 部署在企业的业务生产网,云的底座网络、物理设备与业务网络在同一安全域,物理设备的监控和管理可横向攻击
云原生技术是一种基于微服务和容器技术的架构,它将应用程序和基础设施整合到一个云环境中。但是,云原生技术也存在一些攻击面。下面是一些常见的云原生攻击面:
1. Pod开放到互联网
2. Pod对其它Pod或服务开放
3. 从Pod向Node逃逸
4. 从Pod攻击Master Node组件
5. 从Pod攻击API Server
6. 从API Server攻击其它Pods/Nodes
7. 从K8s集群攻击云内的其它服务