미니 AMD의 스펙터 V2 취약점 완화조치 변경으로 일부 성능하락
- 스퀴니
- 조회 수 529
- 2022.03.13. 16:11
최근에 Spectre-BHB/BHI 취약점 이 공개되었으며 현재 Intel 및 Arm 프로세서만 영향을 받는 것으로 알려졌으나 해당 연구 과정에서 VUSec의 사람들은 Spectre V2 완화를 위한 AMD의 현재 Retpoline 전략이 적절하지 않다는 것을 발견했습니다. 이로 인해 AMD 프로세서의 동작이 변경되었으며 이미 Linux 커널에 적용되었습니다.
Vrije Universiteit Amsterdam의 VUSec 팀은 BHI/Spectre-BHB 백서 에서 AMD의 현재 LFENCE/JMP 기반 Retpolines의 Spectre V2 소프트웨어 완화 전략이 부적절하다고 언급했습니다. 지금까지 AMD CPU에서 Retpoline을 처리하면서 두 번째 변종 Spectre 취약점을 방어하기 위해 간접 분기를 LFENCE/JMP로 전환했습니다. AMD의 접근 방식은 간접 분기에서 RET를 초래하는 "일반" Retpolines 코드 시퀀스보다 하드웨어에서 더 나은 성능을 발휘하도록 설계되었습니다. LFENCE "AMD" Retpoline 접근 방식은 Spectre V2를 완화하기 위한 AMD 프로세서의 기본값이었습니다.
이제 일반적인 Retpoline으로 변경하는 패치가 리눅스 커널 5.17 메인라인에 적용되었고,
그에 대한 성능테스트 결과는 아래와 같습니다
기존에 비해 Stress-NG에서 54% 성능하락이 일어났고, 그 외에서는 6.4%까지의 성능하락이 일어난다고 합니다. 일부에서는 성능향상이 보이기도 합니다
위는 라이젠 5900HX을 탑재한 Asus 결과입니다. 여기서는 최대 22%를 보인다고 합니다.
마지막으로 위는 EPYC 72F3 서버 프로세서의 결과입니다. 일부 상승과 하락이 동시에 보이고 있습니다
https://www.phoronix.com/scan.php?page=article&item=amd-retpoline-2022
그나마 서버인 EPYC에서는 상승도 있고 하락도 있고 그래서 다행입니다