최신 과학 지식을 접하는
가장 똑똑한 방법!

인텔 CPU 보안 무엇이 문제?...패치하면 성능 저하도

2018년 01월 04일 10:00

인텔의 컴퓨터 프로세서 (CPU)에 보안과 관련된 설계 문제가 있는 것으로 전해졌다. 프로세서 속 커널 메모리에 담긴 정보가 응용프로그램으로 새어 나갈 가능성이 있다는 것이다.

 

인터넷 커뮤니티 레딧을 통해 알음알음 전해지던 이야기였는데 해외 IT 매체 더레지스터가 이 문제를 프로세서의 하드웨어적 설계 결함이라고 보도했다.

 

아직 이 문제가 상세하게 설명되진 않았다. 어떤 부분에 어떤 결함이 있는지 공개되지 않은 것이다. 다만 칩 수준의 설계 버그이기 때문에 펌웨어로 고칠 수 없다는 정도가 알려졌다. 예민한 보안 문제이기 때문에 문제가 해결될 때까지 어떤 경로로 어떻게 침투하는지에 대해 자세하게 설명하지 않는 것으로 보인다. 상세한 내용은 이달 말 공개된다. 이때쯤 문제의 해결 방법이 배포된다고 보면 될 것 같다.

 

커널 메모리는 운영체제가 원활하게 돌아갈 수 있도록 기본 골격을 올려두는 시스템 메모리 공간이다. 커널 메모리 안에는 온갖 암호와 접속키, 디스크에서 캐시된 파일 등 가장 예민한 부분이 담긴다. 이 때문에 커널 메모리는 완벽하게 격리된다. 메모리를 가상으로 구분하는 것이지만 일종의 장벽이 쳐져 있어서 응용프로그램이 돌아가다가 말썽이 일어나거나, 보안 문제가 생겨도 커널 메모리를 건드릴 수는 없다. 다만 커널보다 더 밑바닥에 있는 프로세서는 커널 메모리보다 높은 권한을 갖게 된다.

 

이미지 확대하기인텔 제공
인텔 제공

하지만 필요에 따라 커널의 일부 기능이 필요하면 응용 프로그램이 커널 메모리를 호출하고, 프로세서는 순간적으로 시스템을 커널모드로 바꾸어 안전하게 명령을 처리한 뒤 다시 사용자 모드로 바꾼다. 아직 상세한 내용이 공개되지는 않았지만 이번 버그는 바로 이 커널 메모리와 관련된 것으로 보인다. 가상 메모리 어드레스를 관리하는 프로세서 부분에 버그가 있고, 이 버그가 커널 메모리를 제대로 암호화하지 못하면서 해커들이 시스템의 관리자 권한으로 접근할 수 있는 빈틈이 생기는 것이다. 심각한 경우, 웹 페이지에 심어 둔 자바스크립트 코드 몇 줄만으로도 커널 메모리를 들여다볼 수 있다는 이야기도 나온다.

 

AMD는 이 문제가 없다고 발표했다. AMD의 발언으로 이 문제의 조금 더 상세한 내용을 알 수 있는데, AMD가 안전하다고 한 이유는 ‘커널 페이지 메모리 격리 기능을 뛰어넘는 권한을 갖지 않는다’는 데에 있다. 커널 메모리에 보수적으로 접근하기 때문에 안전하다는 것이다.

 

이게 약간 역설적인 부분인데, 최근 인텔 프로세서의 성능을 끌어올리는 데에 큰 역할을 한 것이 바로 프리페치(Prefetch) 등으로 소개된 예측 수행이다. 앞으로 시스템이 어떤 데이터를 어떻게 처리할 지 미리 파악해서 프로세서가 쉬지 않도록 미리 선행 작업을 해두는 기능이다. 그 과정에서 프로세서가 더 높은 권한으로 접근할 수 있다는 이야기다.

 

해결책은 커널 메모리의 격리다. 운영체제의 맨 밑바닥을 건드려야 하는 문제다. 운영체제에서 프로세서와 커널 메모리 사이에 권한 이상의 접근이 이뤄지지 않도록 막는 보안 처리를 하는 것으로 알려졌다. 실제로 이 버그를 바로잡기 위해 운영체제 커널 단위에서 수정이 이뤄지고 있다.

 

이미 리눅스는 이 문제가 해결된 커널이 배포되기 시작했고, 윈도우10도 커널을 손보고 있다. 마이크로소프트는 이미 지난해 11월부터 인사이더 프리뷰에 이 커널이 적용된 윈도우10을 배포해서 안정성을 테스트하고 있다. 곧 상세한 버그 리포트와 함께 정식 배포가 시작된다. 이 문제는 지난 10년동안 나온 대부분의 프로세서가 해당되는 것으로 알려졌다. 사실상 우리가 쓰는 PC와 서버 등 대부분의 기기가 잠재적으로 위험을 안고 있다는 이야기다.

 

일단 문제는 운영체제 커널 패치로 해결되는 것으로 보인다. 더레지스터는 현재 배포된 새 커널들을 적용하면 성능이  5~30% 떨어진다고 언급했다. 다만 PC 이용자들은 크게 걱정할 필요는 없다. 운영체제의 새 커널에 주로 영향을 받는 것은 개인용 컴퓨터가 아니라 기업용 데이터센터들이기 때문이다.

 

게임을 비롯해 PC의 주 역할에서는 영향을 받지 않고, 데이터를 암호화하고 예민하게 다루는 데이터베이스, 데이터 구조화 서버 등에서 성능에 영향을 주는 것으로 알려졌다. 특히 파일 시스템과 관련된 성능에 영향을 많이 받는 것으로 알려졌다. 운영체제의 새 커널이 바로 이 메모리에 뭔가를 기록하고 읽어들이는 과정에 보안을 더하는 것으로 해석할 수 있는 부분이다. PCID(프로세스 컨텍스트 식별자) 기능이 있는 근래의 프로세서들은 성능에 영향을 덜 받는다고 한다. 윈도우10의 인사이더 프리뷰 역시 PCID를 통해 버그를 수정한다.

 

당장 불이 떨어진 것은 클라우드를 제공하는 데이터센터다. 보안이 무엇보다 중요하기 때문이다. 아마존과 애저는 서둘러 이 문제 해결에 나선 것으로 알려졌다. 며칠 내에 문제를 해결하는 수정 사항을 발표할 계획이라고 한다. 하지만 어느 정도의 성능 하락을 끌어 안아야 하기 때문에 꽤 큰 부담이 될 수밖에 없다. 아직 모든 내용이 공개된 것은 아니다. 버그와 관련된 상세한 이야기들은 엠바고가 풀리고 인텔과 운영체제 개발사, 클라우드 기업들의 공식적인 언급이 따라야 확인할 수 있다.

 

메일로 더 많은 기사를 받아보세요!

관련기사

인기기사

댓글

댓글쓰기

지금
이기사
관련 태그 뉴스