반응형

하이퍼바이저(Hypervisor)란?

하이퍼바이저, 또는 가상 머신 모니터(VMM)라고도 불리는 이 소프트웨어 플랫폼은

단일 호스트 컴퓨터에서 여러 개의 게스트 운영체제(OS)를 동시에 실행할 수 있게 해주는 가상화 기술의 핵심 요소입니다.

하이퍼바이저는 물리적 하드웨어 자원을 가상화하여 각 가상 머신에 할당하고,

이를 통해 다양한 운영체제가 마치 독립된 컴퓨터에서 실행되는 것처럼 작동할 수 있도록 합니다.

 

상상해 보세요.

공항에는 한정된 수의 게이트가 있으며, 여러 항공사가 이 게이트를 통해 동시에 여러 비행기를 운항해야 합니다.

공항의 관리 시스템은 각 항공사에 필요한 게이트를 할당하고,

각 항공사가 자신의 비행 스케줄에 맞춰 효율적으로 게이트를 사용할 수 있도록 조정합니다.

 

이와 마찬가지로,

윈도우 운영 체제에서 하이퍼바이저는 컴퓨터의 하드웨어 자원(게이트와 같은)을 관리합니다.

여러 가상 머신(항공사의 비행기)이 동시에 이 자원을 공유하며 사용할 수 있도록 합니다.

예를 들어, 하이퍼바이저를 활용하면 한 컴퓨터에서

윈도우, 리눅스, 맥 OS와 같은 여러 운영체제를 동시에 실행할 수 있는

가상 머신들을 만들고 관리할 수 있습니다.

각 가상 머신은 마치 공항의 게이트를 할당받은 항공사처럼,

컴퓨터의 CPU, 메모리, 저장 공간 등의 자원을 할당받아 사용합니다.

하이퍼바이저는 이 모든 가상 머신들이 필요한 자원을 공정하게 받고,

서로 간섭 없이 효율적으로 작동하도록 돕습니다.

다시 돌아와서 하이퍼바이저는

내 컴퓨터에 가상 머신(vmware)을 이용하여

리눅스나 맥 다른 운영체제를 다운로드해 실행할 때

해당 OS (운영체제)에 필요한 리소스를 내 컴퓨터

하드웨어에서 할당받아 제공해 줍니다.

서로 다른 여러 개의 운영체제를 나란히 구동할 수 있으며,

VM을 모니터링하는 중간 관리

VMM(Virtual Machine Monitor)라고도 불립니다.

쉽게 설명하자면,

하이퍼바이저 (Hypervisor)는

가상 머신 속 OS들에게 자원을 나눠주며 조율하고

OS들의 커널을 번역해서 본 컴퓨터 하드웨어에게

알려주는 역할을 합니다.

 

커널이란?

https://jdcyber.tistory.com/67

 

커널(Kernel)이란 무엇일까? (개념, 이중 모드, 쉘의 역할)

커널(Kernel)은 컴퓨터 운영체제의 핵심 부분으로, 하드웨어 자원을 관리하고 응용 프로그램과 하드웨어 사이의 인터페이스 역할을 수행합니다. 이는 응용 프로그램이 시스템 호출을 통해 하드웨

jdcyber.tistory.com


하이퍼바이저의 주요 기능과 유형

  1. 전체 가상화(Full Virtualization)
    전체 가상화에서는 하이퍼바이저가 모든 하드웨어 호출을 포착하고 중재하여, 게스트 운영체제가 자신이 물리적 하드웨어 위에서 직접 실행되고 있는 것처럼 착각하게 만듭니다. 이 방식은 하드웨어 자원을 완전히 가상화하며, 게스트 OS는 하이퍼바이저를 통해서만 하드웨어 자원을 요청할 수 있습니다. 다시 말해, CPU 차원의 가상화는 하드웨어를 완전히 가상화하는 방식이므로 반드시 하이퍼바이저가 중간에서 중재하게 됩니다. 조금 더 세부적으로 살펴본다면, DOM0이 그 역할을 하게 되는데 각 가상머신은 DOM0에게 명령을 전달하고, DOM0에서 이를 해석하여 하이퍼바이저에게 알려주게 됩니다. (Vmware, ESX server, Hyper V, KVM)
  2. 반가상화(Paravirtualization)
    반가상화는 게스트 OS가 하이퍼바이저 존재를 인식하고, 하이퍼바이저와 직접 상호작용하는 것을 특징으로 합니다. 이 모델에서는 DOM0(도메인 제로)가 하이퍼바이저와 게스트 OS 사이의 중개자 역할을 하지 않고, 게스트 OS는 하이퍼 콜(Hyper-Call)이라는 특수한 API를 통해 하이퍼바이저에 직접 요청을 보냅니다. 이는 전체 가상화에 비해 성능 향상을 제공할 수 있습니다.

DOM0 이 무엇인지 알고 싶으신 분들은 아래 글을 참고해 주세요!

(작성 중)

 

Hyper-Cell이 무엇인지 알고 싶으신 분들은 아래 글을 참고해 주세요!

(작성 중)

하이퍼바이저의 구분

하이퍼바이저는 크게 두 가지 유형으로 나뉩니다

  1. Type 1 하이퍼바이저(Native or Bare-Metal Hypervisors): 이 유형의 하이퍼바이저는 직접 하드웨어 위에 설치되며, 하드웨어와 가상 머신을 관리하는 데 필요한 모든 기능을 갖추고 있습니다. 운영체제 없이 처음부터 하이퍼바이저를 설치해야 하며, 이는 보다 높은 성능과 보안을 제공합니다.
  2. Type 2 하이퍼바이저(Hosted Hypervisors): 호스트 운영체제 위에 설치되는 이 하이퍼바이저는 일반적인 소프트웨어 응용 프로그램처럼 작동합니다. 게스트 운영체제는 호스트 OS를 통해 간접적으로 하드웨어 자원을 접근하며, 이는 설치 및 관리가 상대적으로 쉽지만, Type 1 하이퍼바이저에 비해 성능 면에서 뒤떨어질 수 있습니다.

하이퍼바이저 기술은 현대 IT 인프라에서 중추적인 역할을 수행하며,

다양한 가상 환경을 가능하게 합니다.

기업들은 하이퍼바이저를 사용하여 하드웨어 비용을 절감하고,

시스템의 유연성을 높이며,

IT 자원을 보다 효과적으로 관리할 수 있습니다.

특히 클라우드 컴퓨팅, 대규모 데이터 센터,

개발 및 테스트 환경 구축에 있어서 가상화는 필수적인 기술로 자리 잡고 있습니다.

하이퍼바이저를 통한 가상화는

물리적 제약을 넘어서는 새로운 가능성을 제공하며,

기술의 발전과 함께 그 적용 범위와 효율성이 계속해서 개선되고 있습니다.

 

앞으로도 기술 발전에 따라 더욱 향상된 성능과 보안을 갖춘

하이퍼바이저 솔루션이 등장할 것으로 기대됩니다.

이처럼 하이퍼바이저는 비단 복잡한 기술 환경뿐만 아니라

일상적인 비즈니스 운영에도 중요한 역할을 하고 있으며,

그 중요성은 점점 더 커질 것입니다.


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

구독 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

반응형
반응형

오늘은 모의해킹 실습 환경을 구축하는 방법에 대해 소개하려고 합니다.
이번 글에서는 VirtualBox와 칼리 리눅스(Kali Linux)를 사용합니다.

1. VirtualBox 설치

먼저, VirtualBox를 설치해야 합니다.

우리가 모의 해킹 실습을 위한 가상 환경을 만들어 줄 도구입니다.

VirtualBox의 최신 버전을 다운로드하기 위해 VirtualBox 공식 웹사이트

https://www.virtualbox.org/

 

Oracle VM VirtualBox

Welcome to VirtualBox.org! News Flash New July 18th, 2023VirtualBox 7.0.10 released! Oracle today released a 7.0 maintenance release which improves stability and fixes regressions. See the Changelog for details. New July 18th, 2023VirtualBox 6.1.46 release

www.virtualbox.org


웹사이트에서는 여러 운영체제를 위한 다운로드 옵션이 제공됩니다.

본인의 운영체제에 맞는 버전을 다운로드하고 설치하세요.


2. 칼리 리눅스 ISO 다운로드

칼리 리눅스는 모의해킹 및 펜 테스팅에 가장 널리 사용되는 운영체제 중 하나입니다.

칼리 리눅스의 공식 웹사이트 (https://www.kali.org/)에서 ISO 이미지를 다운로드하세요.

 

저는 맥북 M1이라 아래 파일을 설치했습니다.

 

3. VirtualBox에서 칼리 리눅스

가상 머신 생성

VirtualBox를 실행하고 "새로 만들기" 버튼을 클릭하여 가상 머신을 생성합니다.

이름, 타입(리눅스), 버전(Debian 64-bit)을 설정하고, 나머지 설정을 변경합니다 (아래)

메모리(RAM): 칼리 리눅스의 공식 문서에 따르면 최소 2GB의 RAM이 권장됩니다.

그러나 여유가 있다면 4GB 또는 그 이상을 할당하는 것이 좋습니다.

가상 머신의 성능을 향상시키고 여러 프로그램을 동시에 실행하는 데 도움이 됩니다.

 

CPU 코어: 사용 가능한 CPU 코어의 수에 따라 다르지만,

일반적으로 가상 머신에 2개의 코어를 할당하는 것이 좋습니다.

이는 가상 머신의 성능을 향상시키고, 동시에 여러 작업을 수행하는 데 도움이 됩니다.

 

하드 디스크 공간: 칼리 리눅스를 설치하고 업데이트하려면 최소 20GB의 공간이 필요합니다.

그러나 추가의 소프트웨어나 데이터를 저장하려는 경우 더 많은 공간을 할당하는 것이 좋습니다.

 

4. 칼리 리눅스 ISO를 가상 머신에 연결

생성한 가상 머신을 선택하고 설정으로 이동하세요.

"저장소" 메뉴에서 "빈" CD 아이콘을 클릭하고,

우측에 있는 CD 아이콘을 클릭하여 다운로드한 칼리 리눅스 ISO 파일을 선택하세요.

 

5. 칼리 리눅스 설치

가상 머신을 시작하면 칼리 리눅스 설치 환경이 실행됩니다.

설치 언어, 지역, 키보드 구성 등을 설정하고, 가이드에 따라 설치를 진행하세요.

설치가 완료되면 칼리 리눅스를 실행할 수 있습니다.

1. 외부 네트워크 (NAT) 설정

NAT(Network Address Translation)은

가상 머신이 인터넷에 접속할 수 있도록 해주는 네트워크 설정입니다.

VirtualBox에서 해당 가상 머신을 선택하고 '설정'으로 이동합니다.

'네트워크'를 선택하고 '어댑터 1' 탭에서

'네트워크 연결'을 'NAT'로 설정합니다.

이렇게 하면 가상 머신은 호스트 시스템을 통해 인터넷에 접근할 수 있게 됩니다.

 

2. 내부 사설망 네트워크 설정

내부 사설망은 여러 가상 머신 간의 네트워크 통신을 가능하게 합니다.

'네트워크'를 선택하고 '어댑터 2' 탭으로 이동합니다.

'어댑터 사용' 체크박스를 선택하고 '네트워크 연결'을 '내부 네트워크'로 설정합니다.

'네트워크 이름'에는 고유한 이름을 입력하시면 됩니다.

같은 내부 네트워크에 연결하려는 모든 가상 머신은 동일한 네트워크 이름을 사용해야 합니다.

설정이 끝났다면 '확인'을 클릭하여 변경 사항을 저장합니다.

 

root@kali:~# vi /etc/network/interfaces

root@kali:~# service networking restart

 

이제 모의해킹 환경을 위해 외부 네트워크 (NAT)와 내부 사설망 네트워크가 모두 설정되었습니다.

이제 인터넷 연결과 가상 머신 간의 네트워크 연결이 모두 가능해졌습니다.

이 설정들은 모의해킹 실습에 필수적인 요소로, 다양한 네트워크 환경에서의 테스트를 가능하게 합니다.


 

만일 비밀번호를 분실하였다면 아래 글을 참조해주세요

https://jdcyber.tistory.com/57

 

칼리 리눅스 Kli Linux 패스워드 분실 (비밀번호 찾기, 재설정, 변경)

Kali Linux를 설치하고 작업을 하고 있는데 저처럼 어느 날 갑자기 비밀번호가 틀리나고 나오거나 아니면 Root 패스워드를 까먹으셨을 때 아래 방법을 통해 찾아보시기 바랍니다. ​ 아래 내용을 진

jdcyber.tistory.com


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

이웃 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

반응형

+ Recent posts