Software Guard Extensions

extensão de arquitetura

O SGX ( Software Security Guard Extensions ) da Intel é um conjunto de códigos de instruções relacionados à segurança incorporados em algumas unidades de processamento central (CPUs) modernas da Intel . Eles permitem que o código do sistema operacional e do usuário definam regiões privadas da memória, denominadas enclaves, cujo conteúdo é protegido e não pode ser lido ou salvo por qualquer processo fora do próprio enclave, incluindo processos executados em níveis de privilégios mais altos .[1] O SGX está desativado por padrão e deve ser aceito pelo usuário por meio de suas configurações de BIOS em um sistema suportado.[2]

O SGX envolve criptografia pela CPU de uma parte da memória. O enclave é descriptografado em tempo real apenas dentro da própria CPU e, mesmo assim, apenas para código e dados em execução dentro do próprio enclave.[3] O processador, portanto, protege o código de ser "espiado" ou examinado por outro código.[3] O código e os dados no enclave utilizam um modelo de ameaça no qual o enclave é confiável, mas nenhum processo fora dele (incluindo o próprio sistema operacional e qualquer hypervisor ) pode ser confiável e todos são tratados como potencialmente hostis. O conteúdo do enclave não pode ser lido por nenhum código fora do enclave, exceto em sua forma criptografada.[3]

O SGX foi projetado para ser útil do desenvolvimento de computação remota segura, navegação segura na Web e gerenciamento de direitos digitais (DRM).[4] Outras aplicações incluem a ocultação de algoritmos proprietários e de chaves de criptografia .[3]

Detalhes editar

O suporte para SGX na CPU é indicado em CPUID no recurso "Structured Extended", EBX bit 02,[5] mas sua disponibilidade para aplicativos requer suporte a BIOS de ativação que não é refletida em bits de CPUID. Isso complica a lógica de detecção de recursos para aplicativos.[6]

A emulação de SGX foi adicionada a uma versão experimental do emulador do sistema QEMU em 2014.[7] Em 2015, pesquisadores do Instituto de Tecnologia da Geórgia lançaram um simulador de código aberto conhecido como OpenSGX.[8]

Foi lançado em 2015 com a sexta geração de microprocessadores Intel Core baseados na microarquitetura Skylake .

Um exemplo de SGX usado em segurança foi um aplicativo de demonstração do wolfSSL[9] usando-o para algoritmos de criptografia.

A microarquitetura Intel Goldmont Plus (Gemini Lake) também adicionará suporte ao Intel SGX.

Ataque Prime + Probe editar

Em 27 de março de 2017, pesquisadores da Graz University of Technology da Áustria desenvolveram uma prova de conceito que pode pegar chaves RSA de enclaves SGX rodando no mesmo sistema dentro de cinco minutos usando certas instruções da CPU em vez de um temporizador refinado para explorar o cache. Canais laterais DRAM .[10][11] Uma contramedida para este tipo de ataque foi apresentada e publicada por Daniel Gruss |numero-autores=et al. no USENIX Security Symposium em 2017.[12] Entre outras contramedidas publicadas, uma contramedida a esse tipo de ataque foi publicada em 28 de setembro de 2017, uma ferramenta baseada em compilador, a DR. SGX,[13] que afirma ter desempenho superior com a eliminação da complexidade de implementação de outras soluções propostas.

Ataque do tipo Spectre editar

O grupo LSDS do Imperial College London mostrou uma prova de conceito de que a vulnerabilidade de segurança de execução especulativa do Specter pode ser adaptada para atacar o enclave seguro.[14] O ataque Foreshadow, divulgado em agosto de 2018, combina execução especulativa e estouro de buffer para contornar o SGX.[15]

Ataque de enclave editar

Em 8 de fevereiro de 2019, pesquisadores da Universidade de Tecnologia de Graz, na Áustria, publicaram descobertas, que mostraram que, em alguns casos, é possível executar códigos maliciosos dentro do próprio enclave.[16] A exploração envolve a varredura através da memória de processo, a fim de reconstruir uma carga útil, que pode então executar código no sistema. O documento afirma que, devido à natureza confidencial e protegida do enclave, é impossível que o software antivírus detecte e remova os malwares que residem nele. No entanto, como as soluções antimalware e antivírus modernas monitoram as chamadas do sistema e a interação do aplicativo com o sistema operacional, deve ser possível identificar os enclaves maliciosos por seu comportamento, e é provável que esse problema não seja uma preocupação para o estado. os antivírus da arte. A Intel divulgou um comunicado afirmando que esse ataque está fora do modelo de ameaça do SGX, que eles não podem garantir que o código executado pelo usuário venha de fontes confiáveis e pediu aos consumidores que executem apenas códigos confiáveis.[17]

Ver também editar

Referências editar

  1. «Intel SGX for Dummies (Intel SGX Design Objectives)». intel.com 
  2. «Properly Detecting Intel® Software Guard Extensions (Intel® SGX) in Your Applications». software.intel.com (em inglês) 
  3. a b c d «Researchers Use Intel SGX To Put Malware Beyond the Reach of Antivirus Software - Slashdot». it.slashdot.org 
  4. «Intel SGX Details». intel.com 
  5. Referência de programação das extensões de conjunto de instruções da arquitetura Intel, Intel, agosto de 2015, página 36 "Recurso estendido estruturado Folha EAX = 07h, EBX Bit 02: SGX"
  6. «Properly Detecting Intel Software Guard Extensions in Your Applications». intel.com 
  7. «Intel SGX Emulation using QEMU» (PDF). tc.gtisc.gatech.edu 
  8. «sslab-gatech/opensgx». GitHub 
  9. «wolfSSL At IDF». wolfssl 
  10. «Boffins show Intel's SGX can leak crypto keys» 
  11. arXiv:1702.08719   |nome1= sem |sobrenome1= em Authors list (ajuda); Em falta ou vazio |título= (ajuda)
  12. «Strong and Efficient Cache Side-Channel Protection using Hardware Transactional Memory» (PDF). USENIX 
  13. arXiv:1709.09917   |nome1= sem |sobrenome1= em Authors list (ajuda); Em falta ou vazio |título= (ajuda)
  14. Sample code demonstrating a Spectre-like attack against an Intel SGX enclave. 
  15. «New Spectre-like attack uses speculative execution to overflow buffers» 
  16. arXiv:1902.03256   |nome1= sem |sobrenome1= em Authors list (ajuda); Em falta ou vazio |título= (ajuda)
  17. «Researchers use Intel SGX to put malware beyond the reach of antivirus software». Ars Technica (em inglês) 

Ligações externas editar