有關(guān)于操作系統(tǒng)更新的必要性
一般來講系統(tǒng)被攻擊無非就是用戶自己作死,或者系統(tǒng)漏洞被利用。先說系統(tǒng)漏洞被利用這一點(diǎn)。
首先是蘋果是封閉的系統(tǒng),這個(gè)封閉不僅僅是自由度上的封閉。蘋果的設(shè)計(jì)理念是,用戶不需要介入系統(tǒng),一切由系統(tǒng)自動(dòng)化完成。這個(gè)眾所周知的代表是封閉所有第三方應(yīng)用渠道+僅App Store商店模式。但很多人不知道的是,這一理念是被貫徹到蘋果的所有設(shè)計(jì)理念的。比如說連接陌生Wi-Fi這件事情上,我們假設(shè)這就是一個(gè)惡意網(wǎng)關(guān),它會(huì)對(duì)所有連接設(shè)備發(fā)起攻擊。而我們假設(shè)iOS會(huì)受影響。首先是你應(yīng)該知道商業(yè)操作系統(tǒng)一定會(huì)帶遙測(cè)數(shù)據(jù)。我們認(rèn)為用戶為普通用戶,這些用戶發(fā)現(xiàn)自己連接過某一特定Wi-Fi后都中招。那么即使普通用戶不吱聲,蘋果這邊也會(huì)收到這些異常的數(shù)據(jù)(不要問為什么能收到數(shù)據(jù),遙測(cè)數(shù)據(jù)收集的東西遠(yuǎn)比你想象得多),蘋果安全技術(shù)人員分析這些數(shù)據(jù)之后意識(shí)到了攻擊的存在,然后馬上利用分析結(jié)果修復(fù)自己的系統(tǒng),然后將patch推送給用戶,而因?yàn)橄到y(tǒng)更新是完全自動(dòng)完成自動(dòng)重啟的,除了首批中招的用戶以外,所有用戶都不會(huì)再收到同樣的攻擊了。
再看看Windows怎么做的:一個(gè)用戶不顧Windows的阻攔,在旅館自己把網(wǎng)絡(luò)位置改成了公共,受到了網(wǎng)絡(luò)攻擊。這個(gè)用戶有沒有意識(shí)到問題無所謂,因?yàn)橄到y(tǒng)狀況都會(huì)被送給微軟(啊這萬惡的遙測(cè))。經(jīng)過和蘋果相同的做法之后,微軟把更新推給用戶了。這時(shí)候出現(xiàn)了一點(diǎn)阻撓,大多數(shù)用戶他!不!更!新!但不怕,Windows早就改成了強(qiáng)制更新,于是在用戶無視右下角的重啟提示一周后被Windows死拖著重啟了。用戶非常氣憤,表示微軟不尊重用戶,上網(wǎng)上抱怨,還有大量人有著相同的抱怨。殊不知有相同抱怨的人全都免受了這次攻擊,而善于修改組策略的民間大神中招了,于是這個(gè)大神發(fā)帖抱怨道垃圾微軟,我轉(zhuǎn)投蘋果了。
再看看同樣的事情發(fā)生到Linux上面會(huì)怎樣:假設(shè)這個(gè)用戶有基礎(chǔ)的調(diào)試能力、以及所有遇到相同問題的用戶都參與了社區(qū)討論。用戶連接陌生Wi-Fi之后,發(fā)現(xiàn)自己的電腦變得異常了。用戶非常擔(dān)心,在網(wǎng)上提問,引起了內(nèi)核維護(hù)者的關(guān)注,內(nèi)核維護(hù)者經(jīng)過用戶的描述以及轉(zhuǎn)儲(chǔ)文件的分析,終于意識(shí)到了漏洞的存在,于是將內(nèi)核修復(fù)推到主線。發(fā)行版維護(hù)者看到了新一批安全修復(fù),于是將patch給backport回自己使用的內(nèi)核,然后再分發(fā)給用戶。用戶需要手動(dòng)更新,更新完成之后需要手動(dòng)重啟,系統(tǒng)不會(huì)給你任何警告(你存在沒安裝的更新,所以安全漏洞還在),也不會(huì)自動(dòng)完成(除非你特別設(shè)置了自動(dòng)重啟)。重啟完成后,這個(gè)用戶終于不受影響了。但別忘了這是最理想情況。
現(xiàn)實(shí)情況呢?用戶發(fā)現(xiàn)自己電腦不對(duì)勁,發(fā)帖問什么情況,網(wǎng)上的人指導(dǎo)他協(xié)助一起調(diào)試,用戶完全不會(huì),開始吐槽為什么我用個(gè)手機(jī)還要自己調(diào)試系統(tǒng),收獲一堆嘲諷“那你來用Linux是為了干什么”。因?yàn)長(zhǎng)inux桌面用戶基數(shù)過低,無法采樣到足夠的數(shù)據(jù)來分析。攻擊持續(xù)擴(kuò)大,直到這個(gè)漏洞被廣泛利用才受到其他公司的內(nèi)核貢獻(xiàn)者警覺(因?yàn)閷?shí)際上內(nèi)核維護(hù)者并不怎么在乎安全修復(fù)),內(nèi)核維護(hù)者提交修復(fù),被拒絕,理由是破壞用戶模式ABI/影響了非Intel處理器性能/其他commit和這個(gè)修復(fù)沖突,需要繼續(xù)討論(不要問為什么不優(yōu)先merge安全修復(fù),大多數(shù)內(nèi)核維護(hù)者只會(huì)把安全修復(fù)和普通修復(fù)當(dāng)成同級(jí)別的東西看待)。經(jīng)過很長(zhǎng)時(shí)間的爭(zhēng)議終于被推進(jìn)主線,而發(fā)行版維護(hù)者看到了也沒在乎,因?yàn)槊總€(gè)月都有無數(shù)的安全修復(fù),只是例行更新,這個(gè)延遲可能在3天-1周左右。更新開始退給用戶,用戶點(diǎn)了更新之后就沒理他了。繼續(xù)忙自己的項(xiàng)目,電腦也沒怎么關(guān)。于是相同的攻擊再次來臨的時(shí)候這個(gè)用戶中招了。
你會(huì)發(fā)現(xiàn),蘋果的安全,很大程度上是策略上的保證而非技術(shù)。微軟借鑒了這種策略,雖然不受用戶歡迎,但至少能把用戶強(qiáng)拉上。這種完全自動(dòng)化的安全更新,我到現(xiàn)在都沒在任何的Linux桌面上見到。服務(wù)器倒有不少,SUSE、Ubuntu啥的都有。
來自于某q群