AMD와 Intel CPU 보안 버그가 Linux 패치를 가져왔습니다.

AMD와 Intel CPU 보안 버그로 Linux 패치 적용

이 문제는 정확히 말하면 리눅스 문제는 아니지만, 자주 그렇게 됐듯이 리눅스 커널 개발자들은 AMD와 Intel 뒤에서 정리를 해야 합니다. CPU 제조업체의 최신 취약점인 AMD Inception과 Intel Downfall도 예외는 아닙니다. 이를 해결하기 위해 리눅스 창시자인 리누스 토르발즈가 새로운 패치 세트를 발표했습니다.

놀랍게도 두 가지 모두 추측적인 사이드 채널 공격이며, 이는 특권 데이터가 비특권 프로세스로 유출될 수 있는 상황을 만들 수 있습니다. 토르발즈는 이를 “유저 스페이스가 사이드 채널을 통해 특권 정보를 누출하는 마이크로아키텍처 구조에 독립적인 문제”라고 설명했습니다.

또한: 당신에게 알맞은 리눅스 데스크탑 배포판을 선택하는 방법

이 익숙하게 느껴지나요? 리눅스 보안 전문가에게는 그렇게 느껴질 것입니다. 맞습니다, 이것은 리눅스 관련 인텔의 멜트다운과 스펙터와 비슷한 보안 취약점의 또 다른 예입니다. 다행히도 이번에는 이전 두 가지 사례와 달리, 개발자들은 실리콘에 문제가 있음을 미리 알고 있었기 때문에 최신 취약점이 나오기 전에 패치가 나왔습니다.

이 최신 병합에서 토르발즈와 그 동료들은 AMD의 Zen 3 및 Zen 4 아키텍처의 Speculative Return Address Stack (RAS) 오버플로 취약점에 대응하는 커널 측면의 조치를 적용했습니다. 이 취약점은 유저 스페이스가 마이크로아키텍처 구조를 오염시킬 수 있도록 허용하며, 이후에는 사이드 채널을 통해 특권 정보를 빼낼 수 있습니다.

AMD는 이 취약점이 로컬로만 잠재적으로 악용될 수 있다고 말합니다. 즉, 다운로드된 악성 소프트웨어 등을 통한 경우입니다. 그래도 AMD는 “최신 소프트웨어와 악성 코드 감지 도구를 실행하는 등의 보안 최선의 방법을 적용하는 것을 권장합니다.”

그러나 이 취약점을 발견한 ETH 취리히 보안 연구원들은 그렇게 낙관적이지 않습니다. 그들은 Inception이 공유 프로세싱 하드웨어 리소스를 공통으로 사용하는 클라우드 컴퓨팅에서 공격자에 의해 사용될 수 있다고 믿습니다.

연구원들은 Inception이 Transient Execution (TTE)에서 훈련을 사용하는 새로운 유형의 순간적 실행 공격임을 말합니다. 임시적인 창을 통해 데이터를 유출하려는 대신, TTE 공격은 지점 예측기에 새로운 예측을 삽입하는 데에 임시적인 창을 악용합니다. 임의의 명령어에서 임시적인 창을 트리거하는 방법인 Phantom과 결합된 Inception은 개인 데이터를 훔치는 불쾌한 방법일 수 있습니다.

또한: 데스크탑 컴퓨터 보안을 향상시키려면, 리눅스가 최선의 선택일 수 있습니다

재미있게도, 인텔과 관련된 베테랑 리눅스 커널 개발자인 피터 지일스트라는 AMD 패치를 개선했습니다. 인텔 엔지니어가 AMD 완화 코드의 커널 개선을 주도하는 모습은 다소 아이러니한 일입니다. 오픈 소스 커뮤니티 정신에 온 걸 환영합니다!

리눅스 커널 개발자들은 또한 인텔의 Gather Data Sampling (GDS) 취약점인 Downfall에 대처했습니다. 이 특정 취약점은 6세대 Skylake부터 11세대 Tiger Lake까지의 인텔 코어 프로세서에 영향을 미칩니다. 간단히 말하자면, 여러분의 PC, 서버, 그리고 클라우드 프로세서까지 모두 취약할 가능성이 있습니다.

다니엘 모기미라고 하는 구글의 고급 연구 과학자는 Downfall을 발견한 사람으로, “이 취약점은 인텔 프로세서의 메모리 최적화 기능으로 인해 소프트웨어가 의도하지 않게 내부 하드웨어 레지스터를 공개합니다. 이로 인해 신뢰할 수 없는 소프트웨어가 다른 프로그램이 저장한 데이터에 액세스할 수 있게 됩니다.”

그래서 얼마나 심각한 문제일까요? 모기미는 악용 코드를 사용하여 다른 사용자의 보안 키와 비밀번호를 훔칠 수 있다고 보여줬습니다. 더 나쁜 것은, 이러한 공격은 “매우 실용적”이라고 모기미가 언급합니다. “저는 OpenSSL에서 암호화 키를 훔치는 공격을 개발하는 데 2주가 걸렸습니다. 이는 공격자와 피해자가 동일한 물리적 프로세서 코어를 공유해야만 하는데, 이는 현대 컴퓨터에서 빈번하게 발생하는 선점형 멀티태스킹과 동시 다중 스레딩을 구현한 경우입니다.”

또한: AMD vs 인텔: 당신에게 알맞은 데스크탑 프로세서는 무엇인가요?

인텔의 소프트웨어 가드 익스텐션 (SGX)은 악성 소프트웨어에 대한 사용자 데이터 보호를 위해 인텔 CPU에서 제공되는 하드웨어 보안 기능이지만, 이 취약점에 대해 무력합니다.

일부 사용자에게는 문제보다 해결이 더 귀찮게 느껴질 수도 있습니다. Intel에 따르면, 일부 워크로드는 최대 50%의 오버헤드를 경험할 수 있습니다. 상당한 속도 저하입니다! 그러나 Moghimi는 “이것은 좋지 않은 생각입니다. 당신의 워크로드가 벡터 명령을 사용하지 않더라도, 현대 CPU는 벡터 레지스터를 사용하여 메모리 복사 및 레지스터 내용 전환과 같은 일반적인 작업을 최적화합니다.”라고 경고합니다.

그러나 Linux의 경우, 속도 저하는 그렇게 심하지 않을 수도 있습니다. Linux 소프트웨어 엔지니어이자 Phoronix라는 하드코어 Linux 사이트의 편집장인 Michael Larabel은 Downfall 패치를 벤치마킹했습니다. Larabel은 Meltdown, Spectre 및 관련 패치들이 I/O 또는 사용자 공간과 커널 상호작용에 영향을 미치는 것과 달리, Downfall의 패치는 사용자 공간에 묶여있는 소프트웨어에만 영향을 줍니다. 또한 성능 저하가 Intel이 예상한 것보다 심하지 않았지만 여전히 상당한 속도 저하가 있었습니다.

Linux 보안 패치는 다가오는 Linux 6.5 커널을 위해 Linux Git에 통합되었습니다. 이러한 패치를 포함한 최신 안정화 버전에는 Linux 버전 6.4.9, 6.1.44, 5.15.125, 5.10.189, 4.19.290 및 4.14.321이 포함됩니다. 이러한 릴리스는 현재의 Linux 6.4 안정 시리즈와 지원되는 장기 지원(LTS) 시리즈 커널을 포함합니다.

또한: 최고의 올인원 컴퓨터: Mac, Lenovo 및 기타 제품 비교

이 패치들은 CPU의 speculative execution 취약점 상태 보고를 용이하게 하고 최신 CPU 마이크로코드와 함께 그들의 동작을 수정하기 위한 새로운 제어 기능을 도입합니다. 물론 이러한 패치가 작동하려면 AMD와 Intel 마이크로코드 업데이트도 설치해야 합니다.

그렇다면, 무엇을 해야 할까요? 가능한 빨리 새로운 마이크로코드를 설치할 준비를 하세요. 그런 다음, 패치가 이용 가능해지면 Linux 시스템에 패치를 적용하세요. Linux 데스크톱 사용자에게는 큰 문제가 되지 않을 것이지만, 서버와 클라우드에서 Linux를 실행하는 사용자에게는 그렇지 않을 수 있습니다.