최신 리눅스 업데이트는 ARM64 아키텍처에서 Spectre-BHB 취약점을 처리하는 방식에 중대한 변화를 도입합니다. 이전에는 취약한 CPU의 탐지가 하드코딩된 CPU ID 목록에 의존했으며, 주로 표준 ARM 코어를 포함하고 있었습니다. 이 접근 방식은 퀄컴 카이로 CPU와 같은 많은 소규모 변형을 간과하여 이들의 취약성 상태에 대한 잘못된 가정을 초래했습니다.
새로운 방법은 영향을 받지 않는 코어의 CPU ID 목록을 생성하여 이 논리를 뒤집습니다. 즉, 모든 다른 CPU는 안전하다고 입증될 때까지 취약한 것으로 간주됩니다. 현재 '영향을 받지 않는' 목록에는 ARM 코어텍스 A35, A53, A55만 포함되어 있으며, 이는 이전에 목록에 없던 구형 코어에서 파생된 것입니다.
이 업데이트는 상황을 개선하지만 결함이 없는 것은 아닙니다. 완화 전략은 효과적인 완화를 위해 필요한 루프 수를 결정하는 매개변수화된 'k' 값을 포함합니다. ID가 알려지지 않은 CPU의 경우, 시스템은 기본적으로 추측을 하며 최대 'k' 값이 32인 루핑 방법을 선택합니다. 이 추측으로 인해 일부 CPU가 실제로는 적절한 보호를 위해 펌웨어 업데이트가 필요한 경우에도 '완화됨'으로 잘못 보고될 수 있습니다. 이를 해결하기 위해 시스템은 추측이 이루어질 때마다 경고를 기록하여 CPU 공급업체가 향후 업데이트의 정확성을 높이기 위해 CPU ID를 제공하도록 유도할 것입니다.
전반적으로 이 변화는 ARM64 CPU의 Spectre 취약성에 대한 보안을 강화하려는 지속적인 노력을 반영하지만, 다양한 하드웨어 변형에 걸쳐 포괄적인 보호를 보장하는 데 있어 어려움을 강조합니다.
* 이 글은
phoronix.com의 기사를 요약한 것입니다. 전체 기사의 내용은
이곳에서 확인하실 수 있습니다.