내 컴퓨터 CPU에 대체 무슨 일이 일어난 걸까?

게시됨: 업데이트됨:
인쇄

구글은 지난 3일, 인텔 CPU에 치명적인 결함이 있음을 자신의 블로그를 통해 알렸다.

결함의 내용은 치명적이었다. 유튜브에는 이 버그를 이용해 비밀번호를 해킹하는 영상이 올라와있다. 버그를 이용하면 웹 접속 암호는 물론 공인인증서, 온라인뱅킹 접속 암호, 페이팔 암호 등 가능한 모든 것을 '털어버릴 수' 있다. 이슈는 공개되자마자 큰 논란이 되었다. '인텔 CPU 게이트'라고 불릴만큼 파장이 컸다.

meltdown

이번 버그의 원인은 인텔의 CPU 설계방식에서부터 출발한다. 인텔 CPU는 성능을 최적화하기 위한 방법의 하나로 '예측 실행' 이라는 기술을 사용하고 있다. 연산 속도를 빠르게 하기 위해 명령어를 미리 실행했고 이 예측값이 캐시 메모리에 저장되고 있었다. 문제는 캐시메모리가 해킹이 가능한 영역이라는 점이다. 구글이 내놓은 리포트는 이 캐시메모리에 저장된 연산 값이 해킹될 수 있다는 내용이었다.

이는 멜트다운(Meltdown) 버그라고 불린다. 멜트다운의 원래 의미는 원자력 발전소에서 사용하는 원자로의 냉각장치가 정지되어 원자로의 노심부가 녹아버리는 엄청난 사고다. 이 버그가 그만큼 심각하단 이야기다.

쉽게 이야기하면 이렇다. 우리가 영어 듣기평가 시험을 본다고 가정해보자. "다음 중 제임스의 질문에 대한 에이미의 답변으로 옳은 것은?"이라는 문제가 나온다. 그리고 답안이 1번부터 차례로 방송된다. 실제 이 문제를 풀기 위해서는 우리의 두뇌(CPU)를 동원해야 한다. 그런데 헷갈릴 수도 있으니 예상되는 정답(예측 실행)을 한 귀퉁이(캐시 메모리)에다 적어놓는다. 그리고 누군가가 그걸 보고 베껴 정답을 제출(해킹)한다.

우리의 머릿속을 해킹할 수 없듯 CPU의 해킹도 사실상 불가능하다. 그런데 인텔은 CPU의 처리속도를 극대화하기 위해 예상되는 명령어에 대한 답변을 캐시 메모리, 즉 앞서 비유에서의 책상 한 귀퉁이에 저장해놓은 것이다.

이 멜트다운 버그는 인텔 CPU에만 영향이 있다. '예측 실행'기술이 인텔 CPU에서만 쓰이기 때문이다. AMD의 CPU는 속도가 좀 늦어지더라도 명령어를 직관적으로 처리했다면 인텔 CPU는 비순차적 실행(out-of-order execution)과 분기 추측 실행(branch-prediction execution)을 이용해 속도를 높였다. 즉 이번 사건은 속도 때문에 보안을 희생시킨 결과물에 가깝다. 하드웨어 자체의 결함이기 때문에 인텔 CPU를 사용하는 맥이나 스마트폰에도 영향이 있다.

구글은 '멜트다운 버그'를 공개한 다음 날 속도 저하의 부작용을 막을 수 있는 보안 패치 렙트온라인(ReptOnline)을 발표했다. 구글은 이 패치를 내놓으며 "성능 저하는 ‘무시해도 좋은 수준’에 불과할 것"이라고 말했다.

하지만 여전히 논쟁은 뜨겁다. 보안문제가 원천적으로 해결된 것도 아닌 데다가 속도 저하가 여전히 해결되지 않았다는 주장도 있다. 문제가 해결되지 않을 경우 클라우드, AI, 빅데이터 산업 등 고도의 컴퓨팅 능력을 요구하는 산업의 경우 비용과 보안의 문제가 동시에 발생할 수 있다.

김승주 고려대 정보보호대학원 교수는 전자신문과의 인터뷰에서 “이번 CPU 보안 취약점은 칩 구조를 다시 설계해야 완벽하게 대응할 수 있다”면서 “CPU는 단시간에 다시 설계해 생산할 수 없어 OS 커널과 CPU마이크로코드 업데이트로 대처 중”이라고 설명했다. 그는 “수많은 서버를 운영 중인 금융권과 클라우드 사업자는 보안 업데이트 규모가 방대한 데다 성능 저하 이슈까지 떠안아야 하는 상황”이라면서 “취약점이 공개돼 관련 공격이 발생하는 건 시간문제”라고 덧붙였다.

수정 사항 제안