0xNews - Intel, AMD 에 영향을 미치는 새로운 공격 Retbleed 발견

0xNews - Intel, AMD 에 영향을 미치는 새로운 공격 Retbleed 발견


ETHZurich 발표

https://comsec.ethz.ch/research/microarch/retbleed/


Retbleed 로 명명

CVE-2022-29900 - AMD 프로세서 취약점

CVE-2022-29901 - Intel 프로세서 취약점

각 제조회사는 해당 취약점에 대한 소프트웨어를 통한 대응 방안 발표

Intel 의 해당 취약점 대응 정보 발표 링크

https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00702.html


Retbleed 또는 Spectre-BTI CVE-2017-5715 또는 Spectre-V2 로 알려진 스펙터 Spectre 공격의 클래스에 추가 공격

타이밍 사이드 채널을 통해 예측 실행이라는 최적화 기술의 부작용을 이용하여 속임

프로그램이 메모리 공간의 임의 위치에 접근하고 개인 정보 누출


데모 동영상



예측 실행은 성능 향상을 위해 다음에 실행할 명령을 예측

프로그램의 명령 파이프라인을 채우고 예측이 잘못된 것으로 판단되면 실행 결과를 취소하려고 시도함

스펙터와 같은 공격은 잘못된 예측의 결과로 이런 잘못 실행된 명령이 캐시에 실행 흔적을 남기게 되어 불량 프로그램이 프로세서를 속여 잘못된 코드 경로를 실행

피해자와 관련된 기밀 정보를 추론하여 외부 유출 유도

달리 말하면 스펙터는 하드웨어 설계 결함에 의존하여 추론적으로 실행되는 명령어 스퀸스와 피해자의 메모리 주소 공간 내에서 암호화 키 혹은 비밀번호를 누출하는 영향을 미치는 일시적인 실행 공격의 인스턴스


이것은 차례로 희생자와 공유된 캐시에서 메모리 읽기를 수행하는데 걸리는 시간을 측정

Flush + Reload 와 같은 마이크로아키텍처 사이드 채널을 통해 달성되지만 공유 메모리 중 일부를 플러시 하기 전에는 그렇지 않아 읽기가 빠르거나 느림

피해자가 제거된 이후 모니터링된 캐시 라인에 접근했는지 여부에 따라 다름


Retpoline 일명 리턴 트램폴린과 같은 보호 장치는 BTI Branch Target Injection 방지를 위해 고안

하지만 Retbleed 는 이러한 대응책을 우회하고 코드 실행을 달성하도록 설계

Retpolines 는 간접 점프 - 런타임에 분기 대상이 결정되는 분기 - 와 호출을 반환으로 대체하여 작동

Retpoline 에 대한 구글에서의 설명 사이트 링크

https://support.google.com/faqs/answer/7625886


Retbleed 는 커널에서 반환 명령을 하이재킹

커널 컨텍스트에서 임의의 추측 코드 실행을 얻는 것을 목표로 함

피해자 반환 명령에서 레지스터나 메모리에 대한 충분한 제어를 통해 공격자는 임의의 커널 데이터가 누출될 수 있음


요약하자만 반환 명령을 예측 실행을 위한 공격 벡터로 처리하고 반환을 간접 분기처럼 예측하도록 강제

Retpoline 이 제공하는 보호를 효과적으로 취소하는 것


AMD 는 Jmp2Ret 라고 불리는 기술을 도입

Intel 은 Retpoline 완화 기능이 있는 경우에도 잠재적인 취약점을 해결하기 위해 eIBRS Enhanced Indirect Branch Restricted Speculation 사용할 것을 권장

권장 내용 중에는 윈도우 운영체제는 기본적으로 IBRS 를 사용함으로써 업데이트가 필요하지 않음

리눅스 운영체제는 각 커뮤니티와 협력하여 단점에 대한 소프트웨어 업데이트 제공 예정


댓글

이 블로그의 인기 게시물

0xNews - 미군을 주제로 하여 한국인을 노리는 피싱 공격 캠페인 경고

0xNews - 리눅스 커널에서 StackRot 라는 이름의 취약점으로 권한 상승 취약점 발견

0xNews - 리눅스 시스템에 원격 명령어 인젝션 공격이 가능한 새로운 openSSH 취약점 발견