這一次,英特爾的 CPU 微碼許可協議中包含了「禁止使用者跑分」條款。這意味著人們使用任何 Benchmark 軟體對自己的 CPU 進行評測,並將分數和對比結果公佈成為了「非法」動作。
近日,英特爾正在更新旗下 CPU 的可載入微碼,來應對多種側通道和 timing 攻擊。同時,這家晶片巨頭也推出了適用於新版微碼的許可協議:
你不能,也不能允許任何第三方:
(i)使用、複製、分發、出售或提供本軟體或相關文件;
(ii)修改、改編、增加、反彙編、反編譯、逆向工程、更改或建立本軟體的衍生作品,除非且僅在強制適用法律或本軟體隨附的適用第三方許可條款明確要求的範圍內;
(iii)讓第三方使用或經由本軟體獲益;
(iv)在你自己的產品中使用本軟體,而非英特爾硬體或平臺,或軟體中標識的軟體;
(v)釋出或提供任何軟體基準評測,或對比測試結果。
由於微碼執行在每條指令之上,這似乎意味著該軟體使用條款適用於整個處理器。所以,現在英特爾完全禁止執行基準測試軟體了,即使是在你自己的軟體上執行也不可以——如果你想「提供」或者公佈測試結果的話。
眾所周知,針對「Meltdown」和「Specter」漏洞的修復補丁會顯著降低英特爾處理器的效能,這不僅會讓消費者感到失望,降低英特爾的聲望,甚至還會導致針對於此的訴訟。如果基於安全考慮,讓處理器的效能直接降低 5-10%,這對於很多伺服器擁有者和雲服務提供商來說是一個巨大的麻煩。不過在此問題上,我們不能責怪英特爾——畢竟這是一個難以預料的問題。而且,AMD 和 ARM 的 CPU 也出現了類似問題。但對於客戶而言,損失就是損失。
另一個問題是客戶是否應該安裝修復程式。很多計算機使用者不允許外來或非特權使用者在自己的 CPU 上像在雲或託管公司上那樣執行。對於他們來說,這些側通道和 timing 攻擊無關緊要,而安裝修復程式造成的速度降低則是不必要的。
因此,很多人對微碼修復程式造成的速度損失很感興趣,現在英特爾嘗試通過許可證限制,阻止任何人收集報告此類損失的資訊。這不得不說是一個讓人討厭的動作。處理安全問題的正確方式是承認所造成的損害、釋出緩解辦法,從而維護使用者。隱瞞使用者的受損狀況是不可接受的。而禁止使用者自由釋出基準評測?這或許會是一個讓客戶喪失信任的行為。
英特爾這次的特殊舉動引起了人們的廣泛議論。很多人認為這就是英特爾針對安裝補丁之後 CPU 效能下降的「補救方法」。
在 HackerNews 上,網友 headmelted 對此評論道:
在 Zen 處理器之前,我們都認為英特爾處於大大超前的位置,而 AMD 風雨飄搖。
我事實上認為英特爾一定會玩一些把戲,比如我們從沒見過的效能收益,因為沒有市場需要他們,他們很多年來都只靠著邊際收益而已。
看到他們採取這個立場,似乎微碼受攻擊非常糟糕,「國王沒有穿衣服」。
很明顯,他們無法回應 AMD。如果一切屬實,他們的股東應該嚴肅詢問為何這麼長時間什麼事都沒有做,以及在沒有強大競爭對手的情況下錢都花到哪裡去了。
而另一些網友則對英特爾的行動表示了嫌惡,johnklos 就問道:
我真的很好奇,英特爾是如何想像跑分也是能被強行禁止的。例如,如果我擁有一臺伺服器,很多其上的使用者擁有 shell 訪問許可權,我難道應該禁止我的使用者釋出 Benchmark 分數嗎?如果他們這麼做了,我是否會因為我「同意」了這一條例而承擔責任?或者說責任在於哪些使用者,儘管他們從未「同意」這一使用許可?我覺得這種條款根本沒有意義。
在遭受爭議之後,英特爾官方很快做出了反應,表示:「我們現在正在更新許可證以解決此問題,並將很快推出新版本。作為開源社群的積極成員,我們繼續歡迎人們的所有反饋。」
看來,在 CPU 漏洞危機過後,英特爾還有很多事情要做。
參考內容:https://perens.com/2018/08/22/new-intel-microcode-license-restriction-is-not-acceptable/