젠블리드 취약점: Zen 2 CPU를 보호하는 방법
이 블로그 게시물에 포함된 일부 정보는 다음에서 가져온 것입니다. 톰의 하드웨어 기사 뿐만 아니라 취약점을 발견한 타비스 오만디가 작성한 게시물가 작성한 게시물에서 발췌한 것입니다.
민감한 데이터가 노출될 수 있는 젠블리드라는 취약점으로 인해 특정 젠 2 프로세서를 사용하는 TuxCare 고객에게 영향을 미칠 수 있습니다. 이 블로그 게시물을 읽고 이 보안 결함 및 해결 방법에 대해 알아보고 업데이트가 있는지 다시 확인해 주세요.
젠블리의 현재 상태
Google 정보 보안 팀의 일원인 타비스 오만디가 AMD의 Zen 2 프로세서에서 발견한 이전에 공개되지 않은 보안 결함에 대한 중요한 세부 정보를 공유했습니다. '젠블리드' 결함은 전체 Zen 2 제품군에 영향을 미치며, 심지어 AMD의 EPYC 데이터 센터 칩까지 확장되어 암호화 키 및 사용자 자격 증명을 포함한 CPU 내의 중요한 데이터에 무단으로 액세스할 수 있는 게이트웨이를 생성합니다. 놀랍게도 이 공격은 물리적 개입이 필요하지 않으며 웹 페이지의 JavaScript를 통해 실행될 수 있습니다.
Ormandy 보고서에 따르면 에 따르면 AMD가 이 취약점의 영향을 받는 시스템을 위한 펌웨어 솔루션을 개발했다고 합니다. 그러나 설명할 수 없는 변경이 발견된 새로운 Linux 펌웨어에 이러한 패치가 포함되어 있는지 여부는 불확실합니다.
Tom's Hardware에 따르면 AMD는 EPYC Rome 프로세서에 젠블리드 결함을 해결하는 패치를 사용할 수 있다고 확인했습니다. 그러나 AMD는 이 패치가 이 문제의 영향을 받는 소비자 대상 Ryzen CPU에 대해 준비되었는지 여부를 명확히 밝히지 않았습니다. Zenbleed 패치의 잠재적인 성능 영향 및 Ryzen 패치 출시 일정에 관한 질문은 아직 답변되지 않았습니다.
새로운 관련 정보가 발견되는 대로 이 블로그 게시물을 업데이트할 예정입니다.
젠블리의 위험은 무엇인가요?
CVE-2023-20593으로 등록된 젠블리드 취약점은 초당 코어당 30KB의 속도로 데이터를 도용할 수 있으며, CPU에서 처리하는 민감한 데이터를 효율적으로 빼낼 수 있는 경로를 만듭니다. 이 위협은 가상 머신, 샌드박스, 컨테이너 및 프로세스를 포함하여 영향을 받는 프로세서에서 실행되는 모든 소프트웨어에 영향을 미치는 범용적인 위협입니다. 가상 머신 전반에서 데이터를 추출하는 이 공격의 능력은 클라우드 서비스 제공업체와 사용자에게 심각한 우려를 불러일으킵니다.
Ormandy에 따르면 EPYC Rome 프로세서를 포함한 모든 Zen 2 CPU는 취약합니다:
- AMD Ryzen 3000 시리즈 프로세서
- AMD Ryzen PRO 3000 시리즈 프로세서
- AMD Ryzen Threadripper 3000 시리즈 프로세서
- AMD Ryzen 4000 시리즈 프로세서(Radeon 그래픽 탑재)
- AMD Ryzen PRO 4000 시리즈 프로세서
- AMD Ryzen 5000 시리즈 프로세서(Radeon 그래픽 탑재)
- AMD Ryzen 7020 시리즈 프로세서(Radeon 그래픽 탑재)
- AMD EPYC "로마" 프로세서
이 결함은 권한이 없는 임의 코드 실행을 통해 악용될 수 있습니다. 오만디는 보안 연구 및 익스플로잇 코드 리포지토리를 공유했습니다. 이 익스플로잇은 레지스터 파일을 조정하여 잘못 예측된 명령을 유도하는 방식으로 작동합니다.
오만디는 여러 운영 체제용 소프트웨어를 통해 이 결함을 수정할 수 있다고 밝혔습니다(예: Windows - "치킨 비트 DE_CFG[9]를 설정할 수 있습니다"). 그러나 이 경우 성능 비용이 발생할 수 있습니다. 오만디는 마이크로코드 업데이트를 받으라고 조언하지만, 아직 펌웨어 가용성에 대한 자세한 정보를 기다리고 있는 중입니다.
해결책은 무엇인가요?
Ormandy에 따르면, AMD는 영향을 받는 프로세서에 대한 마이크로코드 업데이트를 발표했으며, 해당 업데이트는 여기.
"BIOS 또는 운영 체제 공급업체에서 이미 해당 기능이 포함된 업데이트를 제공했을 수 있습니다."
KernelCare Enterprise 사용자의 경우, 마이크로코드 업데이트 방법에 대한 설명서를 따르세요. 를 업데이트하는 방법을 참조하세요.
마이크로코드 업데이트를 사용하는 것이 매우 권장되지만, Ormandy에서는 해결 방법을 공유하고 있습니다:
"어떤 이유로 업데이트를 적용할 수 없는 경우 소프트웨어 해결 방법이 있습니다. 치킨 비트 DE_CFG[9]를 설정하면 됩니다. 이 경우 약간의 성능 저하가 있을 수 있습니다."
Linux의 경우 다음과 같이 msr-tools를 사용하여 모든 코어에서 치킨 비트를 설정할 수 있습니다:
# wrmsr -a 0xc0011029 $(($(rdmsr -c 0xc0011029) | (1<<9)))
