Zenbleed, Downfall, Inception 등과 같은 CPU 취약점에 대해 알아야 할 모든 것

click fraud protection

최근 CPU 취약점이 대유행하고 있으며 Zenbleed와 Downfall이 최근 두 가지 취약점입니다. 하지만 얼마나 걱정해야 할까요?

CPU 취약점은 최근 몇 년간 뉴스에 자주 등장했고, 공개될 때 꽤 무서운 메시지를 동반하는 경우가 많습니다. 의 경우 젠블리드 그리고 몰락즉, 컴퓨터의 모든 응용 프로그램이 올바른 상황에서 실행되는 다른 프로그램의 메모리에 액세스할 수 있다는 것입니다. 강렬한 것 같죠?

그러나 생각만큼 나쁘지는 않습니다. 성능을 희생하더라도 오류를 수정하기 위해 공개 및 소프트웨어 업데이트를 보장할 만큼 충분히 중요하지만 이러한 보안 문제를 일으키는 원인은 정확히 무엇입니까? 걱정해야합니까?

Zenbleed, Downfall, Inception과 같은 CPU 취약점을 걱정해야 합니까?

솔직히 말해서 이러한 공격 중 어느 것도 대다수의 사람들에게 영향을 미치지 않습니다. 한 프로그램에서 다른 프로그램으로 데이터를 유출할 수 있지만 소비자 컴퓨터에 있는 모든 악성 코드는 이미 악용할 수 있는 높은 수준의 액세스 권한을 갖고 있습니다. 대신, 이러한 공격이 특히 우려되는 곳은 클라우드 컴퓨팅 환경입니다.

문제를 이해하려면 다양한 클라우드 서버가 단순히 강력한 마력, 대규모 네트워크 대역폭 및 기타 특수 하드웨어를 갖춘 컴퓨터 필수의. 많은 회사에서는 수십 개의 다른 가상 머신이 실행될 수 있는 제한된 전력을 갖춘 가상화된 머신인 VPS 또는 가상 개인 서버를 임대합니다.

이것이 문제가 될 수 있는 곳은 하나의 가상 머신에서 한 사람이 다음 중 하나를 실행할 수 있다는 것입니다. 다른 곳의 데이터를 포함하여 프로세서를 통해 어떤 데이터가 흐르는지에 대한 통찰력을 얻습니다. 가상 머신. 이는 불가능하며 심각한 보안 위반입니다. 그렇기 때문에 Zenbleed가 공개되었을 때 이미 서버 사용을 목표로 하는 AMD의 Epyc 프로세서용 패치가 있었습니다.

현재 가장 심각한 CPU 취약점

취약점의 "순위 지정" 및 심각도에 대한 업계 표준은 CVSS(Common Vulnerability Scoring System)를 통해 결정됩니다. 취약점의 다양한 측면이 점수에 영향을 미치므로 심각도를 정량적으로 측정합니다. 다음 사항을 고려하여 측정합니다.

  • 공격 벡터: 네트워크/인접/로컬/물리적
  • 공격 복잡성: 낮음/높음
  • 필요한 권한: 없음/낮음/높음
  • 사용자 상호작용: 없음/필수
  • 범위: 불변/변경
  • 기밀성: 없음/낮음/높음
  • 진실성: 없음/낮음/높음
  • 유효성: 없음/낮음/높음

이들 모두는 버그의 심각도를 분류합니다. 예를 들어 복잡성이 낮고, 권한이 필요하지 않으며, 사용자 상호 작용이 없고, 범위가 변경된 네트워크를 통해 실행될 수 있는 취약점입니다. 높은 데이터 기밀성 누출, 높은 데이터 무결성 위반 및 가용성에 대한 높은 영향은 CVSS 3.1에서 최고 점수인 10점을 획득합니다. 가능한.

해당 측정항목을 통해 Zenbleed와 Downfall의 피해량을 평가할 수 있습니다. 스포일러: 서로 다른 CPU에 영향을 주기는 하지만 동일합니다. 그러므로 그들은 일정 금액을 득점하는 동안 취약점의 맥락에 따라 다양한 양의 제품에 영향을 미칠 수 있으며 이는 제품에 영향을 미치지 않습니다. 점수. CVSS 점수는 본질적으로 선별을 위한 것일 뿐 전체 내용을 알려주지는 않습니다.

젠블리드: 6.5 (중간)

  • 공격 벡터: 현지의
  • 공격 복잡성: 낮은
  • 필요한 권한: 낮은
  • 사용자 상호작용: 없음
  • 범위: 변경됨
  • 기밀성: 높은
  • 진실성: 없음
  • 유효성: 없음

설명: 공격 벡터에는 머신에 대한 로컬 액세스(머신에서 실행되는 것처럼)가 필요하지만 머신에 있는 데이터의 무결성이나 가용성에는 영향을 주지 않습니다. 그러나 범위가 변경되고(권한을 넘어서는 리소스에 영향을 미친다는 의미) 공격 복잡성이 높아지며 실행에 필요한 권한이 낮습니다. 이는 또한 기계 정보의 기밀성을 완전히 위반합니다.

몰락: 6.5 (중간)

  • 공격 벡터: 현지의
  • 공격 복잡성: 낮은
  • 필요한 권한: 낮은
  • 사용자 상호작용: 없음
  • 범위: 변경됨
  • 기밀성: 높은
  • 진실성: 없음
  • 유효성: 없음

설명: 공격 벡터에는 머신에 대한 로컬 액세스(머신에서 실행되는 것처럼)가 필요하지만 머신에 있는 데이터의 무결성이나 가용성에는 영향을 주지 않습니다. 그러나 범위가 변경되고(권한을 넘어서는 리소스에 영향을 미친다는 의미) 공격 복잡성이 높아지며 실행에 필요한 권한이 낮습니다. 이는 또한 기계 정보의 기밀성을 완전히 위반합니다.

인셉션: 5.6(중간)

  • 공격 벡터: 현지의
  • 공격 복잡성: 높은
  • 필요한 권한: 낮은
  • 사용자 상호작용: 없음
  • 범위: 변경됨
  • 기밀성: 높은
  • 진실성: 없음
  • 유효성: 없음

설명: 공격 벡터에는 머신에 대한 로컬 액세스(머신에서 실행되는 것처럼)가 필요하지만 머신에 있는 데이터의 무결성이나 가용성에는 영향을 주지 않습니다. 그러나 범위가 변경되고(권한을 넘어 리소스에 영향을 미친다는 의미) 공격 복잡성이 높으며 실행에 필요한 권한이 낮습니다. 이는 또한 기계 정보의 기밀성을 완전히 위반합니다.

스펙터: 5.6(중간)(패치)

스펙터는 더 널리 퍼진 현상임에도 불구하고 실제로 더 적은 Zenbleed 및 Downfall보다. 공격 복잡도가 '높음'으로 평가되어 점수가 떨어졌기 때문입니다.

  • 공격 벡터: 현지의
  • 공격 복잡성: 높은
  • 필요한 권한: 낮은
  • 사용자 상호작용: 없음
  • 범위: 변경됨
  • 기밀성: 높은
  • 진실성: 없음
  • 유효성: 없음

설명: 공격 벡터에는 머신에 대한 로컬 액세스(머신에서 실행되는 것처럼)가 필요하지만 머신에 있는 데이터의 무결성이나 가용성에는 영향을 주지 않습니다. 그러나 범위가 변경되고(권한을 넘어 리소스에 영향을 미친다는 의미) 공격 복잡성이 높으며 실행에 필요한 권한이 낮습니다. 이는 또한 기계 정보의 기밀성을 완전히 위반합니다.

멜트다운: 5.6(중간)(패치)

Spectre와 마찬가지로 Meltdown은 필요한 공격 복잡성이 더 높기 때문에 Zenbleed 및 Downfall보다 점수가 낮습니다.

  • 공격 벡터: 현지의
  • 공격 복잡성: 높은
  • 필요한 권한: 낮은
  • 사용자 상호작용: 없음
  • 범위: 변경됨
  • 기밀성: 높은
  • 진실성: 없음
  • 유효성: 없음

설명: 공격 벡터에는 머신에 대한 로컬 액세스(머신에서 실행되는 것처럼)가 필요하지만 머신에 있는 데이터의 무결성이나 가용성에는 영향을 주지 않습니다. 그러나 범위가 변경되고(권한을 넘어 리소스에 영향을 미친다는 의미) 공격 복잡성이 높으며 실행에 필요한 권한이 낮습니다. 이는 또한 기계 정보의 기밀성을 완전히 위반합니다.

가장 큰 원인: 분기 예측

출처: AMD

분기 예측 및 추측 실행은 현재는 필요하지 않지만 후속 주기에 있을 작업을 컴퓨터가 수행하는 경우를 광범위하게 나타냅니다. 명령이나 데이터가 아직 CPU에 준비되지 않은 경우 전체 처리 속도를 높이기 때문에 시스템에 여유 리소스가 있을 때 수행되는 경우가 많습니다. 수행된 작업이 필요하지 않으면 일반적으로 폐기되고 프로세서는 다음 올바른 명령을 실행하기 위해 필요한 위치로 다시 이동할 수 있습니다. 이를 분기 예측 오류라고 합니다.

분기 예측 변수에 대한 보다 심층적인 이해를 위해 프로그램이 실행 시 동일한 두 숫자를 일관되게 추가하는 시나리오를 상상해 보십시오. 어떤 단계에서 프로세서는 이 패턴을 인식하고 두 숫자가 추가되는 메서드가 다시 호출될 경우 다음 단계를 준비할 수 있습니다. 어느 시점에서 결과가 변경되면 프로세서가 동일한 두 숫자를 동일하게 계획했더라도 추측은 폐기되고 실제 실행 흐름으로 대체됩니다. 그러나 그 숫자가 유지되는 동안 ~이다 동일하면 프로세서는 해당 명령을 빠르게 건너뛸 수 있습니다.

그러나 추측 실행에는 많은 문제가 있으며 Spectre, Zenbleed, Downfall 등과 같은 취약점이 그 결과입니다. 이는 현대 CPU 성능에 많은 영향을 미치는 강력한 기능이지만 연구자들이 CPU의 취약점을 찾을 때 주요 목표입니다.

완화: 성능 저하

이러한 취약점을 완화하는 것이 가장 중요하지만 문제는 이러한 완화가 성능에 부담을 주는 경우가 많다는 것입니다. AMD의 최신 Zenbleed의 경우 완화로 인해 엄청난 성능 오버헤드가 발생할 수 있습니다.

그 이유는 이 문제를 해결하는 유일한 방법은 영향을 받는 프로세서에서 분기 예측기의 동작을 비활성화하거나 변경하는 것이기 때문입니다. Intel의 몰락에 대한 완화 조치에서도 동일한 성능 저하를 찾을 수 있습니다. 최대 39%의 성능 영향을 시사하는 초기 보고서. 에픽게임즈 한때 유명하게 공유됐던 Meltdown 취약점이 공개된 후의 CPU 사용률 그래프와 이러한 완화가 회사의 CPU 사용률에 얼마나 많은 영향을 미쳤는지 보여줍니다. 예상대로 CPU 사용량이 크게 증가했습니다. 상황이 더 무서워지는 부분은 AMD의 Inception에 대한 수정입니다. 성능이 최대 54%까지 감소한 것으로 나타났습니다..

이와 같은 취약점은 프로세서의 기본 기능에 영향을 미치기 때문에 핵심 기능을 비활성화하거나 심각하게 손상시키는 것 외에는 실제로 수정하기가 어렵습니다. 투기적 실행은 매우 중요하며 이러한 완화는 많은 사람들이 느낄 것입니다. 게임 성능은 예측하기 어렵습니다. 따라서 PC의 주요 용도가 게임이라면 좋습니다. 컴퓨터는 그렇게 많은 예측을 할 수 없지만 이러한 문제는 훨씬 더 크게 확장됩니다. 시스템.

향후 프로세서가 영향을 받습니까?

고맙게도 Intel Downfall과 Zenbleed의 경우 이러한 악용은 구형 프로세서에 영향을 미칩니다. 최신 프로세서 두 회사 모두 안전하며 현재로서는 걱정할 것이 없습니다. 일반적으로 중요한 재설계를 통해 이러한 문제를 해결할 수 있습니다. 예를 들어 Spectre는 Intel의 8세대 및 9세대 CPU에 영향을 미쳤지만 9세대에는 구현된 소프트웨어 수정 사항의 하드웨어 버전이 통합되었습니다. 실적 히트로 완성. Intel의 10세대는 여전히 안전했지만 이러한 완화 조치로 인해 더 이상 성능에 영향을 미치지 않았습니다.

결과적으로 Downfall과 Zenbleed는 모두 해당 프로세서의 최신 버전에서 이미 수정되었으므로 사용자는 크게 걱정할 필요가 없습니다. 물론, 항상 더 많은 취약점이 발견될 수 있지만 현 시점에서는 안전합니다.