일시적 실행 CPU 취약성
Transient execution CPU vulnerability일시적 실행 CPU 취약성은 컴퓨터 시스템의 취약성으로, 마이크로프로세서에서 구현된 추측 실행 최적화를 이용하여 인증되지 않은 당사자에게 비밀 데이터를 유출합니다.원형은 스펙터이며 스펙터와 같은 일시적 실행 공격은 사이드 채널 공격의 여러 범주 중 하나인 캐시 공격 범주에 속합니다.2018년 1월 이후 다양한 캐시 공격 취약성이 발견되었습니다.
개요
현대 컴퓨터는 성능 특성이 매우 다른 구성 요소로 구성된 고도로 병렬된 장치입니다.일부 초기 느린 작업(예: 메모리 읽기)이 아직 완료되지 않았기 때문에 작업(예: 분기)을 아직 수행할 수 없는 경우, 마이크로프로세서는 초기 작업의 결과를 예측하고 예측이 올바른 것처럼 행동하여 이후 작업을 추측적으로 실행할 수 있습니다.예측은 시스템의 최근 동작에 기초할 수 있습니다.더 빠르고 느린 작업이 완료되면 마이크로프로세서는 예측이 정확한지 여부를 판단합니다.올바른 경우에는 실행이 중단되지 않고 진행되며, 잘못된 경우에는 마이크로프로세서가 추측적으로 실행된 작업을 롤백하고 느린 작업의 실제 결과로 원래 명령을 반복합니다.특히, 과도 명령어는[1] 프로세서의 마이크로아키텍처 상태에 영향을 미쳐 실행 흔적 없이 아키텍처 상태를 남길 수 있는 프로세서의 오류로 처리된 명령어(스펙터의 경우 분기 예측자를 기소함)를 말합니다.
컴퓨터의 직접적으로 볼 수 있는 행동의 관점에서, 그것은 추측적으로 실행된 코드가 "절대 일어나지 않은" 것과 같습니다.그러나 이러한 추측 실행은 캐시와 같은 마이크로프로세서의 특정 구성 요소의 상태에 영향을 미칠 수 있으며, 이러한 효과는 후속 작업의 타이밍을 주의 깊게 모니터링하여 발견할 수 있습니다.
공격자가 추측적으로 실행된 코드(공격자가 직접 작성하거나 대상 시스템에서 발견한 적합한 가젯일 수 있음)가 접근 권한이 없는 비밀 데이터에 대해 작동하고 비밀 데이터의 다른 값에 대한 캐시에 다른 영향을 미치도록 배치할 수 있다면,그들은 비밀 데이터의 가치를 발견할 수 있을지도 모릅니다.
2017년부터 이러한 취약성의 여러 예가 확인되었으며 2018년 초에 출판이 시작되었습니다.
2021년 3월 AMD 보안 연구원들은 젠 3 CPU의 예측 저장소 포워딩 알고리즘이 [2]악성 애플리케이션이 액세스해서는 안 되는 데이터에 액세스하는 데 사용될 수 있다는 것을 발견했습니다.Phoronix에 따르면 [3]기능을 비활성화해도 성능에 미치는 영향은 거의 없습니다.
2021년 6월에 Intel 및 AMD의 최신 x86-64 CPU에 영향을 미치는 두 가지 새로운 취약성인 투기적 코드 저장소 바이패스(SCSB, CVE-2021-0086)와 부동 소수점 값 주입(FPVI, CVE-2021-0089)이 [4]발견되었습니다.이러한 문제를 완화하려면 소프트웨어를 다시 작성하고 다시 컴파일해야 합니다.ARM CPU는 SCSB의 영향을 받지 않지만 일부 ARM 아키텍처는 FPVI의 [5]영향을 받습니다.
2021년 8월에는 특정 AMD CPU에 영향을 주는 "비표준 액세스의 일시적 실행"이라는 취약성이 [6][7][8]공개되었습니다.특정 Intel [9]CPU에 영향을 미치는 MDS 취약성과 동일한 완화가 필요합니다.그것은 CVE-2020-12965로 지정되었습니다.대부분의 x86 소프트웨어는 이미 MDS에 패치가 적용되어 있으며 이 취약성의 완화 효과는 정확히 같기 때문에 소프트웨어 공급업체는 이 취약성을 해결할 필요가 없습니다.
2021년 10월, 멜트다운과 유사한 취약점이 처음으로[10][11] 모든 AMD CPU에 영향을 미치는 것으로 드러났지만, 회사는 새로운 완화 조치를 적용할 필요가 없다고 생각하며, 기존의 완화 조치는 [12]이미 충분합니다.
2022년 3월, 분기 히스토리 인젝션이라는 새로운 변형 스펙터 취약점이 [13][14]공개되었습니다.이 문제는 특정 ARM64 CPU[15] 및 다음 Intel CPU 제품군에 영향을 미칩니다.캐스케이드 레이크, 아이스 레이크, 타이거 레이크, 앨더 레이크.리눅스 커널 개발자에 따르면 AMD CPU도 [16]영향을 받습니다.
2022년 3월 CVE-2021-26341에 따라 광범위한 AMD CPU에 영향을 미치는 취약성이 [17][18]공개되었습니다.
2022년 6월, 가상 환경에서의 실행과 관련된 여러 MMIO Intel CPU 취약성이 [19]발표되었습니다.다음 CVE가 지정되었습니다: CVE-2022-2123, CVE-2022-2125, CVE-2022-2166.
2022년 7월, Intel Core 6에서 8세대 CPU 및 AMD Zen 1, 1+ 및 2세대 CPU에 영향을 미치는 Retbleed 취약성이 공개되었습니다.Zen 3에서 시작하는 AMD뿐만 아니라 최신 Intel 마이크로아키텍처도 영향을 받지 않습니다.이 취약성을 완화하면 영향을 받는 Intel CPU의 성능이 최대 39% 감소하는 반면 AMD CPU는 최대 14% 감소합니다.
2022년 8월, 라이젠 2000-5000 시리즈 CPU에 영향을 미치는 SQUIP [20]취약성이 공개되었습니다.AMD에 따르면 기존의 완화 조치는 [21]이로부터 보호하기에 충분합니다.
10월에 발표된 Phoronix 리뷰에 따르면, 2022 Zen 4/Ryzen 7000 CPU는 완화로 인해 속도가 느려지지 않으며, 실제로 CPU를 비활성화하면 성능이 [22][23]저하됩니다.
2023년 2월, 광범위한 AMD CPU 아키텍처에 영향을 미치는 "크로스 스레드 반환 주소 예측"이라는 취약성이 [24][25][26]공개되었습니다.
2023년 7월 Zen2 AMD 마이크로아키텍처의 중요한 취약성인 Zenbleed가 [27]공개되었습니다.AMD는 [28]이를 수정하기 위해 마이크로코드 업데이트를 출시했습니다.
2023년 8월, AMD의 Zen 1, Zen 2, Zen 3, Zen 4 마이크로아키텍처인 INCENTION의[29][30] 취약성이 드러났고 CVE-2023-20569에 할당되었습니다.AMD에 따르면 실용적이지는 않지만 영향을 받는 제품에 대한 마이크로코드 업데이트를 출시할 것이라고 합니다.
또한 2023년 8월에는 Intel CPU Skylake, Cascade Lake, Cooper Lake, Ice Lake, Tiger Lake, Amber Lake, Kaby Lake, Coffee Lake, Comet Lake 및 Rocket Lake CPU 제품군에 영향을 미치는 Dollapor Data Sampling이라는 새로운 취약성이 공개되었습니다[31][32][33].Intel은 해당 제품에 대한 마이크로코드 업데이트를 릴리스할 예정입니다.
미래.
그렇지 않으면 CPU 설계자가 엄청난 성능 [citation needed]손실을 초래하는 투기적 실행을 비활성화해야 하므로 Spectre 클래스 취약성은 수정되지 않은 상태로 유지됩니다.그럼에도 불구하고 AMD는 성능이 [22][23]완화의 영향을 받지 않도록 Zen 4를 설계했습니다.
취약성 및 완화 요약
완화 유형 | 종합성 | 유효성 | 성능 영향 |
---|---|---|---|
하드웨어 | 만차 | 만차 | 없음...작음 |
마이크로코드 | 부분적 | 부분...전체 | 없음...대 |
OS/VMM | 부분적 | 부분...전체 | 작은...큰. |
소프트웨어 재컴파일 | 불쌍한. | 부분...전체 | 중간...큰. |
하드웨어 완화를 위해서는 CPU 설계를 변경하여 하드웨어를 새로 반복해야 하지만 성능 손실이 거의 없습니다.마이크로코드 업데이트는 CPU가 실행되는 소프트웨어를 변경하므로 모든 운영 체제 및 각 CPU에 대해 패치를 릴리스하고 통합해야 합니다. OS/VMM 완화는 운영 체제 또는 가상 시스템 수준에서 적용되며 (워크로드에 따라) 상당한 성능 손실이 발생하는 경우가 많습니다.소프트웨어 재컴파일을 수행하려면 모든 소프트웨어를 다시 컴파일해야 하며 일반적으로 심각한 성능 저하가 발생합니다.
취약성 이름 (계속) | CVE | 영향을 받는 CPU 아키텍처 및 제한 사항 | ||||||
---|---|---|---|---|---|---|---|---|
인텔[34] | AMD[35] | |||||||
아이스 레이크[36] | 캐스케이드 레이크, 코메트레이크 | 위스키 레이크, 앰버레이크 | 커피 호수 (9세대)[37] | 커피 호수 (8세대)* | 젠1 / 젠1+ | 젠 2[38] | ||
스펙터 v1 경계 검사 바이패스 | 2017-5753 | 소프트웨어 재컴파일 | 소프트웨어[39] 재컴파일 | |||||
스펙터 v2 분기 대상 주입 | 2017-5715 | 하드웨어 + OS | 마이크로코드 + OS | 마이크로코드 + OS | 마이크로코드 + OS/VMM | 하드웨어 + OS/VMM | ||
SpectreRSB[40]/ret2spec[41] 잘못된 예측을 반환 | 2018-15572 | OS[42] | ||||||
멜트다운 로그 데이터 캐시 로드 | 2017-5754 | 영향을 받지 않음 | 마이크로코드 | 영향을 받지 않음 | ||||
스펙터-NG v3a | 2018-3640 | 영향을[43] 받지 않음 | 마이크로코드 | |||||
스펙터-NG v4 투기적 스토어 바이패스 | 2018-3639 | 하드웨어 + OS/VMM[43] | 마이크로코드 + OS | OS/VMM | 하드웨어 + OS/VMM | |||
전조 L1 단자 결함(L1TF) | 2018-3615 | 영향을 받지 않음 | 마이크로코드 | 영향을 받지 않음 | ||||
스펙터-NG Lazy FP 상태 복원 | 2018-3665 | OS/VMM[44] | ||||||
스펙터-NG v1.1 경계 검사 바이패스 저장소 | 2018-3693 | OS/VMM[45] | ||||||
미리 보기-OS L1 단자 결함(L1TF) | 2018-3620 | 영향을 받지 않음 | 마이크로코드 + OS | 영향을 받지 않음 | ||||
그림자-VMM L1 단자 결함(L1TF) | 2018-3646 | |||||||
RIDL/좀비 로드 마이크로아키텍처 필 버퍼 데이터 샘플링(MFBDS) | 2018-12130 | |||||||
RIDL 마이크로아키텍처 로드 포트 데이터 샘플링(MLPDS) | 2018-12127 | 영향을 받지 않음 | 영향을 받지 않음 | 영향을 받지 않음 | 마이크로코드 + OS[46] | |||
RIDL 마이크로아키텍처 데이터 샘플링 캐시 불가능 메모리(MDSUM) | 2019-11091 | 영향을 받지 않음 | 마이크로코드 + OS | |||||
낙진 마이크로아키텍처 저장소 버퍼 데이터 샘플링(MSBDS) | 2018-12126 | 마이크로코드[47][48] | 영향을 받지 않음 | 영향을 받지 않음 | 마이크로코드 + OS | |||
스펙터 SWAPGS[49][50][51] | 2019-1125 | 스펙터 1과 동일 | ||||||
RIDL/좀비로드 v2 트랜잭션 비동기 중단(TAA)[52][53][54] | 2019-11135 | 영향[55] 받지 않음 | 마이크로코드 + OS | |||||
RIDL/캐시 출력/좀비 로드 L1D 제거 샘플링(L1DES)[56][57][58] | 2020-0549 | 영향 받지 않음 | ||||||
RIDL 벡터 레지스터 샘플링(VRS)[56][57] | 2020-0548 | |||||||
부하 값 주입(LVI)[59][60][61][62] | 2020-0551 | 소프트웨어 재컴파일 | ||||||
크로스토크 특수 레지스터 버퍼 데이터 샘플링(SRBDS)[63][64][65] | 2020-0543 | 영향을 받지 않음 | 마이크로코드 | 영향을 받지 않음 | ||||
분기 기록 주입(BHI) | 2022-0001 | 마이크로코드 + 소프트웨어 재컴파일 | 영향을 받지 않음 | |||||
리트블리드[66][67][68][69][70] | 2022-29900 | 영향을 받지 않음 | 소프트웨어 재컴파일 | |||||
교차 스레드 반환 주소 예측[25][24] | 2022-27672 | 영향을 받지 않음 | 소프트웨어 재컴파일 | |||||
젠블리드[71][72][73] | 2023-20593 | 영향을 받지 않음 | 마이크로코드 | |||||
몰락[31][32][33] 데이터 샘플링(GDS) 수집 | 2022-40982 | 마이크로코드 + OS | 영향을 받지 않음 |
이 표의 8세대 Coffee Lake 아키텍처는 실버몬트로 [74][75]시작하는 Intel Core, Pentium 4 및 Intel Atom 기반 아키텍처에 국한되지 않고 이전에 출시된 광범위한 Intel CPU에도 적용됩니다.위에 포함되지 않은 다양한 CPU 마이크로아키텍처(IBM Power, ARM, MIPS 등)[76][77][78][79]도 영향을 받습니다.
Rocket Lake 및 Tiger Lake와 같은 Ice Lake를 지나온 Intel CPU는 Fallout/MSBDS의 영향을 받지 않습니다.
메모들
레퍼런스
- ^ Kocher, Paul; Horn, Jann; Fogh, Anders; Genkin, Daniel; Gruss, Daniel. "Spectre Attacks: Exploiting Speculative Execution" (PDF). Retrieved 2020-04-16.
- ^ Cutress, Ian. "AMD Issues Updated Speculative Spectre Security Status: Predictive Store Forwarding". www.anandtech.com. Retrieved 2021-04-08.
- ^ "Benchmarking AMD Zen 3 With Predictive Store Forwarding Disabled - Phoronix". www.phoronix.com. Retrieved 2021-04-08.
- ^ "Rage Against the Machine Clear". VUSec. Retrieved 2021-06-29.
- ^ "Speculative Processor Vulnerability Frequently asked questions". Arm Developer. Retrieved 2021-06-29.
- ^ "Transient Execution of Non-canonical Accesses".
- ^ Musaev, Saidgani; Fetzer, Christof (2021). "Transient Execution of Non-Canonical Accesses". arXiv:2108.10771 [cs.CR].
- ^ Francisco, Thomas Claburn in San. "Boffins find if you torture AMD Zen+, Zen 2 CPUs enough, they are vulnerable to Meltdown-like attack". www.theregister.com. Retrieved 2021-09-05.
- ^ https://developer.amd.com/wp-content/resources/90343-D_SoftwareTechniquesforManagingSpeculation_WP_9-20Update_R2.pdf[베어 URL PDF]
- ^ Lipp, Moritz; Gruss, Daniel; Schwarz, Michael (2021-10-19). "AMD Prefetch Attacks through Power and Time". USENIX Security Symposium.
- ^ "AMD Prefetch Attacks through Power and Time" (PDF).
- ^ "Side-channels Related to the x86 PREFETCH Instruction".
- ^ "Branch History Injection". VUSec. Retrieved 2022-03-08.
- ^ "BHI: The Newest Spectre Vulnerability Affecting Intel & Arm CPUs". www.phoronix.com. Retrieved 2022-03-08.
- ^ Ltd, Arm. "Speculative Processor Vulnerability Spectre-BHB". Arm Developer. Retrieved 2022-03-11.
- ^ "Linux Lands Mitigations For Spectre-BHB / BHI On Intel & Arm, Plus An AMD Change Too". www.phoronix.com. Retrieved 2022-03-08.
- ^ "grsecurity - The AMD Branch (Mis)predictor Part 2: Where No CPU has Gone Before (CVE-2021-26341)". grsecurity.net. Retrieved 2022-03-11.
- ^ "AMD CPUs May Transiently Execute Beyond Unconditional Direct Branch".
- ^ "oss-security - Xen Security Advisory 404 v2 (CVE-2022-21123,CVE-2022-21125,CVE-2022-21166) - x86: MMIO Stale Data vulnerabilities". www.openwall.com. Retrieved 2022-06-19.
- ^ "AMD Details "SQUIP" Side Channel Vulnerability For Zen's Execution Unit Scheduler". www.phoronix.com. Retrieved 2022-08-10.
- ^ "Execution Unit Scheduler Contention Side-Channel Vulnerability on AMD Processors".
- ^ a b "With AMD Zen 4, It's Surprisingly Not Worthwhile Disabling CPU Security Mitigations". www.phoronix.com. Retrieved 2022-10-07.
- ^ a b "Disabling Spectre V2 Mitigations Is What Can Impair AMD Ryzen 7000 Series Performance". www.phoronix.com. Retrieved 2022-10-07.
- ^ a b "[FYI PATCH 0/3] Cross-Thread Return Address Predictions vulnerability [LWN.net]". lwn.net. Retrieved 2023-02-14.
- ^ a b "Cross-Thread Return Address Predictions AMD". 2022-02-14. Retrieved 2023-08-11.
- ^ "oss-sec: Xen Security Advisory 426 v1 (CVE-2022-27672) - x86: Cross-Thread Return Address Predictions". seclists.org. Retrieved 2023-02-15.
- ^ Paul Alcorn (2023-07-24). "AMD 'Zenbleed' Bug Allows Data Theft From Zen 2 Processors, Patches Coming". Tom's Hardware. Retrieved 2023-07-24.
- ^ "Cross-Process Information Leak". amd.com. 2023-07-24. Retrieved 2023-07-27.
- ^ "Return Address Security Bulletin". amd.com. 2023-08-08. Retrieved 2023-08-08.
- ^ "New Inception attack leaks sensitive data from all AMD Zen CPUs". BleepingComputer. Retrieved 2023-08-09.
- ^ a b "Gather Data Sampling". Intel. Retrieved 2023-08-09.
- ^ a b "Downfall". Downfall Attacks. Retrieved 2023-08-09.
- ^ a b "Downfall and Zenbleed: Googlers helping secure the ecosystem". Google Online Security Blog. Retrieved 2023-08-09.
- ^ "Affected Processors: Transient Execution Attacks & Related Security..." Intel. Retrieved 2021-06-29.
- ^ "AMD Product Security AMD". 2019-08-10. Retrieved 2019-08-10.
- ^ Cutress, Dr Ian. "The Ice Lake Benchmark Preview: Inside Intel's 10nm". www.anandtech.com. Retrieved 2019-08-01.
- ^ "Intel Core i9-9900K mit 8 Kernen und 5 GHz für Gamer". heise online (in German). 8 October 2018. Retrieved 2018-10-09.
- ^ Cutress, Ian. "AMD Zen 2 Microarchitecture Analysis: Ryzen 3000 and EPYC Rome". www.anandtech.com. Retrieved 2019-06-11.
- ^ https://developer.amd.com/wp-content/resources/90343-B_SoftwareTechniquesforManagingSpeculation_WP_7-18Update_FNL.pdf[베어 URL PDF]
- ^ "Spectre Returns! Speculation Attacks using the Return Stack Buffer" (PDF). www.usenix.org. Retrieved 2019-08-17.
- ^ Maisuradze, Giorgi; Rossow, Christian (2018). "ret2spec: Speculative Execution Using Return Stack Buffers". Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security. pp. 2109–2122. arXiv:1807.10364. Bibcode:2018arXiv180710364M. doi:10.1145/3243734.3243761. ISBN 9781450356930. S2CID 51804116.
- ^ "Kernel/Git/Torvalds/Linux.git - Linux kernel source tree".
- ^ a b "Engineering New Protections Into Hardware". Intel. Retrieved 2019-04-28.
- ^ "INTEL-SA-00145". Intel.
- ^ "Bounds Check Bypass Store (BCBS) Vulnerability (INTEL-OSS-10002)". Intel.
- ^ "Intel Deep Dive CPUID Enumeration and Architectural MSRs". Intel. Retrieved 2020-01-02.
- ^ "INTEL-SA-00233". Intel. Retrieved 2020-07-15.
- ^ danielmgmi (2020-07-15), danielmgmi/icebreak, retrieved 2020-07-15
- ^ "Bitdefender SWAPGS Attack Mitigation Solutions". www.bitdefender.com. Retrieved 2019-08-07.
- ^ "Documentation/admin-guide/hw-vuln/spectre.rst - chromiumos/third_party/kernel - Git at Google". chromium.googlesource.com. Archived from the original on 2019-08-07. Retrieved 2019-08-07.
- ^ Winder, Davey (6 August 2019). "Microsoft Confirms New Windows CPU Attack Vulnerability, Advises All Users To Update Now". Forbes. Retrieved 7 August 2019.
- ^ "Cyberus Technology: TSX Asynchronous Abort". www.cyberus-technology.de. Retrieved 2019-11-12.
- ^ at 18:02, Shaun Nichols in San Francisco 12 Nov 2019. "True to its name, Intel CPU flaw ZombieLoad comes shuffling back with new variant". www.theregister.co.uk. Retrieved 2019-11-12.
- ^ Cimpanu, Catalin. "Intel's Cascade Lake CPUs impacted by new Zombieload v2 attack". ZDNet. Retrieved 2019-11-12.
- ^ "Intel Deep Dive TSX Asynchronous Abort". Intel. Retrieved 2020-01-02.
- ^ a b "MDS Attacks: Microarchitectural Data Sampling". mdsattacks.com. Retrieved 2020-01-27.
- ^ a b "IPAS: INTEL-SA-00329". Technology@Intel. 2020-01-27. Retrieved 2020-01-28.
- ^ "CacheOut". cacheoutattack.com. Retrieved 2020-01-29.
- ^ at 17:00, Thomas Claburn in San Francisco 10 Mar 2020. "You only LVI twice: Meltdown The Sequel strikes Intel chips – and full mitigation against data-meddling flaw will cost you 50%+ of performance". www.theregister.co.uk. Retrieved 2020-03-10.
- ^ "LVI: Hijacking Transient Execution with Load Value Injection". lviattack.eu. Retrieved 2020-03-10.
- ^ "INTEL-SA-00334". Intel. Retrieved 2020-03-10.
- ^ "Deep Dive: Load Value Injection". software.intel.com. Retrieved 2020-03-10.
- ^