CPU 보안 취약점 발견, CPU 게이트 열리나
상태바
CPU 보안 취약점 발견, CPU 게이트 열리나
  • 정환용 기자
  • 승인 2018.01.09 19:21
  • 댓글 0
이 기사를 공유합니다

멜트다운-스펙터 2대 결함, CPU 구조상의 보안 취약점

[CCTV뉴스=정환용 기자] ‘인텔 게이트’란 말까지 돌고 있다. 최근 레딧(Reddit)의 게시판에서 언급된 인텔 CPU의 버그로 인한 보안상의 취약점이 그 심각성을 더하고 있다. ‘멜트다운’이라고 명명된 이 취약점은, 그 대상이 신제품 뿐 아니라 1995년 이후 출시된 인텔의 x86 칩셋 프로세서 전 제품에 해당한다는 점이 가장 우려되는 부분이다.

레딧에서 알려진 것은 인텔 CPU가 하드웨어 상의 결함으로 인해 커널 메모리 정보가 유저 공간으로 유출될 수 있다는 점이다. 처음 이 결함을 알린 포스트에 따르면, 이 버그는 인텔의 신제품이 아니라 몇 세대에 걸쳐 나타났던 버그로, 커널 메모리의 정보가 사용자 공간으로 유출될 수 있는 결함이다. 이는 윈도우와 리눅스, 맥OS 등 모든 운영체제에 영향을 주며, 이 버그를 수정하기 위한 커널 패치를 하면 I/O 성능이 하락되는 것으로 나타났다.

한 네티즌이 멜트다운 시연 영상을 등록했다. 사용자가 입력하는 정보가 그대로 노출된다.

멜트다운은 인텔 프로세서와 Arm 코어텍스 A 시리즈에서 발생하는 것으로 알려졌다. 특히 인텔 프로세서는 출시된 지 20년이 지난 제품까지 영향을 받아, 사실상 현재 개인과 기업이 사용하는 모든 CPU가 이 버그의 취약점에 노출돼 있는 것으로 알려졌다. 현재까지 이 버그를 근본적으로 수정할 수 있는 방안은 발견되지 않았는데, 소프트웨어가 아니라 하드웨어 문제이기 때문인 것으로 보인다. 게다가 이 버그는 개인용 컴퓨터와 서버, 클라우드 등 다수가 사용하는 컴퓨터를 구분하지 않고 발생하기 때문에 그 피해가 더욱 커질 수 있다.

버그의 대상인 메모리는 운영체제의 핵심인 커널과 사용자의 영역으로 구분된다. 커널은 CPU와 메모리를 비롯한 하드웨어의 자원을 프로그램의 원활한 실행을 위해 관리하고, 하드웨어와 시스템 운영상의 보안을 담당한다. 보안 문제로 커널이 관할하는 메모리에 대한 정보는 임의의 정보 이동 방식(KASLR, Kernel Address Space Layout Randomization)으로 숨기고 있다.

또한, CPU는 메모리에서 필요한 정보를 예측해 읽어오는 분기 예측 기능이 있다. 커널에 접근 권한이 있는 PC의 시스템 기능에 사용자가 접근을 요청하면, 분기 예측 기능이 사용자 모드에서 커널 모드로 변경한 뒤 사용자가 알지 못하게 메모리에 접근해 작업을 수행한다. 그런데 인텔의 CPU는 분기를 예측하는 기능과 커널 모드를 구분할 수 없다. 

이를테면 은행을 찾은 고객이 자신의 계좌 정보를 요청하면, 은행 직원은 고객이 접근할 수 없는 정보를 열람해 고객이 원하는 자료를 보여준다. 고객은 직원에게 정보를 받을 수는 있지만, 자료의 위치나 검색 방법을 알 수는 없다. 그런데 은행 직원이 고객을 손님인지 직원인지 구분을 못 하면, 정보를 검색할 때 고객과 함께 정보에 접근하게 된다. 이번 버그가 이런 방식으로 컴퓨터의 정보가 유출될 위험성을 나타내고 있다.

스펙터는 사용자가 다른 사용자의 프로그램 메모리에 접근한 수 있는 버그다. 이 역시 정보의 유출 관점에서 위험한 버그이긴 하나, 사용자 간의 정보를 볼 수 있는 버그로 이는 그리 심각한 수준은 아니다. 그러나 멜트다운은 사용자 프로그램에 운영체제의 권한 영역에 접근할 수 있는 버그로, 사용자가 최고관리자의 정보를 볼 수 있다는 점에서 심각한 문제가 된다.

이는 프로세서 설계상의 구조적인 문제인 것으로 밝혀졌는데, 소프트웨어 상에서 이를 수정할 수는 있다. 그러나 일반적으로 프로그램이 구동될 때는 커널 메모리와 사용자 영역 메모리를 오가며 작동하는데, 이번 버그를 수정하기 위한 패치는 두 메모리 영역 사이를 차단하는 방식이다. 문제는 이런 버그 패치로 인해 프로그램이 커널 메모리에 접근할 때 성능 저하가 발생한다는 점이다. 이미 운영체제와 바이오스 업데이트를 실행한 PC에서, 저장장치인 SSD의 성능이 20% 가까이 하락한 것으로 나타났다. 

이 버그는 지난 2017년 구글에 의해 먼저 발견됐고, 운영체제 개발사에 알려 보안 패치를 적용하는 등의 대처를 진행한 뒤에 해당 내용을 발표할 예정이었다. 원래대로라면 이 버그에 대한 수정 패치가 적용 완료된 뒤 2018년 1월 9일에 사용자들이 버그에 대한 내용을 알게 됐을 것이다. 그러나 개발자들이 리눅스 패치의 진행상황에 의심을 품었고, 개발자들 사이에서 원인을 알 수 없는 버그가 인텔 CPU에서 발견됐다‘는 소문이 퍼졌다.

구글은 예정보다 빠른 1월 3일 이 내용을 공개했다. 구글 프로젝트 제로의 수석연구원과 업계 보안전문가들, 그리고 오스트리아의 그라츠 공과대학에서 이 버그를 처음 발견했고, 그라츠 공과대학은 별도의 웹페이지를 개설해 각각 ‘멜트다운’(Meltdown)과 ‘스펙터’(Spector)로 명명한 2개의 버그에 대해 알리기 시작했다.

한 외신에서 멜트다운과 스펙터를 Variant 1~3으로 나눴는데, 1, 2는 스펙터, 3은 멜트다운에 해당한다. 스펙터 버그는 멜트다운에 비해 위험성이 크지 않으며, 현존하는 중앙처리장치 모두가 Variant 1에 해당한다. AMD 제품군은 운영체제 상에서의 패치로 대부분 해결이 가능해, Variang 2, 3에선 보이지 않는다. 하지만 인텔 CPU는 Varient 3개 영역 모두에 해당되며, 게임 콘솔인 닌텐도 스위치와 애플의 데스크톱, 랩톱 제품 모두, 그리고 아이폰과 아이패드 등 모바일 기기까지 3개 영역에 해당된다고 알려졌다.

특히 비트코인, 이더리움 등의 암호화 화폐를 보관하고 있는 PC도 이 버그로 공격받아 탈취될 수 있다고 알려졌다. 아직까지 이 버그를 악용해 가상화폐를 탈취했다는 소식은 전해지지 않고 있다. 그러나 해커가 웹사이트를 통해 사용자의 컴퓨터에 이 취약점을 공격하는 악성코드를 심으면, 가상화폐 거래 사이트의 계정 정보를 탈취당할 가능성이 있다는 점에서 주의가 요구된다.

 

외신 TechARP는 현재까지의 진행상황과 앞으로 진행돼야 할 사항에 대해 정리했다.

현재까지의 상황
▲인텔은 오는 1월 중순 지난 5년간의 프로세서에 대한 운영체제 펌웨어 업데이트를 실시한다. 90% 이상의 인텔 CPU가 이번 업데이트에 포함될 예정이다. 그러나 2010~2012년 판매된 제품은 해당되지 않는 것으로 추측된다.
▲마이크로소프트와 리눅스는 KPTI(Kernel Page Table Isolation) 패치와 KAISER(Kernel Address Isolation to have Side-channels Efficiently Removed) 패치 배포를 통해 캐시 메모리에 대한 채널 공격을 방지한다. 하지만 KPTI, KAISER 패치는 멜트다운을 방지할 수는 있지만 스펙터 공격에는 효과가 없다.
▲마이크로소프트 엣지와 IE11 웹브라우저는 멜트다운을 방지하기 위해 지난 1월 3일 KB4056890 보안 업데이트를 실시했다. 파이어폭스 57은 멜트다운과 스펙터 공격을 줄일 수 있는 패치를 실시했고, 크롬 64는 비슷한 업데이트를 오는 1월 23일 실시할 예정이다.
▲애플은 맥 시스템을 멜트다운으로부터 보호하기 위해 맥OS 10.13.3 업데이트를 실시하고, 모바일 기기 운영체제인 iOS와 애플TV 운영체제 tvOS를 11.2로 업데이트한다. 지난 1월 8일 배포된 iOS 11.2.2는 아이폰 5S, 아이패드 에어, 아이팟 터치 6세대 이후의 기기 내 사파리와 웹킷을 스펙터로부터 보호한다.
▲Arm은 구글과 함께 리눅스용 KPTI, KAISER 커널 패치를 만들었고, 이는 안드로이드 OS에도 적용된다.

앞으로 이뤄져야 할 사항
▲윈도우 사용자: KB4056890 보안 업데이트 실시
▲맥 시스템 사용자: 맥OS 10.13.2 업데이트 실시
▲iOS 사용자: iOS 11.2, tvOS 11.2 업데이트 실시
▲파이어폭스 사용자: 파이어폭스 57 업데이트 실시
▲구글 크롬 사용자: 크롬 64 업데이트 실시
▲PC, 노트북, 메인보드 제품별 최신 버전 드라이버 업데이트(인텔 ME, 인텔 TXE 포함)
▲Arm 프로세서 사용자: 커널 패치 실시



댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
0 / 400
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.