최근 몇 년 동안 하트블리드, 스펙터, 로우해머 등 하드웨어 수준의 취약점이 꾸준히 유입되면서 모든 CPU 공급업체가 면밀한 조사를 받고 있습니다. 인텔, AMD, ARM 등 어떤 칩 제품군이나 아키텍처도 이러한 익스플로잇에 안전하다고 입증된 것은 없습니다.
Linux 커널 개발팀은 인상적인 속도와 헌신적인 노력으로 취약점을 패치하고 해결 방법을 제공하는 등 대응해 왔습니다. 하지만 이러한 완화 조치로 인해 성능에 타격을 입는 경우가 많습니다.
블로그에서 이 주제를 다룬 지 1년이 조금 넘었습니다. 여기에서 이전 글에서 여전히 관련성이 있지만 이야기는 아직 끝나지 않았습니다.
완화: 양날의 검
패치는 치명적인 취약점으로부터 시스템을 보호하지만, 성능 저하를 피할 수 없는 경우가 많습니다. 예를 들어, 멜트다운 및 스펙터와 같은 추측 실행 취약점은 워크로드 및 아키텍처에 따라 경우에 따라 최대 30%의 CPU 성능 저하를 초래했습니다.
하이퍼스레딩 비활성화, 추가 메모리 펜싱 또는 메모리 액세스 오버헤드 증가와 같은 완화 조치가 구현되었지만 CPU 성능이 크게 저하되어 사용자는 최고 수준의 최첨단 CPU가 이전 세대 하드웨어와 비슷한 수준의 성능을 발휘할 수 있습니다.
최종 사용자와 개발자 모두의 불만이 커지고 있습니다. 심지어 라이너스 토발즈도 하드웨어 버그 상태에 대해 상당한 불만을 표출했습니다. 그의 최근 발언에서 그는 공급업체의 결함 있는 구현에 대한 보상 부담이 커지고 있다고 한탄했습니다. 이번 발언은 이론적으로 악용될 수 있는 메모리 복사 작업을 보호하기 위해 제안된 패치를 겨냥한 것이었습니다. 그는 이전에 다음과 같이 예상을 벗어난 발언을 한 적이 있습니다. AMD의 fTPM하드웨어 기반 신뢰할 수 있는 플랫폼 모듈에 대해 성능 문제와 버그에 직면한 바 있습니다. 사용자는 끊김 현상을 경험하여 일상 활동에 지장을 초래하고 고가의 하드웨어 업그레이드를 무용지물로 만들었습니다. 커널 팀이 하드웨어 수준의 문제를 해결하기 위해 나선 일련의 다른 상황들이 있으며, 이번에는 Linus가 하드웨어 회사가 스스로 문제를 해결하도록 하는 다른 접근 방식을 취하고 있는 것 같습니다, 더 나은 제품 만들기).
Linux 시스템이 갑자기 성능이 저하되면 하드웨어에 문제가 없는데도 하드웨어를 탓하는 것처럼 OS를 탓하는 것은 어찌 보면 이해할 수 있는 일입니다. 하지만 하드웨어 수준의 버그가 항상 마이크로코드 업데이트로 해결할 수 있는 것은 아니라는 점도 고려해야 합니다. 일부 문제는 3~4년이 지나야 되돌릴 수 있는 잘못된 아키텍처 결정으로 인해 발생하기도 합니다. 그리고 그 동안에는 시스템이 위험에 처하게 됩니다. 그럴까요? 그의 폭언에서 언급된 또 다른 불만은 이러한 취약점이 대부분 프로덕션급 익스플로잇으로 완전히 실현된 적이 없으며 순전히 이론적인 연습에 머물러 있다는 것입니다. 하지만 완화 조치의 영향은 매우 현실적입니다.
최신 CPU 취약점의 현실
하드웨어 보안 익스플로잇은 일부에 영향을 미치는 것에서 거의 모든 최신 CPU에 영향을 미치는 것으로 진화했습니다. 스펙터, 멜트다운, 포쉐도우, 레이지 FPU와 같은 취약점은 이 문제가 얼마나 심각한지를 보여줍니다. 최신 CPU의 복잡한 설계로 인해 패치가 어려울 뿐만 아니라 취약점을 해결하면 눈에 띄는 성능 저하를 초래하는 경우가 많습니다.
아래 표는 일반적인 CPU 취약점의 성능 영향과 여러 공급업체에 걸쳐 적용된 완화 조치를 보여줍니다:
| 취약성 | 영향을 받는 CPU | 성능 영향 | 완화 | 성능 손실(대략) |
| 스펙터/멜트다운 | 인텔 코어, AMD 라이젠 | 심각 | 마이크로코드 업데이트 | 10%~30%(워크로드에 따라 다름) |
| 레이지 FPU | 인텔 x86 프로세서 | 보통 | 마이크로코드 업데이트 | 5%-10% |
| 예시 | 인텔 코어 | 높음 | 기능 비활성화하기 | 최대 30% |
| 로우해머 | DDR 메모리 | 심각 | ECC, 소프트웨어 수정 | 어떤 경우에는 미미하지만, 어떤 경우에는 눈에 띄게 나타납니다. |
| 심장출혈 | 여러 아키텍처 | 무시할 수 있음(CPU) | 라이브러리 패치 적용 | 무시할 수 있음 |
타협의 미래?
CPU 취약성 완화로 인한 성능 저하는 불쾌한 현실로 이어집니다. 필요한 보안 패치로 인해 실제 성능 이점이 사라진다면 최신 하드웨어 세대로 업그레이드할 가치가 없을 수도 있습니다. 특히 게이머, 미디어 전문가, 서버 운영자 등 일관된 성능을 필요로 하는 많은 사용자들은 피할 수 없는 보안 수정으로 인해 고가의 하드웨어를 사용하는 데 어려움을 겪습니다.
보안과 성능 사이의 균형이 점점 더 위태로워지고 있습니다. 공급업체가 이러한 정교한 공격에 저항하는 아키텍처를 만들 수 있을 때까지 최종 사용자는 성능을 희생하고 보안을 포기하는 타협을 할 수밖에 없습니다. 그 동안 리눅스 커뮤니티는 토발즈의 리더십 아래 "멍청한 하드웨어"의 세계에서 선한 싸움을 계속할 것으로 보입니다.
하드웨어 취약점은 계속 등장하고 있으며, Linux 팀과 같은 커널 개발자들은 이를 완화하기 위해 끊임없이 노력하고 있지만 그 대가는 성능 저하입니다. 성능 향상을 기대하며 최신 하드웨어에 투자하는 모든 이들에게 현실은 냉정합니다. CPU 공급업체가 이러한 하드웨어 수준의 결함을 해결할 수 있을 때까지 시스템 업그레이드는 예전만큼의 보람을 느끼지 못할 수도 있습니다.

