云原生安全2.X 进化论系列|揭秘云原生安全2.X的五大特征
随着云计算技术的蓬勃发展,传统上云实践中的应用升级缓慢、架构臃肿、无法快速迭代等“痛点”日益明显。能够有效解决这些“痛点”的云原生技术正蓬勃发展,成为赋能业务创新的重要推动力,并已经应用到企业核心业务。然而,云原生技术在创造效益的同时,却也面临着严峻的安全问题。当下常见的云原生安全产品在发挥效能的同时也引入新问题。作为数字经济时代下的特殊产物,云原生安全解决方案的未来与演进又该何去何从?
安全狗推出云原生安全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的未来拓展方向是什么,敬请期待~
相关文章:
云原生安全2.X 进化论系列|揭秘云原生安全2.X的五大特征
随着云计算技术的蓬勃发展,传统上云实践中的应用升级缓慢、架构臃肿、无法快速迭代等“痛点”日益明显。能够有效解决这些“痛点”的云原生技术正蓬勃发展,成为赋能业务创新的重要推动力,并已经应用到企业核心业务。然而,云原生技…...
json文件在faster_rcnn中从测试到训练 可行性
1.确认任务 经过mydataset文件处理后 - > 在train_res50_fpn文件内应用 # load train data set # VOCdevkit -> VOC2012 -> ImageSets -> Main -> train.txt train_dataset VOCDataSet(VOC_root, "2012", data_transform["train"], &…...
golang 1.20正式发布,更好更易更强
预期中的Go 2不会有了,1.20也算是一个小gap,从中可以一窥Go未来的发展之路。对于Go来说,未来保持1.x持续演进和兼容性之外,重点就是让Go性能更优,同时保持大道至简原则,使用尽可能容易,从这两个…...
图片显示一半怎么回事?
不知道小伙伴是否遇到过,刚刚上传的一个文件夹,有一多半的图片突然就变成了无法显示该图片或者是图片显示一半,而另外一半就显示灰色蓝色粉色条状。而且还把原文件删除了。面对这种情况,有什么解决方法呢?下面让我们一起来来看看…...
102-并发编程详解(中篇)
这里续写上一章博客 Phaser新特性 : 特性1:动态调整线程个数 CyclicBarrier 所要同步的线程个数是在构造方法中指定的,之后不能更改,而 Phaser 可以在运行期间动态地 调整要同步的线程个数,Phaser 提供了下面这些方…...
jsp羽毛球场馆管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
一、源码特点 jsp 羽毛球场馆管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql,…...
CacheLib 原理说明
CacheLib 介绍 CacheLib 是 facebook 开源的一个用于访问和管理缓存数据的 C 库。它是一个线程安全的 API,使开发人员能够构建和自定义可扩展的并发缓存。 主要功能: 实现了针对 DRAM 和 NVM 的混合缓存,可以将从 DRAM 驱逐的缓存数据持久…...
【dapr】服务调用(Service Invokation) - app id的解析
逻辑图解 上图来自Dapr官网教程,其中Checkout是一个服务,负责生成订单号, Order Processor是另一个服务,负责处理订单。Checkout服务需要调用Order Processor的API, 让Order Processor获取到其生成的订单号并进行处理。…...
Odoo丨5步轻松实现在Odoo中打开企微会话框
Odoo丨5步轻松实现在Odoo中打开企微会话框 在Odoo中开启企微会话框 企业微信作为一个很好的企业级应用发布平台,尤其是提供的数据和接口,极大地为很多企业级应用提供便利,在日常中应用广泛! 最近在项目中就遇到一个与企业微信相…...
python读取.stl文件
目录 .1 文本方式读取 1.2 stl解析 1.3 stl创建 .2 把点转换为.stl .1 文本方式读取 代码如下 stl_path/home/pxing/codes/point_improve/data/003_cracker_box/0.stlpoints[] f open(stl_path) lines f.readlines() prefixvertex num3 for line in lines:#print (l…...
vue2.0项目第一部分
论坛项目后端管理系统服务器地址:http://172.16.11.18:9090swagger地址:http://172.16.11.18:9090/doc.html前端h5地址:http://172.16.11.18:9099/h5/#/前端管理系统地址:http://172.16.11.18:9099/admin/#/搭建项目vue create . …...
锁与原子操作
锁与原子操作 锁 以自增操作为例子: void *func(void *arg) {int *pcount (int *)arg;int i 0;//while (i < 100000) {(*pcount) ; // 并不会到达100000usleep(1);} }int main(){int i 0;for (i 0;i < THREAD_COUNT;i ) {pthread_create(&thid…...
Prometheus Pushgetway讲解与实战操作
目录 一、概述 1、Pushgateway优点: 2、Pushgateway缺点: 二、Pushgateway 架构 三、实战操作演示...
常见字符串函数的使用,你确定不进来看看吗?
👦个人主页:Weraphael ✍🏻作者简介:目前是C语言学习者 ✈️专栏:C语言航路 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&a…...
Elasticsearch:在搜索中使用衰减函数(Gauss)
在我之前的文章 “Elasticsearch:使用 function_score 及 script_score 定制搜索结果的分数” 我有讲到 Decay 函数在搜索中的使用。在那里,我有一个例子讲述在规定的时间里,分数不进行衰减。同一的函数也可以适用于地理位置的搜索。位置搜索…...
微信小程序 Springboot英语在线学习助手系统 uniapp
四六级助手系统用户端是基于微信小程序端,管理员端是基于web端,本系统是基于java编程语言,mysql数据库,idea开发工具, 系统分为用户和管理员两个角色,其中用户可以注册登陆小程序,查看英语四六级…...
LeetCode算法题解——双指针2
LeetCode算法题解——双指针2第五题思路代码第六题思路代码第七题思路代码这里介绍双指针在数组中的第二类题型:两端夹击。 第五题 977. 有序数组的平方 题目描述: 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的…...
线性杂双功能peg化试剂——HS-PEG-COOH,Thiol-PEG-Acid
英文名称:HS-PEG-COOH,Thiol-PEG-Acid 中文名称:巯基-聚乙二醇-羧基 HS-PEG-COOH是一种含有硫醇和羧酸的线性杂双功能聚乙二醇化试剂。它是一种有用的带有PEG间隔基的交联或生物结合试剂。巯基或SH、巯基或巯基选择性地与马来酰亚胺、OPSS、…...
Linux第三讲
目录 三、 磁盘和文件管理和使用检测和维护 3.1 磁盘目录 3.2 安装软件 3.2.1 rpm命令 3.2.2 克隆虚拟机 3.2.3 yum或压缩包方式安装jdk 3.2.4 使用虚拟机运行SpringBoot项目 3.2.5 安装mysql80(57) 3.2.6 运行web项目 3.2.7 安装tomcat 三、 …...
SpringBoot07:SpringSecurity
Security是什么? 是一个安全框架。可以用来做认证和授权 官网:Spring Security SpringSecurity环境搭建 1、创建一个新的project 2、导入thymeleaf依赖 <dependency><groupId>org.thymeleaf</groupId><artifactId>thymeleaf…...
C++ 浅谈之 STL Vector
C 浅谈之 STL Vector HELLO,各位博友好,我是阿呆 🙈🙈🙈 这里是 C 浅谈系列,收录在专栏 C 语言中 😜😜😜 本系列阿呆将记录一些 C 语言重要的语法特性 🏃&…...
【个人作品】非侵入式智能开关
一、产品简介 一款可以通过网络实现语音、APP、小程序控制,实现模拟手动操作各种开关的非侵入式智能开关作品。 非侵入式,指的是不需要对现有的电路和开关做任何改动,只需要将此设备使用魔术无痕胶带固定在旁边即可。 以下为 ABS 材质的渲…...
数据存储技术复习(三)未完
module4智能存储系统是功能丰富且可提供高度优化的I/o处理能力的RAID阵列。请绘制智能存储系统架构,并说明其各个关键组件的主要功能。前端缓存后端物理磁盘2.智能存储系统中,使用缓存进行的写入操作与直接写入到磁盘相比,可以带来…...
ThinkPHP数据库迁移工具
安装 composer require topthink/think-migration 创建迁移工具文件 //执行命令,创建一个操作文件,一定要用大驼峰写法,如下 php think migrate:create AnyClassNameYouWant //执行完成后,会在项目根目录多一个database目录,这里面存放类库操作文件 //文件名类似/database/m…...
代理模式(Proxy Pattern)
代理模式定义: 提供了对目标对象另外的访问方式;即通过代理对象访问目标对象。举个例子:猪八戒去找高翠兰结果是孙悟空变的,可以这样理解:把高翠兰的外貌抽象出来,高翠兰和孙悟空都实现了这个接口ÿ…...
Elasticesearch内存详解
1.ES基本概念 为了更好的理解内存,我们先看一下ES的基本概念。 1.1 cluster 集群 多个节点组合在一起就形成了一个集群,在每个ES节点中,我们可以通过配置集群的名称来使各个节点组合在一起,成为一个集群。当某些节点的集群名称一样,ES会自动根据配置文件中的地址找到这些…...
SpringCloud之断路器聚合监控
一、Hystrix Turbine简介 看单个的Hystrix Dashboard的数据并没有什么多大的价值,要想看这个系统的Hystrix Dashboard数据就需要用到Hystrix Turbine。Hystrix Turbine将每个服务Hystrix Dashboard数据进行了整合。Hystrix Turbine的使用非常简单,只需要…...
凭借这份《2022测试八股文》候选者逆袭面试官,offer拿到手软
《2023测试面试八股文》800 道软件测试面试真题,高清打印版打包带走,横扫软件测试面试高频问题,涵盖测试理论、Linux、MySQL、Web 测试、接口测试、App 测试、Python、Selenium、性能测试、LordRunner、计算机网络、数据结构与算法、逻辑思维…...
【i2c协议介绍】
文章目录协议简单介绍五种速度模式master/slave和transmitter/receiver关系第一种情况:master作为transmitter,slave作为receiver第二种情况:当master作为receiver,slave作为transmitteri2c基本信号start产生stop信号数据传输有效…...
167. 两数之和 II - 输入有序数组
给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1 < index1 < index2 < numbers…...
山东滨州网站建设公司/大连网络营销seo
本文实例讲述了PHP yield关键字功能与用法。分享给大家供大家参考,具体如下:yield 关键字是php5.5版本推出的一个特性。生成器函数的核心是yield关键字。它最简单的调用形式看起来像一个return申明,不同之处在于普通return会返回值并终止函数…...
网站建设总结/域名是什么
在今年二月,有幸在指导老师的指导和两位十分厉害的队友的通力合作下通过E题拿了一个H奖,属实十分荣幸。 我在队伍里是专门负责论文写作的,因此在参赛前需要找到最顺手的武器,在此我也将我再比赛中使用的工具分享给大家。 在比赛前…...
免费学做淘宝的网站/网络平台运营是做什么的
java中public与private还有protect的区别 总是忘记。...
网站建设有哪些软件/网络营销的四个特点
CUDA基本使用方法 在介绍OpenCV中GPU模块使用之前,先回顾下CUDA的一般使用方法,其基本步骤如下: 1.主机代码执行;2.传输数据到GPU;3.确定grid,block大小; 4.调用内核函数,GPU运行程序…...
wordpress本地使用/网络营销策略实施的步骤
1、util.c代码如下:#includevoid display(char* msg){printf("%s\n",msg);}int add(int a,int b){return ab;}2、编译c代码,最后生成Python可执行的.so文件(1)gcc -c util.c,将生成一个util.o文件(2)gcc -shared util.c -o util.so…...
骏驰网站建设/济南网站制作
2020/04/21 每日十句英语口语 He was stunned by the news of her death. 听到她的死讯,他很震惊。I was struck dumb with fear. 我吓得说不出话来。He was paralyzed with terror. 他吓呆了。My jaw dropped when I see how much the meal have cost. 看到那顿饭…...