Security issues in virtual machines
11 Risks in Virtual Environment
Risk 1 – VM Sprawl
• VM의 무절제한 증식은 패치되지 않고 추적되지 않는 기계들을 관리할 수 없는 상태로 이끌 수 있
Risk 2 – Sensitive Data Within a VM
• VM 내의 데이터 기밀성은 데이터가 쉽게 이동하고 변경될 수 있기 때문에 쉽게 침해될 수 있음
Risk 3 – Security of Offline and Dormant VMs
• 비활성 및 중지된 VM은 현재 보안 기준에서 크게 벗어날 수 있으며, 단순히 켜기만 해도 엄청난 보안 취약점을 도입할 수 있
Risk 4 – Security of Pre-Configured (Golden Image) VM / Active VMs
• VM는 가상화 플랫폼의 파일로 존재하며, 무단 액세스로 인해 기계 구성 변경이나 플랫폼의 가상 디스크에 바이러스 페이로드 삽입이 발생할 수 있음
Risk 5 – Lack of Visibility Into and Control Over Virtual Networks
• 소프트웨어 정의 가상 네트워크는 물리 네트워크의 보안 보호 장치에 가상 네트워크 트래픽이 보이지 않을 수 있기 때문에 네트워크 보안 침해를 일으킬 수 있음
Risk 6 – Resource Exhaustion
• 가상 프로세스에 의한 제어되지 않은 물리적 자원 소모는 가용성 감소로 이어질 수 있
Risk 7 – Hypervisor Security
• 하이퍼바이저 보안은 하이퍼바이저(가상화를 가능하게 하는 소프트웨어)가 개발, 구현, 제공 및 관리 과정 전체에서 안전한지 확인함
Risk 8 – Unauthorized Access to Hypervisor
• 하이퍼바이저에 대한 관리 액세스 제어가 잠재적인 해커 공격을 처리하기에 부족할 수 있음
Risk 9 – Account or Service Hijacking Through the SelfService Portal
• 포털 취약점은 권한 상승 공격을 일으킬 수 있음
Risk 10 – Workloads of Different Trust Levels Located on the Same Server
• 물리적 호스트에서 작업 부하를 충분히 보안 구분해야 함
Risk 11 – Risk Due to Cloud Service Provider APIs
• hybrid (private/public) cloud 가상화 구현은 계정/인증 연합으로 인한 보안 위험을 유발할 수 있음
9 out of 11 Risks
• VM itself
• Virtual Network
• Hypervisor
• Management Problem
Risk #1 – VM Sprawl
Vulnerability
- 이미지 파일을 사용하여 VM을 신속하게 할당 가능
- 이미지 파일을 사용하여 도입된 VM은 시스템 관리자에게 보이지 않을 수 있음
- (중요) 시스템 관리자가 VM의 취약점을 인식하지 못할 수 있음
- 일반적으로 시스템 관리자는 물리적 기계의 확보와 도입을 인식할 수 있어야 함
Countermeasures
- VM 도입 프로세스를 통제하고 관리하기 위한 효과적인 정책, 지침 및 프로세스
- 정책, 지침 및 프로세스를 지원하기 위해 기술 도구가 필요
Risk #2 – Sensitive Data Within a VM
Vulnerability
- 민감한 데이터에는 비밀번호, 개인 데이터, bash 프로필, bash 히스토리 파일, 암호화 키 및 라이선스 키가 포함
- VM의 스냅샷은 메모리 내용을 포함해야 하므로 민감한 데이터를 노출시킬 수 있는 잠재적인 채널이 될 수 있음
Countermeasures
- 이미지가 생성될 때 민감한 데이터를 포함하지 않도록 하는 명확한 절차를 정의해야 합함
- 이를 위해 이미지와 스냅샷이 생성될 때 민감한 데이터를 암호화하는 것을 고려할 수 있음
Risk #3 – Security of Offline and Dormant VMs
Vulnerability
- VM의 상태 : active(실행 중), dormant(일시 중단), offline(종료)
- VM이 비활성 및 오프라인 상태일 때 적절한 보안 패치와 업데이트로 업데이트되지 않을 가능성이 있음
=> 적절하게 업데이트되지 않은 VM이 온라인으로 전환되면 VM이 취약해질 수 있음
Countermeasures
- 적절한 보안 관리, 보안 업데이트 설치 및 보안 구성 적용과 같은 적절한 보안 관리 없이 오프라인 및 비활성 상태인 VM이 온라인으로 전환되는 것을 방지하기 위해 효과적인 정책, 지침 및 프로세스가 필요
- 오프라인 및 비활성 상태의 VM에 대한 보안 업데이트 설치 및 보안 구성 적용 기능을 가진 관리 솔루션이 필요
Risk #4 – Security of Pre-Configured (Golden Image) VM / Active VMs
Vulnerability
- VM 이미지는 파일로 존재하며, 인터넷을 통해 전송되거나 USB 메모리 스틱을 통해 전달될 때 취약성이 발생할 수 있음
- VM 이미지를 침해하기 위한 악의적인 가로채기 가능성이 있음
- 특정 환경이나 기간에 널리 사용되는 골든 VM 이미지가 있다면 피해가 더 커질 수 있음
Countermeasures
- 모든 VM 이미지에 무결성 체크섬 메커니즘을 구현
- VM 이미지를 암호화
Risk #5 – Lack of Visibility Into and Control Over Virtual Networks
Vulnerability
- 엔지니어들이 가상 네트워크의 보안 정책을 이해하는 것은 흔치 않음
- 엔지니어들은 소프트웨어 기반 가상 네트워크에 대한 보안 대책을 배우고 구현하기 위해 더 많이 연구해야 함
- 트래픽 모니터링 도구는 VM 간 트래픽을 인식하지 못할 수 있음
Countermeasures
- 보안 관리자는 가상 머신 간의 트래픽을 모니터링하기 위한 전문 도구를 조사해야함
- 물리적 시스템 도구와 통합 방식으로 기술 도구를 배치해야 함
Risk #6 – Resource Exhaustion
Vulnerability
- 특정 응용 프로그램이 여러 VM에서 동시에 실행되면 물리적 시스템의 성능 저하를 유발할 수 있음
- 실행 중인 안티바이러스 소프트웨어와 자동화된 운영 체제 패치가 물리적 자원에 엄청난 부하를 일으킬 수 있음음
Countermeasures
- 자원 집약적인 소프트웨어(resource-intensive software)사용은 가상 머신 환경에서 제어되어야 함
- 자원 집약적인 소프트웨어 실행을 위한 표준 운영 절차
Risk #7 – Hypervisor Security Risk / #8 - Unauthorized Access to Hypervisor
Vulnerability
- 해커들은 VM에 무단 액세스를 얻기 위해 하이퍼바이저를 대상으로 할 수 있음
- 하이퍼바이저에 액세스하는 방법은 다양하며, 하이퍼바이저에 따라 다름
- 하이퍼바이저에 대한 액세스를 통제하는 것은 특정 벤더의 하이퍼바이저를 관리하는 데 능숙한 엔지니어의 전문 지식임
- " hyper-jacking"이라는 악성 소프트웨어는 먼저 하나의 VM을 침투하고, VM을 중간 단계로 사용하여 하이퍼바이저를 공격
Countermeasures
- 벤더에서 제공하는 최상의 방법을 따를 것
- 최상의 방법에는 VM 간 메모리 공유 비활성화, 부팅 시 자체 무결성 확인 등 하이퍼바이저를 보호하기 위한 모든 종류의 구성이 포함됨
- 안전한 하이퍼바이저 유형을 선택할 때 Type 1 하이퍼바이저를 권장
- 하이퍼바이저 액세스 관리에 대해 역할 기반 액세스 제어를 정의된 정책과 충분한 테스트와 함께 배치하는 것이 좋음
Risk #10 – Workloads of Different Trust Levels Located on the Same Server
Vulnerability
- 물리적 시스템의 하나의 VM은 미션 크리티컬한 워크로드를 다룸
- 동일한 물리적 시스템의 다른 VM은 덜 중요한 워크로드를 다룸
- 미션 크리티컬한 VM에서 사이드 채널을 통한 예상치 못한 데이터 유출 또는 서비스 거부가 발생할 수 있음
Countermeasures
- 다양한 보안 등급에 따라 워크로드를 분류하는 정책을 시행
- 서로 다른 보안 레벨의 워크로드는 별도의 물리적 시스템 및 물리적 및 가상 네트워크에 할당되어야 함
- 보안 관리자는 사용 유형 및 생산 단계를 기반으로 보안 존을 정의해야함
- 보안 존에는 여러 VM이 포함되며, 워크로드 보안 등급을 보안 존의 목적과 일치시켜 VM에 워크로드를 할당