AMD申請新專利:保護GPU顯存指令
硬件設計越來越複雜,缺陷和漏洞也越來越難以避免,危險程度也越來越高,比如持續陰魂不散的Spctre幽靈、Meltdown熔斷,就利用了CPU處理器的分支預測缺陷發送特殊指令流。固件、軟件上的漏洞就更多了,比如近期爆發的“Screwed Drivers”,連微軟簽名認證的驅動都能被用來提升權限。
為了保護軟硬件安全,廠商們也是挖空了心思,AMD最近就提交了一項新的專利申請,用來保護GPU顯存指令不被惡意利用。
技術原理比較複雜,簡單來說就是利用了系統的主從設備關係,利用二者的指令流檢查執行過程中可能出現的任何錯誤。
首先,受保護系統將從設備的請求轉換為NOP(No OPeration)之類的空操作指令,修改內存仲裁器(memory arbiter),每個時鐘週期內發射N個主、N個從全局/共享指令,將主請求發送給顯存系統,然後使用從請求檢查是否有錯,再將主請求送入FIFO(先進先出)內存緩衝,將從請求保存在寄存器內。
最後,比較來自寄存器和FIFO緩衝的兩個請求,如果有錯誤就返回重新走一遍,無錯誤才繼續下一步操作。