Linux 6.2의 버그로 인해 Spectre v2 공격 보호를 우회할 수 있음

취약점

이러한 결함을 악용할 경우 공격자가 민감한 정보에 무단으로 액세스하거나 일반적으로 문제를 일으킬 수 있습니다.

최근에, a에 대한 정보가 공개되었습니다. Linux 6.2 커널에서 확인된 취약점 (이미 아래에 나열됨 CVE-2023-1998) 그리고 그것이 눈에 띄는 이유는 Spectre v2 공격 보호 비활성화 서로 다른 SMT 또는 하이퍼 스레딩 스레드에서 실행되지만 동일한 물리적 프로세서 코어에서 실행되는 다른 프로세스가 메모리에 액세스할 수 있습니다.

취약성은 무엇보다도 주목할만한 이유입니다. 사용할 수 있습니다 사이의 데이터 유출 구성 클라우드 시스템의 가상 머신. 

Spectre에 대해 모르는 사람들은 이것이 두 가지 원래 임시 실행 CPU 취약점 중 하나입니다. (다른 하나는 Meltdown입니다) 마이크로아키텍처 타이밍 부채널 공격이 포함됩니다. 이는 점프 예측 및 기타 형태의 추측을 수행하는 최신 마이크로프로세서에 영향을 미칩니다.

대부분의 프로세서에서 잘못된 분기 예측으로 인한 예측 실행은 개인 데이터를 공개할 수 있는 관찰 가능한 부작용을 남길 수 있습니다. 예를 들어, 이러한 예측 실행에 의한 메모리 액세스 패턴이 개인 데이터에 따라 달라지는 경우 데이터 캐시의 결과 상태는 공격자가 시간 공격을 사용하여 개인 데이터에 대한 정보를 추출할 수 있는 사이드 채널을 구성합니다.

2018년 XNUMX월 Spectre 및 Meltdown이 공개된 이후 이와 관련된 여러 변종 및 새로운 유형의 취약점이 등장했습니다.

Linux 커널을 사용하면 userland 프로세스가 spec 기능을 비활성화하는 PR_SET_SPECULATION_CTRL로 prctl을 호출하고 seccomp를 사용하여 완화를 활성화할 수 있습니다. 우리는 적어도 하나의 주요 클라우드 공급자의 가상 머신에서 prctl을 사용하여 spectre-BTI 완화를 활성화한 후에도 커널이 일부 경우에 여전히 피해자 프로세스를 공격에 노출된 상태로 두는 것을 발견했습니다. 

취약성에 관해서는 다음과 같이 언급됩니다. 공격으로부터 보호하기 위해 사용자 공간에서 스펙터의, 프로세스는 실행을 선택적으로 비활성화할 수 있습니다. prctl PR_SET_SPECULATION_CTRL을 사용하거나 seccomp 기반 시스템 호출 필터링을 사용하여 추측성 진술을 방지합니다.

문제를 파악한 연구원에 따르면, 커널 6.2 왼쪽 가상 머신의 잘못된 최적화 하나 이상의 대규모 클라우드 공급자로부터 적절한 보호 없이 prctl을 통한 spectre-BTI 공격 차단 모드가 포함되어 있음에도 불구하고. 이 취약점은 "spectre_v6.2=ibrs" 구성으로 시작되는 커널 2가 설치된 일반 서버에서도 나타납니다.

취약성의 본질은 보호 모드를 선택함으로써 IBRS 또는 eIBRS의 최적화는 STIBP(Single Thread Indirect Branch Predictors) 메커니즘의 사용을 비활성화했습니다. 이는 Simultaneous Multi-Threading(SMT 또는 Hyper-Threading) 기술을 사용할 때 누수를 차단하는 데 필요합니다. )

결과적으로 eIBRS 모드만 스레드 간 누수에 대한 보호를 제공하고 IBRS 모드는 제공하지 않습니다. 논리 코어 간 누수에 대한 보호를 제공하는 IBRS 비트는 제어가 공간 사용자에게 반환될 때 성능상의 이유로 지워지기 때문입니다. Spectre v2 클래스의 공격으로부터 보호되지 않는 사용자 공간 스레드.

테스트는 두 가지 프로세스로 구성됩니다. 공격자는 간접 호출을 대상 주소로 예상적으로 리디렉션하기 위해 지속적으로 간접 호출을 감염시킵니다. 피해자 프로세스는 잘못된 예측 비율을 측정하고 사용자 공간에서 MSR 읽기 및 쓰기 작업을 노출하는 커널 모듈을 사용하여 PRCTL을 호출하거나 MSR에 직접 작성하여 공격을 완화하려고 시도합니다.

이 문제는 Linux 6.2 커널에만 영향을 미칩니다. Spectre v2에 대한 보호를 적용할 때 상당한 오버헤드를 줄이도록 설계된 최적화를 잘못 구현했기 때문입니다. 취약점 그것은 Linux 6.3 커널의 실험적 분기에서 수정되었습니다.

마지막으로 예 그것에 대해 더 알고 싶습니까? 당신은에서 세부 사항을 확인할 수 있습니다 다음 링크.


코멘트를 남겨주세요

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

*

*

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

  1.   데이 키

    커널 매개변수 mitigations=off가 있는 항목:

    멋진 신사 여러분 👌😎🔥