Sunday, June 20, 2021

SegmentFault 最新的文章

SegmentFault 最新的文章


140+ 演讲,来 ApacheCon 首次亚洲会议与全球开发者欢聚一堂

Posted: 20 Jun 2021 08:22 PM PDT

ApacheCon 是 Apache 软件基金会(ASF)的官方全球系列大会。作为久负盛名的开源盛宴,ApacheCon 在开源界备受关注,也是开源运动早期的知名活动之一。

早在 1998 年,在 ASF 成立之前,ApacheCon 已经吸引了各个层次的参与者,在 300 多个 Apache 项目及其不同的社区中探索 "明天的技术"。也是在这一届上,开发 HTTPD 服务的开发者们欢聚一堂,并决定成立 Apache 软件基金会。


First event was held in San Francisco, CA, October 1998 (the ASF incorporated ~6 months later).

ApacheCon 每年举办一次,一般在欧洲或北美举行,是 Apache 开发者们线下交流、讨论、见面的绝佳机会,也是分享想法、思想激荡的难得的场合。通过动手实作、主题演讲、实际案例研究、培训、黑客松活动等方式,展示 Apache 项目的最新发展和新兴创新。

ApacheCon Asia 来了!

尽管 2020 年有许多挑战,但是 Apache 软件基金会举办了第一次虚拟大会 2020 ApacheCon@Home,对许多过去常常无法亲身到场参加 ApacheCon 的人,却是一个让绝佳的机会,让他们可以在线接触到许多社区里的技术大牛。

而今年,为了更好地服务于亚太快速增长的 Apache 用户和贡献者,ApacheCon 组委会以及 Apache 软件基金会很高兴地宣布,首次针对亚太地区时区的 ApacheCon 在线会议 ApacheCon Asia 大会将于 2021 年 8 月 6 日至 8 日在线举行

本次 ApacheCon 将展示来自 Apache 软件基金会的几十个项目相关的内容,有 140 多场会议,以及来自阿里云API7滴滴出行华为KyligencePingCAP腾讯云清华大学等技术专家的主题演讲,所有参会者都可以免费注册。

SegmentFault 思否作为本次会议的战略合作媒体,届时在 SegmentFault 社区上,大家也可以看到来自全球讲师的精彩分享。

Apache 亚洲大会联合主席、ASF 董事会成员吴晟说,"在一众赞助商的支持下,来自全球的 Apache 社区共同参与举办了这场一流的在线活动。我们很自豪以全新的虚拟形式举办 ApacheCon,并吸引来自任何地方的参与者加入 Apache亚洲大会。"

Apache亚洲大会联合主席、Apache Local Community Beijing 的发起人姜宁说:"请关注 ApacheCon Asia 的 140 多场会议,在这里你了解 Apache 项目的最新进展、最佳实践和经验教训,孵化项目,以及社区主导的开发' The Apache Way'。参与者还可以与参会者、演讲者和赞助商进行实时的虚拟连接和交流,并在活动结束后重温演讲内容"

各位参与者将了解到 Apache 项目的创新,其类别包括 ——

  • API / Microservice API/微服务
  • Big Data 大数据
  • Community 开源社区
  • Culture 开源文化
  • Integration 集成
  • Incubator 孵化器
  • IoT/IIoT 物联网
  • Messaging 消息系统
  • iddleware 中间件
  • Observability 可观测性
  • Streaming 流计算
  • Workflow/Data Governance 工作流/数据治理
  • Web Server Web 服务器
  • DataVisualization 数据可视化

Apache 的特色项目包括 Airflow、APISIX、Arrow、Atlas、Bigtop、BookKeeper、brpc(孵化中)、Camel、CarbonData、Cassandra、Commons、DolphinScheduler、Doris(孵化中)、Druid、Dubbo、ECharts、Flink、Hadoop、HBase、Hive、HUDI、Ignite、Impala、InLong(孵化中)、IoTDB、Kafka、Kudu。Kylin、Liminal(孵化中)、MXNet(孵化中)、Nemo(孵化中)、Ozone、Pegasus(孵化中)、Pinot(孵化中)、PLC4X、Pulsar、RocketMQ、ServiceComb、ShardingSphere、SkyWalking、Sling、Spark、StreamPipes(孵化中)、Superset、Teaclave(孵化中)、Tomcat、YuniKorn(孵化中)等。

完整的议程点击此处查看: https://apachecon.com/acasia2...
即刻注册请点击: https://apachecon.com/acasia2...


关于 ApacheCon

ApacheCon 是 Apache 软件基金会的官方全球会议系列。自 1998 年以来,ApacheCon 一直吸引着各个层次的参与者,在 350 多个 Apache 项目及其不同的社区中探索 "今天的明天技术"。在 2020 年和 2021 年,ApacheCon 活动通过会议、主题演讲、真实世界的案例研究、社区活动等,以虚拟的方式展示无处不在的 Apache 项目和新兴的创新,所有这些都是在线的,而且是免费的。欲了解更多信息,请访问 http://apachecon.com/https://twitter.com/ApacheCon

关于 Apache 软件基金会 (ASF)

Apache Software Foundation 成立于 1999 年,是世界上最大的开源基金会,管理着 2.27 亿多行代码,并向公众提供价值超过 200 亿美元的软件,而且 100% 免费。ASF 的全志愿者社区从最初的 21 名创始人监督 Apache HTTP 服务器发展到 850 多名个人成员和 200 个项目管理委员会,他们通过 ASF 的 "The Apache Way "与 8200 多名提交人合作,成功领导了 350 多个 Apache 项目和计划。Apache 软件是几乎所有终端用户计算设备的组成部分,从笔记本电脑到平板电脑再到企业和关键任务应用的移动设备。Apache 项目为大部分互联网提供动力,管理百万亿字节的数据,执行兆位数的操作,并在几乎所有行业中存储数十亿的对象。商业上友好和宽松的 Apache 许可证 v2 是一个开放源码的行业标准,帮助启动了数十亿美元的公司,并使全世界无数的用户受益。ASF 是一个美国 501(c)(3) 非营利慈善组织,由个人捐款和企业赞助商资助,包括 Aetna、阿里巴巴云计算、亚马逊网络服务、Anonymous、百度、彭博、Budget Direct、Capital One、Cloudera、Comcast、Confluent、Didi Chuxing、Facebook、谷歌、Handshake、华为、IBM、微软、Namebase、菠萝基金、Red Hat、Reprise 软件、Target、腾讯、Union Investment、Verizon Media 和 Workday。欲了解更多信息,请访问 http://apache.org/https://twitter.com/TheASF


聊聊 Redis 内存淘汰策略

Posted: 20 Jun 2021 06:00 PM PDT

文章首发于公众号 "蘑菇睡不着"

前情回顾

《源码级别了解Redis持久化》
《聊聊Redis过期键删除策略》
《Redis数据结构详解》
《超详细Redis五种数据结构底层实现》

这一期咱们一起来看看 Redis 的内存淘汰策略~

为什么要有内存淘汰机制

  大家都知道 Redis 中的键会设置过期时间,当到达过期时间时会通过一定策略清除对应 key,但是 redis 内存是由上限的,当达到内存上限时,就要通过一定策略淘汰掉相应 kv 键值对。

Redis 内存上限

maxmemory 配置选项使用来配置 Redis 的存储数据所能使用的最大内存限制。可以通过在内置文件redis.conf中配置,也可在Redis运行时通过命令CONFIG SET来配置。例如,我们要配置内存上限是100M的Redis缓存,那么我们可以在 redis.conf 配置如下:

maxmemory 100mb

设置 maxmemory 为 0 表示没有内存限制。在 64-bit 系统中,默认是 0 无限制,但是在 32-bit 系统中默认是 3GB。

当存储数据达到限制时,Redis 会根据情形选择不同策略,或者返回errors(这样会导致浪费更多的内存),或者清除一些旧数据回收内存来添加新数据。

Redis 内存淘汰策略

  • noenviction:不清除数据,只是返回错误,这样会导致浪费掉更多的内存,对大多数写命令(DEL 命令和其他的少数命令例外)
  • allkeys-lru:从所有的数据集中挑选最近最少使用的数据淘汰,以供新数据使用
  • volatile-lru:从已设置过期时间的数据集中挑选最近最少使用的数据淘汰,以供新数据使用
  • allkeys-random:从所有数据集中任意选择数据淘汰,以供新数据使用
  • volatile-random:从已设置过期时间的数据集中任意选择数据淘汰,以供新数据使用
  • volatile-ttl:从已设置过期时间的数据集中挑选将要过期的数据淘汰,以供新数据使用
  • volatile-lfu:从所有配置了过期时间的键中淘汰使用频率最少的键
  • allkeys-lfu:从所有键中淘汰使用频率最少的键

回收的过程

理解回收过程是运作流程非常的重要,回收过程如下:

  • 一个客户端运行一个新命令,添加了新数据。
  • Redis检查内存使用情况,如果大于maxmemory限制,根据策略来回收键。
  • 一个新的命令被执行,如此等等。

我们添加数据时通过检查,然后回收键以返回到限制以下,来连续不断的穿越内存限制的边界。

如果一个命令导致大量的内存被占用(比如一个很大的集合保存到一个新的键),那么内存限制很快就会被这个明显的内存量所超越。

近似LRU算法

Redis的LRU算法不是一个严格的LRU实现。这意味着Redis不能选择最佳候选键来回收,也就是最久未被访问的那些键。相反,Redis 会尝试执行一个近似的LRU算法,通过采样一小部分键,然后在采样键中回收最适合(拥有最久访问时间)的那个。

然而,从Redis3.0开始,算法被改进为维护一个回收候选键池。这改善了算法的性能,使得更接近于真实的LRU算法的行为。Redis的LRU算法有一点很重要,你可以调整算法的精度,通过改变每次回收时检查的采样数量。

这个参数可以通过如下配置指令:

maxmemory-samples 5

Redis没有使用真实的LRU实现的原因,是因为这会消耗更多的内存。然而,近似值对使用Redis的应用来说基本上也是等价的。

LFU

LFU (Least frequently used) 最不经常使用算法。而 LRU 是最近最少使用算法。

从 Redis 4.0 开始,可以使用 LFU 过期策略。这种模式在某些情况下可能会更好(提供更好的命中率/未命中率),因为使用 LFU Redis 会尝试跟踪项目的访问频率,因此很少使用的项目会被淘汰,而经常使用的项目有更高的机会留在内存中。

那为什么会出现 LFU 算法那?大家请看下面的场景:

A - A - A - - - A - A -A - - - B - - - - B - - B - - - - - - B

如果是 LRU 算法 那么会淘汰 A,因为 B 是最近使用的,但是很明显 A 的使用频率是最高的,理应留下 A,所以 LFU 算法应运而生。(淘汰最少使用的 key)

LFU 把原来的 key 对象的内部时钟的24位分成两部分,前16位还代表时钟,后8位代表一个计数器, 称为Morris 计数器。后8位表示当前key对象的访问频率,8位只能代表255,但是 redis 并没有采用线性上升的方式,而是通过一个复杂的公式,通过配置两个参数来调整数据的递增速度。

下图从左到右表示key的命中次数,从上到下表示影响因子,在影响因子为100的条件下,经过10M次命中才能把后8位值加满到255.

factor100 hits1000 hits100K hits1M hits10M hits
0104255255255255
11849255255255
101018142255255
10081149143255

这个参数是可配置的的,通过这个:

lfu-log-factor 10

上说的是计数器的增长,那么什么情况削减那?

默认是 如果一个 key 每一分钟没使用,Morris 计数器 就削减 1. 这个也可以通过下面进行配置:

lfu-decay-time 1

有个问题就是,新的 key 怎么办,岂不是上来就被淘汰?

为了避免这种问题 Redis 默认情况下新分配的key的后8位计数器的值为5,防止因为访问频率过低而直接被删除。

总结

Redis 为了避免内存超出容量,使用特定的内存淘汰策略来释放内存,主要思想是 LRU 和 Redis 4.0 推出的 LFU 算法。LRU 是最近最少使用算法,LFU 是最少使用算法。

更多精彩内容,微信搜索 "蘑菇睡不着"

如果觉得对您有帮助,麻烦帮忙点个赞,你的支持是我创作最大的动力

你越主动就越主动,我们下期见~

下一代 Windows 界面曝光;Spring Native 0.10.0 发布 | 思否周刊

Posted: 19 Jun 2021 09:16 PM PDT

40s 新闻速递

  • 字节跳动首披公司财务情况:2020 年收入 2366 亿元,经营亏损 147 亿元
  • 淘宝 12 亿条用户数据泄露,包括用户 ID 及电话号码
  • macOS Monterey 移除了自带的 PHP
  • 下一代 Windows 界面曝光:新的开始菜单和任务栏、圆角设计
  • 华为、OPPO、vivo、小米牵头制定快充协议统一技术
  • 苹果新款 Apple Watch 开发图曝光,将含血糖传感器
  • 英伟达收购 Arm 交易无法如期完成,欧洲监管部门延迟审批
  • iPhone 13 首发!曝苹果下发大量 A15 订单:增强版 5nm 工艺打造
  • 华为 Mate 50 最新消息曝光:P50 之后登场
  • GitHub 披露 Linux 漏洞详情,已影响众多 Linux 发行版
  • Google Chrome v91.0.4472.114 正式版发布
  • Spring Native 0.10.0 发布
  • OpenSSL 3.0 Beta1 发布,变更开源许可证为 Apache 2.0
  • Linux 5.14 内核主线预计可与 Raspberry Pi 400 兼容

行业资讯

字节跳动首披公司财务情况:2020 年收入 2366 亿元,经营亏损 147 亿元

据字节跳动一份内部材料显示,字节跳动公司 2020 年实际收入达 2366 亿元,同比增长 111%,经营亏损达 147 亿元。截至 2020 年底,字节跳动旗下产品全球月活跃用户数达到 19 亿,覆盖全球超过 150 个国家和地区,支持超过35种语言。目前,字节跳动在亚洲、美洲、欧洲等 30 多个国家设有办事处,全球正式员工数有 11 万人。

淘宝 12 亿条用户数据泄露,包括用户 ID 及电话号码

近日,河南省商丘市睢阳区人民法院公布的刑事判决书显示,逯某和黎某两男子通过自己开发的爬虫软件,对淘宝实施了长达八个月的数据爬取,而在阿里发现这一问题前,他们已经获取了近 12 亿条用户消息。

法院裁定,逯某和黎某均犯侵犯公民个人信息罪,判处徒刑 3 年以上,共处罚金 45 万元,违法所得上缴国库。

而据《华尔街日报》援引一位阿里巴巴发言人回应称,该公司主动发现并处理了这起事件,正与执法部门合作保护用户。但该发言人并未明确说明具体有多少用户受到影响,只表示没有用户信息被卖给第三方,也没有产生经济方面的损失。

但这一说法与判决书内容并不相符。

作案者逯某受雇于黎某,从 2019 年 11 月开始,在淘宝网站上使用自己设计的网页爬虫软件收集用户 ID、手机号码和用户评论等内容,并将其中淘宝客户的手机号码提供给黎某开设的浏阳市泰创网络科技有限公司用于经营活动,而自 2019 年 8 月份至 2020 年 7 月份,该公司非法获利 395 万元。

判决书还显示,浏阳市泰创网络科技有限公司主要业务为 " 淘宝客 ",主要是在微信群进行淘宝商品推广,从而获得淘宝网佣金和商家服务费,证人王某证言称,其公司社群组组员建好各自的微信群后将群二维码提供给老板黎某,然后就有人自动进群。

作为国内最大的购物平台之一,淘宝积累了海量用户隐私和消费数据。据阿里巴巴最新公布的 2021 财年第四季度财报,其中国零售市场的移动月活用户达 9.25 亿。2021 财年,阿里巴巴全球活跃消费者达 10 亿。

上海谋乐网络科技有限公司联合创始人 &CTO 张雪松表示,在本次淘宝用户信息泄露事件中,阿里有技术能力可做到数据防泄漏。他推测,造成 12 亿条信息泄露,可能来自淘宝内部接口设计缺陷,以及违法使用 IP 池手段规避了淘宝的反查。

在本次事件中,犯罪嫌疑人爬取的是淘宝的数据,但实际受害的确是用户。对于用户隐私的维护,张雪松认为,阿里可以在接口设置上加强管控手段,尤其是手机号等隐私信息。

针对 IP 代理模式,张雪松认为阿里也完全有能力去建构风险库,将风险 IP 设为威胁特征库,加入到防控和风控体系内。此外,阿里还可适当引入第三方安全公司合作机制,对于海量数据进行更全面的核查,这样会完善安全机制。

macOS Monterey 移除了自带的 PHP

近日,有用户在 Apple 开发者社区提问 macOS 12 似乎缺少了 PHP,负责开发者工具的工程师回复称:"macOS Monterey 已移除 PHP。"

有人表示理解苹果的决定,因为系统自带的 PHP 版本几乎都是过时的版本,缺少有用的扩展。对于任何使用 PHP 的人来说,现在有更简单的方法可以同时安装和管理多个版本(brew、Docker 等),而无需处理过时和冲突的版本。

也有用户认为这是一个巨大的倒退,因为 macOS 的一大优点是内置 Apache,其中包括 PHP,他认为苹果需要重新考虑这一点。

下一代 Windows 界面曝光:新的开始菜单和任务栏、圆角设计

据外媒 The Verge 的报道,自百度贴吧出现 Windows 11 的首个屏幕截图后,微软即将推出的下一代操作系统(或被命名为 Windows 11)的镜像已出现在网络上。

从被曝光的截图可以看到,新系统的任务栏在视觉方面进行了比较大的改造,例如将图标居中、清理托盘区域、使用新的"开始"按钮等。

当然,如果不希望将应用程序图标和开始菜单居中,可以选择将它们全部移回左侧。此外,开始菜单相比 Windows 10 也简化了不少,例如取消了动态磁贴,整体看上去更简洁、更精致。

从截图中还可以看到一个重要的变化,那就是新系统全局使用了圆角设计,例如右键菜单、开始菜单、文件资源管理器等各种窗口和界面。

其他的一些变化:

  • Windows 小部件

  • 新的 snap 控件

  • 新的 Microsoft Store

华为、OPPO、vivo、小米牵头制定快充协议统一技术

据电信终端产业协会发布,5 月 28 日,电信终端产业协会发布融合快充标准《移动终端融合快速充电技术规范》。为解决产业痛点,绿色能源工作组(WG10)积极开展工作,中国信通院、华为、OPPO、vivo、小米牵头发起《移动终端融合快速充电技术规范》,得到了荣耀、矽力杰、瑞芯微、立辉科技、昂宝电子、电酷网络等多家终端、芯片企业和产业界伙伴的大力支持。标准开发过程中,华为、OPPO、vivo、小米等头部厂家打破固有技术思维定式,以快充兼容性为目的,牵头制定面向移动终端快速充电的统一技术制式,适配产业生态的长期发展需求。

苹果新款Apple Watch开发图曝光,将含血糖传感器

6 月 15 日消息,知情人士周一透露,苹果正在开发新款 Apple Watch 和健康功能,涵盖显示和速度升级、极限运动版以及体温和血糖传感器等。

据悉,苹果计划今年更新 Apple Watch 产品线,推出代号可能为"Apple Watch Series 7"的新设备。这款产品的处理器运行速度更快,并配置改进的无线连接和升级的显示屏。此外,苹果还计划在明年对 Apple Watch 主要产品进行更新,并推出新款低端 Apple Watch SE 和针对极限运动运动员的新版本。

该消息还称,苹果原本的目标是在今年的型号中安装体温传感器,但现在更有可能在 2022 年的更新中推出。此外,帮助糖尿病患者监测血糖水平的血糖传感器,还不太可能在未来几年内准备好商业化发布。

对于今年的新款 Apple Watch,苹果已测试了更薄的显示屏边框和使显示屏更靠近前盖的层压技术。新款 Apple Watch 整体可能会稍微厚一点,但不会引起用户的注意。新款 Apple Watch 将包括更新的超宽带功能,与苹果 AirTag 项目查找器中的底层技术相同。本月初举行的全球开发者大会上,苹果展示了即将推出的 watchOS 8 软件更新,该更新将使该设备能够解锁门和酒店房间。

苹果内部将极限运动款式描述为"探险家"或"冒险"版本。该产品一直处于开发之中,原计划最快于今年发布。不过从目前的情况看,极限运动版 Apple Watch 更可能会在 2022 年上市。这种新版本的设备将有助于苹果与加明和卡西欧等厂商竞争。知情人士称,苹果的计划仍不确定,可能会变动。截至目前,苹果发言人对此报道未予置评。

英伟达收购 Arm 交易无法如期完成,欧洲监管部门延迟审批

由于监管部门将审查时间延迟到夏季休假之后,英伟达对 ARM 的收购交易将无法在明年3月份之前完成。

英伟达在2020年9月份竞购 Arm 时称,希望将英伟达的 AI 技术与 Arm 的完整生态体系结合起来,为客户提供最佳的技术服务。同时英伟达将为 Arm 的所有客户提供新技术,帮助 Arm 生态系统在 AI 时代继续发展,在与英特尔X86架构的竞争中取得优势,而不是只有高通等少数巨头公司才能使用 Arm 的新技术。

三位知情人士称,欧盟委员会提出的问题比英伟达预想的要多。有报道称,反垄断机构已经告诉英伟达,如果他们不在本月底前提交文件,他们就要等到 9 月份,因欧洲工作人员夏季休假。该交易的潜在延迟可能会使其超出 2022 年 3 月预期完成收购的时间。有报道称,如果英伟达收购失败,高通将愿意投资 ARM。

iPhone 13 首发!曝苹果下发大量 A15 订单:增强版 5nm 工艺打造

据 DigiTimes 最新消息,知名芯片制造商近期收到了苹果下发的大量芯片订单,该订单中包括今年尚未亮相的 A15 芯片。据悉,目前台积电已经全面启动了 A15 芯片的量产计划,该芯片将采用 N5P 工艺打造,也就是第二代 5nm,制程层面的性能进一步增加,功耗进一步降低,性能相比 A14 至少有 20% 提升,同时还能提高 30% 的效率。

得益于此,即将在今年 9 月亮相的 iPhone 13 不仅性能上会再次提升,在 5G、功耗方面也将得到平衡,这将令当前 5G iPhone 续航体验饱受吐槽的情况有所改善。

值得一提的是,除了芯片功耗方面的改进之外,iPhone 13 全系还将带来更大的电池容量。

据此前报道,近段时间 iPhone 13 全新已经通过国内 3C 认证,其中显示 iPhone 13 Pro Max 是 4352mAh,比 12 Pro Max 的 3687mAh 多出近 700mAh,iPhone 13 是 3095mAh,iPhone 13 mini 是 2406mAh。

这就意味着,iPhone 13 全系都将会带来更好的续航体验,用户不必在 5G 和续航之间相互取舍了。

除此之外,iPhone 13 全新今年还将升级为小刘海屏幕,这是苹果四年来首次带来正面外观上的改变,屏占比得到有效提升,预计会带来无数消费者的追捧。

屏幕方面,这四款机型的尺寸依然为 5.4、6.1、6.7 英寸,但是 Pro 版的两款机型终于迎来传说中的高刷屏,最高支持到 120Hz 规格,并且将引入 LTPO 面板,可支持 1-120Hz 的自适应刷新率调节,可以更加省电。

价格方面,最便宜的机型依然是 iPhone 13 mini,64GB 版本售价仅为 700 美元,约合 4473 元人民币,顶配机型 iPhone 13 Pro Max 的价格达到 1600 美元,约合 10224 元人民币。

华为 Mate 50 最新消息曝光:P50 之后登场

由于众所周知的原因,华为原本应该在今年 3、4 月就登场的 P50 系列旗舰至今未能发布,至于原本应在下半年发布的 Mate 50 系列更是传来"停更"的消息。有国内媒体近日报道称,华为今年将不会发布 Mate 系列旗舰手机新品,这也是华为自 2013 年推出 Mate 系列手机以来首次 "断更"。

不过,根据爆料人士最新消息,华为 Mate 系列不会停更,虽然目前来看十分困难,但是华为依然会想一切办法继续延续迭代,即便今年不能登场,也会在明年发布新一代机型。

目前来说,华为的重心依然会放在 P50 系列上。

据近期多方消息,华为内部现在已经确定了 P50 系列的发布时间,将会在9月之前正式登场,但目前具体的发布日期还尚未透露出来。

在前不久的鸿蒙发布会上,华为官方已经公布了 P50 系列的宣传视频,这也证明了华为已经准备好了这款全新旗舰。

从官方公布的外观视频来看,华为 P50 系列的背部设计与此前多方爆料基本一致,后摄将采用双圆环的设计,其中根据规格将配备不同的摄像头模组。

值得一提的是,消息称华为 P50 将全系标配索尼独家定制 IMX800 传感器,拥有接近 1 英寸的超大底,这也是索尼有史以来最大底的传感器,能带来更加强劲的成像效果。

最新技术资讯

GitHub 披露 Linux 漏洞详情,已影响众多 Linux 发行版

本周,GitHub 披露了一个容易被利用的 Linux 漏洞的细节,该漏洞可被用来将目标系统的用户权限提升为 root 权限。

该漏洞被归类为高风险性,并被标记为 CVE-2021-3560,影响到许多 Linux 发行版中默认存在的授权服务 polkit。

这个安全漏洞是由 GitHub 安全实验室的 Kevin Backhouse 发现的。该研究人员发表了一篇博客文章,详细介绍了他的发现,以及一段展示该漏洞的视频。

本地、无权限的攻击者只需在终端执行几个命令,就可以利用该漏洞将权限提升到 root。该漏洞目前已被证实影响到红帽企业版 Linux、Fedora、Debian 和 Ubuntu 的一些版本。CVE-2021-3560 的补丁已于 6 月 3 日发布。

Backhouse 表示:"我发现的这个漏洞是相当古老的,它是七年前在提交 bfa5036 中引入的,并首次随 polkit 0.113 版本一同出现。"

受攻击的组件 polkit,是一个系统服务,旨在控制整个系统的权限,为非特权进程提供一个与特权进程通信的方式。Backhouse 在博客中将其描述为一个扮演法官角色的服务,改服务决定由用户发起的行动 —— 特别是需要更高权限的行动 —— 是可以直接执行还是需要额外的授权,如输入密码。

Google Chrome v91.0.4472.114 正式版发布

Google 浏览器 v91 正式版主要更新,得益于全新的 Sparkplug 编译器和 short builtins 调用机制,浏览器速度最高有 23% 的提,全新的 Sparkplug 编译器被设计用于执行和优化 JavaScript 代码之间的空白,以获得最大的性能。

此外,Google 还在使用"内置调用"来优化浏览器使用生成代码的过程,以减少调用函数时的跳转。支持桌面应用程序对剪贴板进行只读访问,该功能将允许用户使用剪贴板键盘快捷键,如 Ctrl+C和Ctrl+V,将文件附加到电子邮件中,而不是仅仅依靠拖放方法。

Google 浏览器 v90 正式版主要更新,引入了许多以用户为中心的功能改进,辅以安全性方面的进一步提升。默认向目标网站链接均启用 SSL 安全传输协议(HTTPS),全新 AV1 开源视频编码器的技术支持,高清视频占用大幅减小。新增窗口重命名功能,可重命名已打开的多个窗口,可记住窗口的配置,遇到崩溃重启会自动恢复状态。还有 WebXR 深度 API、启用了 URL 协议设置程序、效果叠加层、以及安全性方面的诸多改进,比如为了防范缓解 NAT Slipstream 2.0 攻击,而屏蔽封锁了通过 554 端口的 HTTP/HTTPS/FTP 服务器访问。

Google 浏览器 v89 正式版主要更新,修复了一个零日漏洞,建议用户尽快更新。优化了对 WebHID、WebNFC 和 Web Serial 等适用于 HID 设备 API 的支持,此外 NFC 和串行设备也被认为可以投入生产使用。还初步为 WebRTC 添加了对 AV1 编码的支持。此外桌面端还带来了 Web Share 和 Web Share Target 支持以及其他增强功能。

Spring Native 0.10.0 发布

Spring Native 0.10.0 已发布,此版本基于 Spring Boot 2.5 和 GraalVM 21.1,主要带来了以下新功能:

  • 引入原生测试 (native testing)
  • 新增来自 GraalVM 团队的新官方 Gradle 插件
  • 引入可用于类的 AOT(ahead-of-time) 代理

此外还包括 43 个错误修复、文档改进和依赖项升级这些变化。

原生测试和 Gradle 插件

Spring Native 开发团队称一直在与 GraalVM 团队合作,以将原生镜像在构建插件方面提升到一个新的水平。现在,新的原生构建工具取代了前者native-image-maven-plugin,并支持使用本地编译器native-image构建和测试原生应用程序。

以前仅提供 Maven 支持,现在提供了 Maven 和 Gradle 插件。如果你正在升级,新的 Maven 插件坐标为 org.graalvm.buildtools:native-maven-plugin:0.9.0,配置好原生构建工具插件后,开发者不仅可以通过 mvn -Pnative -DskipTests package 或 gradle nativeBuild 构建自己的应用程序,还可以使用 mvn -Pnative test 或 gradle nativeTest 将 JUnit 5 测试作为原生镜像运行。

对此,Spring Native 本身已升级以添加初始测试支持,因此 @SpringBootTest 会作为原生镜像运行。这是原生 Spring Boot 应用程序的一个重要里程碑,也是 JVM 生态的一个重要里程碑,包括 Spring 本身,现在可以使用官方插件来提升原生支持的质量和可维护性。

可用于类的 AOT(ahead-of-time) 代理

对于原生镜像,需要在构建时定义代理。到目前为止,Spring Native 只支持只能在接口上使用的 JDK 代理,不支持在 JVM 上通过 CGLIB 代理处理的用于类的代理,因为原生世界不支持在运行时生成字节码。

// Typical security use case of a class proxy now supported on native @Service public class GreetingService {      public String hello() {         return "Hello!";     }      @PreAuthorize("hasRole('ADMIN')")     public String adminHello() {         return "Goodbye!";     } } 

但从 0.10 开始,现在可以在构建时通过 @AotProxyHint 注释生成用于类的代理。请注意前者 @ProxyHint 已被重命名为 @JdkProxyHint,以避免混淆。

此功能允许在类上实现支持安全性、事务和广泛的其他基于代理的机制。

OpenSSL 3.0 Beta1 发布,变更开源许可证为 Apache 2.0

OpenSSL 3.0 发布了首个 Beta 版本,开发团队表示他们将其视作 RC 版本,因此鼓励所有 OpenSSL 用户针对这个测试版进行构建和测试,并提供反馈。

据介绍,在过去的几个月里,开发团队为 OpenSSL 3.0 的最终发布做了许多工作。他们表示整个 OpenSSL 3.0 的开发工作量是巨大的,自从开始 3.0 以来,已经有 300 多个不同的贡献者提交了 7000 多个 commit。

下面介绍一下 OpenSSL 3.0 的主要新功能和变化。

  • 采用新的开源许可证。OpenSSL 3.0 将在标准和广泛使用的 Apache License 2.0 下发布,而不是在 1.1.1 及之前版本使用的自定义"双重"许可证:OpenSSL 和 SSLeay License(两者均被使用)
  • 采用新的版本控制方案
  • 采用基于"Provider"的架构,它取代了旧的"engine"接口,可提供更大的灵活性,以及方便第三方作者将新加密算法添加到 OpenSSL
  • 增加一个新的 Provider,将按照 FIPS 140-2 标准进行验证
  • 完全"可插拔"的 TLSv1.3 组,使第三方作者能够通过 Provider 添加新的 TLS 密钥交换/封装组
  • 增加新的编码器和解码器支持
  • 完整的证书管理协议 (CMP) 实现
  • 新增用于处理 MAC(消息身份验证代码)、KDF(密钥派生函数)和随机数 (EVP_RAND) 的新 API
  • 对内核 TLS 的集成支持

OpenSSL 3.0 是一个重要的大版本更新,且该工具库的 ABI 发生了变化,使用者需要重新编译所有依赖的应用程序,此外还有一些细小的 API 破坏性变化。

OpenSSL 3.0 Beta1 下载地址:

https://www.openssl.org/source/

Linux 5.14 内核主线预计可与 Raspberry Pi 400 兼容

从 Linux 5.14 开始,Raspberry Pi 400 或将可以与主线内核完美兼容。

Raspberry Pi 400 是树莓派基金会于 2020 年 11 月发布的一款别具一格的新品单板计算机;其外观看起来就是一块小键盘,开发板集成在键盘内部。官方表示其性能比 Raspberry Pi 4 还要略高。

Raspberry Pi 400 实际上是将 Raspberry Pi 4 SBC 嵌入到键盘中,并整合到一个大铝块上。买家花费 100 美元购买 Raspberry Pi 400 可以得到内置 Raspberry Pi 的键盘,它提供 4GB 内存、1.8GHz 四核 Broadcom 处理器、16GB 存储空间和相关的外围设备。这意味着买家将能够拥有一台可以完全工作的电脑,且除了一台显示器外不需要配备任何额外的东西。

而主线内核支持的到来则将使得 Raspberry Pi 400 更具吸引力。日前排入 SoC/SoC "for-next"分支的补丁就是为 Raspberry Pi 400 增加的 DeviceTree。由于它基本上与 Raspberry Pi 4 非常接近,所以不需要改变内核驱动;但由于 1.8GHz 的时钟频率、不同的 WiFi 芯片、通过 GPIO 处理断电以及 400 型号上没有 ACT LED,所以需要更新 DTS 配置。

正如 Phoronix 所述,归功于现在排在 Linux 5.14 内核之前的 SoC 的下一个 Git 分支中开发人员的努力,Raspberry Pi 400 的支持现状还算良好。不过有点遗憾的是,这个相对简单的附加功能还是花了较长的时间才准备好进入主线。

No comments:

Post a Comment