自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Gerg:關(guān)于Meltdown和Spectre影響下的Linux內(nèi)核狀況

系統(tǒng) Linux
如果你的 Linux 系統(tǒng)正在運(yùn)行一個(gè)正常的 Linux 發(fā)行版,那么升級(jí)你的內(nèi)核。它們都應(yīng)該已經(jīng)更新了,然后在接下來的幾個(gè)星期里保持更新。我們會(huì)統(tǒng)計(jì)大量在極端情況下出現(xiàn)的 bug ,這里涉及的測(cè)試很復(fù)雜,包括龐大的受影響的各種各樣的系統(tǒng)和工作任務(wù)。

[[220151]]

現(xiàn)在(LCTT 譯注:本文發(fā)表于 1 月初),每個(gè)人都知道一件關(guān)乎電腦安全的“大事”發(fā)生了,真見鬼,等每日郵報(bào)報(bào)道的時(shí)候,你就知道什么是糟糕了...

不管怎樣,除了告訴你這篇寫的及其出色的披露該問題的 Zero 項(xiàng)目的論文之外,我不打算去跟進(jìn)這個(gè)問題已經(jīng)被報(bào)道出來的細(xì)節(jié)。他們應(yīng)該現(xiàn)在就直接頒布 2018 年的 Pwnie 獎(jiǎng),干的太棒了。

如果你想了解我們?nèi)绾卧趦?nèi)核中解決這些問題的技術(shù)細(xì)節(jié),你可以保持關(guān)注了不起的 lwn.net,他們會(huì)把這些細(xì)節(jié)寫成文章。

此外,這有一條很好的關(guān)于這些公告的摘要,包括了各個(gè)廠商的公告。

至于這些涉及的公司是如何處理這些問題的,這可以說是如何與 Linux 內(nèi)核社區(qū)保持溝通的教科書般的例子。這件事涉及到的人和公司都知道發(fā)生了什么,我確定這件事最終會(huì)出現(xiàn),但是目前我需要去關(guān)注的是如何修復(fù)這些涉及到的問題,然后不去點(diǎn)名指責(zé),不管我有多么的想去這么做。

 

你現(xiàn)在能做什么

如果你的 Linux 系統(tǒng)正在運(yùn)行一個(gè)正常的 Linux 發(fā)行版,那么升級(jí)你的內(nèi)核。它們都應(yīng)該已經(jīng)更新了,然后在接下來的幾個(gè)星期里保持更新。我們會(huì)統(tǒng)計(jì)大量在極端情況下出現(xiàn)的 bug ,這里涉及的測(cè)試很復(fù)雜,包括龐大的受影響的各種各樣的系統(tǒng)和工作任務(wù)。如果你的 Linux 發(fā)行版沒有升級(jí)內(nèi)核,我強(qiáng)烈的建議你馬上更換一個(gè) Linux 發(fā)行版。

然而有很多的系統(tǒng)因?yàn)楦鞣N各樣的原因(聽說它們比起“傳統(tǒng)”的企業(yè)發(fā)行版更多)不是在運(yùn)行“正常的” Linux 發(fā)行版上。它們依靠長(zhǎng)期支持版本(LTS)的內(nèi)核升級(jí),或者是正常的穩(wěn)定內(nèi)核升級(jí),或者是內(nèi)部的某人打造版本的內(nèi)核。對(duì)于這部分人,這篇介紹了你能使用的上游內(nèi)核中發(fā)生的混亂是怎么回事。

Meltdown – x86

現(xiàn)在,Linus 的內(nèi)核樹包含了我們當(dāng)前所知的為 x86 架構(gòu)解決 meltdown 漏洞的所有修復(fù)。開啟 CONFIG_PAGE_TABLE_ISOLATION 這個(gè)內(nèi)核構(gòu)建選項(xiàng),然后進(jìn)行重構(gòu)和重啟,所有的設(shè)備應(yīng)該就安全了。

然而,Linus 的內(nèi)核樹當(dāng)前處于 4.15-rc6 這個(gè)版本加上一些未完成的補(bǔ)丁。4.15-rc7 版本要明天才會(huì)推出,里面的一些補(bǔ)丁會(huì)解決一些問題。但是大部分的人不會(huì)在一個(gè)“正常”的環(huán)境里運(yùn)行 -rc 內(nèi)核。

因?yàn)檫@個(gè)原因,x86 內(nèi)核開發(fā)者在頁表隔離page table isolation代碼的開發(fā)過程中做了一個(gè)非常好的工作,好到要反向移植到最新推出的穩(wěn)定內(nèi)核 4.14 的話,我們只需要做一些微不足道的工作。這意味著最新的 4.14 版本(本文發(fā)表時(shí)是 4.14.12 版本),就是你應(yīng)該運(yùn)行的版本。4.14.13 會(huì)在接下來的幾天里推出,這個(gè)更新里有一些額外的修復(fù)補(bǔ)丁,這些補(bǔ)丁是一些運(yùn)行 4.14.12 內(nèi)核且有啟動(dòng)時(shí)間問題的系統(tǒng)所需要的(這是一個(gè)顯而易見的問題,如果它不啟動(dòng),就把這些補(bǔ)丁加入更新排隊(duì)中)。

我個(gè)人要感謝 Andy Lutomirski、Thomas Gleixner、Ingo Molnar、 Borislav Petkov、 Dave Hansen、 Peter Zijlstra、 Josh Poimboeuf、 Juergen Gross 和 Linus Torvalds。他們開發(fā)出了這些修復(fù)補(bǔ)丁,并且為了讓我能輕松地使穩(wěn)定版本能夠正常工作,還把這些補(bǔ)丁以一種形式融合到了上游分支里。沒有這些工作,我甚至不敢想會(huì)發(fā)生什么。

對(duì)于老的長(zhǎng)期支持內(nèi)核(LTS),我主要依靠 Hugh Dickins、 Dave Hansen、 Jiri Kosina 和 Borislav Petkov 優(yōu)秀的工作,來為 4.4 到 4.9 的穩(wěn)定內(nèi)核代碼樹分支帶去相同的功能。我同樣在追蹤討厭的 bug 和缺失的補(bǔ)丁方面從 Guenter Roeck、 Kees Cook、 Jamie Iles 以及其他很多人那里得到了極大的幫助。我要感謝 David Woodhouse、 Eduardo Valentin、 Laura Abbott 和 Rik van Riel 在反向移植和集成方面的幫助,他們的幫助在許多棘手的地方是必不可少的。

這些長(zhǎng)期支持版本的內(nèi)核同樣有 CONFIG_PAGE_TABLE_ISOLATION 這個(gè)內(nèi)核構(gòu)建選項(xiàng),你應(yīng)該開啟它來獲得全方面的保護(hù)。

從主線版本 4.14 和 4.15 的反向移植是非常不一樣的,它們會(huì)出現(xiàn)不同的 bug,我們現(xiàn)在知道了一些在工作中遇見的 VDSO 問題。一些特殊的虛擬機(jī)安裝的時(shí)候會(huì)報(bào)一些奇怪的錯(cuò),但這是只是現(xiàn)在出現(xiàn)的少數(shù)情況,這種情況不應(yīng)該阻止你進(jìn)行升級(jí)。如果你在這些版本中遇到了問題,請(qǐng)讓我們?cè)诜€(wěn)定內(nèi)核郵件列表中知道這件事。

如果你依賴于 4.4 和 4.9 或是現(xiàn)在的 4.14 以外的內(nèi)核代碼樹分支,并且沒有發(fā)行版支持你的話,你就太不幸了。比起你當(dāng)前版本內(nèi)核包含的上百個(gè)已知的漏洞和 bug,缺少補(bǔ)丁去解決 meltdown 問題算是一個(gè)小問題了。你現(xiàn)在最需要考慮的就是馬上把你的系統(tǒng)升級(jí)到最新。

與此同時(shí),臭罵那些強(qiáng)迫你運(yùn)行一個(gè)已被廢棄且不安全的內(nèi)核版本的人,他們是那些需要知道這是完全不顧后果的行為的人中的一份子。

Meltdown – ARM64

現(xiàn)在 ARM64 為解決 Meltdown 問題而開發(fā)的補(bǔ)丁還沒有并入 Linus 的代碼樹,一旦 4.15 在接下來的幾周里成功發(fā)布,他們就準(zhǔn)備階段式地并入 4.16-rc1,因?yàn)檫@些補(bǔ)丁還沒有在一個(gè) Linus 發(fā)布的內(nèi)核中,我不能把它們反向移植進(jìn)一個(gè)穩(wěn)定的內(nèi)核版本里(額……我們有這個(gè)規(guī)矩是有原因的)

由于它們還沒有在一個(gè)已發(fā)布的內(nèi)核版本中,如果你的系統(tǒng)是用的 ARM64 的芯片(例如 Android ),我建議你選擇 Android 公共內(nèi)核代碼樹,現(xiàn)在,所有的 ARM64 補(bǔ)丁都并入 3.18、4.44.9 分支 中。

我強(qiáng)烈建議你關(guān)注這些分支,看隨著時(shí)間的過去,由于測(cè)試了已并入補(bǔ)丁的已發(fā)布的上游內(nèi)核版本,會(huì)不會(huì)有更多的修復(fù)補(bǔ)丁被補(bǔ)充進(jìn)來,特別是我不知道這些補(bǔ)丁會(huì)在什么時(shí)候加進(jìn)穩(wěn)定的長(zhǎng)期支持內(nèi)核版本里。

對(duì)于 4.4 到 4.9 的長(zhǎng)期支持內(nèi)核版本,這些補(bǔ)丁有很大概率永遠(yuǎn)不會(huì)并入它們,因?yàn)樾枰罅康南葲Q補(bǔ)丁。而所有的這些先決補(bǔ)丁長(zhǎng)期以來都一直在 Android 公共內(nèi)核版本中測(cè)試和合并,所以我認(rèn)為現(xiàn)在對(duì)于 ARM 系統(tǒng)來說,僅僅依賴這些內(nèi)核分支而不是長(zhǎng)期支持版本是一個(gè)更好的主意。

同樣需要注意的是,我合并所有的長(zhǎng)期支持內(nèi)核版本的更新到這些分支后通常會(huì)在一天之內(nèi)或者這個(gè)時(shí)間點(diǎn)左右進(jìn)行發(fā)布,所以你無論如何都要關(guān)注這些分支,來確保你的 ARM 系統(tǒng)是最新且安全的。

 

Spectre

現(xiàn)在,事情變得“有趣”了……

再一次,如果你正在運(yùn)行一個(gè)發(fā)行版的內(nèi)核,一些內(nèi)核融入了各種各樣的聲稱能緩解目前大部分問題的補(bǔ)丁,你的內(nèi)核可能就被包含在其中。如果你擔(dān)心這一類的攻擊的話,我建議你更新并測(cè)試看看。

對(duì)于上游來說,很好,現(xiàn)狀就是仍然沒有任何的上游代碼樹分支合并了這些類型的問題相關(guān)的修復(fù)補(bǔ)丁。有很多的郵件列表在討論如何去解決這些問題的解決方案,大量的補(bǔ)丁在這些郵件列表中廣為流傳,但是它們尚處于開發(fā)前期,一些補(bǔ)丁系列甚至沒有被構(gòu)建或者應(yīng)用到任何已知的代碼樹,這些補(bǔ)丁系列彼此之間相互沖突,這是常見的混亂。

這是由于 Spectre 問題是最近被內(nèi)核開發(fā)者解決的。我們所有人都在 Meltdown 問題上工作,我們沒有精確的 Spectre 問題全部的真實(shí)信息,而四處散亂的補(bǔ)丁甚至比公開發(fā)布的補(bǔ)丁還要糟糕。

因?yàn)樗械倪@些原因,我們打算在內(nèi)核社區(qū)里花上幾個(gè)星期去解決這些問題并把它們合并到上游去。修復(fù)補(bǔ)丁會(huì)進(jìn)入到所有內(nèi)核的各種各樣的子系統(tǒng)中,而且在它們被合并后,會(huì)集成并在穩(wěn)定內(nèi)核的更新中發(fā)布,所以再次提醒,無論你使用的是發(fā)行版的內(nèi)核還是長(zhǎng)期支持的穩(wěn)定內(nèi)核版本,你最好并保持更新到最新版。

這不是好消息,我知道,但是這就是現(xiàn)實(shí)。如果有所安慰的話,似乎沒有任何其它的操作系統(tǒng)完全地解決了這些問題,現(xiàn)在整個(gè)產(chǎn)業(yè)都在同一條船上,我們只需要等待,并讓開發(fā)者盡快地解決這些問題。

提出的解決方案并非毫不重要,但是它們中的一些還是非常好的。一些新概念會(huì)被創(chuàng)造出來來幫助解決這些問題,Paul Turner 提出的 Retpoline 方法就是其中的一個(gè)例子。這將是未來大量研究的一個(gè)領(lǐng)域,想出方法去減輕硬件中涉及的潛在問題,希望在它發(fā)生前就去預(yù)見它。

 

其他架構(gòu)的芯片

現(xiàn)在,我沒有看見任何 x86 和 arm64 架構(gòu)以外的芯片架構(gòu)的補(bǔ)丁,聽說在一些企業(yè)發(fā)行版中有一些用于其他類型的處理器的補(bǔ)丁,希望他們?cè)谶@幾周里能浮出水面,合并到合適的上游那里。我不知道什么時(shí)候會(huì)發(fā)生,如果你使用著一個(gè)特殊的架構(gòu),我建議在 arch-specific 郵件列表上問這件事來得到一個(gè)直接的回答。

 

結(jié)論

再次說一遍,更新你的內(nèi)核,不要耽擱,不要止步。更新會(huì)在很長(zhǎng)的一段時(shí)間里持續(xù)地解決這些問題。同樣的,穩(wěn)定和長(zhǎng)期支持內(nèi)核發(fā)行版里仍然有很多其它的 bug 和安全問題,它們和問題的類型無關(guān),所以一直保持更新始終是一個(gè)好主意。

現(xiàn)在,有很多非常勞累、壞脾氣、缺少睡眠的人,他們通常會(huì)生氣地讓內(nèi)核開發(fā)人員竭盡全力地解決這些問題,即使這些問題完全不是開發(fā)人員自己造成的。請(qǐng)關(guān)愛這些可憐的程序猿。他們需要愛、支持,我們可以為他們免費(fèi)提供的他們最愛的飲料,以此來確保我們都可以盡可能快地結(jié)束修補(bǔ)系統(tǒng)。 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2018-03-22 19:30:26

LinuxMeltdownSpectre

2009-06-19 20:32:00

Linux

2020-05-21 10:41:04

NFVVNF網(wǎng)絡(luò)虛擬化

2018-01-31 08:35:03

2024-11-14 15:56:18

2010-08-27 09:14:32

DHCPdhcpd

2024-04-11 13:17:56

2009-06-15 14:37:00

如何安裝netbean

2018-01-09 17:35:11

LinuxUbuntu 17.1修復(fù)

2020-10-15 12:24:46

Linux漏洞攻擊

2019-12-24 18:02:19

龍芯

2021-04-04 22:48:20

Linux網(wǎng)絡(luò)安全、漏洞

2009-03-11 19:09:52

Linux兼容內(nèi)核Wine

2010-03-08 15:28:31

Linux內(nèi)核安全

2018-01-18 22:58:45

數(shù)據(jù)中心云計(jì)算人工智能

2011-01-14 15:30:44

2014-08-28 15:08:35

Linux內(nèi)核

2018-03-15 09:40:01

2009-07-27 08:50:29

2010-06-07 15:17:48

Linux下dhcp測(cè)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)