AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 992232
Accepted
Robie Basak
Robie Basak
Asked: 2018-01-05 04:53:45 +0800 CST2018-01-05 04:53:45 +0800 CST 2018-01-05 04:53:45 +0800 CST

Ubuntu 在 Meltdown 和 Spectre 漏洞上的状态如何?

  • 772

任何与状态更新有关的问题,或询问是否会针对这些漏洞进行修补的任何问题都应作为此问题的重复项关闭。

Meltdown 和 Spectre现在出现在新闻中,听起来相当严重。我没有看到任何来自 Ubuntu 的涵盖这些漏洞的安全更新。

Ubuntu 对这些漏洞做了什么,Ubuntu 用户应该怎么做?

它们是 CVE-2017-5753、CVE-2017-5715 和 CVE-2017-5754。

security
  • 3 3 个回答
  • 28764 Views

3 个回答

  • Voted
  1. Best Answer
    Robie Basak
    2018-01-05T04:53:45+08:002018-01-05T04:53:45+08:00

    发现一类新的侧信道攻击会影响大多数处理器,包括来自 Intel、AMD 和 ARM 的处理器。该攻击允许恶意用户空间进程读取内核内存和来​​宾中的恶意代码读取管理程序内存。

    为了解决这个问题,需要更新 Ubuntu 内核和处理器微码。更新在Ubuntu 安全通知中公布。现已宣布与 Meltdown/Spectre 相关的更新,包括对内核和一些用户空间软件的更新。

    已发布以下更新:

    • Ubuntu 内核更新适用于USN 3522-1(适用于 Ubuntu 16.04 LTS)、USN 3523-1(适用于 Ubuntu 17.10)、USN 3522-2(适用于 Ubuntu 14.04 LTS (HWE))和USN-3524-1(适用于 Ubuntu 14.04 LTS)。
    • 进一步的内核更新(包括针对 Spectre 变体的缓解措施和针对 Meltdown 的其他缓解措施)于 2018 年 1 月 22 日在USN-3541-2(适用于 Ubuntu 16.04 LTS (HWE))、USN-3540-1(适用于 Ubuntu 16.04 LTS )中提供)、USN-3541-1(适用于 Ubuntu 17.10)、USN-3540-2(适用于 Ubuntu 14.04 LTS (HWE))、USN-3542-1(适用于 Ubuntu 14.04 LTS)、USN-3542-2(适用于 Ubuntu 12.04 LTS (HWE))。
    • USN-3516-1提供 Firefox 更新。
    • USN-3521-1提供 NVIDIA 驱动程序更新。
    • USN-3531-1提供英特尔微码更新。由于回归,微码更新现已恢复( USN-3531-2)。

    用户应立即安装更新,因为它们以正常方式发布。内核和微码更新需要重新启动才能生效。

    用户可以在重启后验证内核页表隔离补丁是否处于活动状态。

    Ubuntu 17.04 (Zesty Zapus) 的更新将不会提供,因为它已于 2018 年 1 月 13 日结束生命周期。

    在发布安全更新之前,Dustin Kirkland 在一篇博文中提供了更多关于更新的详细信息,包括提到内核更新以及 CPU 微码、gcc 和 qemu 更新。

    来自 Canonical 的 Kiko Reis 于2018 年 1 月 24 日写了一篇关于这些漏洞的影响及其对 Ubuntu 用户的缓解措施的易于理解的描述。

    Ubuntu 安全团队正在维护他们在这些问题上的当前状态以及官方技术常见问题解答,其中详细介绍了特定的单个漏洞变体及其在不同用例下的迁移。

    请注意,从 v4.15(2018 年 1 月 28 日)及以后的 Linux 主线和稳定版本更新包括适当的修复,Ubuntu 内核基于这些修复。因此,任何使用 Linux 内核版本 4.15.0 及更高版本的 Ubuntu 都已打补丁(包括 18.04 和 18.10)。

    • 49
  2. Thomas Ward
    2018-01-06T05:24:16+08:002018-01-06T05:24:16+08:00

    这里有一些具体的事情要记住,这是从我所在的一些分析和安全邮件列表中挑选出来的,不仅仅是 Ubuntu:

    1. Meltdown攻击可以在内核级别进行修补。这将有助于防止 Meltdown 漏洞集。

    2. Spectre攻击向量更难防御,但也更难被坏人利用。虽然有针对已知攻击向量的软件补丁,例如可以修补的 LLVM 攻击向量,但核心问题是,要真正修复 Spectre,您必须更改 CPU 硬件的工作方式和行为方式。这使得防御变得更加困难,因为只有已知的攻击向量才能真正被修补。但是,每个软件都需要针对此问题进行单独强化,这意味着它是“一个补丁无法解决所有问题”的交易之一。

    现在,对于大问题:

    • Ubuntu 会修补 Meltdown 和 Spectre 漏洞吗?
      • 答案是肯定的,但这很棘手,补丁会渗入内核,但内核和安全团队会随时进行测试,并且可能会在他们必须修补以修复意外问题的过程中看到意外的回归。不过,安全和内核团队正在为此努力。
    • 什么时候可以修复?

      • 我会给你我从内核团队得到的相同答案:“当我们确信补丁可以正常工作并且我们在此过程中不会破坏其他任何东西时。”

        现在,要考虑一件大事:公开披露的目标日期是 1 月 9 日,这应该与修复程序的发布相吻合。然而,披露发生在 1 月 3 日。内核团队和安全团队仍将目标定在 1 月 9 日,但这不是一个确定的截止日期,如果在此过程中出现任何与内核有关的重大问题,可能会出现延迟

    • 我应该在某个地方寻找有关 Meltdown 和 Spectre 的更多更新吗?

      • 是的,实际上。 Ubuntu 安全团队有一篇关于 Spectre 和 Meltdown 的知识库文章,在那里你会注意到一些关于发布修复的时间表的状态报告以及未发布的内容。

        您还应该观看 Ubuntu 安全团队的安全通知站点,并密切关注内核可用修复的公告。


    您应该关注的其他相关链接:

    • 崩溃和幽灵 - 信息网站
    • Ubuntu 安全团队知识库 - Spectre 和 Meltdown
    • Ubuntu CVE 跟踪器 - 崩溃 - CVE-2017-5754
    • Ubuntu CVE 跟踪器 - Spectre - 1 of 2 - CVE-2017-5715
    • Ubuntu CVE 跟踪器 - Spectre - 2 之 2 - CVE-2017-5753
    • 30
  3. WinEunuuchs2Unix
    2018-01-05T17:44:43+08:002018-01-05T17:44:43+08:00

    2018 年 1 月 20 日

    Spectre protection ( Retpoline ) 由 Linux Kernel 团队于 2018 年 1 月 15 日针对 Kernel 4.9.77 和 4.14.14 发布。Ubuntu Kernel 团队仅在 2018 年 1 月 17 日发布了内核版本 4.9.77,尚未发布内核版本 4.14 .14. 原因尚不清楚为什么但 4.14.14 已被重新请求,如 Ask Ubuntu 中的回答:为什么发布内核 4.9.77 而不是内核 4.14.14?直到今天才出现。

    2018 年 1 月 17 日 为 Meltdown 添加 Spectre 支持

    我认为有些人会对 4.14.14(来自 4.14.13)中的更改感兴趣,正如程序员评论中所记录的那样,我认为从我有限的接触来看,这些对于内核 C 程序员来说非常详细。以下是从 4.​​14.13 到 4.14.14 内核的变化,主要集中在Spectre支持上:

    +What:  /sys/devices/system/cpu/vulnerabilities
    +       /sys/devices/system/cpu/vulnerabilities/meltdown
    +       /sys/devices/system/cpu/vulnerabilities/spectre_v1
    +       /sys/devices/system/cpu/vulnerabilities/spectre_v2
    +Date:      January 2018
    +Contact:   Linux kernel mailing list <[email protected]>
    +Description:   Information about CPU vulnerabilities
    +
    +       The files are named after the code names of CPU
    +       vulnerabilities. The output of those files reflects the
    +       state of the CPUs in the system. Possible output values:
    +
    +       "Not affected"    CPU is not affected by the vulnerability
    +       "Vulnerable"      CPU is affected and no mitigation in effect
    +       "Mitigation: $M"  CPU is affected and mitigation $M is in effect
    diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
    index 520fdec15bbb..8122b5f98ea1 100644
    --- a/Documentation/admin-guide/kernel-parameters.txt
    +++ b/Documentation/admin-guide/kernel-parameters.txt
    @@ -2599,6 +2599,11 @@ 
        nosmt       [KNL,S390] Disable symmetric multithreading (SMT).
                Equivalent to smt=1.
    
    +   nospectre_v2    [X86] Disable all mitigations for the Spectre variant 2
    +           (indirect branch prediction) vulnerability. System may
    +           allow data leaks with this option, which is equivalent
    +           to spectre_v2=off.
    +
        noxsave     [BUGS=X86] Disables x86 extended register state save
                and restore using xsave. The kernel will fallback to
                enabling legacy floating-point and sse state.
    @@ -2685,8 +2690,6 @@ 
                steal time is computed, but won't influence scheduler
                behaviour
    
    -   nopti       [X86-64] Disable kernel page table isolation
    -
        nolapic     [X86-32,APIC] Do not enable or use the local APIC.
    
        nolapic_timer   [X86-32,APIC] Do not use the local APIC timer.
    @@ -3255,11 +3258,20 @@ 
        pt.     [PARIDE]
                See Documentation/blockdev/paride.txt.
    
    -   pti=        [X86_64]
    -           Control user/kernel address space isolation:
    -           on - enable
    -           off - disable
    -           auto - default setting
    +   pti=        [X86_64] Control Page Table Isolation of user and
    +           kernel address spaces.  Disabling this feature
    +           removes hardening, but improves performance of
    +           system calls and interrupts.
    +
    +           on   - unconditionally enable
    +           off  - unconditionally disable
    +           auto - kernel detects whether your CPU model is
    +                  vulnerable to issues that PTI mitigates
    +
    +           Not specifying this option is equivalent to pti=auto.
    +
    +   nopti       [X86_64]
    +           Equivalent to pti=off
    
        pty.legacy_count=
                [KNL] Number of legacy pty's. Overwrites compiled-in
    @@ -3901,6 +3913,29 @@ 
        sonypi.*=   [HW] Sony Programmable I/O Control Device driver
                See Documentation/laptops/sonypi.txt
    
    +   spectre_v2= [X86] Control mitigation of Spectre variant 2
    +           (indirect branch speculation) vulnerability.
    +
    +           on   - unconditionally enable
    +           off  - unconditionally disable
    +           auto - kernel detects whether your CPU model is
    +                  vulnerable
    +
    +           Selecting 'on' will, and 'auto' may, choose a
    +           mitigation method at run time according to the
    +           CPU, the available microcode, the setting of the
    +           CONFIG_RETPOLINE configuration option, and the
    +           compiler with which the kernel was built.
    +
    +           Specific mitigations can also be selected manually:
    +
    +           retpoline     - replace indirect branches
    +           retpoline,generic - google's original retpoline
    +           retpoline,amd     - AMD-specific minimal thunk
    +
    +           Not specifying this option is equivalent to
    +           spectre_v2=auto.
    +
        spia_io_base=   [HW,MTD]
        spia_fio_base=
        spia_pedr=
    diff --git a/Documentation/x86/pti.txt b/Documentation/x86/pti.txt
    new file mode 100644
    index 000000000000..d11eff61fc9a
    --- /dev/null
    +++ b/Documentation/x86/pti.txt
    @@ -0,0 +1,186 @@ 
    +Overview
    +========
    +
    +Page Table Isolation (pti, previously known as KAISER[1]) is a
    +countermeasure against attacks on the shared user/kernel address
    +space such as the "Meltdown" approach[2].
    +
    +To mitigate this class of attacks, we create an independent set of
    +page tables for use only when running userspace applications.  When
    +the kernel is entered via syscalls, interrupts or exceptions, the
    +page tables are switched to the full "kernel" copy.  When the system
    +switches back to user mode, the user copy is used again.
    +
    +The userspace page tables contain only a minimal amount of kernel
    +data: only what is needed to enter/exit the kernel such as the
    +entry/exit functions themselves and the interrupt descriptor table
    +(IDT).  There are a few strictly unnecessary things that get mapped
    +such as the first C function when entering an interrupt (see
    +comments in pti.c).
    +
    +This approach helps to ensure that side-channel attacks leveraging
    +the paging structures do not function when PTI is enabled.  It can be
    +enabled by setting CONFIG_PAGE_TABLE_ISOLATION=y at compile time.
    +Once enabled at compile-time, it can be disabled at boot with the
    +'nopti' or 'pti=' kernel parameters (see kernel-parameters.txt).
    +
    +Page Table Management
    +=====================
    +
    +When PTI is enabled, the kernel manages two sets of page tables.
    +The first set is very similar to the single set which is present in
    +kernels without PTI.  This includes a complete mapping of userspace
    +that the kernel can use for things like copy_to_user().
    +
    +Although _complete_, the user portion of the kernel page tables is
    +crippled by setting the NX bit in the top level.  This ensures
    +that any missed kernel->user CR3 switch will immediately crash
    +userspace upon executing its first instruction.
    +
    +The userspace page tables map only the kernel data needed to enter
    +and exit the kernel.  This data is entirely contained in the 'struct
    +cpu_entry_area' structure which is placed in the fixmap which gives
    +each CPU's copy of the area a compile-time-fixed virtual address.
    +
    +For new userspace mappings, the kernel makes the entries in its
    +page tables like normal.  The only difference is when the kernel
    +makes entries in the top (PGD) level.  In addition to setting the
    +entry in the main kernel PGD, a copy of the entry is made in the
    +userspace page tables' PGD.
    +
    +This sharing at the PGD level also inherently shares all the lower
    +layers of the page tables.  This leaves a single, shared set of
    +userspace page tables to manage.  One PTE to lock, one set of
    +accessed bits, dirty bits, etc...
    +
    +Overhead
    +========
    +
    +Protection against side-channel attacks is important.  But,
    +this protection comes at a cost:
    +
    +1. Increased Memory Use
    +  a. Each process now needs an order-1 PGD instead of order-0.
    +     (Consumes an additional 4k per process).
    +  b. The 'cpu_entry_area' structure must be 2MB in size and 2MB
    +     aligned so that it can be mapped by setting a single PMD
    +     entry.  This consumes nearly 2MB of RAM once the kernel
    +     is decompressed, but no space in the kernel image itself.
    +
    +2. Runtime Cost
    +  a. CR3 manipulation to switch between the page table copies
    +     must be done at interrupt, syscall, and exception entry
    +     and exit (it can be skipped when the kernel is interrupted,
    +     though.)  Moves to CR3 are on the order of a hundred
    +     cycles, and are required at every entry and exit.
    +  b. A "trampoline" must be used for SYSCALL entry.  This
    +     trampoline depends on a smaller set of resources than the
    +     non-PTI SYSCALL entry code, so requires mapping fewer
    +     things into the userspace page tables.  The downside is
    +     that stacks must be switched at entry time.
    +  d. Global pages are disabled for all kernel structures not
    +     mapped into both kernel and userspace page tables.  This
    +     feature of the MMU allows different processes to share TLB
    +     entries mapping the kernel.  Losing the feature means more
    +     TLB misses after a context switch.  The actual loss of
    +     performance is very small, however, never exceeding 1%.
    +  d. Process Context IDentifiers (PCID) is a CPU feature that
    +     allows us to skip flushing the entire TLB when switching page
    +     tables by setting a special bit in CR3 when the page tables
    +     are changed.  This makes switching the page tables (at context
    +     switch, or kernel entry/exit) cheaper.  But, on systems with
    +     PCID support, the context switch code must flush both the user
    +     and kernel entries out of the TLB.  The user PCID TLB flush is
    +     deferred until the exit to userspace, minimizing the cost.
    +     See intel.com/sdm for the gory PCID/INVPCID details.
    +  e. The userspace page tables must be populated for each new
    +     process.  Even without PTI, the shared kernel mappings
    +     are created by copying top-level (PGD) entries into each
    +     new process.  But, with PTI, there are now *two* kernel
    +     mappings: one in the kernel page tables that maps everything
    +     and one for the entry/exit structures.  At fork(), we need to
    +     copy both.
    +  f. In addition to the fork()-time copying, there must also
    +     be an update to the userspace PGD any time a set_pgd() is done
    +     on a PGD used to map userspace.  This ensures that the kernel
    +     and userspace copies always map the same userspace
    +     memory.
    +  g. On systems without PCID support, each CR3 write flushes
    +     the entire TLB.  That means that each syscall, interrupt
    +     or exception flushes the TLB.
    +  h. INVPCID is a TLB-flushing instruction which allows flushing
    +     of TLB entries for non-current PCIDs.  Some systems support
    +     PCIDs, but do not support INVPCID.  On these systems, addresses
    +     can only be flushed from the TLB for the current PCID.  When
    +     flushing a kernel address, we need to flush all PCIDs, so a
    +     single kernel address flush will require a TLB-flushing CR3
    +     write upon the next use of every PCID.
    +
    +Possible Future Work
    +====================
    +1. We can be more careful about not actually writing to CR3
    +   unless its value is actually changed.
    +2. Allow PTI to be enabled/disabled at runtime in addition to the
    +   boot-time switching.
    +
    +Testing
    +========
    +
    +To test stability of PTI, the following test procedure is recommended,
    +ideally doing all of these in parallel:
    +
    +1. Set CONFIG_DEBUG_ENTRY=y
    +2. Run several copies of all of the tools/testing/selftests/x86/ tests
    +   (excluding MPX and protection_keys) in a loop on multiple CPUs for
    +   several minutes.  These tests frequently uncover corner cases in the
    +   kernel entry code.  In general, old kernels might cause these tests
    +   themselves to crash, but they should never crash the kernel.
    +3. Run the 'perf' tool in a mode (top or record) that generates many
    +   frequent performance monitoring non-maskable interrupts (see "NMI"
    +   in /proc/interrupts).  This exercises the NMI entry/exit code which
    +   is known to trigger bugs in code paths that did not expect to be
    +   interrupted, including nested NMIs.  Using "-c" boosts the rate of
    +   NMIs, and using two -c with separate counters encourages nested NMIs
    +   and less deterministic behavior.
    +
    +   while true; do perf record -c 10000 -e instructions,cycles -a sleep 10; done
    +
    +4. Launch a KVM virtual machine.
    +5. Run 32-bit binaries on systems supporting the SYSCALL instruction.
    +   This has been a lightly-tested code path and needs extra scrutiny.
    +
    +Debugging
    +=========
    +
    +Bugs in PTI cause a few different signatures of crashes
    +that are worth noting here.
    +
    + * Failures of the selftests/x86 code.  Usually a bug in one of the
    +   more obscure corners of entry_64.S
    + * Crashes in early boot, especially around CPU bringup.  Bugs
    +   in the trampoline code or mappings cause these.
    + * Crashes at the first interrupt.  Caused by bugs in entry_64.S,
    +   like screwing up a page table switch.  Also caused by
    +   incorrectly mapping the IRQ handler entry code.
    + * Crashes at the first NMI.  The NMI code is separate from main
    +   interrupt handlers and can have bugs that do not affect
    +   normal interrupts.  Also caused by incorrectly mapping NMI
    +   code.  NMIs that interrupt the entry code must be very
    +   careful and can be the cause of crashes that show up when
    +   running perf.
    + * Kernel crashes at the first exit to userspace.  entry_64.S
    +   bugs, or failing to map some of the exit code.
    + * Crashes at first interrupt that interrupts userspace. The paths
    +   in entry_64.S that return to userspace are sometimes separate
    +   from the ones that return to the kernel.
    + * Double faults: overflowing the kernel stack because of page
    +   faults upon page faults.  Caused by touching non-pti-mapped
    +   data in the entry code, or forgetting to switch to kernel
    +   CR3 before calling into C functions which are not pti-mapped.
    + * Userspace segfaults early in boot, sometimes manifesting
    +   as mount(8) failing to mount the rootfs.  These have
    +   tended to be TLB invalidation issues.  Usually invalidating
    +   the wrong PCID, or otherwise missing an invalidation.
    

    如果您对程序员的文档有任何疑问,请在下面发表评论,我会尽力回答。

    2018 年 1 月 16 日在 4.14.14 和 4.9.77 中更新 Spectre

    如果您已经像我一样在运行内核版本 4.14.13 或 4.9.76,那么安装它们4.14.14并4.9.77在几天后出现以缓解 Spectre 安全漏洞时,这是一个明智的选择。此修复程序的名称是Retpoline,它没有先前推测的严重性能损失:

    Greg Kroah-Hartman 已经为 Linux 4.9 和 4.14 发布了最新的补丁,现在包括 Retpoline 支持。

    此 X86_FEATURE_RETPOLINE 已为所有 AMD/Intel CPU 启用。要获得全面支持,您还需要使用包含 -mindirect-branch=thunk-extern 支持的更新的 GCC 编译器构建内核。GCC 更改昨天在 GCC 8.0 中登陆,并且正在可能向后移植到 GCC 7.3。

    那些想要禁用 Retpoline 支持的用户可以使用noretpoline启动已修补的内核。

    2018 年 1 月 12 日更新

    Spectre的初步保护已经存在,并将在未来数周和数月内得到改善。

    Linux 内核 4.14.13、4.9.76 LTS 和 4.4.111 LTS

    来自这篇Softpedia 文章:

    Linux 内核 4.14.13、4.9.76 LTS 和 4.4.111 LTS 现在可以从 kernel.org 下载,它们包括针对 Spectre 安全漏洞的更多修复,以及来自 Linux 4.14.12、4.9 的一些回归上周发布的 .75 LTS 和 4.4.110 LTS 内核,因为一些报告了小问题。

    这些问题现在似乎已得到修复,因此可以安全地将基于 Linux 的操作系统更新到今天发布的新内核版本,其中包括更多 x86 更新、一些 PA-RISC、s390 和 PowerPC (PPC) 修复,以及对驱动程序(Intel i915、crypto、IOMMU、MTD)以及通常的 mm 和核心内核更改。

    许多用户在 2018 年 1 月 4 日和 2018 年 1 月 10 日遇到了 Ubuntu LTS 更新问题。我已经使用4.14.13了几天没有任何问题,但是YMMV。跳到底部以获取有关安装内核 14.14.13 的说明。


    2018 年 1 月 7 日更新

    Greg Kroah-Hartman昨天写了一篇关于 Meltdown 和 Spectre Linux 内核安全漏洞的状态更新。有人可能会称他为 Linux 世界中仅次于 Linus 的第二大权势人物。这篇文章讨论了大多数 Ubuntu 使用的稳定内核(下面讨论)和 LTS 内核。

    不建议普通 Ubuntu 用户使用

    此方法涉及手动安装最新的主线(稳定)内核,不建议普通 Ubuntu 用户使用。原因是在您手动安装稳定内核后,它会一直保留在那里,直到您手动安装更新(或更旧)的内核。一般的 Ubuntu 用户都在 LTS 分支上,它将自动安装一个新内核。

    正如其他人所提到的,等待 Ubuntu 内核团队通过常规流程推出更新更简单。

    此答案适用于希望立即修复“Meltdown”安全性并愿意做额外手动工作的高级 Ubuntu 用户。

    Linux 内核 4.14.11、4.9.74、4.4.109、3.16.52 和 3.2.97 补丁崩溃缺陷

    从这篇文章:

    敦促用户立即更新他们的系统

    2018 年 1 月 4 日 01:42 GMT · 作者 Marius Nestor

    Linux 内核维护者 Greg Kroah-Hartman 和 Ben Hutchings 发布了 Linux 4.14、4.9、4.4、3.16、3.18 和 3.12 LTS(长期支持)内核系列的新版本,显然修补了影响大多数现代操作系统的两个关键安全漏洞之一处理器。

    现在可以从 kernel.org 网站下载 Linux 4.14.11、4.9.74、4.4.109、3.16.52、3.18.91 和 3.2.97 内核,并敦促用户更新他们的 GNU/Linux 发行版如果这些新版本立即运行任何这些内核系列。为什么要更新?因为他们显然修补了一个名为 Meltdown 的严重漏洞。

    如前所述,Meltdown 和 Spectre 是两个漏洞,影响了过去 25 年发布的几乎所有由现代处理器 (CPU) 驱动的设备。是的,这意味着几乎所有的手机和个人电脑。无特权的攻击者可以利用 Meltdown 恶意获取存储在内核内存中的敏感信息。

    Spectre漏洞补丁仍在开发中

    虽然 Meltdown 是一个严重的漏洞,它可以暴露您的秘密数据,包括密码和加密密钥,但 Spectre 更糟糕,而且不容易修复。安全研究人员表示,它会困扰我们相当长的一段时间。Spectre 以利用现代 CPU 使用的推测执行技术来优化性能而闻名。

    在 Spectre 错误也被修补之前,强烈建议您至少将 GNU/Linux 发行版更新到任何新发布的 Linux 内核版本。因此,请在您最喜欢的发行版的软件存储库中搜索新的内核更新并尽快安装它。不要等到为时已晚,立即行动!


    我已经使用 Kernel 4.14.10 一个星期了,所以下载和启动 Ubuntu Mainline Kernel 4.14.11版本对我来说并不太担心。

    Ubuntu 16.04 用户可能更喜欢与 4.14.11 同时发布的 4.4.109 或 4.9.74 内核版本。

    如果您的常规更新没有安装您想要的内核版本,您可以按照这个 Ask Ubuntu 回答手动进行:如何将内核更新到最新的主线版本?


    4.14.12 - 一天的不同

    在我最初回答后不到 24 小时,发布了一个补丁来修复他们可能匆忙推出的 4.14.11 内核版本。建议所有 4.14.11 用户升级到4.14.12 。格雷格-KH 说:

    我宣布发布 4.14.12 内核。

    4.14 内核系列的所有用户都必须升级。

    在此版本中,人们仍然遇到了一些小问题。希望他们能在本周末得到解决,因为补丁还没有落在 Linus 的树上。

    现在,一如既往,请测试您的环境。

    看看这个更新,并没有多少行源代码被改变。


    内核 4.14.13 安装

    Linux 内核 4.14.13、4.9.76 和 4.4.111 中引入了更多的 Meltdown 修订和 Spectre 功能的开始。

    您要安装最新的主线内核的原因有:

    • 上次 Ubuntu LTS 内核更新中的一个错误
    • 当前的 Ubuntu LTS 内核更新流不支持您的新硬件
    • 您想要仅在最新的主线内核版本中可用的安全升级或新功能。

    截至 2018 年 1 月 15 日,最新的稳定主线内核为4.14.13. 如果您选择手动安装它,您应该知道:

    • 旧的 LTS 内核将不会得到更新,直到它们大于标题为Ubuntu的主菜单第一个选项。
    • 手动安装的内核不会使用通常的sudo apt auto-remove命令删除。您需要遵循:如何删除旧内核版本以清理启动菜单?
    • 监视旧内核的发展,以便您何时恢复使用常规 LTS 内核更新方法。然后删除手动安装的主线内核,如上一个要点链接中所述。
    • 在手动删除最新的主线内核运行sudo update-grub之后,Ubuntu 的最新 LTS 内核将成为Grub 主菜单上名为Ubuntu的第一个选项。

    既然警告已经消失,要安装最新的主线内核(4.14.13),请点击以下链接:如何在没有任何发行版升级的情况下将内核更新到最新的主线版本?

    主线内核 4.14.13.png

    • 2

相关问题

  • 服务器的最佳rootkit删除工具?

  • 从 Ubuntu 中完全删除密钥环是否安全?

  • 如何从命令行仅安装安全更新?关于如何管理更新的一些提示

  • iptables 的图形用户界面?

  • 如何与无头服务器进行图形交互?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve