부채널 취약성: 마이크로아키텍처 데이터 샘플링 및 트랜잭션 비동기 중단
개요
2019년 5월 14일, 인텔과 그 밖의 업계 파트너가 함께 마이크로아키텍처 데이터 샘플링(MDS)이라는 새로운 취약성에 대한 세부사항과 정보를 공유했습니다.
인텔 내부 연구진과 파트너가 최초로 파악했으며 외부 연구진이 독립적으로 인텔에 보고한 MDS는 이전에 공개된 예측 실행 부채널 취약성의 하위 클래스로 4가지 관련 기술로 구성되어 있습니다. 특정 조건에서 MDS는 악성 프로그램에 다른 조건에서는 확인할 수 없는 데이터를 읽을 수 있는 수단을 제공합니다. MDS 기술은 로컬에서 실행된 예측 실행 부채널 내의 작은 구조에서 유출된 샘플링 데이터에 기반합니다. MDS 자체는 악위적 행위자에게 이러한 방법으로 유출된 데이터를 선택할 수 있는 기능을 제공하지 않습니다. 실질적으로 MDS 공격은 매우 복잡한 작업입니다.
특정 8세대 및 9세대 인텔® 코어™ 프로세서뿐만 아니라 2세대 인텔® 제온® 프로세서 스케일러블 제품군을 시작으로 MDS 취약성이 하드웨어에서 완화되었습니다. 여기에서 더 자세한 내용을 확인할 수 있습니다. 이러한 취약성을 해결하는 하드웨어 수준의 대응책이 향후 모든 인텔® 프로세서에 포함될 것입니다.
트랜잭션 비동기 금지(TAA) 취약성은 MDS와 동일한 마이크로아키텍처 구조에 영향을 미치지만 악용 메커니즘은 다릅니다. MDS에 취약한 CPU에서 기존 MDS 완화는 TAA CVE의 취약성을 해결하는 도움이 됩니다. MDS에 취약하지 않지만 트랜잭션 기능을 갖춘 CPU에서는 추가 완화 조치가 필요할 수 있습니다. 여기에서 추가로 자세한 내용을 확인할 수 있습니다.
대응책
인텔은 OEM과의 정기적 업데이트 절차의 일환으로 하드웨어에서 MDS 또는 TAA가 해결되지 않는 제품을 위한 프로세서 마이크로코드 업데이트(MCU)를 배포하고 있습니다. 이 업데이트는 해당 운영 체제와 하이퍼바이저 소프트웨어 업데이트에 함께 제공됩니다.
이 대응책이 적용되면 대다수의 PC 클라이언트 응용 프로그램 기반 벤치마크에서 성능에 미치는 영향은 최소한일 것으로 예상됩니다. 일부 데이터 센터 워크로드의 성능 또는 리소스 활용률에 영향을 미칠 수 있으며 그 정도는 다를 수 있습니다.
이 업데이트가 적용되면 일부 고객의 경우 추가적인 단계를 거치는 것이 좋을 수 있습니다. 동시 멀티 스레딩(SMT)을 사용하는 고객 중 시스템에서 신뢰할 수 있는 소프트웨어가 실행되고 있는지 확신할 수 없는 고객이 이에 해당됩니다. 이러한 경우 고객은 특정 워크로드에 대한 SMT 활용 방식, OS 및 VMM 소프트웨어 공급자의 안내, 특정 환경에 대한 보안 위협 모델을 고려해야 합니다. 이러한 요소는 고객마다 매우 다르기 때문에 인텔은 인텔® HT 비활성화를 권장하지 않으며, 비활성화만으로 MDS 보호가 이루어지는 것이 아님을 이해해야 합니다.
MDS 취약성의 대응책에 대한 자세한 내용은 여기에서 확인할 수 있습니다.
대다수 PC 클라이언트의 성능에 미치는 영향은 제한적임
인텔® 하이퍼스레딩이 비활성화된 PC 클라이언트의 성능에 미치는 영향
특정 데이터 센터 워크로드의 성능에 미치는 영향
인텔® HT가 비활성화된 특정 데이터 센터 워크로드의 성능에 미치는 영향
- 프로세서: 인텔® 코어™ i9-9900K 프로세서
- 메모리: 2x16GB
- 스토리지: 인텔® 760p 512GB SSD NVMe*
- 디스플레이 해상도: 1920x1080
- OS: Windows 10*, 버전 1809
- 그래픽: 인텔® HD 그래픽 630
- 테스트 날짜: 2019년 5월 7일
- 테스트 시행: 인텔사. 참고: 모든 클라이언트 측정 결과는 동일한 SKU를 사용했습니다. MDS의 영향을 측정하기 위해 다양한 구성에 대해 마이크로코드 및 OS만 변경
- 인텔 내부 측정 결과를 바탕으로 한 SPEC 벤치마크 결과, 비율은 연구 용도로 제공
- 프로세서: 1노드, 2x 인텔® 제온® 플래티넘 8180 프로세서(28코어, 2.5Ghz), S2600WFT 플랫폼
- 메모리: 384GB(12슬롯 / 32GB / DDR4-2666)의 총 메모리
- 스토리지: S3710 400G
- 사전 MDS 완화 조치:
- OS: Redhat Enterprise Linux* 7.6 3.10.0-957.10.1.el7.x86_64
- 마이크로코드: 0x200005a
- 사후 MDS 완화 조치:
- OS: Redhat Enterprise Linux* 7.63.10.0-957.12.2.el7.x86_64
- 마이크로코드: 0x200005e
- 프로세서: 1노드, 2x 인텔® 제온® 프로세서 E5-2699 v4(22코어, 2.2GHz), S2600WTTS1R 플랫폼
- 메모리: 256GB(8슬롯 / 32GB / DDR4-2666 (2400에서 실행))의 총 메모리
- 스토리지: S3710 400G
- 사전 MDS 완화 조치:
- OS: Redhat Enterprise Linux* 7.6 3.10.0-957.10.1.el7.x86_64
- 마이크로코드: 0xb000030
- 사후 MDS 완화 조치:
- OS: Redhat Enterprise Linux* 7.6 3.10.0-957.12.2.el7.x86_64
- 마이크로코드: 0xb000036
평가 위험
연구 환경의 통제된 조건 밖에서의 MDS 취약성 공격은 복잡한 작업입니다. MDS 취약성은 산업 표준 CVSS에 따라 낮음-중간 수준의 심각도로 분류되었으며 이러한 취약성의 실제적인 공격에 대한 보고서는 없습니다.
기술이 점점 고도화됨에 따라 제품과 데이터를 보다 안전하게 지키기 위해 에코시스템 전체가 함께 협력해야 할 것입니다. 이 문제에 대한 연구 커뮤니티 및 업계 파트너분들의 기여와 협력적 정보 공개에 감사드립니다.
리소스
시스템 제조업체, 운영 체제 공급업체, 그 밖에 여기서 기재되지 않은 업체에서 이러한 상황에 관한 정보를 발표했을 수 있습니다. 시스템 제조업체 또는 운영 체제 공급업체의 업데이트나 공지를 확인해야 합니다. 이 목록에 포함되지 않은 업체가 있을 수 있습니다.
인텔 고객 지원
도움이 필요한 경우 위의 운영 체제 / 시스템 제조업체 또는 인텔 고객 지원팀에 문의하십시오.
북미 전화 번호
(916) 377-7000
자주 묻는 질문(FAQ)
트랜잭션 비동기 중단(TAA)(CVE-2019-11135)은 인텔® 트랜잭션 동기화 확장 (인텔® TSX)과 관련된 예측 실행 부채널 문제입니다. TAA는 마이크로아키텍처 데이터 샘플링(MDS)과 동일한 마이크로아키텍처 구조에 영향을 줍니다. 인텔은 지속적으로 업계 파트너와 협력하여 TAA에 대한 정보 및 완화 조치를 개발하고 공개하고 있습니다.
MDS는 이전에 공개된 추측 실행 사이드 채널 취약성의 한 종류로, 인텔의 내부 연구원과 파트너가 처음 확인하고 외부 연구원이 인텔에 독립적으로 보고했으며 밀접한 관련이 있는 4개의 CVE로 구성되어 있습니다.
- MLPDS(Microarchitectural Load Port Data Sampling) - CVE-2018-12127
- MSBDS(Microarchitectural Store Buffer Data Sampling) - CVE-2018-12126
- MFBDS(Microarchitectural Fill Buffer Data Sampling) - CVE-2018-12130
- MDSUM(Microarchitectural Data Sampling Uncacheable Sampling) - CVE-2019-11091
통제된 연구 환경 조건 외에서의 MDS 및 TAA 악용은 복잡한 작업이며, 인텔은 이러한 보안 문제의 실제 사례에 대해 보고받은 바 없습니다. 인텔에서 공개한 마이크로코드 업데이트와 업계 파트너가 제공한 운영 체제 및 하이퍼바이저 소프트웨어의 업데이트를 함께 적용하면 많은 고객이 필요한 보호를 받을 수 있습니다. 일부 고객의 경우 추가적인 단계를 거치는 것이 좋을 수 있습니다. 동시 멀티 스레딩(SMT)을 사용하는 고객 중 시스템에서 신뢰할 수 있는 소프트웨어가 실행되고 있는지 확신할 수 없는 고객이 이에 해당됩니다. 이러한 경우 고객은 특정 워크로드에 대한 SMT 활용 방식, OS 및 VMM 소프트웨어 공급자의 안내, 특정 환경에 대한 보안 위협 모델을 고려해야 합니다. 어떠한 경우에도 인텔은 시스템을 최신으로 업데이트할 것을 권장합니다.
예. 인텔의 정기 업데이트 프로세스에서 공개된 프로세서 마이크로코드와 업계 파트너가 제공한 운영 체제 및 하이퍼바이저 소프트웨어의 업데이트를 함께 적용하면 고객과 IT 전문가, 클라우드 서비스 공급자에게 필요한 보호를 받을 수 있습니다.
자세한 내용을 알아보려면 인텔의 소프트웨어 보안 웹 사이트를 방문하십시오.
사용자가 선택하는 완화 조치 경로에 따라 세 가지 사례가 있습니다.
a. 선택한 완화 조치가 없습니다. 성능에 영향을 주지 않습니다.
b. TSX 비활성화
- TSX를 사용하지 않는 응용 프로그램은 영향을 받지 않습니다.
- TSX 지원 응용 프로그램에서는 모든 트랜잭션이 중단됩니다. TSX 사용 빈도 및 응용 프로그램 성능이 병행 커밋되는 TSX 트랜잭션에 의존하는 정도에 따라 영향이 달라집니다.
c. VERW를 사용해 마이크로아키텍처 버퍼를 덮어씁니다. 이미 MDS 완화 조치를 사용하는 시스템에는 추가 영향이 없습니다. 현재 MDS 완화 조치를 사용하지 않는 시스템에 미치는 영향은 MDS 완화 조치와 유사합니다.
아니요. 인텔에는 이 취약성의 실제 사례에 대해 보고된 바가 없습니다.
예. MDS 취약성은 2세대 인텔® 제온® 스케일러블 프로세서 제품군을 비롯해 특정 8세대 및 9세대 인텔® 코어™ 프로세서로 하드웨어를 교체하여 해결되었습니다. 이러한 취약성을 해결하는 하드웨어 수준의 완화 조치가 향후 모든 프로세서에 포함될 것입니다.
자세한 내용은 여기에서 확인할 수 있습니다.
아니요. 인텔은 사용자에게 인텔® 하이퍼스레딩 기술(인텔® HT 기술)을 비활성화하도록 권장하지 않습니다. 비활성화만으로 MDS가 보호되는 것이 아니며 워크로드에 따라 다를 수 있지만 워크로드 성능이나 리소스 활용도에 영향을 받을 수 있습니다.
협력적 취약성 정보 공개("CVD" 또는 “책임 있는 정보 공개”)는 보안 취약성으로부터 고객을 보호하는 가장 좋은 방법으로 널리 인식되어 있습니다. CVD는 다음의 두 가지 기초적인 개념을 바탕으로 합니다. 즉, 기업이 보안 취약성을 알게 되면 (1) 이러한 취약성에 대응하기 위해 빠르고 협력적이고 효율적으로 대처하고, (2) 대응책이 마련되기 전에 누출 등을 통해 악의적 목적으로 사용하는 사람들에게 부당하게 정보가 이용되는 위험을 최소화하도록 동시에 조치를 취한다는 것입니다.
이러한 원칙은 카네기 멜론 대학교 소프트웨어 엔지니어링 연구소 컴퓨터 비상 대응팀(CERT)의 다음과 같은 언급에서 가장 잘 나타나 있습니다.
“대중과 특히 취약성을 지닌 제품의 사용자들은 해당 제품의 문제에 대해 알고 공급업체가 문제를 해결하는 방법에 대해 알 권리가 있습니다. 동시에 이러한 정보를 검토와 대응책 없이 대중에게 공개하는 것은 대중에게 악용 사례를 알리는 것일 뿐입니다. 모든 사람들이 협력하고 대중을 보호하기 공동으로 노력하는 것이 가장 이상적인 방법입니다.”
협력적 정보 공개와 그 중요성에 대한 정보는 협력적 취약성 정보 공개 가이드에서 확인할 수 있습니다.