云原生安全2.X 进化论系列|揭秘云原生安全2.X的五大特征

news2024/11/28 10:38:58

随着云计算技术的蓬勃发展,传统上云实践中的应用升级缓慢、架构臃肿、无法快速迭代等“痛点”日益明显。能够有效解决这些“痛点”的云原生技术正蓬勃发展,成为赋能业务创新的重要推动力,并已经应用到企业核心业务。然而,云原生技术在创造效益的同时,却也面临着严峻的安全问题。当下常见的云原生安全产品在发挥效能的同时也引入新问题。作为数字经济时代下的特殊产物,云原生安全解决方案的未来与演进又该何去何从?

安全狗推出云原生安全2.X专题,用翔实的系列文章为读者揭晓云原生安全的演进之路以及未来趋势。

在前一篇文章中,笔者提到了诸多云原生安全1.0、云原生安全1.X等由于其自身框架性问题而存在的无法解决的弊端与限制。云原生安全2.X,即,“一体化”全栈云原生安全模型方案具有5大特征,分别为软件资产管理和安全一体化、编排环境适配一体化、工作负载安全一体化、网络层安全一体化、应用安全一体化。

一、软件资产管理和安全一体化

当前云原生安全1.X方案通过采用组合多个特定安全工具来应对相应的安全问题的同时,也带来诸多问题:

  • 当使用工具越多时,需要配备的团队人员和使用培训等成本就越高

  • 软件供应链不可见,软件包间接依赖漏洞风险传递不可评估

  • 大杂烩的工具难以呈现在整个应用程序生命周期中的安全上下文

  • 不可变静态资产(镜像等)在不同生命周期阶段重复采集、重复安全检测

  • 资产安全管理停留在简单的搜索、统计阶段,缺乏多来源、多渠道资产数据深度融合和画像分析上

  • 缺乏提供预防优先的能力,IaC代码在构建阶段风险不可见,应用漏洞太多且修复率低下,大量带病镜像在运行时环境中进行

  • ... ....

基于对上述问题的分析,安全狗在云原生安全2.X方案中提出并细化了软件资产管理和安全一体化的目标:覆盖宿主机、镜像、容器、IaC的精细化静态、动态资产采集和安全检测,支撑“底数清、信息全、状态明、响应快”的软件资产及软件供应链安全管理需求,源头早期预防和深度分析的一体化需求。

软件资产管理和安全一体化该如何实现呢?如下图所示:

图1

针对实现路径的建议如下:

  • 首先采集范围要扩展,代码即基础设施中代码和软件供应链这样的新资产形态要扩展支持,达到底数清的目标

  • 然后是静态资产和动态资产一体化采集,达到信息全的目标

  • 三是资产的安全检测一体化,达到状态明的目标,特别是针对不可变资产在应用构建、部署和运行时的不同生命周期阶段采集和检测一次

  • 最后是基于多来源多渠道数据融合后的深度画像管理分析,支撑响应快的目标。

从实战场景的角度看,一体化目标需要达到的效果包括这五个方面:

覆盖从代码到云的细粒度精准资产一体化采集和安全检测

补全安全分析所需要素数据

解决无法支持0~1Day排查

软件供应链完整视图和风险评估

预防优先,结合漏洞情报提升漏洞修复率

二、编排环境适配一体化

在展开介绍编排环境适配一体化之前,我们需要先思考“为什么需要环境安全一体化”这个问题。

图2

如上图所示,云原生支撑环境涉及面广,环节多。因此,云原生安全1.X的方案在实际运行过程中也存在了系列问题:

  • 一是兼容性问题造成更多部署、运维负担;

  • 二是环境的配置安全往往由特定的安全产品分散割裂管理,比如使用CSPM产品解决不同供应商云平台配置安全问题;

  • 三是在国内“异构多芯、混合调度”场景往往需要同时独立部署通用版和信创版两个版本,整体安全管理被割裂。

因此,为了减轻用户安装、运维云原生安全产品的工作负担,在安全狗云原生安全2.X方案中提出了环境安全一体化的目标。针对国内关基类云原生架构“异构多芯 混合调度”的特性,可提供环境安全自适应一体化的功能,支撑统一的安全策略管理、实施、分析和无缝隙完整覆盖。

如下图所示,环境安全一体化对象清单包括CPU架构、操作系统、编排平台、容器运行时、网络CNI插件、镜像仓库、到CI/CD工具链。

图3

三、工作负载安全一体化

在运行时工作负载安全方面云原生安全1.X方案也存在一些问题,如下图所示。总体来说,主要体现在两个方面:一是主机安全、容器安全这样单品堆叠部署所带来的问题;二是安全能力孤立、分散在主机侧和容器侧,在应对容器逃逸、内核漏洞利用等高级威胁时力不从心。

图4

底层技术原理来看,如下图所示,容器和宿主机是共用内核的轻量级隔离。一方面攻击者更容易逃逸以及进行横移攻击等,另外一方面,主机工侧和容器侧安全更适合构建一体化、协同化的威胁监测、防护和响应技术体系。

图5

因此,云原生安全2.X工作负载安全一体化的目标是:构建基于“容器侧、主机侧”的“全栈式”“一体化”多维度云原生高级威胁检测技术体系,具有联合发现、协同抵抗的体系化作战的效果。

通过工作负载安全一体化实现多维度云原生高级威胁检测技术合理布局设计,包括:主机侧和容器侧检测一体化,静态检测和动态检测一体化,特征检测、AI检测和进程行为模型检测一体化这样既能提升容器逃逸等高级威胁的整体防护效能,又能降低安全组件资源的占用。

四、网络层安全一体化

当前云原生安全1.X方案的网络层安全在四个方面存在很大的局限性

1

网络平面分层防护影响性能

  • 宿主机侧和容器侧独立防护,缺乏协同

  • 同一Packet重复检查,高峰时刻对业务稳定性和吞吐影响大

2

访问控制底层技术达不到企业级技术要求

  • 传统网络安全方案和工具的简单移植,包括OVN的ACL,或Iptables等集成

  • 缺乏利用eBPF构建同时兼顾主机和容器侧L3-L7层的新方案

3

网络模式支持单模

  • 往往只支持Overlay,或Underlay一种

  • 对于不支持Kubernetes NetworkPolicy的VPC子网方案、或SR-IOV方案兼容性差

这3个方面的技术局限性综合在一起,导致第4点在应用场景方面的局限。虽然1.X方案可以满足一般场景需求,但无法满足“高度合规监管,技术安全性、稳定性、网络延迟和资源消耗要求严格”高级场景需求。换句话说,类似银行核心业务系统云原生化升级,对多模网络场景下网络访问控制的严苛技术要求是达不到的。

4

应用场景存在较大局限性

  • 只满足普通业务场景需求,在性能、稳定性等方面无法达到企业级技术要求

  • 无法满足银行、电力等核心业务系统云原生化需求

底层技术角度看1.X的网络安全方案,如下图所示,使用传统的 kube-proxy 处理 Kubernetes Service, 从网卡收到一个包开始,包在内核中的转发路径特别长,图中所有橙色的框都是 Netfilter 处理点,也就是利用传统iptables工具实现访问控制的作用点,而Netfilter 大流量情况下性能很差。

图6

因此,我们在2.X中提出了网络层安全一体化的目标,采用基于零信任模型和eBPF技术设计开发高性能云原生防火墙实现主机、容器层网络安全一体化。

从技术上要如何实现

首先利用eBPF技术解决性能问题,技术原理如图所示,利用eBPF技术要过传统的内核网络栈,缩短包转发路径。前提条件是用户的Linux内核升级到更现代化的一点的版本,建议4.19以上。

图7

然后利用eBPF解决网络安全问题。我们选择入站流量安全控制来举例,技术原理如下图所示。首先对入站流量的劫持,主要使用 eBPF 程序 hook bind 系统调用完成。和 iptables 不同,iptables 可以针对每个 netns 单独设置规则,eBPF 程序 attach 到指定 hook 点后,会对整个系统都生效。换句话说,采用eBPF技术的云原生防火墙就是能支持宿主机和容器底层网络访问控制的一体化

 图8

然后基于零信任模型实现L3-L7层访问控制策略,以及与服务网格的协同联动等安全管理需求:

  • 基于身份的(identity-based)L3-L7 网络安全

  • API-aware 安全(HTTP、gRPC 等)

  • mTLS透明加/解密

  • 利用sockmap/redirection 做 socket 重定向,实现与服务网格协同

  • ... ...

五、应用安全一体化

如下图所示,云原生安全1.X的应用安全安全所存在的不足归纳起来主要有三个方面的原因:

01

当前主流的技术路线为内联 Web 应用防火墙 (WAF) 和单点 API 安全工具来帮助用户阻断web安全威胁;以sidecar模式部署。最大的问题是安全组件自身占用资源过大,且和业务应用绑定在同一个Pod中,在业务高峰时刻,这种技术路线方案需要安全团队有时要牺牲应用程序性能来增加保护,这给安全团队带来了挑战,往往导致安全团队最终关闭安全工具以保持应用程序正常运行。

02

大型攻防演练过程中,0day漏洞频发,而官方补丁迟迟到来,或者需要重启业务,或者老旧应用无法提供补丁,因此,安全团队需要一套基于能解决虚拟补丁的漏洞防御技术平台。

03

头痛医头脚痛医脚的孤立防护的局限性。

图9

因此,云原生安全2.X提出应用安全一体化的目标,我们归纳为构建器“里应外合”的无缝衔接方案,可以灵活地保护关键应用程序,而不至于在性能和稳定性方面做出过大的牺牲。

里应外合一体化方案如何实现呢?技术原理如下图所示:

 图10

  • 带外WAF:在不影响应用程序性能的情况下从L7层监控防护 Web 应用程序和 API,并与工作在L3-L4层网络微隔离等安全设施联合防御,降低性能开销。这对于那些对业务至关重要或对延迟敏感的 Web 应用程序或 API 非常有用。

  • 微服务网关:对于传统单体应用,推荐使用集中的微服务安全网关。

  • 内联RASP:应对频发的0Day、nDay漏洞开发一套基于虚拟补丁的漏洞防御技术平台

  • 全栈安全协同,联防联抗。

本文主要分析了安全狗所提出的云原生安全2.X的五大特征以及每个特征对应的目标等等。在下篇文章笔者将重点介绍安全狗云原生安全产品云甲是如何落地云原生安全2.X概念,以及云原生安全2.X的未来拓展方向是什么,敬请期待~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/331485.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mysql 数据类型

1、数值数据类型 1.1 整数类型(精确值) INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT MySQL支持SQL标准的整数类型INTEGER (或INT)和SMALLINT。作为标准的扩展,MySQL还支持整数类型TINYINT、MEDIUMINT和BIGINT。下表显示了每种整数类型所需的存储和范围。…

13.计算机视觉

13.计算机视觉 目录 图像增广 常用的图像增广方法 翻转和裁剪改变颜色结合多种图像增广方法 使用图像增广进行训练 多GPU训练 总结 微调 步骤 热狗识别获取数据集定义和初始化模型微调模型 总结 目标检测和边界框 边界框总结 目标检测数据集 下载数据集读取数据集演示总结 锚…

【3】深度学习之Pytorch——如何使用张量处理表格数据集(葡萄酒数据集)

张量是PyTorch中数据的基础。神经网络将张量输入并产生张量作为输出,实际上,神经网络内部和优化期间的所有操作都是张量之间的操作,而神经网络中的所有参数(例如权重和偏差)也都是张量。 怎样获取一条数据、一段视频或…

Java面试知识点

工作也有好些年了,从刚毕业到前几年看过无数的面试题,总想着自己写一个面试总结,随着自我认识的变化,一些知识点的理解也越来越不一样了。写下来温故而知新。很多问题可能别人也总结过,但是答案不尽相同,如…

纯css实现loading加载中(多种展现形式)

前言 现如今网页越来越趋近于动画,相信大家平时浏览网页或多或少都能看到一些动画效果,今天我们来做一个有意思的动画效果,纯 css 实现 loading 加载中(多种展现形式),下面一起看看吧。 1. 常规 loading 实…

Linux系统之cuda 11情况下如何配置pytorch 10.2

由于目前pytorch1.8.2只能支持到10.2的版本,但ubuntu最新的系统驱动直接支持了cuda 11.4, 并且cuda tooklit支持的默认下载也是11.0。1、确认NVIDIA驱动安装lspci|grep NVIDIA1. 需要先降低cuda tooklit的版本(卸载新版本)cuda-uninstaller in /usr/loca…

统一附件存储MINIO部署使用

一、基于docker环境部署 1、创建docker-compose配置文件 1)创建 docker-compose-minio.yml文件,内容如下: version: 3.7# Settings and configurations that are common for all containers x-minio-common: &minio-commonimage: quay…

结构体+枚举+联合体

目录 一、结构体的声明 (一)结构的基础知识 (二)结构的声明 (三)特殊的声明 (四)结构的自引用 1. 一个结构体内部包含一个类型为该结构本身的成员(不合法&…

Day19 C++STL入门基础知识十一——map、multimap容器 构造赋值、大小交换、插入删除、查找统计、排序【全面深度剖析+例题代码展示】

💃🏼 本人简介:男 👶🏼 年龄:18 ✍每日一句:【道固远,笃行可至;事虽巨,坚为必成】 文章目录1. 基本概念2. 构造赋值① 函数原型② 代码展示③ 测试结果3. 大小…

基于tensorflow的垃圾分类系统

项目描述 该项目基于PySide2和PyQt5设计界面UI,搭配QT Designer进行界面设计。 基于TensorFlow中的Keras模型,进行垃圾分类模型的训练。 项目包含功能有:使用者注册登录功能、管理员训练模型、用户使用模型进行分类。 功能介绍 一、注册登…

JVM调优

JVM调优-VisualVmVisualVm/ Jconsule远程连接第一种方式第二种方式:java 11开启远程GC连接如果还连不上考虑防火墙拦截了端口firewall-cmd --list-all,查看一下并暴露对应端口连接配置VisualVm界面简介采集GC信息的一些命令垃圾回收器切换VisualVm/ Jconsule远程连接…

unity 框选目标

先制作选框: 创建一个Image,给Sourece Image随便添加一张方形图片,如果添加圆的出来就是圆,这个看情况而定,然后勾掉Fill Center这样就镂空了 这种框选一般都是作为组件存在所以代码要做成单例类,默认情况…

【Mysql第十期 数据类型】

文章目录1. MySQL中的数据类型2.类型介绍2.2 可选属性2.2.2 UNSIGNED2.2.3 ZEROFILL2.3 适用场景2.4 如何选择?3. 浮点类型3.2 数据精度说明3.3 精度误差说明4. 定点数类型4.1 类型介绍4.2 开发中经验5. 位类型:BIT6. 日期与时间类型6.1 YEAR类型6.2 DAT…

程序的编译与链接(C语言为例) #代码写好后到运行期间要经过怎样的过程呢?# 粗略版 #

编译与链接前言程序的环境程序的编译与链接写在最后前言 每当我们运行一段代码时,编译器都会自动的帮我们编译代码并将代码转换为一个二进制可执行文件(.exe), 有了这个可执行文件,便可以执行我们写的程序了。那么编译…

Linux-Ubuntu18.04安装anaconda及python解释器环境的配置

1.anaconda的下载anaconda官网搜索链接,点击下载注意:anaconda的下载位置2.anaconda的安装利用如下命令进行安装:$ bash /home/xiaowang/下载/Anaconda3-2022.10-Linux-x86_64.sh一直点击回车enter,阅读文件内容文件阅读完毕&…

canal五部曲-如何保证消息的顺序

分析CanalRocketMQProducer.send canal发送消息到RocketMQ使用到了partitionNum、partitionHash 通过partitionHash可以把消息发送到RocketMQ的不同分区上,因为同一个分区在消费时有序的 public void send(final MQDestination destination, String topicName, com.…

2020年因果推断综述《A Survey on Causal Inference》

最近阅读了TKDD2020年的《A Survey on Causal Inference》,传送门,自己对文章按照顺序做了整理,同时对优秀的内容进行融合,如有不当之处,请多多指教。 文章对因果推理方法进行了全面的回顾,根据传统因果框…

威胁情报是什么

文章目录前言一、威胁情报是什么?数据与情报IOC二、威胁情报的分类1.战略情报2.技术情报3.战术情报4.运营情报三、总结四、参考前言 只要有斗争冲突,就有那些研究、分析和努力去了解对手的人。一场战争的输赢,取决于你对对手的了解&#xff0…

springboot启动过程源码

概述版本<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.3.RELEASE</version><relativePath/></parent>启动入口代码package com.ybjdw.tool;i…

如何解决混合精度训练大模型的局限性问题

混合精度已经成为训练大型深度学习模型的必要条件&#xff0c;但也带来了许多挑战。将模型参数和梯度转换为较低精度数据类型&#xff08;如FP16&#xff09;可以加快训练速度&#xff0c;但也会带来数值稳定性的问题。使用进行FP16 训练梯度更容易溢出或不足&#xff0c;导致优…