몰락, 인텔 프로세서에 영향을 미치고 정보에 액세스하여 데이터를 도용할 수 있는 취약점

몰락

이 취약점은 Intel 프로세서의 메모리 최적화 기능으로 인해 발생합니다.

다시, Intel 프로세서의 예측 명령 실행 시스템에서 취약점이 발견되었습니다., 그리고 이번에는 Google 연구원이 새로운 취약점을 식별했다고 발표했습니다(이미 아래 목록에 있음). CVE-2022-40982), «몰락»

Downfall은 XMM, YMM의 내용을 확인할 수 있는 취약점입니다. 동일한 CPU 코어에서 AVX 명령을 실행할 때 이전에 다른 프로세스에서 사용했던 ZMM 벡터 레지스터.

몰락에 대하여

취약성에 관해서는 다음과 같이 언급됩니다. 권한이 없는 공격자 시스템에서 자신의 코드를 실행할 수 있는 기능, 이 취약점을 악용하여 다른 사용자 프로세스의 데이터를 유출할 수 있습니다. 시스템 커널, 격리된 Intel SGX 엔클레이브 및 가상 머신.

필터링 가능한 벡터 레지스터는 암호화, 메모리 복사 기능 및 문자열 처리에 널리 사용됩니다. 예를 들어 이러한 레지스터는 무엇보다도 memcpy, strcmp 및 strlen 기능의 Glibc 라이브러리에서 사용됩니다. 실제적인 관점에서 이 취약성은 다른 프로세스에서 AES-NI 또는 REP-MOVS 명령(memcpy 기능에 사용됨)에서 처리 중인 데이터를 확인하는 데 악용될 수 있으며, 이로 인해 암호화 키, 민감한 데이터 및 사용자 암호가 유출될 수 있습니다.

취약점은 Intel 프로세서에서 나타납니다. AVX2 및 AVX-512 확장 명령 세트(6~11세대 프로세서에 영향을 미침)를 지원하는 반면 Alder Lake, Raptor Lake 및 Sapphire Rapids 마이크로아키텍처 기반 Intel 프로세서는 영향을 받지 않는 것 같습니다.

최근에 발견된 AMD Zen2 프로세서에 영향을 미치는 Zenbleed 취약점과 마찬가지로 Downfall에서 취약점의 원인은 동일한 CPU 코어의 모든 애플리케이션 작업에서 로그 콘텐츠를 공유하는 데 사용되는 로그 파일의 데이터 유출입니다.

누수는 GATHER 문을 실행할 때 투기적인 데이터 전송으로 인한 것입니다., AVX2 및 AVX-512 확장에서 사용할 수 있으며 메모리의 이질적인 데이터에 대한 빠른 액세스를 제공하도록 설계되었습니다. GATHER 문을 실행하는 동안 레지스터 파일의 이전 데이터는 종속 명령어의 예측 실행에 사용됩니다. 이 데이터는 소프트웨어 로그에 직접 반영되지 않지만 CPU 캐시에 남아 있는 데이터를 구문 분석하는 것과 같이 Meltdown 공격용으로 설계된 사이드 채널 공격 기술을 사용하여 확인할 수 있습니다.

몰락을 악용하려면 Gather Data Sampling이라는 공격 기술이 개발되었습니다. (GDS) 그리고 다른 사용자의 프로세스에서 암호화 키를 추출하기 위해 익스플로잇 프로토타입이 게시되었으며, memcpy 기능에 의해 Linux 커널에 복사된 후 데이터를 유출하고 다른 프로세스가 작동한 후 벡터 레지스터에 남아 있는 인쇄된 문자를 가로챕니다. 예를 들어 OpenSSL 라이브러리를 사용하여 다른 사용자의 프로세스에서 데이터를 암호화하는 데 사용되는 AES 키를 정의하는 기능을 보여줍니다.

이 방법은 높은 효율성을 보여주었습니다. 100개의 서로 다른 키로 실험을 수행하여 AES-100 키의 128%와 AES-86 키의 256%가 각 시도의 지속 시간을 10초 이하로 결정했습니다. 클라우드 시스템에서는 공격을 사용하여 다른 가상 머신에서 어떤 데이터가 처리되고 있는지 확인할 수 있습니다. 웹 브라우저에서 JavaScript 코드를 실행하여 취약점을 악용할 수 있습니다.

내가 언급되어야 한다.ntel은 작년에 이 문제에 대해 알게 되었습니다. (정확히는 XNUMX월) 취약점은 올해 BlackHat USA 컨퍼런스에서만 공개되었습니다. 취약점으로부터 보호하기 위한 수정 사항은 버전 6.4.9 6.1.44에서 4.14.321에 이르는 다양한 Linux 커널 업데이트에 이미 포함되어 있습니다.

이 외에도 Downfall 취약점에 대한 보호가 성능에 미치는 부정적인 영향을 피하기 위한 가능한 조치 중 컴파일러에서 변경하여 GATHER 문 사용을 비활성화하거나 GATHER LFENCE 바로 뒤에 문을 추가하는 것이 언급됩니다. 모든 이전 커밋이 완료되기 전에 후속 문의 선제 실행을 비활성화합니다.

펌웨어 수정을 사용할 수 없는 시스템의 경우 모든 AVX 확장에 대한 지원이 비활성화되었으며 Intel 마이크로코드 업데이트 부분의 경우 MSR 인터페이스를 사용하여 펌웨어를 선택적으로 비활성화하는 기능도 제공합니다.

마지막으로, 그것에 대해 더 많이 알고 싶다면에서 세부 정보를 확인할 수 있습니다. 다음 링크.


선호하는 소스로 추가