インテルは、ロード・バリュー・インジェクションの緩和策を含む標準 Binutils バージョン 2.35 のサブセットを提供しています。
- インテル® Software Guard Extensions (インテル® SGX) インストール・ガイド for Linux* では、 バイナリーインテル SGX Linux リポジトリーから as.ld.objdump.gold.r2.tar.gz という名前の緩和ツールをダウンロードすることを推奨しています。
- インテルが提供する Binutils が標準の最新の Binutils とどのように異なるかを検証できません。
Linux ディストリビューションのリポジトリーの多くが 2.35 にも 2.36 にも更新されていないため、インテルは標準の GNU Binutils 2.35 のサブセットを変更せずに提供しています。インテルは、ほとんどの Linux ディストリビューションのリポジトリーが Binutils 2.35 以降になるまで、Bunutils 2.35 サブセットを提供し続けます。
ld.gold ではコードのリンク時に読み取り専用の実行可能セグメントが適用されるため、インテルでは ld ではなく ld.gold を使用してインテル SGXアプリケーションをリンクすることをお勧めします。読み取り専用の非実行可能メモリー・セグメントは、バッファー・オーバーフローやその他のメモリー攻撃の防止に役立つため、エンクレーブの強化に役立ちます。攻撃者は、これらのメモリセグメントにコードを書き込んだり実行したりすることはできません。LD.GOLDはLDよりも高速なリンカーであることも報告されています。
リンク先:
ld.gold --rosegment
又は
-Wl,-fuse-ld=gold –Wl,--rosegment
Linux 向けインテル SGXインストール・ガイド は、インテル® Software Guard Extensions SDK for Linux* の最新リリースの ドキュメント フォルダーにあります。