ClickCease 하드웨어 수준 취약점, 다시 살펴보기

인기 뉴스레터 구독하기

4,500명 이상의 Linux 및 오픈소스 전문가와 함께하세요!

한 달에 두 번. 스팸이 없습니다.

하드웨어 수준 취약점, 다시 살펴보기

조아오 코레이아

2024년 5월 13일 - 기술 에반젤리스트

작년 8월에 저는 심각한 보안 위협을 초래하는 심각한 보안 위협을 야기하는 몇 가지 CPU 버그들. 이러한 취약점에 대한 완화책은 일반적으로 추가 명령어를 통합하거나 대체 CPU 명령어를 선택하는 것이었는데, 이는 전반적인 시스템 성능 저하로 이어지는 전략이었습니다. 이러한 취약점은 최신 하드웨어에 비용을 지불하더라도 인프라를 이전 하드웨어 세대의 기술 수준으로 되돌리기 때문에 결국 돈을 낭비하는 셈이라는 것이 제 주장입니다.

그러다 4월 초에 스펙터가 다시 등장하면서 익숙한 주기가 반복되었습니다. 다시 돌아가서 현재 진행 중인 이 문제에 대해 자세히 살펴보겠습니다.

 

스펙터. 다시.

 

스펙터는 2017년 발견된 버그에 붙여진 다소 기발한 이름입니다. 2017년에 발견되어 이후 취약점군으로 발전한 버그의 다소 기발한 이름입니다.의 취약점군으로 발전했으며, 각각 유사하거나 밀접하게 관련된 CPU의 구조적 결함을 악용합니다. 무어의 법칙(칩의 트랜지스터 수가 약 2년마다 두 배로 증가한다는 관측)이 끝나면서 CPU의 발전은 극적으로 변화했습니다. 90년대와 2000년대 초반에는 어떤 공급업체의 새로운 CPU 세대가 출시되면 일반적으로 성능이 두 배 또는 거의 두 배로 향상되었지만, 오늘날의 발전은 물리적 한계에 직면해 있습니다. 하드웨어를 녹을 때까지 과열시키지 않고 더 많은 트랜지스터를 같은 공간에 집적하는 것이 점점 더 어려워지고 있습니다.

그 결과, 제조업체들은 더 빠른 CPU를 생산하는 대신 코어 수를 늘리는 데 집중했습니다. 초기에는 소프트웨어가 병렬 실행을 효과적으로 활용하도록 설계되지 않았기 때문에 멀티코어 CPU의 성능 향상은 미미했습니다. 이후 소프트웨어가 다중 코어를 더 잘 활용하도록 발전했지만, 열 방출이라는 물리적 제약은 여전히 중요한 과제로 남아 있습니다. 오늘날에는 100개가 넘는 코어와 400W TDP (열 설계 전력)을 갖춘 CPU를 볼 수 있지만, 이러한 칩은 여전히 3GHz 펜티엄 4 와 비슷한 클럭 속도로 작동합니다. 더 높은 TDP CPU에 대한 잠정적인 작업은 다음과 같은 애매한 냉각 솔루션으로 이어집니다. 전체 시스템을 물에 잠긴 상태로 실행.

기존의 열 한계 내에서 CPU 성능을 극대화하기 위해 제조업체는 다양한 개선 사항을 도입했습니다. 여기에는 더 큰 캐시 크기, 다중 캐싱 레벨, 더 나은 다이 간 통신, GPU 및 메모리 컨트롤러를 CPU에 직접 통합, PCIe 레인의 신호 저하를 관리하기 위한 마더보드 설계의 개선 등이 포함됩니다. 또 다른 중요한 발전은 한 코어의 프로세스가 다른 코어의 데이터에 액세스하지 못하도록 하는 분기 예측 및 격리 메커니즘의 도입으로, 클라우드 컴퓨팅과 같이 여러 가상 머신이 동일한 물리적 하드웨어에서 작동할 수 있는 환경에서 매우 중요합니다.

그러나 이러한 새로운 기술의 복잡성으로 인해 구현 문제가 다소 불가피하게 발생할 수 있습니다. 분기 예측 (특수한 경우 추측 실행)은 단순히 당면한 명령을 더 빨리 실행하는 것만이 아닙니다. CPU는 이전 명령어를 기반으로 미래의 잠재적 명령어를 예측하고 가능한 경로를 미리 실행합니다. 이러한 선제적 실행은 식당의 웨이터가 주문자가 감자튀김을 원하는지 확인하기 전에 주문에 추가할 준비를 하는 것처럼 효율성을 높이기 위한 것입니다. 하지만 너무 많은 요청으로 시스템이 과부하되면 감자튀김을 요청했는데 밀크셰이크를 제공하는 것과 같은 오류가 발생할 수 있습니다.

보안 연구자들은 여유 시간이 있는 경우 분기 예측 메커니즘을 악용하여 액세스해서는 안 되는 데이터에 액세스하여 일반 사용자가 권한이 있는 시스템 데이터를 읽거나 가상 머신 테넌트가 다른 테넌트 또는 호스트 시스템의 데이터에 액세스할 수 있도록 하는 데 성공했습니다. 이러한 익스플로잇은 시간당 몇 킬로비트 단위로 측정된 속도로만 데이터를 추출할 수 있지만, 단호한 공격자의 경우 시간이 지나면서 개인 키와 같은 민감한 정보를 추출하기에 충분합니다.

새로운 변형의 아이디어는 예측된 브랜치에서 데이터를 볼 수 있을 뿐만 아니라 CPU를 속여서 다른 브랜치에서 실행하지 않는 코드를 실행하도록 CPU를 속일 수 있다는 것입니다.. 이는 이전 스펙터 공격에 대한 완화 조치가 배포된 시스템에서도 가능하므로 모든 완화 조치는 이미 성능에 영향을 미치는 기존 수정 사항 위에 추가됩니다.

 

하드웨어 취약성 완화

 

하드웨어 공급업체는 이러한 문제를 어떻게 해결하나요? 현재 설계에 대한 수정은 향후 몇 년 내에 제조되는 새로운 칩에만 적용될 하드웨어 수정과 관련이 있습니다. 이미 시장에 출시된 CPU의 취약점을 소급하여 수정할 수는 없습니다. 따라서 이러한 유형의 취약성에 대한 대부분의 '수정'은 문제가 되는 기능을 비활성화하거나 스로틀링하여 위험을 완화하는 '킬 스위치'와 같은 역할을 합니다. 안타깝게도 이는 상당한 성능 절충을 의미합니다. 예를 들어 분기 예측은 최신 CPU에서 성능 향상의 상당 부분을 차지합니다. 이 기능을 비활성화하면 속도가 눈에 띄게 느려집니다.

운영 체제 공급업체는 수정이 이루어지지 않을 경우, 공격 벡터를 차단하기 위해 함수 호출 및 '반환'에 대한 완전히 다른 접근 방식을 포함하는 등 다양한 접근 방식을 사용하고 있습니다(예: Linux 커널). 그러나 명령어가 많다는 것은 실행할 코드가 많다는 것을 의미하며, 이는 실행 속도가 느려져 성능이 저하되는 것과 마찬가지입니다.

최신 CPU가 이전 세대보다 10% 정도만 더 빠른데 스펙터 관련 완화 조치로 인해 그 이상의 성능 저하가 발생한다면, 실제 성능은 이전 세대보다 더 나빠지게 됩니다. 이러한 영향은 특히 10%의 성능 저하로 많은 비용이 발생할 수 있는 AI 모델 학습과 같은 작업의 경우 심각한 영향을 미칠 수 있습니다.

이 새로운 문제는 비즈니스 전략과 재해 복구를 포함한 조직 계획에 반영되어야 합니다. 다음 모의 훈련에서는 인프라가 10% 또는 15%의 성능 저하를 견뎌내고도 비즈니스 목표를 달성할 수 있는지 생각해 보세요. 이러한 시나리오를 어떻게 관리하시겠습니까?

이러한 고려 사항은 더 이상 가설이 아닌 최신 사이버 보안 전략의 필수 요소이며, 하드웨어 취약성이 운영 역량에 실질적인 영향을 미칠 수 있는 환경에서 앞서 나가는 것이 중요하다는 점을 강조합니다.

요약
하드웨어 수준 취약점
기사 이름
하드웨어 수준 취약점
설명
추가 명령어를 통합하거나 대체 CPU 명령어를 선택하는 취약점 완화 방법을 자세히 살펴보겠습니다.
작성자
게시자 이름
TuxCare
게시자 로고

Kernel 재부팅, 시스템 다운타임 또는 예정된 유지 보수 기간 없이 취약성 패치를 자동화하고 싶으신가요?

TuxCare로 라이브 패치에 대해 알아보기

TuxCare 게스트 작가 되기

시작하기

메일

가입

4,500

Linux & 오픈 소스
전문가!


뉴스레터 구독하기