科技云报到:存储开源,风雨飘摇下“披着羊皮的狼”?

news/2024/5/19 23:00:06/

科技云报道原创。

这些年开源界的风风雨雨,时不时撼动着人们的内心。

image.png

2022年,俄乌冲突导致全球最大的独立开源软件公司SUSE、美国开源软件巨头Redhat、主流开源容器引擎Docker,纷纷宣布停止与俄罗斯的合作。

而全球最大的开源及私有代码项目托管平台Github甚至直接限制所有俄罗斯开发者访问开源存储库。

同年,开源软件JavaScript被植入恶意代码,根据判断是否为俄罗斯IP地址,删除用户的任意文件内容并替换为心形表情符号。

将目光再往前拉远,在2021年末,Apache开源日志记录框架log4j爆发可载入史册的核弹级漏洞,攻击者仅需一行代码便可不留痕迹地控制并接管服务器,导致90%的java开发平台遭受危机。

覆巢之下,焉有完卵?一向推崇“自由、平等、相互尊重”原则的开源技术,在复杂国际环境叠加天生残缺的安全性时,早已变得混沌不清。

重重迷雾之下,这些令人胆战心惊的记录,让开源界一次次感到震惊的同时,也为崇尚开源的中国企业敲响了警钟。

在当今中国发展格局之上,数据存力建设的重要程度不言而喻。存储既是数字世界生生不息的最关键载体,更是守护数据安全与信息资产的最后一道防线。

然而,事实令人些许悲观。

多年以来,中国信息存储技术仍落后于西方。那些被称为“国产”的存储中,又有一大半是基于Ceph、Lustre等国外开源技术进行二次开发,正在大行其道、充斥于世。

在中国飞速向前奔跑的背影中,这种颤颤巍巍的技术堆栈方式,并不在少数。

危机之下,作为中国数字产业根基的存储,眼前横亘着一场叩问灵魂的兴衰战役。到底有多少国产存储在“挂羊头、卖狗肉”?开源存储又该何去何从?

“披着羊皮的狼” 何时露出凶光?

众所周知,存储是一门技术艰深的领域,任何一家企业想要自研一款存款产品,往往需要长达十余年的技术研发积累。

但随着开源技术的爆发,Ceph、HDFS、Swift、Lustre、GlusterFS等国外开源技术的涌现,让很多国内创业公司以及缺乏足够技术底蕴的企业,在短短几年内就摘得了分布式存储这一新船票。

不仅如此,这些公司的做法也十分粗暴。

他们通过对Ceph等开源代码简单的包装、套壳等手段,实现了所谓的“自研”存储,并以商业软件的名义对外出售。

早在2015-2016年,国内诞生了一批这样的国产存储创业公司,比如业内较为知名的X公司、S公司,都美曰其名“自研”,但实际上“自主可控”的成分有多少,恐怕只有厂商自己清楚。

一浪高过一浪,在看见有人尝到开源存储的甜头后,国内不少大厂居然也加入了分布式存储的阵营。

但苦于传统存储技术积淀薄弱,又急于抢占新的市场份额,这些大厂的做法就更为直接。

典型如L厂、X厂,就通过加入Ceph等开源基金会、对Ceph等开源代码进行二次开发和优化、不断提升对各主流开源社区贡献度的方式,来快速获取分布式存储的市场地位。

毕竟,来不及投入工程师人力潜心开发,那站在国外开源巨头的肩膀上踮踮脚,就成为一条捷径。

image.png

尽管借助开源能够在短时间内解决“从无到有”的问题,但是开源存储软件面临的商业化与安全挑战,并不是一时半会儿能解决的。

首先,开源存储代码漏洞频发,被攻击的风险持续加大。

根据美国新思科技(Synopsys公司)的《2023年开源安全和风险分析报告》统计,在审查的1700多个商业软件代码库中,96%包含开源代码,84%代码库有漏洞,且高达48%包含至少一个高风险漏洞。

我们观察到,自2016年以来,国际最权威的漏洞披露社区CVE官网上,已公开的Ceph严重级漏洞高达45个,而Ceph官网显示这些漏洞已修复的数量仅31个。

这个数据令人担忧,就好比一座跨越峡谷却未修建妥善的栈桥,当勇士们大步流星时突然踩空,便坠入峭壁下的万丈深渊。

在已披露的中高风险与严重风险评级漏洞中,最典型的是这三大类:密码/密钥未进行加密便直接存储,导致敏感信息极容易被泄露、被入侵者利用;访问接口时缺少完整的认证和授权,导致任何人都可以随意进行数据访问;采用易受攻击的公开协议或操作系统,大幅增加了利用已知漏洞攻击系统的风险。

这很难不怀疑,Ceph自身在数据机密性、访问控制、软件级运行安全方面存在难以预知的缺陷,存储层引发的数据丢失及服务不可用的可能性不言而喻。

同时,Ceph引用了大量老旧开源软件,很多漏洞未被解决。有开发者分析过Ceph V17.2.1版本,发现其直接或间接引入了50多款开源软件。

由于社区对老版本几乎不会投入资源进行维护,未被及时修复的安全漏洞和严重功能问题,都有可能被利用成为被攻击对象。

与对单个端点或服务器的网络攻击不同,针对存储系统的攻击具有更大的破坏性,一个存储系统的漏洞就可能导致数千台服务器停机,业务中断若干小时或若干天,并清除数PB的数据。

过去三年,针对企业数据的勒索软件攻击的日益增加,这是一个可怕的前景。

其次,开源存储代码漏洞披露不可控。

2022年6月,美国商务部工业和安全局(BIS)针对网络安全领域的出口管制要求表示,在美国实体与中国政府相关的组织和个人合作时,若发现安全漏洞和信息,禁止直接公布,必须先经过美国商务部审核。

Ceph作为开源存储软件的代表,自然也被要求遵循这条新规。

从历史上看,Ceph每年都有近10个中高风险漏洞披露,这意味着从此之后,任何漏洞信息都几乎无法被国内存储客户所知晓并修复,妄图从根源上主动管理更是化为泡影。

可以说,中国大量采用Ceph系统作为数据底座的企业们,正在风云莫测的国际形势中面对“数据裸奔”的无声威胁。

这自始至终是一场不对称信息打击的同台竞技,更是一场中国企业捆绑着定时炸弹的缚足攀岩。

最后,开源存储软件无法持续演进的可能性大。

Ceph被美国Redhat收购后,法律仲裁归属美国加州,Ceph属于Linux社区的特例,受到美国出口管控。

目前,美国仍在进一步加强开源软件的保护及管控,美国白宫与开源组织、科技巨头共同推动1.5亿美元开源软件保护计划,以加强美国的开源安全。

这一系列动作都让人明白了那句话——代码无国界,但写代码的人有国界。从俄乌冲突经验来看,政治原因已经导致开源软件不再可用,Ceph为首的开源存储软件也存在断供与卡脖子的风险。

如果国内关键基础设施的存储系统使用Ceph来构建,那么极有可能无法获得后续更新迭代,全数据业务系统随时可能面临断供,对将来的工具更新、平台演进、甚至国家核心技术的发展都将造成极高威胁。

如同高悬在头顶上的达摩克利斯之剑,让人不寒而栗。

固守还是激变?国产存储更需“国魂”

在国家数字经济发展大战略下,数据作为生产要素已成为重要资产,数据存力作为数据基础设施的核心组成部分,支撑着全国数据价值的释放,更事关国家的信息安全。

因此,今年两会上,就曾有人大代表呼吁加快“国芯国魂”产品的应用,破解“卡脖子”问题:“我国要有独立的存储产业‘强链补链’规划,构建存储产业生态体系和产业链,并加速自主创新能力提升、国芯国魂产品应用,实现真正自主可控”。

尽管理想丰满,但打造“国芯国魂”的数据基础设施并不能一蹴而就,而是需要政产学研用的多方合力:

政策层面,推进先进自主自研产品的应用,建立开源软件供应链安全治理机制,势在必行。

农工党对此提出过四大建议:一是,在新型数据中心、关键信息基础设施等建设中鼓励使用先进自主自研存储产品,限制国外开源代码(Ceph、Lustre等)使用比例;二是,健全漏洞风险的自主治理能力;三是,建立软件产品安全可信测评体系;四是,积极推进具有检测技术和检测能力的存储认证机构的建设。

也有专家建议,在涉及到国家关键信息基础设施建设的领域设置准入机制,慎重使用没有掌握核心技术的供应商。对于那些掌握核心代码、具有安全管控能力的厂商,可以予以更多支持。

产业层面,存储厂商及相关研究机构应唤醒自主创新、自研可控的意识。

例如,在存储软件的开发、维护等活动中做好安全需求分析、安全设计、安全编码、安全测试、漏洞修补等工作,真正做到清本溯源,掌握核心代码,提高产品安全能力,实现存储产品的可信安全。

用户层面,建立软件供应链安全全流程治理体系,提升自身的软件安全治理能力,成为大势所趋。

企业用户必须意识到,在信息技术发展、稳定夯实数据基座的征程之上,唯有“国芯国魂”的数据基础设施才能作为我国信息发展的重要引擎。

所以,有计划、分批次、逐步替换Ceph等开源存储软件,需要各行各业的持续与坚定。

在破除开源Ceph的桎梏后,存储还需进一步摒弃软硬解耦建设,转向软硬一体的全栈自主可控。

这才称得上是真正的“国芯国魂”数据基础设施,从根本上摧毁数字时代的“特洛伊木马”。

所有人都知道,这是一件艰难而正确的事,但正如荀子所言“先义而后利者荣”,挣脱开源基础设施的枷锁,将为国家与时代筑起一条护城长河。

结语

天下从来没有免费的午餐。风雨飘摇中,那些披着开源外衣的“国产”存储产品并没有想象中的那么安全。

如今,在以基础软硬件替代为重点方向的新一轮自主可控浪潮正在掀起。

我们坚信,不久的未来,在企业用户和科技厂商彼此信任地携手中,将迎来真正的“国芯国魂”。

【关于科技云报道】

专注于原创的企业级内容行家——科技云报道。成立于2015年,是前沿企业级IT领域Top10媒体。获工信部权威认可,可信云、全球云计算大会官方指定传播媒体之一。深入原创报道云计算、大数据、人工智能、区块链等领域。


http://www.ppmy.cn/news/47294.html

相关文章

socket 及 字节序转换(嵌入式学习)

socket 及 字节序转换 socket简介Socket为什么需要Socket?socket类型Socket通信模型 字节序主机字节序到网络字节序网络字节序到主机字节序IP地址转换 socket简介 1、1982 - Berkeley Software Distributions 操作系统引入了socket作为本地进程之间通信的接口 2、1…

Linux 服务简单优化

硬件优化 处理器:核心数、主频、制程工艺、线程数、缓存等 核心数:1、2、4、6、8、12、24、32等 主频:2.0GHz、2.3GHz等等 制程工艺:22nm、14nm、10nm等等 线程数:1、2 缓存:L1、L2、L3 建议:尽…

Linux用户的分类与家目录,ls、pwd、cd、mkdir、touch、rmdir、rm指令与选项等

Linux中用户的分类与用户的家目录 在Linux当中,用户的分类只分为两类,一类叫做超级用户root,还有就是其他也就是传说中的普通用户。我们刚刚登进去时,默认所处的目录是***/root或者/home/用户名***,比如说/root, /hom…

知识库管理系统对于企业有哪些作用及优势?

知识库管理系统是一种通过集成多种技术手段,将企业内部知识进行收集、整理、存储、分析和共享的信息管理系统。知识库管理系统可以帮助企业管理和利用企业内部的知识,提高企业的创新能力和竞争力。 知识库管理系统的作用 1、促进企业内部知识的流通和共…

无线传感器网络硬件设计简介

无线传感器网络硬件设计简介 无线传感器网络因其巨大的应用前景越来越受到学术界和工业界的广泛关注。本文介绍了无线传感器网络节点的体系结构,分析比较了国内外当前典型的硬件平台,重点讨论了目前无线传感器网络节点常用的处理器、射频芯片、电源和传…

Java IO流

Java IO流 IO就是Intput和Output也就是输入输出,将数据输入到计算机内存的过程叫做输入,从内存读取出来的数据叫做输出。Java的IO流总共有40多个类,他们都是由下个4个抽象类派生出来的,InputStream和Read和OutputStream和Writer。…

网络拥塞控制,对越远的流量越宽容

考虑下面的网络传输场景: ​ S1,S2,S3,S4 向 D 方向发送,R4 发生拥塞。R4 必须丢弃一些数据进行疏导反馈拥塞信号,否则谁也过不去。 优先丢掉离得最近的 S4 的数据,其次依次丢 S3,S2…

ChatGPT会如何改变制造业?

来源 | Smart Industry Edgenesis编译 ChatGPT最新版本的发布成为热门头条。OpenAI表示该版本的ChatGPT能够在多个专业测试中达到“人类水平”的表现,例如司法考试和SAT考试。不过,在工业领域中,ChatGPT能够发挥怎样的作用呢?Sma…

计算广告(十七)

多渠道组合路径效率评价 ​ 编辑切换为居中 添加图片注释,不超过 140 字(可选) 分析背景: 电商归因分析通常以 last_click 为基准,将成交转化归功于用户完成转化前的最近一个广告系列。然而,在此之前&a…

HTTP的那些事儿

超文本传输协议(Hyper Text Transfer Protocol,HTTP),它是在计算机世界中的两个点之间传递文本,图片,多媒体等超文本文件的协议。HTTP处在数据链路层,网络层,传输层,应用…

java 资料地址汇总

1 SpringBoot - 使用 Assert 校验让业务代码更简洁 SpringBoot - 使用 Assert 校验让业务代码更简洁 2 MyBatis-Plus 还手写 Join 联表查询?一个依赖轻松搞定,真香! MyBatis-Plus 还手写 Join 联表查询?一个依赖轻松搞定&#…

中小企业面临怎样的数字化转型局面

当前,我国经济长期向好的基本面没有改变,但承受着“需求收缩、供给冲击、预期减弱”的三重压力,中小企业的数字化转型之路较之以往更加艰难、曲折。为帮助中小企业纾困解难、平稳渡过危机,需进一步优化政策“组合拳”,…

CMake

CMake定义 CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C特性,类似UNIX下的automake。只是 CMake 的组态档取名为 C…

背包问题——01背包|完全背包

目录 前言&背包问题的历史 01背包 1、题目 2、暴力解01背包 Ⅰ、代码 3、动态规划解01背包 Ⅰ、二维dp数组解01背包 1)dp数组的含义 2)递推公式 3)dp数组的初始化 4)遍历顺序的讨论 5、代码 Ⅱ、一维数组解01背包 1&…

[API]集合Collection常用方法集合遍历新循环泛型(三)

什么是集合: 集合和数组一样,可以保存一组数据,并且提供了操作数组元素的相关方法,使用用更加方便 集合框架中的相关接口: java.util.Collection接口:是所有集合的顶级接口,封装了所有集合所…

【理解 C++ 中的头文件和源文件的作用 】

include文件中定义 src文件中声明 头文件中应该只放变量和函数的声明,而不能放它们的定义。 在 C 中,头文件和源文件有着不同的作用。它们共同组成了 C 项目的基本结构。让我们逐个了解它们的作用。 头文件(.h 或 .hpp 文件)&a…

【从零开始学Skynet】实战篇《球球大作战》(十四):agent跨服务器版

至此,我们已完成了《球球大作战》的绝大部分功能,只剩下完 善agent ,让它和 scene 服务联动了。 1、多个模块 一般而言,代理服务会承载很多系统,比如邮件、成就等,此处涉及的代码较多,容易混 乱…

初中级测试工程师,软件测试面试题总结大全(功能/接口/自动化测试)你要的都有...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 一般软件测试的面…

程序员只能吃青春饭?3条晋升之路帮你摆脱程序员中年魔咒!

作为一个程序员 尤其是在这些中 不管是中国 还是美国的这些大的公司里边呢 往往呢 有大概两条这样的一个境界之路 根据你自己个人的这种能力兴趣 其实你可以进行自己的选择 科技大佬们其实往往呢也都是从 这个比较年轻的时候对吧 归国创业也好 还是自己出自于草根 然后一下子凝…

【Python_Scrapy学习笔记(十三)】基于Scrapy框架的图片管道实现图片抓取

基于Scrapy框架的图片管道实现图片抓取 前言 本文中介绍 如何基于 Scrapy 框架的图片管道实现图片抓取,并以抓取 360 图片为例进行展示。 正文 1、Scrapy框架抓取图片原理 利用 Scrapy 框架提供的图片管道类 ImagesPipeline 抓取页面图片,在使用时需…