PlunderVolt, 인텔 CPU SGX 해킹 취약점
CVE-2019-11157 Intel CPU의 보안 영역인 SGX Enclave에서 암호화 키 등 중요 정보를 추출할 수 있는 취약점이 발견됐다. 6세대 이후의 코어 시리즈를 비롯해 SGX 기능을 지원하는 CPU들이 해당된다. 근래의 CPU는 소프트웨어를 통해 클럭(frequency)과 전압(voltage)을 조절할 수 있다. 최대 성능에서는 발열과 전력 소모가 심하기 때문에, 평상시에는 성능과 절전이 균형을 이루는 수준을 유지하고, 필요에 따라 성능 수준을 조절할 수 있도록 한 것이다. CPU 클럭과 전압은 비례 관계에 있기 때문에, 안정적인 작동을 위해 허용되는 조합이 정해져 있다. 그런데 PlunderVolt 취약점을 발견한 연구팀은 CPU에 부적절한 클럭/전압의 조합을 강제하면, SGX enclave의 기능에 오류를 일으켜 정보를 빼낼 수 있다는 것을 밝혀냈다. SGX를 공격하는 기법은 이전에도 여럿 있었지만, 플런더볼트는 이들보다 빠른 속도로 정보를 추출할 수 있어서 훨씬 실용적이라는 것이 연구팀의 주장이다. 인텔은 이에 대응해 microcode(CPU의 펌웨어)와 BIOS 업데이트를 내놨다. 이 둘을 함께 적용해, CPU의 클럭과 전압을 기본값으로 고정시켜야 취약점이 해결된다. 문제는 이렇게 하면 오버클럭 유틸리티 등 CPU 클럭을 조절하는 정상 프로그램도 작동하지 않는다는 것이다. 마이크로코드 업데이트는 Windows update를 통해 제공되기 때문에 문제가 없다. 그러나 바이오스 업데이트는 메인보드 제조사에서 제공하는데, 출시된 지 조금 오래된 보드에는 잘 제공하지 않는 경우도 있다. 관리자 권한 필요 PlunderVolt는 소프트웨어적인 방법만을 사용하기 때문에, 해커가 PC에 물리적으로 접근할 필요는 없다. 즉 원격 실행이 가능하다. 다만 CPU의 클럭과 전압을 조절하는 프로그램은 관리자 권한으로 실행돼야 하기 때문에, 해커는 먼저 다른 방법으로 표적 PC를 해킹해야 한다. 그러나 이 점이 플런더볼트를 평가절...