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은 로컬 호스트 영역의 취약점입니다.
- trusted user(공격자가 아닌 선량한 사용자)의 로그인 정보를 유출하지 않고,
- trusted user외에는 로그인할 수 없고,
- 원격 접속 취약점이 없다면,
Meltdown 취약점 공격을 할 수 있는 프로세스는 구동될 수 없습니다.
Q> DomU의 사용자 프로세스가 다른 DomU 커널에 Meltdown 공격을 할 수 있나요?
A> 아니오. UXEN은 HVM으로 DomU를 생성하기 때문에 DomU간 메모리는 격리됩니다. 따라서 다른 DomU의 메모리 영역을 접근할 수는 없습니다.
결론
- UXEN에서 DomU를 HVM으로 생성하기 때문에 DomU가 hypervisor를 공격 할 수 없습니다.
- UXEN에서 DomU는 HVM으로 생성하기 때문에 다른 DomU를 공격 할 수 없습니다.