UXEN: Meltdown vulnerability

Meltdown vulnerability에 대한 UXEN의 입장

안녕하세요. 아이오차드 김 희 철 입니다.

최근 Intel CPU Meltdown 취약점으로 인한 UXEN의 보안 문의에 대한 설명을 드리겠습니다.

Meltdown 취약점을 한 줄로 요약하자면,

user space program이 kernel space memory에 접근할 수 있어 민감한 정보를 취득할 수 있다.

질문과 답변 형식으로 진행하겠습니다.

일반 질문 답변

Q> Meltdown 공격은 원격에서도 가능한가요?

A> 원론적으로는 불가능합니다. 이 취약점은 로컬 호스트 영역에서 일어나는 취약점입니다. 즉, 호스트에 로그인하여 프로세스를 실행할 수 있는 권한이 있어야 합니다.

그러나 원격에서 불가능하다고 말할 수는 없습니다.

예를 들면, 웹 서비스를 하는데 웹 서버의 어떤 취약점으로 인해 공격자가 로컬 프로세스를 실행할 수 있게 된다면, Meltdown 공격이 가능하게 됩니다.

그러나 이것은 웹 서버의 취약점부터가 문제입니다. 이 경우 Meltdown이 아니더라도 다른 공격이 가능하게 됩니다.

Q> Meltdown 공격을 받으면 어떤 문제가 있나요?

A> Meltdown 공격은 메모리 읽기만 허용하지 변경을 할 수는 없습니다. 그러므로 Meltdown은 직접적으로 시스템 장애를 발생시키는 취약점은 아닙니다. 그러나 간접적으로 시스템 장애를 일으킬 가능성도 있습니다.

공격자가 Meltdown 공격에 성공하면 시스템의 민감한 정보를 취득할 수 있습니다. 민감한 정보란 비밀번호, 인증서 등이 되겠지요.

공격 방식의 특성 상 메모리 읽는 속도는 2KB/s 입니다. 그러니 meltdown 취약점 공격은 상당한 시간이 걸립니다.

UXEN 관련 질문 답변

Q> DomU의 사용자 프로세스가 Hypervisor에 Meltdown 공격을 할 수 있나요?

A> 64bit PV DomU만 공격이 가능합니다. HVM DomU는 Meltdown 취약점으로 공격할 수 없습니다. UXEN은 HVM으로만 DomU를 생성하기 때문에 DomU의 사용자 프로세스가 Hypervisor에 Meltdown 공격을 할 수 없습니다.

Q> DomU의 사용자 프로세스가 같은 DomU 커널에 Meltdown 공격을 할 수 있나요?

A> 예. 이것은 가능합니다.

따라서 DomU의 OS 커널을 업그레이드하여 Meltdown 공격으로부터 보호하는 것이 좋습니다.

각 배포판 별로 커널 업데이트를 해야 합니다. 그러나 speculative execution을 하지 못하니 성능은 떨어집니다.

다시 말씀드리지만 Meltdown은 로컬 호스트 영역의 취약점입니다.

  1. trusted user(공격자가 아닌 선량한 사용자)의 로그인 정보를 유출하지 않고,
  2. trusted user외에는 로그인할 수 없고,
  3. 원격 접속 취약점이 없다면,

Meltdown 취약점 공격을 할 수 있는 프로세스는 구동될 수 없습니다.

Q> DomU의 사용자 프로세스가 다른 DomU 커널에 Meltdown 공격을 할 수 있나요?

A> 아니오. UXEN은 HVM으로 DomU를 생성하기 때문에 DomU간 메모리는 격리됩니다. 따라서 다른 DomU의 메모리 영역을 접근할 수는 없습니다.

결론

  • UXEN에서 DomU를 HVM으로 생성하기 때문에 DomU가 hypervisor를 공격 할 수 없습니다.
  • UXEN에서 DomU는 HVM으로 생성하기 때문에 다른 DomU를 공격 할 수 없습니다.