2023年9月

数据分析已成为企业的当务之急,并且对具有用户友好界面的数据驱动应用程序有巨大的需求。本文介绍如何使用 R 语言中的 Shiny 包开发交互式 Web 应用程序,R 语言是一种流行的数据科学编程语言。

如今,世界各地几乎所有企业都以某种形式依赖于数据。数据科学通过使用数据驱动的应用程序帮助许多企业实现转型,无论是在金融、银行、零售、物流、电子商务、运输、航空还是任何其他领域。

高性能计算机和低成本存储使我们现在能够在几分钟内预测结果,而不是像以前一样以前需要花费很多时间。数据科学家着眼于未来,正在开发具有高性能和多维可视化的便捷应用。这一切都始于大数据,它由三个组成部分组成:数量、多样性和速度。算法和模型都是根据这些数据提供的。机器学习和人工智能领域最前沿的数据科学家正在创建能够自我改进、检测错误并从中学习的模型。

在数据科学领域,统计和计算用于将数据转化为有用的信息,通常称为数据驱动科学。数据科学是来自各个领域的方法的综合,用于收集、分析和解释数据,以形成新的见解并做出选择。构成数据科学的技术学科包括统计学、概率、数学、机器学习、商业智能和一些编程。

数据科学可以应用于各个领域(图 1)。对大型、复杂数据集的分析是数据科学的重点。它帮助我们创建了一个以全新方式看待数据的新宇宙。亚马逊、谷歌和 Facebook 等科技巨头利用数据科学原理进行商业智能和商业决策。

Figure 1 Key applications-and use cases of data science

R 语言:为数据科学量身打造的语言

由于海量的可用信息,我们迫切需要数据分析以得到新的见解,在多种技术的帮助下,原始数据转化为成品数据产品。在数据研究、处理、转换和可视化方面,没有比 R 语言更好的工具了。

R 语言用于数据科学的主要功能包括:

  • 数据预处理
  • 社交媒体数据获取和分析
  • 对数据结构的各种操作
  • 提取、转换、加载(ETL)
  • 连接到各种数据库,包括 SQL 和电子表格
  • 与 NoSQL 数据库交互
  • 使用模型进行训练和预测
  • 机器学习模型
  • 聚类
  • 傅里叶变换
  • 网页抓取

R 语言是一种强大的编程语言,常用于统计计算和数据分析。有关优化 R 语言用户界面的努力由来已久。从简单的文本编辑器到更现代的交互式 R Studio 和 Jupyter Notebooks,世界各地的多个数据科学小组都在关注 R 语言的发展。

只有全世界 R 用户的贡献才使这一切成为可能。R 语言中包含的强大软件包使其日益强大。许多开源软件包使处理大型数据集和可视化数据变得更加容易和高效。

使用 Shiny 在 R 语言中开发交互式 Web 应用

你可以使用 Shiny 包在 R 语言中构建交互式 Web 应用程序。应用程序可以托管在网站上、嵌入 R Markdown 文档中,或用于开发控制面板板和可视化。CSS 主题、HTML 小部件和 JavaScript 操作都可以用于进一步自定义你的 Shiny 应用程序。

Shiny 是一款 R 语言工具,它可以轻松创建交互式的 Web 应用程序。它允许你将你的 R 代码扩展到 Web 上,从而使更多的人能够使用它,从中获益。

除了 Shiny 内置的功能外,还有许多第三方扩展包可用,例如 shinythemes、shinydashboard 和 shinyjs。

使用 Shiny 可以开发各种应用程序。以下是其中一些:

  • 基于 Web 应用的机器学习
  • 具有动态控件的 Web 应用程序
  • 数据驱动的仪表盘
  • 多重数据集的交互式应用
  • 实时数据可视化面板
  • 数据收集表单

Shiny Web 应用程序可以分为以下几类:

  • 用户接口
  • 服务功能逻辑
  • Shiny 应用逻辑

获取更深理解,请访问以下网站 https://shiny.rstudio.com/gallery/

其中某个用 Shiny 开发的应用如图 2(https://shiny.rstudio.com/gallery/radiant.html )。

Figure 2: Shiny based app

销售仪表盘的生成

下面是一个与销售仪表盘相关的 Web 应用程序的代码片段。该仪表板具有多个控件和用户界面模块,用于查看数据。

首先,安装 Shiny 包,然后在代码中调用它,以便将输出呈现为 Web 页面的形式。

library(shiny)
library(dplyr)

sales <- vroom::vroom(“salesdata.csv”, na = “”)
ui <- fluidPage(
    titlePanel(“Dashboard for Sales Data”),
    sidebarLayout(
        sidebarPanel(
            selectInput(“territories”, “territories”, choices = unique(sales$territories)),
            selectInput(“Customers”, “Customer”, choices = NULL),
            selectInput(“orders”, “Order number”, choices = NULL, size = 5, selectize = FALSE),
        ),
        mainPanel(
            uiOutput(“customer”),
            tableOutput(“data”)
        )
    )
)
server <- function(input, output, session) {
    territories <- reactive({
        req(input$territories)
        filter(sales, territories == input$territories)
    })
    customer <- reactive({
        req(input$Customers)
        filter(territories(), Customers == input$Customers)
    })

    output$customer <- renderUI({
        row <- customer()[1, ]
        tags$div(
            class = “well”,
            tags$p(tags$strong(“Name: “), row$customers),
            tags$p(tags$strong(“Phone: “), row$contact),
            tags$p(tags$strong(“Contact: “), row$fname, “ “, row$lname)
        )
    })

    order <- reactive({
        req(input$order)
        customer() %>%
        filter(ORDER == input$order) %>%
        arrange(OLNUMBER) %>%
        select(pline, qty, price, sales, status)
    })

    output$data <- renderTable(order())

    observeEvent(territories(), {
        updateSelectInput(session, “Customers”, choices = unique(territories()$Customers), selected = character())
    })
    observeEvent(customer(), {
        updateSelectInput(session, “order”, choices = unique(customer()$order))
    })
}
shinyApp(ui, server)

运行 Shiny 应用程序的代码后,生成了图 3 所示的输出,可以在任何 Web 浏览器上查看。销售仪表盘具有多个控件,并且具有不同的用户界面模块,非常互动。

Figure 3: Sales dashboard with multiple controls

通过使用 Shiny Cloud,可以将这个应用程序部署和托管在云上,以便随时随地在互联网上使用。

Figure 4: Cloud for hosting and deployment of Shiny app

Shiny Cloud 的免费版本允许在 25 个活动小时内部署五个应用程序。研究人员和数据科学家可以使用 R 的 Shiny 库开发基于实时数据驱动的用户友好应用程序。这个库也可以用于在 Web 平台上部署他们的机器学习应用程序。

(题图:MJ/1a76ad20-e56d-480b-b28b-8cf74d2230a1)


via: https://www.opensourceforu.com/2022/10/using-r-for-building-an-interactive-web-app/

作者:Dr Kumar Gaurav 选题:lkxed 译者:Charonxin 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

我使用开源的 XFS 文件系统是为了其扩展属性带来的小小便利。扩展属性是一种为我的数据添加上下文的独特方式。

“文件系统” 是一个描述你的计算机怎样跟踪你创建的所有文件的完美词语。你的计算机存储有大量的数据,无论是文档、配置文件还是数以千计的照片。这需要一种对人和机器都友好的方式。诸如 Ext4、XFS、JFS、BtrFS 的文件系统是你的计算机用来跟踪文件的“语言”。

你的桌面或终端可以帮助你快速查找文件。例如,你的文件管理器可能有过滤功能,以便让你可以快速查看家目录内的图片,它也可能带有搜索功能以让你使用文件名定位文件。这些特性被称作文件属性,正如其名,它们是由文件头或者文件系统代码定义的文件对象的属性。大多数的文件系统记录了标准的文件属性,例如文件名、文件大小、文件类型、创建时间、上次访问时间等。

我在我的计算机上使用开源的 XFS 文件系统,不是为了其稳定性和高性能,而是为了其扩展属性带来的小小便利。

常见的文件属性

当你保存一个文件,文件相关的数据也会随同保存。常见的属性会告诉操作系统是否更新访问时间,什么时间同步数据到硬盘等逻辑细节。哪些属性被保存取决于底层文件系统的功能和特性。

在标准文件属性(如果有标准属性的话)之外,XFS、Ext4 和 BtrFS 文件系统都可以使用扩展属性。

扩展属性

XFS、Ext4 和 BtrFs 允许你创建自己的任意文件属性。由于是自己创建的,操作系统不会有内建支持,不过我以“标签”的方式使用它们,就像图片的 EXIF 数据一样。开发者们也许会选择使用扩展属性去开发应用内的自定义的功能。

XFS 中的属性有两个“命名空间”:用户(user)和根(root)。当创建属性时,你必须将其加入其中一个命名空间。要将属性添加到根命名空间,必须使用 sudo 命令或以 root 身份登录。

增加一个属性

你可以使用 attrsetfattr 命令在 XFS 文件系统中为文件增加属性。

attr 命令默认在 user 命名空间下进行,所以你只需要为属性设置一个名字(-s)和值(-V)。

$ attr -s flavor -V vanilla example.txt
Attribute "flavor" set to a 7 byte value for example.txt:
vanilla

setfattr 命令需要你指定目标命名空间:

$ setfattr --name user.flavor --value chocolate example.txt

列出扩展文件属性

使用 attr 或者 getfattr 命令可以看已添加到文件上的扩展属性。attr 命令默认使用 user 空间,使用 -g 以获取扩展属性:

$ attr -g flavor example.txt
Attribute "flavor" had a 9 byte value for example.txt:
chocolate

getfattr 命令需要属性的命名空间和名字:

$ getfattr --name user.flavor example.txt 
# file: example.txt
user.flavor="chocolate"

列出所有扩展属性

要看一个文件的所有扩展属性,你可以使用 attr -l

$ attr -l example.txt
Attribute "md5sum" has a 32 byte value for example.txt
Attribute "flavor" has a 9 byte value for example.txt

或者,你也可以使用 getfattr -d

$ getfattr -d example.txt
# file: example.txt
user.flavor="chocolate"
user.md5sum="969181e76237567018e14fe1448dfd11"

扩展文件属性可以使用 attrsetfattr 更新,就像你创建这些属性一样:

$ setfattr --name user.flavor --value strawberry example.txt

$ getfattr -d example.txt
# file: example.txt
user.flavor="strawberry"
user.md5sum="969181e76237567018e14fe1448dfd11"

其他文件系统上的属性

使用扩展属性最大的风险是忘记这些属性是特定于某个文件系统的。这意味着当你从一个磁盘或分区复制文件到另外一个磁盘或分区时,这些属性都会丢失,即使目标位置的文件系统也支持扩展属性。

为了避免丢失扩展属性,你需要使用支持保留这些属性的工具,例如 rsync 命令。

$ rsync --archive --xattrs ~/example.txt /tmp/

但无论你使用什么工具,如果你传输文件到一个不知道如何处理扩展属性的文件系统,这些属性都会被丢弃。

搜索属性

与扩展属性交互的机制并不多,所以使用这些添加的文件属性的方法也有限。我使用扩展属性作为标签机制,这让我可以将没有明显关系的文件联系起来。例如,假设我需要在一个项目中用“知识共享”的图形。假如我预见性地将 license 属性添加到了我的图形库中,我就可以使用 findgetfattr 在图形文件夹中寻找:

find ~/Graphics/ -type f \
    -exec getfattr \
    --name user.license \
    -m cc-by-sa {} \; 2>/dev/null

# file: /home/tux/Graphics/Linux/kde-eco-award.png
user.license="cc-by-sa"
user.md5sum="969181e76237567018e14fe1448dfd11"

文件系统的秘密

文件系统一般不会引起你的注意。它们实际是定义文件的系统。这不是计算机做的最让人兴奋的任务,也不是用户应该关心的东西。但是有些文件系统可以给你有趣、安全的特殊能力,扩展文件属性就是一个好例子。它的用途可能有限,但是扩展属性是你为数据增加上下文的独特方法。

(题图:MJ/06c0c478-7af7-49e4-836b-a9923db9dc0c)


via: https://opensource.com/article/22/6/linux-attr-command

作者:Seth Kenlon 选题:lkxed 译者:wznmickey 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Unity 新的按安装次数定价激怒了游戏开发社区

多年来,Unity 引擎以其免版税的授权结构赢得了大大小小开发商的好感,这意味着开发商无需根据游戏的销售情况支付额外费用。Unity 于本周二宣布了新的收费结构,在达到一定的最低门槛后,将开始按安装次数向开发者收费,每次安装费用甚至可以高达 0.20 美元,让这种好感被抛到了九霄云外。开发者们的反应非常迅速,可以说是群情激愤。新的 Unity 费用结构将于明年生效,将根据公司的不同订阅层级收取不同的每安装费用。甚至,新的收费结构将适用于以前存在的 Unity 游戏。之前,Unity 允许月收入低于 10 万美元的开发者完全免费使用,其 CEO 在 2015 年推出免费的个人版时说,“我们不会敷衍用户,也不会向他们收取版税。我们说免费,就是免费。”

消息来源:Ars Technica
老王点评:养肥了就该杀了,都是套路。

Ubuntu 23.10 安装程序恢复对 ZFS 文件系统的支持

在基于 Flutter 的新版 Ubuntu Linux 桌面安装程序里,缺少了对 ZFS 根文件系统安装的支持。但最近在即将推出的 Ubuntu 23.10 中,他们恢复了对 ZFS 的“实验性”支持(包括在 subiquity 和桌面安装程序中),但尚不支持 ZFS 加密。由于 OpenZFS 内核驱动程序仍在 Linux 内核主树之外,使用 ZFS 可能面临一定的风险。

消息来源:Phoronix
老王点评:得不到发行版厂商支持的文件系统就很难发展起来。

Stability AI 发布生成式音频 AI

Stability AI 今天宣布其 Stable Audio 技术,让任何人都能使用简单的文字提示生成简短的音频片段。它是利用扩散模型来生成新的音频片段,该模型是在 AudioSparks 音频库中超过 800,000 首授权音乐的基础上训练出来的。Stable Audio 模型大约有 12 亿个参数,与最初发布的用于图像生成的 Stable Diffusion 大致相当。

消息来源:Venture Beat
老王点评:万事皆可训练,万物皆可生成。

无论如何,保持谨慎总是上策!

对于 Linux 的恶意软件,我们并不常提及,这是因为它常会被迅速修复,并且与 Windows/macOS 相比,在现实中被利用的情况相对较少。

然而,一款颇受欢迎的跨平台下载管理器 Free Download Manager,最近引起了一些关注。

虽然在我们的 下载管理器列表 中,并未将其列为 Linux 的推荐选项,但我们的一些读者以及我自己在过去的 Windows 使用体验中,都曾选择了它。

那么,问题来了,这究竟是怎么回事?

伪装成 Linux 版 Free Download Manager 的恶意软件

Free Download Manager 本身并非恶意软件。但问题在于,研究人员发现了一个恶意 Linux 程序包,而这个包,正是假冒 Free Download Manager 的。

安全研究公司卡巴斯基的研究员们 发现,这个恶意程序包已经存在了至少两年(2020-2022年)的时间,而在此期间,大部分使用者并未意识到他们所安装的软件包,含有恶意组件。

许多恶意程序包都试图伪装成市场上受欢迎的程序;那么,这件事究竟是怎么回事呢?

问题的核心在于:这个恶意程序包是通过 Free Download Manager 的官方网站 ? 和其他非官方渠道分发的,一直持续到 2022 年。

? Free Download Manager 的官方网站是 freedownloadmanager.org,正式的下载 URL 是 files2.freedownloadmanager.org

而恶意程序包下载的域名是 deb.fdmpkg.org

换言之,这表明开发者并未察觉其官方网站已被恶意破坏,用户已被重定向,下载安装来自另一个域名的带有恶意的 Linux 程序包。

需要注意的是:并非所有用户在 2020 年至 2022 年期间,都被从官方网站重定向,下载了恶意程序包。然而,这并不能让情况改观,对吧?

你可能下载了,也可能没有下载安装过这个具有感染性的程序包 ?

这个恶意软件究竟干了什么 ?

卡巴斯基的报告在描述这个恶意软件时,称其为 “一种 bash 窃取器”,这种窃取器可以收集系统信息、浏览记录、已保存的密码、加密货币钱包的文件,以及云服务的凭据,包括 AWS、Google Cloud、Oracle Cloud Infrastructure 以及 Azure 等。

考虑到在现实世界中很少看到 Linux 版的恶意软件,因此验证你下载工具的来源和可靠程度是至关重要的,这需要你始终保持谨慎态度。

尽管我们并未明确了解有多少的 Linux 用户习惯使用 Free Download Manager,但这的确是令人警惕的新闻。你应当遵循所有 提高隐私保护的建议,确保你的在线体验安全无忧。

现在,你应该怎么做?

在软件的开发者就此问题做出正式公开回应之前,我会建议你转而使用其他下载管理器:

6 个最好的 Linux 下载管理器

如果你不记得(或无法确认你下载源的准确位置),我会建议你移除该下载管理器。

另外,我建议你阅读卡巴斯基发表的 研究报告,找出可能的系统遭受损害的迹象。如果你的系统中存在相同的文件路径,且 Debian 程序包的恶意校验和与之相吻合,那么你应该手动移除它们。

即使你想要重新下载该软件,在安装包到你的 Linux 系统之前,你也必须核对下载 URL 的准确性。

? 你如何看待 Linux 用户如何保护自己避免受到恶意软件的攻击?欢迎在评论中留言分享你的想法。

(题图:MJ/6b1e3b3f-a880-4342-b38b-500468c72052)


via: https://news.itsfoss.com/free-download-manager-malware/

作者:Ankush Das 选题:lujun9972 译者:ChatGPT 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

这篇文章是《Btrfs 详解》系列文章中的一篇。从 Fedora Linux 33 开始,Btrfs 就是 Fedora Workstation 和 Fedora Silverblue 的默认文件系统。

介绍

文件系统是现代计算机的基础之一。它是任何操作系统必不可少的一部分,且通常不为人注意。但是,像 Btrfs 这样的现代文件系统提供了许多很棒的特性,使计算机的使用更加方便。例如,它可以无感地为你压缩文件,或者为增量备份建立可靠的基础。

这篇文章将带你高屋建瓴地了解 Btrfs 文件系统是如何工作的,有什么特性。本文既不会过多涉及技术细节,也不会研究其底层实现,系列后续的文章会详细介绍一些重要特性。

什么是文件系统

如果你基本了解过文件系统是如何工作的,那么下面的内容对你应该是不陌生的,你可以直接跳到下一节。否则,请先阅读下面对文件系统的简短介绍。

简单来说,文件系统允许你的 PC 去寻找存储在磁盘上的数据。这听起来像是微不足道的工作,但实际上时至今日各种类型的非易失性存储设备(比如机械硬盘、固态硬盘、SD 卡等等)仍然与 1970 年代 PC 被发明时基本相同:一个(巨大的)存储块集合。

Block ” 是最小的可寻址存储单元。PC 上的每个文件内容被存储在多个块中。一个块通常是 4096 字节的大小。这取决于你的硬件和在这之上的软件(即文件系统)。

文件系统允许我们从海量的存储块中查找文件的内容,这是通过所谓的 inode 去实现的。一个 inode 在特殊格式的存储块里记录了文件的信息。这包含文件的大小,哪里去寻找组成文件内容的存储块,访问规则(即谁可读,可写,可执行)等等。

下面是 inode 的示意图:

A text file “myfile.txt” and a hypothetical example of its representation on disk. All the squares are individual storage blocks.

inode 的结构对文件系统的功能有巨大的影响,因此它是各种文件系统诸多的重要数据结构之一。出于这个原因,每个文件系统有各自的 inode 结构。如果你想了解更多信息,看看下面 链接 关于 Btrfs 文件系统 inode 结构的内容。如需更详细地了解各个字段的含义,你可以 参考 ext4 文件系统的 inode 结构。

写时复制(CoW)文件系统

相比 ext4,Btrfs 拥有的杰出特性之一是,它是一个 写时复制 Copy-on-Write (CoW)文件系统。当一个文件被改变和回写磁盘,它不会故意写回它原来的位置,而是被复制和存储在磁盘上的新位置。从这个意义上,可以简单地认为 Cow 是一种 “重定向”,因为文件写入被重定向到不同的存储块上。

这听起来很浪费,但实际上并不是。这是因为被修改的数据无论如何一定会被写到磁盘上,不管文件系统是如何工作的。Btrfs 仅仅是确保了数据被写入在之前没被占据的块上,所以旧数据保持完整。唯一真正的缺点就是这种行为会导致文件碎片化比其他文件系统要快。在日常的电脑使用中,你不太可能会注意到这点差异。

CoW 的优势在哪里?简单的说:文件被修改和编辑的历史被保存了下来。Btrfs 保存文件旧版本的引用(inode)可以轻易地被访问。这个引用就是快照:文件系统在某个时间点的状态镜像。这将是这系列文章里的单独的一篇,所以暂时留到后面介绍。

除了保存文件历史,CoW 文件系统永远处于一致的状态,即使之前的文件系统事务(比如写入一个文件)由于断电等原因没有完成。这是因为文件系统的元数据更新也是写时复制的:文件系统本身永远不会被覆写,所以中断不会使其处于部分写入的状态。

对文件的写时复制

你可以将文件名视为对 inode 的指针。在写入文件的时候,Btrfs 创建一个被修改文件内容(数据)的拷贝,和一个新的 inode(元数据),然后让文件名指向新的 inode,旧的 inode 保持不变。下面是一个假设示例来阐述这点:

Continuation of the example above: 3 more bytes of data were added

这里 myfile.txt 增加了三个字节。传统的文件系统会更新中间的 Data 块去包含新的内容。CoW 文件系统不会改变旧的数据块(图中灰色),写入(复制)更改的数据和元数据在新的地方。值得注意的是,只有被改变的数据块被复制,而不是全部文件。

如果没有空闲的块去写入新内容,Btrfs 将从被旧文件版本占据的数据块中回收空间(除非它们是快照的一部分,本系列后续文章会看到)。

对目录的写时复制

从文件系统的角度看,目录只是特殊类型的文件。与常规文件不同,文件系统直接解释数据块的内容。一个目录有自身的元数据(inode,就像上面说的文件一样)去记录访问权限或修改时间。最简单的形式,存在目录里的数据(被叫作目录项)是一个 inode 引用的列表,每个 inode 又是另外的文件或目录。但是,现代文件系统在目录项中至少会存储一个文件名和对应的 inode 引用。

之前已经指出,写入一个文件会创建之前 inode 的副本,并相应修改其内容。从根本上,这产生了一个和之前无关的新的 inode 。为了让被修改的文件对文件系统可见,所有包含这个文件引用的目录项都会被更新。

这是一个递归的过程!因为一个目录本身是一个带有 inode 的文件。修改目录里的任何一项都会为这个目录文件创建新的 inode 。这会沿着文件系统树递归直到文件系统的根。

所以,只要保留对任何旧目录的引用,并且这些目录没有被删除和覆写,就可以遍历之前旧状态的文件系统树。这就是快照的功能。

后续文章可以期待的内容

Btrfs 不只是一个 Cow 文件系统。它目标是实现高级特性的同时关注容错、修复和易于管理(参见 文档)。本系列未来的文章将会专门介绍这些特性。

  • 子卷 – 文件系统中的文件系统
  • 快照 – 回到过去
  • 压缩 – 透明节省存储空间
  • 配额组 – 限制文件系统大小
  • RAID – 替代 mdadm 配置

这远非 Btrfs 特性的详尽列表。如果你想全面地了解可用特性,查看 维基文档

总结

我希望我已能激起你进一步了解计算机文件系统的兴趣。如果目前你有任何疑问,请在评论区留言讨论以便在日后文章中探讨,同时,你也可以自行学习文中提供的相关资源。如果你发现 Btrfs 中某项特别有趣的功能,也欢迎在评论区提出。如果某个主题收到足够的关注,我可能会在系列文章中新增相关内容。下一篇文章再见!

(题图:MJ/35fa1970-1806-4026-8d58-095a56206ec9)


via: https://fedoramagazine.org/working-with-btrfs-general-concepts/

作者:Andreas Hartmann 选题:lkxed 译者:A2ureStone 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

无人察觉:窃取密码的 Linux 木马已偷偷下载 3 年

安全研究人员报告,一个下载网站间隔性地向 Linux 用户提供恶意软件,盗取密码和其他敏感信息长达三年多,直到最后销声匿迹。该网站提供了一个名为 “免费下载管理器“ 的 Linux 软件。从 2020 年开始,该网站有时会将用户重定向到另外一个恶意域名,提供该应用的恶意版本,它会在目标设备上安装后门。该后门会窃取包括系统信息、浏览历史、保存的密码、加密货币钱包文件以及云服务凭证等信息。这个恶意重定向于 2022 年结束,原因不明。

消息来源:Ars Technica
老王点评:与 Windows 相比,Linux 恶意软件很少被发现,这往往让人们更加掉以轻心,现在检查一下你的 Linux 桌面,或许为时不晚。

谷歌称它的搜索引擎是最好的

在周二开庭的谷歌反垄断诉讼案上,司法部和来自美国各州和地区的 52 位总检察长指控谷歌支付数十亿美元,以换取被设置为手机和网络浏览器的默认搜索引擎,从而非法维持其垄断地位。法官称,谷歌至少在 2010 年就已成为垄断企业,如今控制着超过 89% 的在线搜索市场。谷歌的律师表示,人们选择谷歌作为浏览器和智能手机的默认搜索引擎“是因为谷歌为他们带来了价值,而不是因为他们不得不使用谷歌”。并举例,微软在 Windows 上的默认搜索引擎是必应,但用户切换到谷歌是因为它是搜索市场上更好的产品。而且,谷歌的律师表示,Safari 和 Firefox 通过默认搜索引擎交易换取收入分成,帮助了它们的创新。

消息来源:彭博社
老王点评:谷歌是不是最好的,和它是不是非法维持垄断没有关系。让我们看看这起新时代的 IT 巨头垄断案将如何走向。

OpenSSL 1.1.1 已经走到了生命的尽头

OpenSSL 1.1.1 最初于 2018 年作为开源安全通信库的长期支持版本发布。当时,其背后的团队宣称,该版本将至少支持五年,也就是到今年。要想继续获得 OpenSSL 的支持,就必须升级到 OpenSSL 3.0 LTS 或最新的 3.1 版本。但迁移到更高版本的 OpenSSL 会带来风险和危险,一些依赖 OpenSSL 的服务可能会对更新反应迟钝,尤其是那些硬编码 OpenSSL 服务的物联网组件。实际上,企业宁可花钱让 OpenSSL 维护者和作者继续使用发霉的旧代码,比如,可以购买一份针对企业的价值 5 万美元的年度支持合同。

消息来源:The Register
老王点评:作为一个安全基础组件,这么干净利索的停止服务支持,总是有些不负责任。