상세 컨텐츠

본문 제목

인텔 CPU 보안 결함 발견? 보안패치하면 성능 저하? (멜트다운 버그)

IT기기/PC Hardware News

by 컴 공 생 2018. 1. 5. 00:30

본문


전 세계 컴퓨터 중앙처리장치(CPU)의 대부분을 공급하는 인텔(Intel)의 프로세서에서 보안 관련 설계 결함이 있는 것으로 밝혀졌습니다. 문제는, 최근 출시된 커피레이크(CoffeeLake) 프로세서만의 문제가 아닌, 지난 10년간 생산된 모든 CPU에 보안 결함이 있다는 것입니다. 리눅스, 윈도우 등의 운영체제 차원에서 해당 결함에 대한 패치를 진행 중이지만, 패치를 하게 되면 프로세서의 성능저하 문제가 발생할 수 있는 것으로 밝혀졌습니다. 


결함은 프로세서 속 커널메모리에 담긴 정보가 응용프로그램으로 새어 나갈 가능성이 있다는 것입니다. 커널 메모리는 운영체제(OS)가 원활하게 구동 가능하도록, 일종의 골격을 올려두는 시스템 메모리 공간입니다. 또한, 응용프로그램을 컴퓨터 내부 프로세서, 메모리, 기타 하드웨어 등에 연결하지요. 커널 메모리 안에는 온갖 암호와 접속키, 디스크에서 캐시된 파일 등 가장 중요하고 예민한 부분이 담기는 곳입니다. 이런 것들이 담긴다는 이유로 커널메모리는 타 메모리와 완벽하게 분리됩니다. 메모리를 가상으로 구분하기는 하지만, 일종의 보이지 않는 장벽이 쳐저 있어 응용프로그램이 문제를 일으키거나, 보안문제가 발생하여도 커널 메모리는 건들 수 없습니다. 다만, 커널보다 아래에 있는 프로세서는 커널 메모리보다 더 높은 권한을 가집니다. 권한 순으로 순서를 매기자면, [프로세서<커널 메모리<운영체제] 순이 되겠지요.


하지만 필요에 따라 커널의 일부 기능이 필요할 때, 응용 프로그램이 커널메모리를 호출하고, 프로세서는 순간적으로 시스템을 커널모드로 변경하여 안전하게 명령을 처리한 뒤, 다시 사용자 모드로 변경합니다. 아직 상세한 내용은 공개되지 않았으나, 이번 결함은 멜트다운 버그라 불리우며 커널 메모리와 관련된 것으로 보입니다. 가상 메모리 주소(Address)를 관리하는 프로세서 부분에 버그가 있고, 이 버그가 커널메모리를 올바르게 암호화하지 못하여 해커들이 시스템의 관리자(Administrator) 권한으로 접근할 수 있는 빈틈이 생겨버린 것이지요. 심각한 경우에는, 웹사이트에 심어져 있는 자바스크립트 코드 몇 줄만으로 커널 메모리를 살펴볼 수 있다는 이야기도 나오고 있습니다.


인텔은 이와 같은 결함에 대해서 사실을 부인하였고, 더불어 인텔 제품에서만 발생하는 문제가 아닌 경쟁사인 AMD(에이엠디) 제품에서도 발생되는 문제라 주장하였습니다. 하지만 AMD는 이 문제가 없다고 발표하였는데요, AMD의 발언으로 이 문제의 상세한 내용을 조금이나마 알 수 있는데, 톰 렌다키 AMD 엔지니어는 'AMD프로세서는 커널 페이지 테이블 격리 기능이 보호하는 유형의 공격을 받지 않는다' 는 것에 있습니다. 이말은, 프로세서가 커널 메모리에 보수적으로 접근하기에 안전하다는 것이지요. 또한, 같은 소식이 알려지며 AMD주식은 상승세를 보이고 있다고 합니다.


이게 살짝 역설적(어떤 주장이 모순되는 것 같으나 그 속에 중료한 진리가 함축되어 있음)인 부분인데, 최근 인텔 프로세서의 성능을 끌어올리는 데 큰 역할을 한 것이 바로 프리페치(Prefetch) 등으로 소개된 예측 수행입니다. 앞으로 시스템이 어떤 데이터를 어떻게 처리할 지 미리 파악하여 프로세서가 쉬지 않도록 미리 선행작업을 해 두는 기능이지요. 그 과정에서 프로세서가 커널 메모리보다 더 높은 권한으로 접근할 수 있다는 이야기입니다.


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


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


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


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

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

인텔 CPU의 KASLR 결함에 대한 새로운 소식, 간단 설명

화제가 되고있는 인텔 CPU의 결함은 커널메모리의 누수로, 사용자모드에서 프로그램이 커널메모리 접근이 가능한 보안이슈 입니다.


보안을 위해 프로세서는 사용자모드와 커널모드를 가지고 있는데요, OS는 사용자모드에서 운영되는 프로그램이 자신 권한 밖의 행동을 위해 요청을 하면(하드디스크에 뭔가를 기록하는 등) 운영체제가 제어를 넘겨받아 커널모드에서 CPU에 요청을 해 작업을 수행 후, 다시 프로그램에게 제어를 넘기는 방식입니다.


이러한 작업에서 프로그램은 실제 물리적 메모리가 아닌, 그에 대응되는 가상메모리를 보게 되어야 하는데 인텔의 CPU가 비록 프로그램이 인식하지 못하여도 실제 물리 메모리의 일부, 즉 민감한 정보들이 가득한 커널메모리까지도 가상메모리에 포함하여 보여주었다는 것입니다. 이를 통해 프로그램이 중요 커널 메모리에 접근이 가능한 것이지요.


리눅스(Linux)와 맥OS에서는 이미 이에 대응되는 보안패치가 이루어지고 있으며, 4시간 전(7PM ET)에 마이크로소프트 또한 KB4056892(OS Build: 1699.192) 업데이트를 배포하였습니다. The Verge 에 따르면 윈도우10 사용자는 오늘 내로 자동업데이트가 이루어질 것이며 윈도우7/8 사용자들은 돌아오는 화요일에 업데이트가 이루어 질 것이라고 합니다.


인텔 또한 이제 공식대응이 나왔습니다. 인텔 뉴스룸에 따르면 이미 여러 OS제조사 및 AMD등과 함께 대응을 위해 힘쓰고 있다고 합니다. 또한 성능저하는 작업량에 기반되므로 일반적인 사용자는 성능저하를 크게 느끼지 못할 것이라고 합니다. AMD도 포츈지에 답하길, 일부 칩이 영향을 받았으나 인텔과 칩 설계가 다르기에 거의 피해가 없을 것이라고 합니다.  암스테르담 Vrije 대학의 박사과정 학생이 이 결함이 악의적으로 사용될 수 있음을 증명하는 프로그램을 개발하였다고 합니다.


구글의 프로젝트 제로팀에 따르면 이번에 발견된 보안관련 버그는 세가지인데 그중 현재 가장 심각하며 KASLR 문제를 일으키는 멜트다운 버그는 인텔 프로세서에만 해당되며, AMD CPU는 피해가 없을 것이라 합니다. 그러나 스펙터버그는 거의 모든 현대 프로세서에 해당되고, 인텔과 AMD 두 회사 모두에게 나타납니다. 하지만 소프트웨어적 수정으로 해결가능하며, 성능하락도 무시가능할 정도라고 합니다.

인텔, 썬더볼트3 기술 무료화와 동시에 차세대 CPU에 통합 예정

인텔, 새로운 펜티엄 실버 및 셀러론 프로세서 발표

8세대 코어 프로세서 '치명적 보안 결함' 발견.. 인텔, 펌웨어 업데이트 권고

※본 글은 필자가 작성하였되, 여러 사이트들을 참고하여 작성되었습니다.

※참고 사이트는 퀘이사존, 동아사이언스, BLOTER입니다.

<끝>
하단의 '공감' 버튼은 저에게 큰 도움이 됩니다.

"wjdqh6544의 자료창고" 를 검색~!



관련글 더보기

댓글 영역