Intel 提供了標準 Binutils 版本 2.35 的子集,其中包括負載值注入緩解措施。
- 適用於 Linux* 的Intel® Software Guard Extensions (Intel® SGX) 安裝指南建議從 二進位Intel SGX Linux 儲存庫下載名為 as.ld.objdump.gold.r2.tar.gz 的緩解工具。
- 無法驗證 Intel 提供的 Binutils 與標準的最新 Binutils 有何不同。
Intel 提供了標準 GNU Binutils 2.35 的子集,無需修改,因為許多 Linux 發行版的存放庫尚未更新到 2.35 或 2.36。Intel 將繼續提供 Bunutils 2.35 子集,直到大多數 Linux 發行版的儲存庫都有 Binutils 2.35 或更高版本。
Intel 建議使用 ld.gold 而不是 ld 連結Intel SGX應用程式,因為 ld.gold 在鏈接代碼時強制使用唯讀可執行段。只讀不可執行的記憶體段有助於強化指定位址空間,因為它們有助於防止緩衝區溢出和其他記憶體攻擊。攻擊者無法在這些記憶體段中寫入或執行代碼。據報導, LD.gold 也是比 LD更快的連結器。
連結:
ld.gold --rosegment
或
-Wl,-fuse-ld=gold –Wl,--rosegment
Linux Intel SGX安裝指南 位於最新版 Intel® Software Guard Extensions SDK for Linux* 的 「檔 」資料夾中。