2023云原生安全值得关注的3个方向

news2024/12/23 8:35:21

如果说过去几年教会了我们什么的话,那就是云原生和开源环境中安全的重要性。 Log4j 等漏洞产生的重大影响,在无数的行业中浮现,对于云原生环境中的其他安全问题也越来越受到重视。

组织不再质疑是否要迁移到云端,而是在寻找最快、最有效的方法。 在这些过渡和升级中,安全性常常被忽视。 正因为如此,加上开源软件在各地的兴起,我们很可能会在 2023 年看到更多云原生安全问题,这只是时间问题。

eBPF

eBPF 允许组织编写自定义代码以在内核中运行。 通过使 Linux 内核可编程,eBPF 在网络、可观察性和安全性等领域引入了新一代云原生工具。

eBPF 可由执行字节码指令、存储对象和 Helper 帮助函数组成,字节码指令在内核执行前必须通过 BPF 验证器 Verfier 的验证,同时在启用 BPF JIT 模式的内核中,会直接将字节码指令转成内核可执行的本地指令运行。

同时,eBPF 也逐渐在观测(跟踪、性能调优等)、安全和网络等领域发挥重要的角色。Facebook、NetFlix 、CloudFlare 等知名互联网公司内部广泛采用基于 eBPF 技术的各种程序用于性能分析、排查问题、负载均衡、防范 DDoS 攻击,据相关信息显示在 Facebook 的机器上内置一系列 eBPF 的相关工具。

相对于系统的性能分析和观测,eBPF 技术在网络技术中的表现,更是让人眼前一亮,BPF 技术与 XDP(eXpress Data Path) 和 TC(Traffic Control) 组合可以实现功能更加强大的网络功能,更可为 SDN 软件定义网络提供基础支撑。XDP 只作用与网络包的 Ingress 层面,BPF 钩子位于网络驱动中尽可能早的位置,无需进行原始包的复制就可以实现最佳的数据包处理性能,挂载的 BPF 程序是运行过滤的理想选择,可用于丢弃恶意或非预期的流量、进行 DDOS 攻击保护等场景;而 TC Ingress 比 XDP 技术处于更高层次的位置,BPF 程序在 L3 层之前运行,可以访问到与数据包相关的大部分元数据,是本地节点处理的理想的地方,可以用于流量监控或者 L3/L4 的端点策略控制,同时配合 TC egress 则可实现对于容器环境下更高维度和级别的网络结构。

7ce5be45d5f001d1672c9bf489b4c103.jpeg

许多 CNCF 项目,包括 Cillium、Falco 和 Pixie,旨在将 eBPF 的优势引入云原生,而其他项目,如 Istio,正在重新设计以包含 eBPF 工具。 eBPF 可以通过多种方式提高云原生安全性。 例如,Cillium 可以帮助提供对容器工作负载的更多可见性,而 Falco 提供了一个行为活动监视器,旨在检测容器运行时中的异常活动。

eBPF 是一套通用执行引擎,提供了可基于系统或程序事件高效安全执行特定代码的通用能力,通用能力的使用者不再局限于内核开发者;

SBOM

SBOM 的概念相对简单——它提供软件中的组件列表,长期以来一直作为供应链管理的一部分用于传统制造业。 在实践中,它提供了很多好处,包括依赖项的安全警报以及对工件来源和软件供应链的更完整视图。

d75916febb146683f6e3a476f184403b.jpeg

云原生环境中随着微服务、分布式应用的不断发展,带来了更多的风险。这并不是为了减少维护人员所做的工作;它们是现代软件供应链的重要组成部分,提供从小型模块到整个基于容器的平台的一切。由于代码的重要性,他们的价值被低估,薪酬也被低估。可悲的是,有好几次坏角色主动提出接管代码维护工作,却加入了恶意软件,希望代码能够自动安装,因为它有一段值得信赖的历史。

随着我们的代码越来越多地成为团队的一部分,我们可以期望看到更多类似这样的攻击。我们如何保护自己和应用程序?首先也是最重要的是,我们需要了解软件供应链确实存在,我们不是孤立地构建代码,而且我们已经很久没有这样做了,如果我们曾经这样做过的话。开源和第三方库是我们如何制作软件的一个重要部分,它们只会变得更加重要。

我们可以采取哪些步骤来确保软件供应链的安全?在提供管理软件材料清单的工具方面已经做了大量的工作:扫描库的代码,使用静态和动态分析,向代码中添加数字签名和散列,并将其全部纳入托管存储库。但有一个方面还不清楚:我们如何验证这项工作以及我们正在使用的代码?毕竟,古老的安全格言之一仍然是“信任但要验证”。

SBOM 在云原生中变得越来越普遍,它们将继续成为软件供应链安全的重要组成部分。 Kubernetes 已经采用 SBOM 并将其作为构建和发布的一部分生成。

安全教育和培训

我们的 2022 年云原生安全微观调查发现,组织在运行云原生环境时面临的最大安全挑战是:缺乏技术专长,以及难以将 DevOps 和 CI/CD 等新方法和流程与现有要求、工具和流程相匹配。

318255631d0afb31ef45a64e5cc04e7c.jpeg

在 CNCF,我们已采取措施弥补这些差距,包括通过第三方安全审计和模糊测试以及教育和培训(包括认证 Kubernetes 安全专家 (CKS) 和 Kubernetes Security Essentials 课程)使我们的项目在本质上更加安全。

作为一个有成就的Kubernetes从业者,获得认证的CKS安全专家在构建、部署和运行时期间,证明了其在保护基于容器的应用程序和Kubernetes平台的广泛最佳实践方面的能力。在参加CKS考试之前,考生必须已经通过CKA认证考试,在获得CKA证书之后才可以预约CKS考试。

CKS是一项基于性能的认证考试,在模拟的真实环境中测试考生对Kubernetes和云安全的知识。获得CKS证书表明学员具备在构建、部署和运行时保护基于容器的应用程序和Kubernetes平台的必要能力,并有资格在专业环境中执行这些任务。

我们之前也整理过一篇CKS认证考试的资料,有兴趣的同学可以查看,希望可以对大家带来帮助。

https://blog.csdn.net/wolaisongfendi/article/details/126585136

关于HummerRisk

HummerRisk 是开源的云原生安全平台,以非侵入的方式解决云原生的安全和治理问题,核心能力包括混合云的安全治理和K8S容器云安全检测。

Github 地址:https://github.com/HummerRisk/HummerRisk

Gitee 地址:https://gitee.com/hummercloud/HummerRisk

a765c6ba5659620da1af2aca7e8ac428.jpeg

参考:

[1] https://www.cncf.io/blog/2023/01/17/cloudnativesecuritycon-2023-3-key-areas-to-watch/

[2] https://security.googleblog.com/2022/06/sbom-in-action-finding-vulnerabilities.html

[3] https://cloudnative.to/blog/bpf-intro/

[4] https://blog.csdn.net/wolaisongfendi/article/details/126585136

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

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

相关文章

centos下安装docker 并通过docker安装gitlab

一:安装docker1、若之前安过docker,可以先卸载yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine \docker-ce2、更新yum…

软件测试基础(四) 之 软件测试的覆盖率

一、什么是软件测试的覆盖率?软件测试覆盖率是软件测试技术有效性的一个度量手段,用来度量测试完整性。意思概括的说,软件测试的工作中会有非常非常多的item(任务),执行过的任务和总任务数的一个比值&#…

尚医通 (二)项目搭建

目录一、工程结构介绍1、工程结构2、模块说明二、创建父工程1、创建sprigboot工程yygh_parent2、删除 src 目录3、配置 pom.xml4、在pom.xml中添加依赖的版本三、搭建model模块1、在父工程yygh_parent下面创建模块model2、添加项目需要的依赖3、复制项目实体类和VO类四、搭建se…

require和important区别

1.require是赋值过程,就是把一个值赋值给另一个,important是对这个值的引用 2 . require 是赋值过程并且是运行时才执行,也就是同步加载,import 是解构过程并且是编译时执行,理解为异步加载 3.require 的性能相对于 im…

Linux部署达梦数据库超详细教程

陈老老老板🦸👨‍💻本文专栏:国产数据库-达梦数据库(主要讲一些达梦数据库相关的内容)👨‍💻本文简述:本文讲一下达梦数据库的下载与安装教程(Linux版&#x…

百度网盘秒传链接生成及提取方法

百度网盘秒传链接生成及提取方法 1.认识秒传链接 首先,我们认识一下秒传链接的格式: 秒传链接是由标准提取码文件名组成。例如下面的格式: fd00338387f50ee5919eb3df4cfce6e3#5048587008#/影视/电影/救火奶爸.mp4 百度网盘秒传链接的提取主…

FISSURE:一款功能强大的RF和逆向工程框架

关于FISSURE FISSURE是一款功能强大的RF和逆向工程框架,该工具适用于不同技能水平的安全研究人员,并提供了信号检测、信号分类、协议发现、渗透测试、IQ操作、漏洞分析、自动化和AI/机器学习等功能。该框架旨在促进软件模块、无线电、协议、信号数据、脚…

2023年怎么开通一个抖音小店?店铺开通后做什么?开店指南!

大家好,我是王路飞。 2023年都已经过去一个月了,你开通抖音小店了吗? 作为目前最受欢迎的创业和副业项目,开通抖音小店的商家数量与日俱增,都是为了蹭一下抖音流量的红利,毕竟直播带货如今正处在风口。 …

50条必背JAVA知识点(三)

31.面向对象中两个重要的概念:类:对一类事物的描述,是抽象的、概念上的定义对象:是实际存在的该类事物的每个个体,因而也称为实例(instance) 32.虚拟机栈,即为平时提到的栈结构。局部变量存储在栈结构中&a…

专利的申请和驳回

说明书和权利要求的区别 说明书里面会写这个新方案的具体内容,实施方案,解释说明等,权利要求书的话,就是对这些具体的内容进行概括 说明书应当补充说明该发明相比有技术的优势 就投屏举例: 到底怎么写 三篇 阿里 楼x投屏方法及装…

人工智能服务哪家强?IDC评估报告看过来

如果您还不知道如何选择人工智能AI服务供应商,那么IDC的这份评估报告也许可以派上用场。如何选择AI软件工具和平台随着科技的不断发展,人工智能(Artificial Intelligence,简称AI)技术在近年来取得了长足的进步。从语音…

简介JWT

简介JWT http协议无状态的,所以需要sessionId或token的鉴权机制,jwt的token认证机制不需要在服务端再保留用户的认证信息或会话信息。这就意味着基于jwt认证机制的应用程序不需要去考虑用户在哪一台服务器登录了,这就为应用的扩展提供了便利&…

Python函数和 lambda表达式

Python提供了许多内置函数,比如:print(),len()等。它还支持用户自定义函数。 一、Python函数 1、函数定义使用 (1)函数定义 Python 允许我们将常用的代码以固定的格式封装(包装)成一个独立的…

一刷代码随想录——字符串

1 力扣344.反转字符串题目描述:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。class Solution { public:v…

数据库原理与应用-关系数据库

关系数据结构及形式化定义关系操作关系的完整性关系代数关系演算

WebSocket协议简介

一、WebSocket协议是什么 WebSocket是基于TCP的应用层协议,用于在C/S架构的应用中实现双向通信,它实现了浏览器与服务器全双工(full-duplex)通信,也就是允许服务器主动发送信息给客户端。 WebSocket 协议主要为了解决基于 HTTP/1.x 的 Web …

【正点原子Linux连载】第一章 VMware虚拟机安装 摘自【正点原子】ATK-DLRV1126系统开发手册

1)实验平台:正点原子RV1126 Linux开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id692176265749 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html 第一章 V…

flex布局常用属性记录

场景:前端常用的页面布局当使用 flex 布局时,首先想到的是两根轴线 — 主轴和交叉轴。主轴由flex-direction 定义,另一根轴垂直于它。我们使用 flexbox 的所有属性都跟这两根轴线有关;这里只做主轴的介绍:主轴主轴由 f…

算法刷题-四数之和、缺失的第一个正数、N 皇后

文章目录四数之和缺失的第一个正数N 皇后四数之和 给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a b c d 的值与 target 相等?找出所有满足条件且不重复…

【基础篇】6 # 栈:如何实现浏览器的前进和后退功能?

说明 【数据结构与算法之美】专栏学习笔记 什么是栈? 栈是一种“操作受限”的线性表,只允许在一端插入和删除数据,其特性就是后进先出、先进后出。 栈既可以用数组来实现,也可以用链表来实现。 用数组实现的栈叫作顺序栈用链…