Retbleed: Intel과 AMD를 공격하는 새로운 투기적 실행 공격

뉴스는 최근에 그것을 깨뜨렸다.e ETH Zurich의 연구원 그룹이 새로운 공격을 식별했습니다. 커널 메모리에서 정보를 추출하거나 가상 머신에서 호스트 시스템에 대한 공격을 구성할 수 있는 CPU의 간접 점프의 추측 실행 메커니즘에 대해 설명합니다.

취약점은 코드명 Retbleed로 지정되었습니다. (이미 CVE-2022-29900, CVE-2022-29901로 분류됨) 및 Spectre-v2 공격과 본질적으로 유사합니다..

차이점은 "jmp" 명령어를 사용하여 간접적으로 점프하거나 메모리 또는 CPU 레지스터

새로운 공격에 대해서는 다음과 같이 언급됩니다. 공격자는 포크 예측을 위한 조건을 만들 수 있습니다. 프로그램의 실행 논리에서 의도하지 않은 코드 블록으로의 의도적인 추측 점프를 잘못 구성합니다.

궁극적으로, 프로세서는 분기 예측이 정당하지 않다고 판단하고 작업을 롤백합니다. 원래 상태로, 하지만 처리된 데이터 투기 실행 중 그들은 캐시에 앉을 것입니다 및 마이크로아키텍처 버퍼. 잘못 실행된 블록이 메모리 액세스를 수행하면 추측 실행으로 인해 일반 캐시에 설치되고 메모리에서 데이터 읽기가 수행됩니다.

작업의 추측 실행 후 캐시에 남아 있는 데이터를 확인하기 위해 공격자는 제XNUMX자 채널을 통해 잔여 데이터를 확인하는 방법을 사용할 수 있습니다(예: 캐시된 데이터 액세스 시간 및 캐시되지 않은 데이터 액세스 시간의 변경 분석).

다른 권한 수준(예: 커널 메모리)에서 정보를 의도적으로 추출하기 위해 "장치"가 사용됩니다. 커널에 있는 스크립트, 영향을 받을 수 있는 외부 조건에 따라 메모리에서 데이터를 추측적으로 읽는 데 적합 공격자에 의해.

간접 및 조건부 분기 명령을 사용하는 고전적인 Spectre 클래스 공격으로부터 보호하기 위해 대부분의 운영 체제는 간접 분기 작업을 별도의 스택 상태 예측이 필요한 "ret" 명령으로 대체하는 것을 기반으로 하는 "retpoline" 기술을 사용합니다. 단위는 프로세서에서 사용되며 분기 예측 블록을 사용하지 않습니다.

2018년에 retpoline이 도입되었을 때 Spectre와 같은 주소 조작은 "ret" 명령어를 사용하는 투기적 분기에 비실용적인 것으로 여겨졌습니다.

공격 방법을 개발한 연구원 Retbleed는 마이크로아키텍처 조건을 생성할 가능성을 보여주었습니다. "ret" 명령어를 사용하여 투기적 전환을 시작하고 이러한 조건이 나타나는 Linux 커널의 취약성을 악용하기 위해 적절한 명령어 시퀀스(가제트)를 식별하기 위해 기성품 툴킷을 출시했습니다.

연구 과정에서, 작업 익스플로잇이 준비되었습니다 Intel CPU가 있는 시스템에서 사용자 공간의 권한이 없는 프로세스에서 커널 메모리에서 초당 219바이트의 속도로 98%의 정확도로 임의의 데이터를 추출할 수 있습니다.

En 프로세서 AMD, 익스플로잇의 효율성이 훨씬 더 높습니다. 누출률이 초당 3,9KB이기 때문입니다. 실제 예로서 제안된 익스플로잇을 사용하여 /etc/shadow 파일의 내용을 확인하는 방법을 보여줍니다. Intel CPU가 있는 시스템에서는 루트 암호 해시를 결정하기 위한 공격이 28분 안에 수행되었고 AMD CPU가 있는 시스템에서는 6분이 걸렸습니다.

공격은 6-8세대 인텔 프로세서에 대해 확인되었습니다. 2019년 1분기(Skylake 포함) 이전에 출시된 AMD 프로세서와 1년 2분기 이전에 출시된 Zen 2021, Zen XNUMX+ 및 Zen XNUMX 마이크로아키텍처 기반 AMD 프로세서입니다. 최신 프로세서 모델에서, AMD Zen3 및 Intel Alder Lake와 같은 ARM 프로세서, 문제가 기존 보호 메커니즘에 의해 차단됨. 예를 들어, IBRS(간접 분기 제한 추측) 명령을 사용하면 공격으로부터 보호하는 데 도움이 됩니다.

Linux 커널 및 Xen 하이퍼바이저에 대한 일련의 변경 사항 준비, 이전 CPU에서 프로그래밍 방식으로 문제를 차단합니다. 제안된 리눅스 커널 패치는 68개의 파일을 변경하고 1783줄을 추가하고 387줄을 제거한다.

불행히도 보호에는 상당한 오버헤드 비용이 발생합니다. AMD 및 Intel 프로세서로 작성된 텍스트에서 성능 저하가 14%에서 39% 사이로 추정됩니다. 최신 세대의 Intel CPU에서 사용 가능하고 Linux 커널 4.19부터 지원되는 IBRS 명령을 기반으로 하는 보호를 사용하는 것이 더 좋습니다.

마지막으로, 그것에 대해 더 알고 싶다면 다음을 참조하십시오. 다음 링크에서 세부 사항.


코멘트를 남겨주세요

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

*

*

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