Jump to content
Wikipedia The Free Encyclopedia

Software Guard Extensions

From Wikipedia, the free encyclopedia
Security-related instruction code processor extension

Intel Software Guard Extensions (SGX) is a set of instruction codes implementing trusted execution environment that are built into some Intel central processing units (CPUs). They allow user-level and operating system code to define protected private regions of memory, called enclaves.[1] [2] SGX is designed to be useful for implementing secure remote computation, secure web browsing, and digital rights management (DRM).[3] Other applications include concealment of proprietary algorithms and of encryption keys.[4]

SGX involves encryption by the CPU of a portion of memory (the enclave). Data and code originating in the enclave are decrypted on the fly within the CPU,[4] protecting them from being examined or read by other code,[4] including code running at higher privilege levels such as the operating system and any underlying hypervisors.[1] [4] [2] While this can mitigate many kinds of attacks, it does not protect against side-channel attacks.[5]

A pivot by Intel in 2021 resulted in the deprecation of SGX from the 11th and 12th generation Intel Core processors, but development continues on Intel Xeon for cloud and enterprise use.[6] [7]

Details

[edit ]
This article is missing information about interesting implementation in the form of XuCode — actual ELF files (see microcodeDecryptor) executed to implement SGX instructions. Please expand the article to include this information. Further details may exist on the talk page. (July 2022)

SGX was first introduced in 2015 with the sixth generation Intel Core microprocessors based on the Skylake microarchitecture.

Support for SGX in the CPU is indicated in CPUID "Structured Extended feature Leaf", EBX bit 02,[8] but its availability to applications requires BIOS/UEFI support and opt-in enabling which is not reflected in CPUID bits. This complicates the feature detection logic for applications.[9]

Emulation of SGX was added to an experimental version of the QEMU system emulator in 2014.[10] In 2015, researchers at the Georgia Institute of Technology released an open-source simulator named "OpenSGX".[11]

One example of SGX used in security was a demo application from wolfSSL [12] using it for cryptography algorithms.

Intel Goldmont Plus (Gemini Lake) microarchitecture also contains support for Intel SGX.[13]

Both in the 11th and 12th generations of Intel Core processors, SGX is listed as "Deprecated" and thereby not supported on "client platform" processors.[6] [14] [15] This removed support of playing Ultra HD Blu-ray discs on officially licensed software, such as PowerDVD.[16] [17] [18]

List of SGX vulnerabilities

[edit ]

Prime+Probe attack

[edit ]

On 27 March 2017 researchers at Austria's Graz University of Technology developed a proof-of-concept that can grab RSA keys from SGX enclaves running on the same system within five minutes by using certain CPU instructions in lieu of a fine-grained timer to exploit cache DRAM side-channels.[19] [20] One countermeasure for this type of attack was presented and published by Daniel Gruss et al. at the USENIX Security Symposium in 2017.[21] Among other published countermeasures, one countermeasure to this type of attack was published on September 28, 2017, a compiler-based tool, DR.SGX,[22] that claims to have superior performance with the elimination of the implementation complexity of other proposed solutions.

Spectre-like attack

[edit ]

The LSDS group at Imperial College London showed a proof of concept that the Spectre speculative execution security vulnerability can be adapted to attack the secure enclave.[23] The Foreshadow attack, disclosed in August 2018, combines speculative execution and buffer overflow to bypass the SGX.[24] A security advisory and mitigation for this attack, also called an L1 Terminal Fault, was originally issued on August 14, 2018 and updated May 11, 2021.[25]

Enclave attack

[edit ]

On 8 February 2019, researchers at Austria's Graz University of Technology published findings which showed that in some cases it is possible to run malicious code from within the enclave itself.[26] The exploit involves scanning through process memory in order to reconstruct a payload, which can then run code on the system. The paper claims that due to the confidential and protected nature of the enclave, it is impossible for antivirus software to detect and remove malware residing within it. Intel issued a statement, stating that this attack was outside the threat model of SGX, that they cannot guarantee that code run by the user comes from trusted sources, and urged consumers to only run trusted code.[27]

MicroScope replay attack

[edit ]

There is a proliferation of side-channel attacks plaguing modern computer architectures. Many of these attacks measure slight, nondeterministic variations in the execution of code, so the attacker needs many measurements (possibly tens of thousands) to learn secrets. However, the MicroScope attack allows a malicious OS to replay code an arbitrary number of times regardless of the program's actual structure, enabling dozens of side-channel attacks.[28] In July 2022, Intel submitted a Linux patch called AEX-Notify to allow the SGX enclave programmer to write a handler for these types of events.[29]

Plundervolt

[edit ]

Security researchers were able to inject timing specific faults into execution within the enclave, resulting in leakage of information. The attack can be executed remotely, but requires access to the privileged control of the processor's voltage and frequency.[30] A security advisory and mitigation for this attack was originally issued on August 14, 2018 and updated on March 20, 2020.[31]

LVI

[edit ]
Main article: Load value injection

Load Value Injection[32] [33] injects data into a program aiming to replace the value loaded from memory which is then used for a short time before the mistake is spotted and rolled back, during which LVI controls data and control flow. A security advisory and mitigation for this attack was originally issued on March 10, 2020 and updated on May 11, 2021.[34]

SGAxe

[edit ]

SGAxe,[35] an SGX vulnerability published in 2020, extends a speculative execution attack on cache,[36] leaking content of the enclave. This allows an attacker to access private CPU keys used for remote attestation.[37] In other words, a threat actor can bypass Intel's countermeasures to breach SGX enclaves' confidentiality. The SGAxe attack is carried out by extracting attestation keys from SGX's private quoting enclave that are signed by Intel. The attacker can then masquerade as legitimate Intel machines by signing arbitrary SGX attestation quotes.[38] A security advisory and mitigation for this attack, also called a Processor Data Leakage or Cache Eviction, was originally issued January 27, 2020 and updated May 11, 2021.[39]

ÆPIC leak

[edit ]

In 2022, security researchers discovered a vulnerability in the Advanced Programmable Interrupt Controller (APIC) that allows for an attacker with root/admin privileges to gain access to encryption keys via the APIC by inspecting data transfers from L1 and L2 cache.[40] This vulnerability is the first architectural attack discovered on x86 CPUs. This differs from Spectre and Meltdown which use a noisy side channel. This exploit currently affects Intel Core 10th, 11th and 12th generations, and Xeon Ice Lake microprocessors.[41] [42]

Extraction of the private key

[edit ]

The code signature is generated with a private key that is only in the enclave. The private key is encoded via "fuse" elements on the chip. In the process, bits are burnt through, giving them the binary value 0. This private key cannot be extracted because it is encoded in the hardware. Mark Ermolov, Maxim Goryachy and Dmitry Sklyarov refuted the claim to trustworthiness of the SGX concept at https://github.com/chip-red-pill/glm-ucode#.

SGX malware arguments

[edit ]

There has been a long debate on whether SGX enables creation of superior malware. Oxford University researchers published an article in October 2022[43] considering attackers' potential advantages and disadvantages by abusing SGX for malware development. Researchers conclude that while there might be temporary zero-day vulnerabilities to abuse in SGX ecosystem, the core principles and design features of Trusted Execution Environments (TEEs) make malware weaker than a malware-in-the-wild, TEEs make no major contributions to malware otherwise.[weasel words ]

See also

[edit ]

References

[edit ]
  1. ^ a b "Intel SGX for Dummies (Intel SGX Design Objectives)". intel.com. 2013年09月26日. Archived from the original on 2014年04月29日. Retrieved 2015年04月20日.
  2. ^ a b johnm (2017年08月08日). "Properly Detecting Intel® Software Guard Extensions (Intel® SGX) in Your Applications". software.intel.com. Archived from the original on 2019年04月24日. Retrieved 2019年02月15日.
  3. ^ "Intel SGX Details". intel.com. 2017年07月05日.
  4. ^ a b c d "Researchers Use Intel SGX To Put Malware Beyond the Reach of Antivirus Software - Slashdot". it.slashdot.org. 12 February 2019. Archived from the original on 26 October 2021. Retrieved 19 April 2019.
  5. ^ "Intel SGX and Side-Channels". intel.com. 2020年02月28日. Archived from the original on 2020年02月28日. Retrieved 2020年02月28日.
  6. ^ a b "New Intel chips won't play Blu-ray disks due to SGX deprecation". Archived from the original on 2022年01月16日. Retrieved 2022年01月17日.
  7. ^ anrilr (2022年01月20日). "Rising to the Challenge — Data Security with Intel Confidential Computing". community.intel.com. Archived from the original on 2022年05月19日. Retrieved 2022年04月20日.
  8. ^ Intel Architecture Instruction Set Extensions Programming Reference Archived 2015年09月28日 at the Wayback Machine, Intel, AUGUST 2015, page 36 "Structured Extended feature Leaf EAX=07h, EBX Bit 02: SGX"
  9. ^ "Properly Detecting Intel Software Guard Extensions in Your Applications". intel.com. 2016年05月13日. Archived from the original on 2019年04月24日. Retrieved 2016年05月13日.
  10. ^ "Intel SGX Emulation using QEMU" (PDF). tc.gtisc.gatech.edu. Retrieved 2018年11月02日.
  11. ^ "sslab-gatech/opensgx". GitHub . Archived from the original on 2018年06月11日. Retrieved 2016年08月15日.
  12. ^ "wolfSSL At IDF". wolfssl. 2016年08月11日.
  13. ^ "Intel® Pentium® Silver J5005 Processor" . Retrieved 2020年07月10日.
  14. ^ "11th Generation Intel Core Processor Datasheet" . Retrieved 2022年01月15日.
  15. ^ "12th Generation Intel Core Processors Datasheet" . Retrieved 2022年01月15日.
  16. ^ Mary Stone (January 21, 2022). "Intel discontinues support for UHD Blu-ray discs in its newest PC chips". whathifi. Archived from the original on March 22, 2023. Retrieved December 8, 2022.
  17. ^ "CyberLink Support Center".
  18. ^ "CyberLink Support Center". www.cyberlink.com. Retrieved 11 September 2024.
  19. ^ Chirgwin, Richard (March 7, 2017). "Boffins show Intel's SGX can leak crypto keys". The Register. Archived from the original on 11 July 2019. Retrieved 1 May 2017.
  20. ^ Schwarz, Michael; Weiser, Samuel; Gruss, Daniel; Maurice, Clémentine; Mangard, Stefan (2017). "Malware Guard Extension: Using SGX to Conceal Cache Attacks". arXiv:1702.08719 [cs.CR].
  21. ^ "Strong and Efficient Cache Side-Channel Protection using Hardware Transactional Memory" (PDF). USENIX. 2017年08月16日. Archived (PDF) from the original on 2020年07月27日. Retrieved 2017年10月26日.
  22. ^ Brasser, Ferdinand; Capkun, Srdjan; Dmitrienko, Alexandra; Frassetto, Tommaso; Kostiainen, Kari; Müller, Urs; Sadeghi, Ahmad-Reza (2017年09月28日). DR.SGX: Hardening SGX Enclaves against Cache Attacks with Data Location Randomization. ACSAC '19: Proceedings of the 35th Annual Computer Security Applications Conference December 2019. pp. 788–800. arXiv:1709.09917 . doi:10.1145/3359789.3359809. S2CID 19364841.
  23. ^ Sample code demonstrating a Spectre-like attack against an Intel SGX enclave., 19 December 2021, archived from the original on 7 May 2020, retrieved 12 January 2018
  24. ^ Peter Bright - Jul 10, 2018 9:00 pm UTC (2018年07月10日). "New Spectre-like attack uses speculative execution to overflow buffers". Ars Technica. Archived from the original on 2018年11月23日. Retrieved 2018年11月02日.{{cite web}}: CS1 maint: numeric names: authors list (link)
  25. ^ "CVE - CVE-2018-3615". cve.mitre.org. Archived from the original on 2022年10月17日. Retrieved 2022年10月17日.
  26. ^ Schwarz, Michael; Weiser, Samuel; Gruss, Daniel (2019年02月08日). "Practical Enclave Malware with Intel SGX". arXiv:1902.03256 [cs.CR].
  27. ^ Bright, Peter (2019年02月12日). "Researchers use Intel SGX to put malware beyond the reach of antivirus software". Ars Technica. Archived from the original on 2019年02月15日. Retrieved 2019年02月15日.
  28. ^ Skarlatos, Dimitrios; Yan, Mengjia; Gopireddy, Bhargava; Sprabery, Read; Torrellas, Josep; Fletcher, Christopher W. (2019). "MicroScope". Proceedings of the 46th International Symposium on Computer Architecture. Isca '19. Phoenix, Arizona: ACM Press. pp. 318–331. doi:10.1145/3307650.3322228 . ISBN 978-1-4503-6669-4.
  29. ^ "[PATCH] x86/sgx: Allow enclaves to use Asynchrounous Exit Notification". lore.kernel.org. Archived from the original on 2022年10月17日. Retrieved 2022年10月17日.
  30. ^ "Plundervolt steals keys from cryptographic algorithms". Rambus Blog. 2019年12月11日. Archived from the original on 2021年10月23日. Retrieved 2020年03月20日.
  31. ^ "CVE - CVE-2019-11157". cve.mitre.org. Retrieved 2022年10月17日.
  32. ^ "LVI: Hijacking Transient Execution with Load Value Injection". lviattack.eu. Archived from the original on 2022年01月01日. Retrieved 2020年03月12日.
  33. ^ "Load Value Injection". software.intel.com. Archived from the original on 2020年07月12日. Retrieved 2020年03月12日.
  34. ^ "CVE - CVE-2020-0551". cve.mitre.org. Retrieved 2022年10月17日.
  35. ^ "SGAxe". sgaxe.com. Archived from the original on 2020年06月10日. Retrieved 2020年06月10日.
  36. ^ "CacheOut". cacheoutattack.com.
  37. ^ "Towards Formalization of Enhanced Privacy ID (EPID)-based Remote Attestation in Intel SGX".
  38. ^ "SGAxe & CrossTalk Attacks: New Intel SGX Vulnerability Leaks Data". Hack Reports. 2020年06月12日. Archived from the original on 2020年07月16日. Retrieved 2020年06月12日.
  39. ^ "CVE - CVE-2020-0549". cve.mitre.org. Retrieved 2022年10月17日.
  40. ^ "Intel SGX: Not So Safe After All, ÆPIC Leak". The New Stack. 2022年08月16日. Archived from the original on 2022年08月29日. Retrieved 2022年08月29日.
  41. ^ Wilson, Jason R. (2022年08月11日). "ÆPIC Leak is an Architectural CPU Bug Affecting 10th, 11th, and 12th Gen Intel Core CPUs". Wccftech. Archived from the original on 2022年08月29日. Retrieved 2022年08月29日.
  42. ^ "ÆPIC Leak". aepicleak.com. Archived from the original on 2022年08月29日. Retrieved 2022年08月29日.
  43. ^ Küçük, Kubilay Ahmet; et, al. (October 2022). "SoK: How 'Not' to Architect Your Next-Generation TEE Malware". Hardware and Architectural Support for Security and Privacy (HASP) 2022. Archived from the original on 2023年04月21日. Retrieved 2023年04月17日.
[edit ]
Subsidiaries
Joint venture
4Group Holdings (50% owned by Vantiva)
Products
Lists
Microarchitectures
IA-32 (32-bit x86)
x86-64 (64-bit)
x86 ULV
Current products
x86-64 (64-bit)
Discontinued
BCD oriented (4-bit)
pre-x86 (8-bit)
Early x86 (16-bit)
x87 (external FPUs)
8/16-bit databus
8087 (1980)
16-bit databus
80C187
80287
80387SX
32-bit databus
80387DX
80487
IA-32 (32-bit x86)
x86-64 (64-bit)
Other
Related
Litigation
People
Founders
CEOs
Related
Models
Architecture
Instruction set
architectures
Types
Instruction
sets
Execution
Instruction pipelining
Hazards
Out-of-order
Speculative
Parallelism
Level
Multithreading
Flynn's taxonomy
Processor
performance
Types
By application
Systems
on chip
Hardware
accelerators
Word size
Core count
Components
Functional
units
Logic
Registers
Control unit
Datapath
Circuitry
Power
management
Related
SIMD (RISC)
SIMD (x86)
Bit manipulation
  • BMI (ABM: 2007, BMI1: 2012, BMI2: 2013, TBM: 2012)
  • ADX (2014)
Compressed instructions
Security and cryptography
Transactional memory
Virtualization
Suspended extensions' dates are (削除) struck through (削除ここまで).

AltStyle によって変換されたページ (->オリジナル) /