컴퓨터 중앙처리장치(CPU) 보안버그 '스펙터'와 '멜트다운'을 악용할 수 있는 새로운 공격 기법과 이를 악용할 수 있는 툴이 소개됐다.
미국 지디넷은 지난 16일 새로운 CPU결함 공격방식을 보여주는 툴이 개발돼, 인텔같은 CPU제조사로하여금 하드웨어 차원의 대응조치를 재검토하게 만들고 있다고 보도했다. [☞원문보기]
보도에 따르면 연구자들은 개발된 툴을 사용해 CPU 마이크로아키텍처 설명과 공격받을 수 있는 실행패턴에 기반한 새 소프트웨어 공격을 조합할 수 있었다. 이 소프트웨어 공격은 해당 마이크로아키텍처에 특화돼 있지만 악용방식을 '가장 추상화한 형태로' 나타내기 때문에, 온전히 작동하는 공격을 만드는 데 쓰일 수 있다는 설명이다.
이 접근법은 '멜트다운프라임과 스펙터프라임: 무효화기반 코히어런스 프로토콜을 악용한 자동조합공격'이라는 제목으로 발표된 프린스턴대학교의 캐롤린 트리펠, 다니엘 루스티그의 새 논문에 제시된 것이다.
논문 제목으로 제시된 멜트다운프라임과 스펙터프라임은, 앞서 구글의 프로젝트제로 팀이 발견한 멜트다운 및 스펙터 버그와 동일한 정밀도로 정보를 유출할 수 있는 보안버그를 가리킨다. 하지만 논문은 멜트다운 및 스펙터 버그를 발견한 연구자들의 접근법과 별개인 '프라임+프로브(Prime+Probe)'라는 캐시타이밍 부채널공격 클래스를 사용했다. 프로젝트제로 팀과 별개로 지난 2015년 발견된 프라임+프로브 공격 기법으로, 이미 알려진 멜트다운과 스펙터 버그의 또다른 변종(variants)을 만들 수 있다는 설명이다.
멜트다운 공격은 악성코드가 시스템의 메모리와 기밀정보에 접근할 수 있게 만드는 버그다. 스펙터는 시스템의 애플리케이션간 메모리 구획이 깨져서 기밀이 노출될 수 있는 버그다. 멜트다운 및 스펙터 버그와, 멜트다운프라임 및 스펙터프라임 버그의 핵심 차이는 뭘까. 프라임 버그는 CPU의 코어 2개를 서로 사용하고 애플리케이션이 실행될 때 인가된 정보를 발견하는 CPU 메모리 캐시를 동원해 호스트를 공격한다.
같은 논문에선 '플러시+리로드(Flush+Reload)'라는 또다른 유형의 캐시타이밍 부채널공격 기법도 다뤘다. 이는 스펙터 버그를 발견한 연구자들이 투기적실행을 사용한 조합에서 부채널로 사용하기도 했던 기법이다. 연구자들은 스펙터와 멜트다운 공격 시나리오에 코히어런스 무효화를 활용하면, 앞서 제시한 프라임+프로브 기법을 사용하는 공격이 플러시+리로드 기법을 사용한 공격과 동일한 수준의 정밀도로 같은 유형의 정보를 유출할 수 있다고 지적했다.
관련기사
- 인텔, CPU패치 재배포…보안결함 악몽 여전2018.02.19
- 스펙터-멜트다운 CPU버그 공격시도 포착2018.02.19
- 구글, 인텔CPU 보안패치 성능저하 상쇄했다2018.02.19
- ARM 계열 CPU도 '멜트다운' 사정권일까2018.02.19
연구자들은 인텔 코어i7 CPU와 맥OS 시에라 버전을 탑재한 맥북 컴퓨터에서 동작하는 개념증명(PoC) 수준의 악성코드를 만들었다. 여기에는 애플이 사용자들에게 배포한 멜트다운 및 스펙터 버그 패치가 적용되지 않은 상태였다. 논문에서 연구자들은 동일한 하드웨어에서 스펙터와 스펙터프라임 공격의 정확도를 관찰한 결과, 스펙터의 정확도는 97.9%였고 스펙터프라임의 정확도는 99.95%였다고 밝혔다.
멜트다운 및 스펙터 버그를 해결하려면 마이크로소프트(MS)나 리눅스의 커널페이지테이블격리(KPTI) 패치같은 소프트웨어 조치와 동시에 인텔 마이크로코드 업데이트같은 하드웨어 조치를 모두 적용해야 한다. 둘 다 시스템 성능 저하 현상을 일으킬 수 있다. 연구자들에 따르면, 논문에서 제시한 새로운 유형의 멜트다운 및 스펙터 버그는 현존 소프트웨어 차원의 대응 조치로 처리될 수 있지만, 인텔과 AMD같은 칩 제조사에겐 또다른 하드웨어 차원의 대응조치가 필요할 것으로 보인다.