소프트웨어 가드 확장
Software Guard Extensions인텔(R) 소프트웨어 가드 확장(SGX)은 일부 인텔(R) 중앙 처리 장치(CPU)에 내장된 보안 관련 명령 코드 세트입니다.사용자 수준 및 운영 체제 코드가 외부에서 [1][2]액세스할 수 없는 인클로저라고 불리는 메모리의 개인 영역을 정의할 수 있습니다.SGX는 안전한 리모트 계산, 안전한 웹 브라우징 및 디지털 권리 관리(DRM)[3] 구현에 도움이 되도록 설계되어 있습니다.그 외의 애플리케이션에는, 독자적인 알고리즘이나 암호화 [4]키의 은폐가 포함됩니다.
SGX 에는, 메모리의 일부(인클로저)의 CPU에 의한 암호화가 포함됩니다.인클로저에서 발신된 데이터 및 코드는 [4]CPU 내에서 즉시 복호화되므로 운영체제나 [1][4][2]기본 하이퍼바이저 등의 높은 권한 수준에서 실행되는 코드 [4]등 다른 코드에 의해 검사 또는 읽혀지지 않습니다.이를 통해 다양한 종류의 공격을 완화할 수 있지만 사이드 채널 [5]공격으로부터 보호되지는 않습니다.
2021년에 인텔이 피벗을 실시해, 제11세대 및 제12세대 인텔 Core 프로세서의 SGX가 폐지되었습니다만, 인텔 Xeon은 클라우드 [6][7]및 엔터프라이즈용으로 계속 개발되고 있습니다.
세부 사항
SGX는 Skylake 마이크로아키텍처를 기반으로 한 6세대 인텔 Core 마이크로프로세서를 통해 2015년에 처음 도입되었습니다.
CPU에서의 SGX 지원은 CPUID "Structured Extended Feature Leaf" (구조화 확장 기능 리프) (EBX 비트 02)[8]에 나타나 있습니다만, 애플리케이션을 이용하려면 BIOS/UEFI 지원 및 옵션 인이 필요합니다.이는 CPUID 비트에 반영되지 않습니다.이것에 의해,[9] 애플리케이션의 기능 검출 로직이 복잡해집니다.
SGX의 에뮬레이션은 2014년에 [10]QEMU 시스템 에뮬레이터의 실험 버전에 추가되었습니다.2015년 조지아 공대 연구진은 "OpenSGX"[11]라는 이름의 오픈 소스 시뮬레이터를 출시했다.
보안에 사용되는 SGX의 예로는 암호화 알고리즘에 사용되는 wolfSSL의[12] 데모 애플리케이션을 들 수 있습니다.
인텔 Goldmont Plus (Gemini Lake) 마이크로아키텍처에는 인텔 SGX [13]지원도 포함되어 있습니다.
SGX는 11세대와 12세대 인텔 Core 프로세서에서 모두 "Decommended"로 표시되므로 "Client Platform" 프로세서에서는 지원되지 않습니다.[6][14][15]
SGX의 취약성 데모
프라임+프로브 공격
2017년 3월 27일 오스트리아 그라츠 공과대학 연구진은 DRAM 사이드 채널을 [16][17]캐싱하는 세밀한 타이머 대신 특정 CPU 명령을 사용하여 동일한 시스템에서 실행되는 SGX 엔클로저에서 RSA 키를 5분 이내에 가져올 수 있는 개념 증명을 개발했습니다.이러한 유형의 공격에 대한 한 가지 대응책은 2017년 [18]USENIX 보안 심포지엄에서 Daniel Gruss 등에 의해 발표되고 발표되었다.이러한 공격에 대한 대응책으로는 2017년 9월 28일 컴파일러 기반 툴인 DR이 발표되었습니다.SGX는 [19]다른 제안 솔루션의 구현 복잡성을 제거하여 뛰어난 성능을 발휘한다고 주장합니다.
스펙터라이크 공격
Imperial College London의 LSDS 그룹은 Spectre 투기 실행 보안 취약성이 보안 인클로저를 [20]공격하도록 조정될 수 있다는 개념 증명을 보여 주었습니다.2018년 8월 공개된 포어섀도 공격은 SGX를 [21]우회하기 위해 투기 실행과 버퍼 오버플로를 결합한 것이다.
포위 공격
2019년 2월 8일 오스트리아 그라츠 공과대학 연구진은 일부 사례에서 구역 [22]내에서 악성코드를 실행할 수 있다는 연구 결과를 발표했다.부정 이용에는 프로세스 메모리를 통한 스캔이 수반되어 페이로드가 재구성되어 시스템에서 코드가 실행됩니다.이 문서에서는 인클로저의 기밀성과 보호성으로 인해 인클로저 내에 존재하는 말웨어를 바이러스 대책 소프트웨어에서 검출 및 제거하는 것은 불가능하다고 주장하고 있습니다.그러나 최신 악성 프로그램 및 안티바이러스 솔루션은 시스템 호출 및 운영 체제와의 상호작용을 모니터링하므로 악성 엔클로저를 동작으로 식별할 수 있으며 이 문제가 최신 안티바이러스 문제가 될 가능성은 거의 없습니다.인텔은 이 공격이 SGX의 위협 모델 외이며, 사용자가 실행하는 코드가 신뢰할 수 있는 소스로부터의 것임을 보증할 수 없다는 성명을 발표하고 소비자에게 신뢰할 [23]수 있는 코드만 실행하도록 촉구했습니다.
마이크로스코프 재생 공격
현대 컴퓨터 아키텍처를 괴롭히는 사이드 채널 공격이 급증하고 있습니다.이러한 공격 중 대부분은 코드 실행 시 미미한 비결정적 변화를 측정하기 때문에 공격자가 비밀을 학습하기 위해서는 수 만 개의 측정이 필요합니다.그러나 MicroScope 공격은 악성 OS가 프로그램의 실제 구조에 관계없이 임의의 횟수만큼 코드를 재생할 수 있도록 해 수십 건의 사이드 채널 [24]공격을 가능하게 합니다.
플런더볼트
보안 연구진은 인클로저 내에서 특정 장애 타이밍을 주입하여 정보를 유출할 수 있었습니다.공격은 원격으로 실행할 수 있지만 프로세서의 전압과 주파수를 [25]특권적으로 제어할 수 있어야 합니다.
LVI
Load Value[26][27] Injection은 메모리로부터 로드된 값을 대체하는 것을 목적으로 하는 프로그램에 데이터를 주입합니다.이 값은 오류가 발견되어 롤백될 때까지 잠시 사용됩니다.이 기간 동안 LVI는 데이터와 제어 흐름을 제어합니다.
SGAxe
SGX 취약성인 SGAxe는 [28][29]캐시에 대한 투기적 실행 공격을 확장하여 인클로저의 콘텐츠를 누출합니다.이를 통해 공격자는 원격 [30]증명에 사용되는 개인 CPU 키에 액세스할 수 있습니다.즉, 위협 행위자는 SGX 인클로저의 기밀성을 침해하기 위해 인텔의 대응책을 우회할 수 있습니다.SGAxe 공격은 인텔이 서명한 SGX의 비공개 견적서에서 증명 키를 추출함으로써 수행됩니다.그런 다음 공격자는 임의의 SGX 증명 [31]인용문에 서명하여 합법적인 Intel 시스템으로 위장할 수 있습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ a b "Intel SGX for Dummies (Intel SGX Design Objectives)". intel.com. 2013-09-26.
- ^ a b johnm (2017-08-08). "Properly Detecting Intel® Software Guard Extensions (Intel® SGX) in Your Applications". software.intel.com. Retrieved 2019-02-15.
- ^ "Intel SGX Details". intel.com. 2017-07-05.
- ^ a b c d "Researchers Use Intel SGX To Put Malware Beyond the Reach of Antivirus Software - Slashdot". it.slashdot.org.
- ^ "Intel SGX and Side-Channels". intel.com. 2020-02-28.
- ^ a b "New Intel chips won't play Blu-ray disks due to SGX deprecation". Retrieved 2022-01-17.
- ^ anrilr (2022-01-20). "Rising to the Challenge — Data Security with Intel Confidential Computing". community.intel.com. Retrieved 2022-04-20.
- ^ 인텔 아키텍처 인스트럭션 세트 확장 프로그래밍 레퍼런스, 인텔, 2015년 8월, 36 페이지, "구조화 확장 기능 리프 EAX=07h, EBX 비트 02: SGX"
- ^ "Properly Detecting Intel Software Guard Extensions in Your Applications". intel.com. 2016-05-13.
- ^ "Intel SGX Emulation using QEMU" (PDF). tc.gtisc.gatech.edu. Retrieved 2018-11-02.
- ^ "sslab-gatech/opensgx". GitHub. Retrieved 2016-08-15.
- ^ "wolfSSL At IDF". wolfssl. 2016-08-11.
- ^ "Intel® Pentium® Silver J5005 Processor". Retrieved 2020-07-10.
- ^ "11th Generation Intel Core Processor Datasheet". Retrieved 2022-01-15.
- ^ "12th Generation Intel Core Processors Datasheet". Retrieved 2022-01-15.
- ^ Chirgwin, Richard (March 7, 2017). "Boffins show Intel's SGX can leak crypto keys". The Register. Retrieved 1 May 2017.
- ^ 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].
- ^ "Strong and Efficient Cache Side-Channel Protection using Hardware Transactional Memory" (PDF). USENIX. 2017-08-16.
- ^ 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.
- ^ Sample code demonstrating a Spectre-like attack against an Intel SGX enclave., 19 December 2021
- ^ Peter Bright - Jul 10, 2018 9:00 pm UTC (2018-07-10). "New Spectre-like attack uses speculative execution to overflow buffers". Ars Technica. Retrieved 2018-11-02.
- ^ Schwarz, Michael; Weiser, Samuel; Gruss, Daniel (2019-02-08). "Practical Enclave Malware with Intel SGX". arXiv:1902.03256 [cs.CR].
- ^ Bright, Peter (2019-02-12). "Researchers use Intel SGX to put malware beyond the reach of antivirus software". Ars Technica. Retrieved 2019-02-15.
- ^ Skarlatos, Dimitrios; Yan, Mengjia; Gopireddy, Bhargava; Sprabery, Read; Torrellas, Josep; Fletcher, Christopher W. (2019). "MicroScope: enabling microarchitectural replay attacks". Proceedings of the 46th International Symposium on Computer Architecture - ISCA '19. Isca '19. Phoenix, Arizona: ACM Press: 318–331. doi:10.1145/3307650.3322228. ISBN 978-1-4503-6669-4.
- ^ "Plundervolt steals keys from cryptographic algorithms". Rambus Blog. 2019-12-11. Retrieved 2020-03-20.
- ^ "LVI: Hijacking Transient Execution with Load Value Injection". lviattack.eu. Retrieved 2020-03-12.
- ^ "Load Value Injection". software.intel.com. Retrieved 2020-03-12.
- ^ "SGAxe: How SGX Fails in Practice".
- ^ "CacheOut: Leaking Data on Intel CPUs via Cache Evictions".
- ^ "Towards Formalization of Enhanced Privacy ID (EPID)-based Remote Attestation in Intel SGX".
- ^ "SGAxe & CrossTalk Attacks: New Intel SGX Vulnerability Leaks Data". Hack Reports. 2020-06-12. Retrieved 2020-06-12.
외부 링크
- 인텔 소프트웨어 가드 익스텐션 (인텔 SGX) / ISA 익스텐션, 인텔
- 인텔 소프트웨어 가드 확장 (인텔 SGX)프로그래밍 레퍼런스, 인텔, 2014년 10월
- IDF 2015 - 테크니컬 채팅:인텔 소프트웨어 가드 확장 기능, 인텔 (포스터)에 관한 입문서
- 인텔 SGX용 ISCA 2015 튜토리얼 슬라이드, 2015년 6월
- McKeen, Frank, et al. (인텔), 격리 실행을 위한 혁신적 지침과 소프트웨어 모델 // 보안과 프라이버시를 위한 하드웨어 및 아키텍처 지원에 관한 제2회 국제 워크숍 진행ACM, 2013.
- 잭슨, 알론, (박사 학위 논문)신뢰는 뷰어의 키에 있습니다. SGX 자율성과 익명성 확대, 2017년 5월.
- Joanna Rutkowska, 인텔의 소프트웨어 가드 확장에 대한 생각 (파트 1), 2013년 8월
- SGX: 좋은 것, 나쁜 것, 완전히 못생긴 것/Shaun Davenport, Richard Ford(플로리다 공과대학)/Virus Bulletin, 2014-01-07
- Victor Costan과 Srinivas Devadas, 인텔 SGX 설명, 2016년 1월
- wolfSSL, 2016년 10월
- 키 프로텍션 및 데이터 프라이버시 애플리케이션용 인텔 SGX 보안 / Yehuda Lindell 교수 (Bar Ilan University & Unbound Tech), 2018년 1월
- 인텔 SGX 테크놀로지와 프로세서 사이드 채널 공격의 영향, 2020년 3월
- 사외비 컴퓨팅이 개인화된 쇼핑 경험을 제공하는 방법, 2021년 1월
- 2021년 12월 R3의 EyA와 콘클라베를 통해 프라이버시를 유지하면서 데이터의 잠재력을 실현
- 인텔 소프트웨어 가드 확장 기능 소개, 2020년 6월