AEPIC Leak, Intel SGX 키를 유출해 10, 11, 12세대에 영향을 미치는 공격

최근에 정보가 공개되었습니다 Intel 프로세서에 대한 새로운 공격 «AEPIC 누출» (이미 CVE-2022-21233으로 분류됨), 이 새로운 공격은 에서 민감한 데이터의 유출로 이어집니다. 고립된 지역 인텔 SGX (소프트웨어 가드 확장).

Spectre 클래스 공격과 달리 AEPIC Leak의 누출 타사 복구 방법을 사용하지 않고 발생하며, 민감한 데이터에 대한 정보는 MMIO(메모리 매핑 I/O) 메모리 페이지에 반영된 레지스터의 내용을 가져와서 직접 전송되기 때문입니다.

일반적으로, 공격은 두 번째와 마지막 수준의 캐시 간에 전송되는 데이터를 결정할 수 있습니다., 동일한 CPU 코어에서 이전에 처리되었던 레지스터의 내용과 메모리 읽기 작업의 결과를 포함합니다.

I/O 주소 스캐닝 Sunny Cove 마이크로아키텍처 기반 Intel CPU에서 할당된 기록을 밝혔다.s 인메모리 APIC(Advanced Programmable Interrupt Local Controller) 그들은 아니다
올바르게 초기화되었습니다. 결과적으로 이러한 레지스터의 아키텍처 읽기는 마이크로아키텍처에서 오래된 데이터를 반환하므로 L2와 마지막 레벨 캐시 간에 전송된 데이터는 이러한 레지스터를 통해 읽을 수 없습니다.

의 주소 공간으로 I/O는 권한이 있는 사용자만 액세스할 수 있습니다., ÆPIC 누출은 Intel의 TEE, SGX를 대상으로 합니다.. ÆPIC는 동일한 물리적 코어에서 실행되는 SGX 엔클레이브에서 데이터를 누출할 수 있습니다. ÆPIC 누출은 가상화된 환경에서 엄청난 위협이 될 수 있지만 하이퍼바이저는 일반적으로 로컬 APIC 로그를 가상 머신에 노출하지 않도록 하여 클라우드 기반 시나리오에서 위협을 제거합니다.

SGX를 ​​대상으로 하는 이전의 일시적 실행 공격과 유사하게 ÆPIC 누출은 형제 하이퍼 프로세스의 엔클레이브와 병렬로 실행될 때 가장 효과적입니다. 그러나 ÆPIC 누출은 하이퍼스레딩을 필요로 하지 않으며 하이퍼스레딩을 사용할 수 없거나 비활성화된 경우 엔클레이브 데이터를 누출할 수도 있습니다.

사용 중인 데이터를 필터링하는 두 가지 새로운 기술, 즉 엔클레이브 레지스터 값과 저장 데이터, 즉 엔클레이브 메모리에 저장된 데이터를 소개합니다. 캐시 라인 고정을 통해 오래된 데이터를 덮어쓰지 않고 캐시 계층에 목표 압력을 가하는 기술을 소개합니다…
이러한 캐시 라인은 여전히 ​​캐시 계층을 통해 이동하는 것처럼 보이지만 오래된 데이터를 덮어쓰지는 않습니다. 이를 위해 우리는 안전 상태 영역(SSA)에서 캐시 라인 값의 누출을 기록합니다.

두 번째 기술인 Enclave Shaking은 Enclave 페이지를 안전하게 교환하는 운영 체제의 기능을 활용합니다. 엔클레이브 페이지를 안팎으로 교대로 스왑함으로써 캐시된 페이지는 캐시 계층 구조를 통해 데이터를 강제 실행하므로 ÆPIC가 엔클레이브 실행을 계속하지 않고도 값을 필터링할 수 있습니다. 우리는 ÆPIC 누출을 다음과 함께 이용합니다.
인텔 IPP 라이브러리 및 인텔 SGX에서 AES-NI 키와 RSA 키를 추출하기 위한 캐시 라인 고정 및 엔클레이브 흔들림. 우리의 공격 누출은 334,8B/s의 엔클레이브 메모리와 92,2%의 적중률을 나타냅니다.

점을 감안할 때 공격에는 APIC MMIO의 물리적 페이지에 대한 액세스가 필요합니다., 즉 관리자 권한이 필요합니다. 이 방법은 관리자가 직접 액세스할 수 없는 SGX 엔클레이브를 공격하는 것으로 제한됩니다..

연구원들은 몇 초 안에 SGX에 저장된 AES-NI 및 RSA 키와 Intel SGX 증명 키 및 의사 난수 생성기 매개변수를 결정할 수 있는 도구 세트를 개발했습니다. 공격 코드는 GitHub에 게시됩니다.

인텔은 업데이트 형태로 수정 사항을 준비 중이라고 발표했습니다. 버퍼 플러싱에 대한 지원을 추가하고 엔클레이브 데이터를 보호하기 위한 추가 조치를 추가하는 마이크로코드.

Intel SGX용 SDK의 새 버전도 데이터 유출을 방지하기 위한 변경 사항으로 준비되었습니다. OS 및 하이퍼바이저 개발자는 MMIO 대신 MSR 레지스터를 사용하여 APIC 레지스터에 액세스하는 레거시 xAPIC 모드 대신 x2APIC 모드를 사용하는 것이 좋습니다.

이 문제는 Intel 10, 11, 12세대 CPU(새로운 Ice Lake 및 Alder Lake 시리즈 포함)에 영향을 미치며 CPU에 남아 있는 초기화되지 않은 데이터에 액세스할 수 있는 아키텍처 결함으로 인해 발생합니다.APIC(Advanced Programmable Interrupt Controller) 기록 이전 작업.

마침내 당신이 있다면 그것에 대해 더 알고 싶은 관심, 당신은에서 세부 사항을 확인할 수 있습니다 다음 링크.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자: AB Internet Networks 2008 SL
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.