새해 초 컴퓨팅 업계에 충격의 소식이 전해졌다.
영국 기술 매체 더레지스터는 지난 2일(현지시간) “세계 최대 반도체 업체 인텔이 지난 10년간 공급한 중앙처리장치(CPU)에 보안 결함이 발견됐다”면서 “이를 없애는 패치를 설치할 경우 최대 30% 성능이 저하될 것”이라고 보도했다.
다음날인 3일 구글 사내 보안분석팀인 프로젝트 제로는 공식 페이지를 통해 이 같은 취약점을 발견한 것이 사실이라고 발표했다. 이 발표는 보안 패치를 완성한 이후인 1월 9일 할 예정이었다. 그러나 확인되지 않은 소문이 퍼지자 일정을 앞당겼다.
취약점이 발견된 시기는 작년 6월이다. CPU, 운용체계(OS), 클라우드 서비스, 컴퓨터 업체는 문제 해결을 위해 비밀리에 작업했다. 패치가 나오기 전에 이 취약점이 외부로 발설되면 큰 혼란이 야기될 수 있다고 판단했다.
결과적으로 CPU 보안 취약점은 인텔뿐 아니라 AMD, ARM, IBM 등 고성능 CPU 아키텍처와 칩을 만드는 모든 기업에 해당되는 사안이었다. 더레지스터 보도처럼 성능 30% 저하는 과장된 측면이 있다. 그러나 속도가 일부 저하되는 것은 사실이고, 이를 해결하는 근본 해결책은 수십년간 적용돼온 CPU의 고속화 기술을 뜯어고쳐야 하는 것이어서 업계의 큰 이슈로 떠올랐다.
◇CPU 고속화 기술을 뚫다
보안 취약점은 CPU가 더 빨리 연산을 할 수 있게끔 돕는 고속화 기술에서 발견됐다. 지금 나오는 CPU는 앞으로 이뤄질 명령을 예상해서 연산에 필요한 자원을 메모리에서 미리 꺼내놓는다. 이를 분기예측(Branch Prediction)이라고 한다. 여러 작업을 동시 처리할 때 그 중에서도 가장 빠르게 끝낼 수 있는 작업을 먼저 연산하는 비순차명령어처리(Out of Order Execution) 기술도 CPU 고속화를 이끈 혁신 중 하나다. 추측실행(Speculative Execution)은 다음 번 연산을 CPU가 추정해 미리 연산을 해 두는 기술이다. 다음번 연산 차례가 맞으면 그 결과값을 반영하고, 아니면 버리는 식이다.
구글 프로젝트제로는 이러한 분기예측, 비순차명령어처리, 추측실행 기술 허점을 파고들면 응용 프로그램 혹은 OS 커널단 메모리의 일부 내용을 해커가 읽을 수 있다는 점을 발견했다. 구글은 분기예측과 추측실행 기술로 CPU를 속여 응용 프로그램 메모리를 읽을 수 있는 보안 취약점을 스펙터, 비순차명령어처리와 추측실행 기술을 파고들어 커널 메모리를 읽을 수 있는 취약점을 멜트다운이라고 이름 붙였다.
◇현존 모든 CPU가 영향권
더레지스터 보도 당시만 하더라도 해당 취약점은 인텔 CPU에서만 나타나는 것으로 오인됐다. 그러나 이후 여러 CPU 업체가 자사 제품에도 영향이 있다면서 패치 등 대응에 나서면서 현존 모든 CPU가 영향권에 있다는 점이 밝혀졌다.
AMD는 멜트다운에는 영향이 거의 없지만, 스펙터는 영향이 있다고 밝혔다. IBM은 서버용 파워7+, 파워8, 파워9 CPU 플랫폼이 스펙터와 멜트다운에 영향이 있다면서 패치를 제공했다. ARM도 고성능 코어텍스 A시리즈와 실시간 연산에 특화된 R시리즈 일부가 스펙터, 멜트다운 취약점에 노출돼 있다고 밝혔다. ARM 코어텍스 A시리즈 CPU 코어는 삼성전자, 퀄컴, 애플 등이 가져와서 자사 모바일 CPU에 적용하는 제품이다. 삼성 엑시노스와 퀄컴 스냅드래곤 일부 제품을 포함해 애플 A시리즈 모바일 CPU가 여기 적용된다. 애플은 이미 모바일용 패치를 마쳤고 삼성전자와 LG전자 등 주요 스마트폰 업체도 이르면 이달부터 패치를 실시할 예정이다.
한주엽 반도체 전문기자 powerusr@etnews.com