구글, 인텔CPU 허점에도 AMD 안 쓴 이유

"보안위협 원인 '폐쇄성'은 양사 마찬가지"

컴퓨팅입력 :2017/12/04 17:36    수정: 2017/12/04 17:59

인텔 중앙처리장치(CPU) 펌웨어에서 수차례 보안취약점이 확인됨에 따라, 사용자들 사이에선 인텔 경쟁사 AMD를 대안으로 바라보는 분위기다.

하지만 정작 인텔 CPU를 해부해 보안 문제를 제기한 구글은 AMD가 대안이 될 수 없다고 봤다. 구글이 잠재적 보안위협의 근본 원인으로 꼽는 '폐쇄성' 측면에서, AMD의 CPU 기술이 인텔보다 나을 게 없다는 이유에서다.

컴퓨터 프로세서, CPU [사진=Pixabay]

■ 무슨 일 있었나…'인텔 CPU에 보안 구멍'

인텔 CPU 펌웨어 중 하나인 '매니지먼트엔진(ME)'에서 올해만 2번 보안취약점이 나타났다. 지난 5월 ME 기반 기능 '액티브매니지먼트테크놀로지(AMT)'에서 한 차례, 지난달 ME 자체에서 재차 발견됐다.

인텔은 자사 CPU 펌웨어에서 두 차례 발생한 보안취약점 발견 사태에 소프트웨어(SW) 업데이트 조치를 취했지만, 이는 인텔 CPU 사용자가 아니라 CPU를 공급받아 PC와 서버를 만드는 컴퓨터 제조사를 위한 것이었다. 제조사가 SW 업데이트를 제공하지 않는 한 사용자들은 인텔CPU 보안취약점 문제를 해결할 수 없었다. [☞관련기사]

ME 펌웨어는 이전부터 잠재적 보안위협 소지가 컸다는 게 업계 중론이다. 인텔이 그간 ME의 전체 동작 방식부터 구성요소와 코드의 구동 범위와 물리적 소재를 명확히 밝히지 않았고, 이번처럼 보안취약점이 확인된 시점에도 사용자에게 그 위협을 직접 해소할 수단을 제공하진 않았기 때문이다. [☞관련기사]

이런 상황은 인텔 CPU를 탑재한 PC와 서버 시스템을 운영하는 사용자 입장에서 전체 인프라를 보호하고 잠재적 보안 위협을 최소화하는 목적을 저해했다. 인텔 CPU 서버로 대규모 클라우드 데이터센터를 만든 구글에게도 마찬가지였다.

인텔CPU 펌웨어 ME 보안취약점을 해결하기 위해 대체SW를 개발하는 너프(NERF) 프로젝트를 소개한 구글 발표자료 일부. ME 취약점의 파장이 광범위할 수 있다는 우려를 제기하는 부분.

■인텔 CPU 펌웨어 대체SW 개발하는 구글

구글은 상반기 보안취약점이 발생한 이후 인텔 CPU의 ME 펌웨어가 통제불능의 보안위협 요소라 판단했다. 이후 내부 엔지니어들은 인텔 CPU 서버의 보안성을 향상시키기 위해 헛점이 많은 ME 펌웨어 대신, 그 동작을 리눅스 커널 기반의 자체 개발 SW로 대체하기로 했다. 폐쇄적인 인텔의 ME 펌웨어와, 그와 함께 부팅에 관여하는 시스템관리모드(SMM) 및 통합확장펌웨어인터페이스(UEFI)의 기능을 리눅스 커널과 고 프로그래밍 언어를 사용한 코드로 다시 만들어냈다. 너프(NERF)라는 이름으로 진행 중인 오픈소스 프로젝트다. [☞관련기사]

너프는 인텔 CPU 펌웨어 동작을 보안상 더 안전하고 투명하게 대신할 리눅스커널 기반 SW를 만드는 작업이다. 이는 5가지 구성요소를 포함한다. 첫째는 잠재적 보안위협을 야기하는 불필요한 구성요소를 걷어낸 ME 펌웨어 축소판이다. 둘째는 역시 구성요소를 소화한 UEFI 펌웨어다. 셋째는 리눅스 운영체제(OS)에서 인식 가능하거나 또는 아예 비활성화한 SMM이다. 넷째는 시스템 부팅 과정에서 제거 및 축소된 펌웨어 구성요소를 대신할 수 있는 리눅스 커널 최적화 버전이다. 다섯째는 구글의 언어 '고'로 이 프로젝트에 맞게 작성한 사용자환경이다.

인텔CPU 펌웨어 ME 보안취약점을 해결하기 위해 대체SW를 개발하는 너프(NERF) 프로젝트를 소개한 구글 발표자료 일부. ME 소프트웨어의 거의 모든 부분이 공격받을 수 있지만, 취약점을 야기하는 버그가 해결되는 경우는 일부 소수에 불과하다는 지적.

■구글이 AMD CPU로 갈아타지 않는 이유

관련기사

한 구글의 엔지니어가 지난 10월 하순 체코 프라하에서 열린 '임베디드 리눅스 컨퍼런스 유럽' 행사장에서 현장발표를 통해 너프 프로젝트의 목표와 당시까지의 진행 현황 등을 공개했다. 너프 프로젝트를 통해 구글은 불필요한 ME 펌웨어 기능, 부팅전 동작을 제거했고 리눅스의 성능과 안정성을 갖춘 대체 SW를 쓸 수 있게 됐다. 인텔 CPU를 탑재한 오픈컴퓨트프로젝트(OCP) 규격 리눅스 서버에서 빠른 부팅 속도를 덤으로 얻었다. 하지만 이를 위해 상당한 시행착오를 겪었고, 개발 결과물을 범용화하기에는 아직 갈 길이 멀다는 점도 묘사됐다.

구글은 왜 이런 부담을 감수하고 있을까. 인텔 CPU가 문제라면 경쟁사 AMD의 CPU를 사는 게 효율적인 해결책으로 보인다. 하지만 구글은 AMD CPU를 대안으로 보지 않았다. AMD의 CPU 펌웨어도 인텔 것처럼 불투명하고, 따라서 통제불능의 보안위협 요소가 될 가능성은 동일하게 존재한다고 여겼기 때문이다. 너프 프로젝트 현황 발표 자료 중 "AMD 또한 (인텔처럼) 폐쇄적이므로, 보안 문제 대응을 위해 그걸로 갈아타는 방법은 해결책이 아니다"라면서 "(AMD의) 라이젠과 관련해 여러분이 읽은 것을 모두 믿지 말라"는 문구가 이를 드러낸다.

인텔CPU 펌웨어 ME 보안취약점을 해결하기 위해 대체SW를 개발하는 너프(NERF) 프로젝트를 소개한 구글 발표자료 일부. AMD의 CPU 역시 폐쇄적인 기술이라 보안문제 때문에 인텔에서 갈아타는 게 해법이 아니라는 부분(빨간 박스 표시).