A Intel oferece um subconjunto da versão 2.35 padrão da Binutils, que inclui mitigações de injeção de valor de carga.
- O Guia de instalação do Intel® Software Guard Extensions (Intel® SGX) para Linux* recomenda baixar as ferramentas de mitigação, nomeadas como as.ld.objdump.gold.r2.tar.gz, do repositório do Intel SGX Linux binário.
- Não é possível validar como os Binutils fornecidos pela Intel são diferentes dos Binutils padrão atualizados.
A Intel fornece um subconjunto do GNU Binutils 2.35 padrão, sem modificações, porque muitos dos repositórios das distribuições Linux não atualizaram para 2.35 ou 2.36. A Intel continuará fornecendo o subconjunto Bunutils 2.35 até que os repositórios da maioria das distribuições Linux tenham Binutils 2.35 ou mais recente.
A Intel recomenda vincular Intel SGX aplicações com ld.gold em vez de ld, porque o ld.gold aplica segmentos executáveis somente de leitura ao vincular códigos. Os segmentos de memória não executáveis somente para leitura ajudam a fortalecer os enclaves porque ajudam a evitar o transbordamento de buffers e outros ataques de memória. Os invasores não podem escrever ou executar código nesses segmentos de memória. ld.gold também foi relatado como um linker mais rápido do que o ld.
Link com:
ld.gold --rosegment
ou
-Wl,-fuse-ld=gold –Wl,--rosegment
O Guia de instalação do Intel SGX para Linux está na pasta Documentação da versão mais recente do Intel® Software Guard Extensions SDK para Linux*.