Skip to main content

云上攻防体系介绍

云计算概念

在了解云攻防体系前, 需要先知道云计算, 云计算概念最早由Google前首席执行官, 埃里克*施密特, 在2006年搜索引擎大会上首次提出的一种构想, 而“云计算”就是这种构思的代名词, 云计算以虚拟化为基础,以网络为中心,为用户提供安全、快速、便捷的数据存储和网络计算服务,包括所需要的硬件、平台、软件及服务等资源,而提供资源的网络就被称为,“云”。

用通俗易懂的话解释就是:云计算是一种计算模型,它提供了一种通过互联网远程使用共享计算资源的方式。这些计算资源包括计算机处理能力、存储空间、数据库和软件等。这样,用户就可以在需要时随时随地获取这些资源,而不用自己拥有和维护这些硬件和软件。简单来说,云计算就是在互联网上用别人的电脑来运行自己的程序。

云计算模式

20240710220624

云计算模式是指云计算服务的不同的类型, 常见的云计算模式有三种:

  1. IaaS (Infrastructure-as-a-Service) : 通过提供基础设施来提供相关服务, 这种模式提供了基础设施层的服务,如虚拟机、存储、网络等,用户可以根据需要自己搭建和管理系统。

    相当于卖设备的, 用户根据自身需要运维系统

  2. PaaS (Platform-as-a-Service) : 平台即服务。这种模式提供了平台层的服务,如数据库、编程框架等,用户可以在这个平台上开发和部署自己的应用程序。

    相当于卖设备, 但是设备上自带了一些软件, 可以开箱就用

  3. SaaS (Software-as-a-Service) : 软件即服务。这种模式提供了应用层的服务,如电子邮件、协作工具等,用户可以直接使用这些软件。优点是减少安装、减少的繁琐升级操作、统一管理。

云计算分类

  • 公有云 : 由云服务商提供的云服务, 常见的公有云服务包括亚马逊云、谷歌云、微软云等。公有云通常提供自动化、弹性和可伸缩性,适用于应用程序和数据的开发和部署。
  • 私有云 : 由单个组织拥有和管理的云服务, 只能由该组织的员工使用。私有云常用于保护敏感数据和满足特殊需求。私有云提供了更高的安全性和控制性,适用于数据中心的迁移和现有应用程序的升级。
  • 混合云:混合云是私有云和公有云的结合。它允许组织在公有云和私有云之间进行数据和应用程序的流动。混合云可以提供最佳的安全性和灵活性,适用于多种业务场景。
一个小示例
  • 张三自己在家做饭吃,这是私有云,厨房就是自建机房。
  • 李四天天在饭店吃,这是公有云,饭店就是云数据中心。
  • 然后王五比较牛叉,在饭店有个固定包间,不对外开放,这是托管型私有云(有的厂商将其定义为专有云)。包间就好比云数据中心的托管服务器。
  • 某一天张三家来了十来个客人,这是业务突增,家里没法坐下那么多人,要去饭店,这是私有云转公有云。
  • 然后张三爸妈为了省点钱决定留在家里吃,张三带着客人去饭店吃,这就是混合云。
  • 还有一种情况,饭店仅对某个特定的人群比如说公务员开放,那就相当于社区云。

当然,举例不十分恰当,毕竟饭还是买的,而云是租的,这个例子就是帮助大家简单区分一下。

在前面了解到了云计算的基本情况以及分类, 在实际应用中, 建立云环境会使用到虚拟化和容器化的技术, 下面进行简单的介绍:

  • 首先是虚拟化, 对于云计算的核心在于最大化利用计算资源, 通过虚拟化技术将一台物理机转化为多台虚拟服务器。虚拟化技术不可或缺的就是虚拟化软件, 常见的虚拟化软件有 Vmware 和 KVM, KVM是一个开源的解决方案,目前在公有云场景中较为常见,并且代表着整个行业的最高水平。
  • 其次是容器化, 这是在近几年非常热门的技术, 代表了兼容性和弹性能力。容器非常轻量级,主要依靠Linux内核的隔离能力。目前有影响力和流行的两个容器产品是Docker和K8S,K8S常常被称为云原生的代名词。

云安全

云安全是指基于云计算商业模式应用的安全软件、硬件、用户、机构、安全云平台的总称。"云安全" 是 "云计算" 的重要组成部分,在反病毒领域有广泛应用。它通过监测网络中软件行为的异常,获取最新的木马和恶意程序信息,并将其自动分析和处理,再将解决方案分发到每一个客户端。这样整个互联网就成为了一个超级大的杀毒软件,这就是云安全的目标。

云安全和传统安全的区别

  1. 虚拟化带来的挑战, 在云计算中引入了虚拟化技术, 将物理资源池化,按需分配给用户,这里涉及到计算虚拟化、网络虚拟化、存储虚拟化。造成了网络边界不可见。
  2. 云服务商为用户提供虚拟化实体,对用户而言,以租用的形式使用的虚拟主机、网络和存储,传统的网络边界不可见。
  3. 在云计算中,传统的安全问题仍然存在,诸如拒绝服务攻击、中间人攻击、网络嗅探、端口扫描、SQL 注入和跨站脚本攻击等。

渗透和云渗透有什么区别?

云渗透和传统渗透技术没有本质区别,只是应用场景不同。依然存在常见漏洞如SQL注入、弱口令、文件上传、网站备份泄露等。随着新技术的出现,会有新的安全风险,如AccessKey泄露的利用、OSS配置不当、容器化、K8s带来新的攻防技术。

公有云攻击面介绍

20240710223418

对于公有云的攻击可以分为两类:

  • 针对租户的攻击: 云上的各项目标, 依然存在常见的 Web 漏洞: SQL注入、弱口令、文件上传、SSRF。除此之外还引入了针对于云的攻击方式: AccessKey泄露接管服务器、存储桶配置不当、传统漏洞结合云特性获取实例元数据。
  • 针对云平台的攻击:以下是大致思路,实际是围绕着整个云平台的架构攻击。
    1. 云产品进行文件处理属性时触发的漏洞: 机器学习系统支持自定义函数、大数据计算引擎支持UDF、沙箱绕过等
    2. 攻击中间件服务: 消息队列、分布式服务框架、监控或发布服务
    3. 数据库产品配置: Python/Java/NodeJS沙箱绕过、MySQL/MSSQL/PostGreSQL等
    4. 开源产品已知问题: Redis、Mongodb、Hadoop
    5. 虚拟化逃逸: KVM-QEMU逃逸、容器等逃逸
tip

针对公有云的攻击还需要了解云相关产品、了解相关产品操作、了解架构文档、了解产品功能和架构模块。

私有云攻击面介绍

20240710224237

私有云的架构和公有云差不多,除了公有云的一些攻击点,更应该关注的是:

  1. 私有云缺乏有效隔离,可横向攻击, 私有云部署在企业的业务生产网,云的底座网络、物理设备与业务网络在同一安全域,大多时候缺乏有效隔离
  2. 使用的开源组件列表漏洞, 私有云的云产品属于定制开发,使用大量三方组件,且存在大量应用层的漏洞
  3. 虚拟化逃逸取得宿主机控制权, 通过获取应用服务器权限
  4. 常规应用漏洞(Shiro、Fastjson等...)

虚拟化攻击面

私有云与虚拟化有密切的关系,因为私有云是建立在虚拟化技术的基础上的。虚拟化技术可以将一台物理机器的资源,如CPU、内存、存储等,通过软件层面划分成多个虚拟机,使得这些虚拟机可以独立运行不同的操作系统和应用程序。

攻击 Vmware 虚拟机

20240710225043

虚拟化最直接利用的是漏洞例如:CVE-2021-21972、CVE-2021-21985、CVE-2021-22005。Vsphere、Esxi、vCenter弱密码,没有漏洞只能通过钓鱼,获取域控,信息收集获取虚拟化平台权限。

攻击OpenStack

OpenStack是一个开源的云计算软件平台,支持虚拟化。OpenStack与虚拟化技术紧密结合,使用KVM作为其默认的虚拟化技术,也可以使用其他的虚拟化技术,如Xen、LXC等。

20240710225108

  1. 网络暴露:管理控制台,弱口令、高危漏洞
  2. 网络暴露:API 接口,未授权访问、越权、高危漏洞
  3. 网络暴露:三方组件引入的接口
  4. 网络暴露:容器服务
  5. 网络暴露:运营/运维服务
  6. OpenStack 部署在企业的业务生产网,云的底座网络、物理设备与业务网络在同一安全域,物理设备的监控和管理可横向攻击

云原生攻击面介绍

云原生技术是一种基于微服务和容器技术的架构,它将应用程序和基础设施整合到一个云环境中。但是,云原生技术也存在一些攻击面。下面是一些常见的云原生攻击面:

20240710231328

  1. Pod开放到互联网
  2. Pod对其它Pod或服务开放
  3. 从Pod向Node逃逸
  4. 从Pod攻击Master Node组件
  5. 从Pod攻击API Server
  6. 从API Server攻击其它Pods/Nodes
  7. 从K8s集群攻击云内的其它服务