你可能正在被 CPU 裡藏的 「小電腦」 監控

2021-08-25 11:46:09 字數 2305 閱讀 5392

你知道嗎?在你電腦的 cpu 裡,還藏著一台「小電腦」,不僅檔案系統、驅動、聯網功能一應俱全,還能……能做的實在太多了。最可怕的是:你沒法關掉它……

問你兩個問題:

首先,你的電腦執行什麼作業系統?

無非是 windows 10、macos,或者成百上千種 linux 發行版的其中乙個吧……

第二個問題:你的伺服器,執行什麼作業系統?

基本都是 linux 吧……

但如果矽星人告訴你:你的電腦和伺服器裡,其實還藏著一台你根本不知道的神秘「小電腦」,執行著乙個你根本不知道的神秘作業系統呢?來,搬好小板凳,開講。

隱藏在 cpu 裡的神秘「os」

再問乙個問題:你的電腦或者伺服器用的什麼處理器?

只要是 mac/windows pc/chromebook,而且是最近幾年購買的——肯定用的是英特爾的處理器,沒有懸念。

而我們今天的主角,這台神秘的電腦和作業系統,就藏在英特爾處理器裡。從 2006 年往後所有的英特爾處理器裡,都植入了乙個名叫 amt 的技術。它的全稱是:active management technology(主動管理技術,也叫 me, management engine)

這麼一大段字,矽星人幫你長求總一下:

首先,amt 能夠讓英特爾遠端維護公升級處理器韌體,以保護計算機不在處理器這個環節被攻破。

其次,如果你被解雇了,公司 it 可以在處理器的層級遠端控制你的電腦,該鎖定鎖定該重置重置,確保公司資料不外洩。

那麼,amt 又是怎麼實現的呢?

這是因為,處理器裡本來就執行著乙個名叫 minix (mini-unix) 的作業系統。它的體量非常小,通常只有 5mb 左右,在處理器出廠之前就已經寫了進去。

也就是說:minix 是世界上最流行的作業系統——比 linux 還流行……

有了 amt 和 minix,你的 cpu,其實不是你的 cpu 了。amt 就像寄生在你電腦裡的一台「小電腦」一樣。

它不但不受宿主的控制,反而會控制宿主!

就像科幻電影《黑衣人》(mib) 的這一幕:

可是,amt 怎麼就控制了我們的電腦呢?

大家都知道 google 雲計算很厲害。作為雲計算行業的巨頭之一,google 都的資料中心 不是每一台都執行 tpu 啦……還是要採購非常多的英特爾處理器。

但 google 的工程師們發現:在我們的 linux 作業系統和處理器硬體之間,還藏著至少 2½ 個核心;這些核心不但對 google 完全不開放,而且還很容易遭受黑客攻擊,攻擊還有能力重寫核心本身,google 無法修復。

在下圖中,google 的工程師描述了這 2½ 到底都包括了些什麼

你會看到 ring 這個東西。它代表的是許可權層級,數字越低離使用者越遠、許可權越高。ring 3 是使用者在作業系統上能接觸的內容,比如軟體或者檔案;ring 2 到 1則是驅動,ring 0 是作業系統核心,也是使用者,而且是非常有經驗的使用者,比如專業的 it 人士所能觸碰和修改的最低層級。

但 ring 0 並不是重點……再往下還有 ring -1、-2 和 -3。一般人並不知道有負數層的存在,在大部分 ring 示意圖離都根本看不到負數層,因為它們並不是開放的。

負數層都在處理器核心上。如果你刷過 android 手機第三方核心,可能知道 cpu 核心資源是可以調整的,這個能力通常在 ring -2 上。至於 ring -3,許可權已經非常之高了……別說你或者 it 小哥,連電腦公司(戴爾、惠普、蘋果)都觸碰不到。

而 minix 就執行在 ring -3 上。這裡,是屬於晶元廠商的「絕對領域」。

麻雀雖小,五臟俱全

這個作業系統裡都裝了些什麼呢?google 的工程師繼續研究,發現裡面東西還真不少……

VC6正在被拋棄?

我還在用的vc6本來早就該公升級了,畢竟vc已經從vc6經歷7.0 7.1 8.0,現在已經到了vc9 vc2008 了。只是我比較戀舊,想想我的機器也受不了ms頻繁的公升級,現在的機器也就免強能跑跑vc6。但是現在c 標準公升級了,gcc也公升級了,vc6 真的已經是必須丟棄的雞骨頭了。vc6自帶...

跳槽慣性思維正在被打破

隨著時間的變化和市場的發展,以及新事物的不斷湧現,以往那些關於跳槽的慣性思維正在被不斷打破。從 避免轉行 到 跨界吃香 現在,跨界成為乙個頗為時髦的詞語。市場的多元化 細分化,使得擁有 複雜 背景的人越來越受歡迎。想轉行?不如帶著你的背景和經驗,來一次跨界吧。我的朋友小a,多年前從海外歸來,順利入職...

C 判斷檔案是否正在被使用

生成檔案的時候,如果該資料夾下的同名檔案被開啟 或者被使用 如果這時再生成乙個同名檔案,則會提示檔案正在被占用。解決方法有兩個,乙個是儲存的檔名改成該資料夾下不存在的 隨機數之類的xxoo都行,只要不存在就可以了 當然這裡指的是該同名檔案是被使用,如果該同名檔案不開啟,生成檔案的時候就直接將其覆蓋了...