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 를 사용함으로써 업데이트가 필요하지 않음
리눅스 운영체제는 각 커뮤니티와 협력하여 단점에 대한 소프트웨어 업데이트 제공 예정
댓글
댓글 쓰기
글과 상관없는 댓글 작성은 발견 즉시 삭제합니다.