想像一下你去7-11繳費(fèi)。
你和店員說(shuō)我要繳費(fèi),店員給你一個(gè)表格要你填,你填好後交給店員,店員幫你收款。
完成。
簡(jiǎn)單。
想像一下7-11現(xiàn)在沒(méi)有店員。
你必須自己知道要填哪個(gè)表格,找到表格放在哪裡。
填好之後要輸入給收銀機(jī),要自己刷條碼然後付錢(qián),在收款,確認(rèn)金額等等。
阿等等,你填錯(cuò)了,那張是店家自爆申請(qǐng)表,這家7-11等一下就要爆炸了!
在電腦科學(xué)上,這就是使用者層面和Kernel的差別。
普通的程式只能在使用者層面執(zhí)行(他們只能和店員互動(dòng))
只會(huì)發(fā)生給錯(cuò)錢(qián),忘記帶卡這類(lèi)小型BUG。
不會(huì)發(fā)生咖啡機(jī)沒(méi)關(guān),整個(gè)櫃臺(tái)被咖啡淹沒(méi)這種致命的BUG,因?yàn)槠胀ǖ某淌經(jīng)]有權(quán)限去碰後臺(tái)的東西,所以不會(huì)發(fā)生。
特殊的程式,例如作業(yè)系統(tǒng),就必須在Kernel層執(zhí)行。
它們就能碰觸到所有的東西,可以開(kāi)收銀機(jī),可以關(guān)電燈,可以標(biāo)價(jià)格,可以訂購(gòu)飯糰要幾個(gè)。
店員就是作業(yè)系統(tǒng),他有7-11的Kernel權(quán)限。
現(xiàn)在想像一下,7-11為了要促進(jìn)工作環(huán)境的安全和提升生產(chǎn)力,在每間店裡面安排了一位保鑣。
他會(huì)幫助店員趕走惡意人士,阻止詐騙集團(tuán),觀察店員有沒(méi)有偷懶之類(lèi)的。
很明顯的,如果保鑣想要正確執(zhí)行他的工作,他也會(huì)需要Kernel權(quán)限。
這就是發(fā)生在之前的微軟全球大當(dāng)機(jī)的情況,CrowdStrike這家防毒軟體公司有微軟的Kernel權(quán)限。
這樣他才能看到後臺(tái)的詳細(xì)情況,才能偵測(cè)到病毒(比較厲害的病毒都是在Kernel層執(zhí)行的)。
結(jié)果CrowdStrike更新出包,如果只是普通的程式還沒(méi)關(guān)係,問(wèn)題在CrowdStrike有Kernel權(quán)限,他把後臺(tái)整個(gè)搞爛了,用普通方法沒(méi)辦法恢復(fù)。
結(jié)果呢???
現(xiàn)在微軟在重新考慮他們對(duì)於Kernel權(quán)限的政策了,
雖然說(shuō)是業(yè)務(wù)工作必須,但是就這樣把Kernel權(quán)限給出去也不太妥。
之前也許有人會(huì)說(shuō)利大於弊。
現(xiàn)在出過(guò)一次這麼大的包後就不能再這樣講了,微軟肯定會(huì)檢討他們的Kernel政策。
也許以後微軟會(huì)乾脆禁止任何軟體取用Kernel權(quán)限?
這樣就會(huì)影響到防外掛偵測(cè)了,因?yàn)榉劳鈷煜到y(tǒng)幾乎都會(huì)需要Kernel權(quán)限。
如果微軟真的改變了Kernel權(quán)限的政策,也會(huì)對(duì)遊戲界產(chǎn)生衝擊。
目前看來(lái)比較有可能的做法是微軟自己做幾個(gè)觀察端口,讓外部程式能看到Kernel內(nèi)部。
但無(wú)法操作Kernel裡面的東西。
總之就是要對(duì)Kernel做出更多限制,不會(huì)再向之前那樣只要和微軟申請(qǐng)就能讓你進(jìn)去Kernel裡面了。