KR101690949B1 - 가상화 환경에서의 가상머신 게스트 os 자원 정보 수집 장치 및 방법 - Google Patents

가상화 환경에서의 가상머신 게스트 os 자원 정보 수집 장치 및 방법 Download PDF

Info

Publication number
KR101690949B1
KR101690949B1 KR1020160029414A KR20160029414A KR101690949B1 KR 101690949 B1 KR101690949 B1 KR 101690949B1 KR 1020160029414 A KR1020160029414 A KR 1020160029414A KR 20160029414 A KR20160029414 A KR 20160029414A KR 101690949 B1 KR101690949 B1 KR 101690949B1
Authority
KR
South Korea
Prior art keywords
collection
policy
information
virtual machine
collecting
Prior art date
Application number
KR1020160029414A
Other languages
English (en)
Inventor
이동환
안명길
김동화
김용현
조완수
김혁준
노기성
Original Assignee
국방과학연구소
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 국방과학연구소 filed Critical 국방과학연구소
Priority to KR1020160029414A priority Critical patent/KR101690949B1/ko
Application granted granted Critical
Publication of KR101690949B1 publication Critical patent/KR101690949B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Abstract

본 발명은 가상머신 게스트 OS(Operating System) 자원 정보 수집 기술에 관한 것으로서, 더 상세하게는 가상화 환경 관리자가 Guest OS 내부의 자원(Resource) 상태 수집을 통한 비정상 가상머신에 대한 세부 원인분석이 가능하게 하는 가상머신 게스트 OS 자원 정보 수집 장치 및 방법에 대한 것이다.

Description

가상화 환경에서의 가상머신 게스트 OS 자원 정보 수집 장치 및 방법{Apparatus and Method for collecting guest Operating System resource information of virtual machine in virtualization environment}
본 발명은 가상머신 게스트 OS(Operating System) 자원 정보 수집 기술에 관한 것으로서, 더 상세하게는 가상화 환경 관리자가 Guest OS 내부의 자원(Resource) 상태 수집을 통한 비정상 가상머신에 대한 세부 원인분석이 가능하게 하는 가상머신 게스트 OS 자원 정보 수집 장치 및 방법에 대한 것이다.
또한, 본 발명은 소프트웨어 기반 통합 가상 데이터 센터 구축 목적외 사이버 공격 분석 도구로써의 서버 가상화 기술 활용성을 증대시킬 수 있는 가상머신 게스트 OS 자원 정보 수집 장치 및 방법에 대한 것이다.
서버 가상화 기술을 통해 소수의 물리 서버로 다수의 가상머신을 구동할 수 있으며, 가상화 서버 자체적으로 제공하는 CPU(Central Processing Unit), 메모리(Memory), 스토리지 I/O(Input/Output) 등 물리 자원 모니터링 도구를 통해 안정적인 서비스 유지 관리를 위한 모니터를 수행할 수 있다.
이를 통해 통합 가상환경 운영자는 과부하 유발등 비정상적 동작을 수행하는 가상머신을 인지하거나, 물리 자원 사용 병목구간을 분석함으로써 가상환경의 안정적 운영 및/또는 물리 서버자원 증설 필요성 등을 판단할 수 있도록 해준다. 하지만 만약 비정상 동작이 유발된 게스트 OS(Guest Operating System)의 근본원인을 찾고 재발 방지를 대책을 수립해야할 할 필요가 있을 경우에는 운영자가 관련된 가상머신 내부 Guest OS들을 일일이 점검할 필요가 있다.
이는 문제 인지 후 정보수집, 분석까지 상당한 시간이 소요됨은 물론, 수백/수천대의 가상머신을 통합 관리해야하는 관리자 입장에서 관리부담이 증가되는 작업으로써 통합 환경 관리라는 가상화 기술의 특/장점과 반대되는 관리방법이다.
특히 게스트 OS(Guest OS)에서 발생될 수 있는 문제점을 단순한 처리작업 증대 또는 어플리케이션 오류뿐 아니라 사이버 공격에 의한 악성코드등 비정상적 처리 동작까지 확대하여 분석하고자 한다면, 현재 상용 서버 가상화 제품에서 제공하는 물리 CPU, 메모리(Memory), I/O 수준의 모니터로는 정확한 원인 파악이 어렵다는 단점이 있다.
또한, 게스트(Guest) OS 관점의 CPU, Memory 사용량과 내부 비정상 프로세스, 파일 시스템(File system)등을 분석하기 위한 정보의 통합 수집 및/또는 분석이 필요하다.
1. 한국등록특허번호 제10-0974108호(2010.07.29) 2. 한국공개특허번호 제10-2011-0041087호
1. 김원용외, "리눅스 컨테이너 기반의 운영체제 수준 가상화 연구"한국정보과학회 2015 한국컴퓨터종합학술대회 논문집
본 발명은 위 배경기술에 따른 문제점을 해소하기 위해 제안된 것으로서, 상용 서버 가상화 제품에서 제공하는 물리 CPU(Central Processing Unit), 메모리(Memory), I/O(Input/Output) 수준의 모니터로도 정확한 원인 파악이 가능한 가상머신 게스트 OS(Operating System) 자원 정보 수집 장치 및 방법을 제공하는데 그 목적이 있다.
또한, 본 발명은 게스트(Guest) OS 관점의 CPU, Memory 사용량과 내부 비정상 프로세스, 파일 시스템(File system)등을 분석하기 위한 정보의 통합 수집 및/또는 분석이 가능한 가상머신 게스트 OS(Operating System) 자원 정보 수집 장치 및 방법을 제공하는데 다른 목적이 있다.
본 발명은 위에서 제시된 과제를 달성하기 위해, 상용 서버 가상화 제품에서 제공하는 물리 CPU(Central Processing Unit), 메모리(Memory), I/O(Input/Output) 수준의 모니터로도 정확한 원인 파악이 가능한 가상머신 게스트 OS(Operating System) 자원 정보 수집 장치를 제공한다.
상기 게스트 OS 자원 정보 수집 장치는,
가상화 환경에서 게스트 OS(Guest Operating System)를 위한 가상 머신, 수집 정보에 대해 설정되는 수집 정책에 따라 게스트 OS내 자원 정보를 수집하여 수집 정보를 생성하는 자원 정보 수집부, 수집된 수집 정보를 전송하는 제 1 네트워크 송수신 모듈을 갖는 클라이언트; 및
상기 클라이언트로부터 전송되는 수집 정보를 수신하는 제 2 네트워크 송수신 모듈, 수신된 수집 정보를 저장하는 저장부, 제 2 네트워크 송수신 모듈을 통해 상기 수집 정책을 변경하는 제어부를 갖는 수집 서버;를 포함하는 것을 특징으로 할 수 있다.
여기서, 상기 수집 정보는 상기 게스트 OS내 CPU(Central Processing Unit), 메모리(Memory), 파일 시스템(File System), 및 프로세스(Process) 중 적어도 하나 이상인 것을 특징으로 할 수 있다.
또한, 상기 수집 정책은 수집 주기, 수집 대상의 자원 종류를 포함하는 것을 특징으로 할 수 있다.
또한, 상기 자원 정보 수집부는, 수집 정보에 대한 수집 정책을 설정하는 수집 정책 설정부; 설정되는 수집 정책에 따라 자원을 수집하는 수집 모듈; 및 수집된 자원을 파싱 및 정규화를 통해 수집 자원 정보를 생성하는 데이터 가공모듈;을 포함하는 것을 특징으로 할 수 있다.
또한, 상기 클라이언트는 상기 수집 정보를 암호화하는 암호화 모듈;을 더 포함하며, 상기 서버는 암호화된 수집 정보를 복호화하는 복호화 모듈;을 더 포함하는 것을 특징으로 할 수 있다.
또한, 상기 클라이언트는 상기 가상 머신에 대한 수집 정책을 설정하여 정책 파일을 생성하는 정책 데이터 모듈;을 더 포함하며, 상기 서버는 상기 정책 파일에 대한 변경 여부를 체크하여 갱신하는 정책 갱신 모듈;을 더 포함하는 것을 특징으로 할 수 있다.
또한, 상기 클라이언트는 네트워크 IP(Internet Protocol)를 사용하는 고유 ID(Unique Identification)를 통해 개별적으로 인지되는 것을 특징으로 할 수 있다.
또한, 상기 클라이언트는 상기 수집 서버와의 전용 수집 네트워크 구성 및 고유(Agent Unique) ID 생성을 위해 제 1 수집용 NIC(Network Interface Card);를 더 포함하고, 상기 수집 서버는 상기 제 1 수집용 NIC와 연결되는 제 2 수집용 NIC;를 더 포함하며, 상기 가상머신을 복제하는 경우 자동화 API(Application Programming Interface) 명령을 통한 호스트 프로파일(Profile) 설정을 통해 상기 제 1 수집용 NIC에 고유한 고정(Static) IP를 부여하여 상기 가상머신의 고유 ID와 함께 일대일로 맵핑하는 것을 특징으로 할 수 있다.
다른 한편으로, 본 발명의 다른 일실시예는, 수집 서버의 제어부가 수집 정보에 대해 설정되는 수집 정책을 변경하는 단계; 클라이언트가 변경된 수집 정책에 따라 자원 정보 수집부를 통해 가상화 환경에서 가상 머신에 설치되는 게스트 OS내 자원 정보를 수집하여 수집 정보를 생성하는 단계; 상기 클라이언트가 제 1 네트워크 송수신 모듈을 통해 수집된 수집 정보를 상기 수집 서버에 전송하는 단계; 상기 수집 서버가 제 2 네트워크 송수신 모듈을 통해 상기 클라이언트로부터 전송되는 수집 정보를 수신하는 단계; 및 상기 수집 서버가 제 2 네트워크 송수신 모듈을 통해 수신된 수집 정보를 저장부에 저장하는 단계;를 포함하는 것을 특징으로 하는 가상화 환경에서의 가상머신 게스트 OS 자원 정보 수집 방법을 제공할 수 있다.
본 발명에 따르면, 가상화 환경 관리자가 게스트 OS(Operating System) 내부의 자원(Resource) 상태 수집을 통한 비정상 가상머신에 대한 세부 원인분석이 가능하게 할 수 있다.
또한, 본 발명의 다른 효과로서는 소프트웨어 기반 통합 가상 데이터센터 구축 목적 외 사이버 공격 분석 도구로써의 서버 가상화 기술 활용성을 증대시킬 수 있다는 점을 들 수 있다.
도 1은 본 발명의 일실시예에 따른 가상머신 게스트(Guest) OS(Operating System) 자원을 수집, 전송, 제어, 저장 처리하는 게스트 OS 자원 정보 수집 장치의 구성 블록도이다.
도 2는 도 1에 도시된 자원 정보 수집부(112)에 대한 세부 구성요소의 블록도이다.
도 3은 도 1에 도시된 데이터 송수신을 위한 클라이언트(113) 및 수집 에이전트(Agent) 관리를 위한 수집 서버(120)에 대한 구성요소 및 처리 절차를 도시한 블록도이다.
도 4는 도 1에 도시된 클라이언트(1110) 및 수집 서버(120)에서 게스트 OS(Guest Operating System)의 자원 수집 및 전송용 네트워크 구성을 위한 구성도이다.
도 5는 본 발명의 일실시예에 따른 가상머신 게스트(Guest) OS(Operating System) 자원을 수집, 전송, 제어, 저장 처리하는 과정을 보여주는 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 구체적으로 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다.
제 1, 제 2등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. "및/또는" 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않아야 한다.
이하 첨부된 도면을 참조하여 본 발명의 일실시예에 따른 가상화 환경에서의 가상머신 게스트 OS(Operating System) 자원 정보 수집 장치 및 방법을 상세하게 설명하기로 한다.
도 1은 본 발명의 일실시예에 따른 가상머신 게스트(Guest) OS(Operating System) 자원을 수집, 전송, 제어, 저장 처리하는 게스트 OS 자원 정보 수집 장치(100)의 구성 블록도이다. 도 1을 참조하면, 클라이언트-서버 방식으로 구성되며 클라이언트(110)에 게스트 OS(Guest Operating System)를 위한 가상 머신(111), 게스트 OS내 자원 정보를 수집하여 수집 정보를 생성하는 자원 정보 수집부(112), 수집된 수집 정보를 수집 서버(120)측에 전송하는 제 1 네트워크 송수신 모듈(113) 등이 구성된다.
또한, 수집 서버(120)에는 클라이언트(110)로부터 전송되는 수집 정보를 수신하는 제 2 네트워크 송수신 모듈(121), 수신된 수집 정보를 저장하는 저장부(122), 제 2 네트워크 송수신 모듈(121)을 통해 수집 정보에 대한 수집 정책을 변경하는 제어부(124) 등이 구성된다.
클라이언트(110)는 가상 서버상에서 구현되며, 수집 서버(120)는 물리적 서버 또는 가상 서버상에서 구현될 수 있다.
일반적으로 OS는 개인용 컴퓨터(personal computer; PC) 등과 같은 컴퓨터 장치에서, 사용자가 하드웨어를 보다 용이하게 사용할 수 있도록 인터페이스를 제공해 주는 프로그램들의 집합을 일컫는다. 따라서, OS는 프로세서, 기억 장치, 입출력 장치, 통신 장치, 데이터 등의 자원을 관리한다. 이러한 OS로서는 window NT, window 2000, UNIX, UNIX가 변형된 운영체제인 Solaris나 LINUX 등을 들 수 있다.
한편, 가상화 기술은, 호스트 OS(host OS) 상에 가상화 계층(Virtualization Layer)을 형성하거나 직접 가상화 계층을 제공하는 하이퍼바이저(Hypervisor)(미도시)를 두고, 이 가상화 계층상에 복수의 논리적인 가상 머신(virtual machine)(111)이 생성되도록 한다. 가상 머신에는 게스트 OS(guest OS)가 설치될 수 있으며, 게스트 OS 상에는 해당 게스트 OS에서 지원되는 어플리케이션(application)이 설치될 수 있다.
도 1에서는 하나의 가상 머신(111)이 도시되어 있으나, 다수의 가상 머신으로 구성될 수도 있다.
저장부(122)는 대용량 기록 장치로서 수집 정보를 해당 정보에 저장한다. 저장부(122)는 플래시 메모리 디스크(SSD: Solid State Disk), 하드 디스크 드라이브, 플래시 메모리, EEPROM(Electrically erasable programmable read-only memory), SRAM(Static RAM), FRAM(Ferro-electric RAM), PRAM(Phase-change RAM), MRAM(Magnetic RAM) 등과 같은 비휘발성 메모리 및/또는 DRAM(Dynamic Random Access Memory), SDRAM(Synchronous Dynamic Random Access Memory), DDR-SDRAM(Double Date Rate-SDRAM) 등과 같은 휘발성 메모리의 조합으로 구성될 수 있다. 또한, 저장부(122)는 수집 정보 중 CPU 및/또는 메모리 정보를 CPU/MEM(122-1)에 저장하고, 수집 정보중 파일 시스템 정보를 파일 시스템(122-3)에 저장하며, 수집 정보중 프로세스를 프로세스(122-5)에 저장한다.
제어부(124)는 자원 정보 수집부(112)에서 수집 정보를 생성하는 수집 정책을 통제하는 기능을 수행한다. 또한, 제어부(124)는 제 2 네트워크 송수신 모듈(121)을 제어하여 제 1 네트워크 송수신 모듈(113)로부터 수집 정보를 전송받을 수 있도록 한다. 수집 정책으로는 수집주기, 수집대상 자원종류 등을 들 수 있다.
도 2는 도 1에 도시된 자원 정보 수집부(112)에 대한 세부 구성요소의 블록도이다. 도 2를 참조하면, 자원 정보 수집부(112)는, 수집 정보에 대한 수집 정책을 설정하는 수집 정책 설정부(210), 설정되는 수집 정책에 따라 자원을 수집하는 수집 모듈(220), 및 수집된 수집 자원을 데이터 가공하여 수집 자원 정보를 생성하는 데이터 가공모듈(230) 등을 포함하여 구성된다.
수집 모듈(220)은 CPU(Central Processing Unit) 및/또는 메모리(Memory) 자원 정보를 수집하는 제 1 수집모듈(221), 프로세스(Process) 자원 정보를 수집하는 제 2 수집 모듈(222)과, 파일 시스템 자원 정보를 수집하는 제 3 수집 모듈(223) 등을 포함하여 구성된다. 프로세스 자원 정보로서는 운영체제에서 동작중인 프로세스 목록 및 프로세스 별 CPU 점유율, 실행시간, 구동시간 등을 들 수 있다.
여기서, 제 1 수집모듈(221)은 Psutil 파이썬 오픈소스 라이브러리를 기반으로 제작 되며, 제 2 수집모듈(222)은 리눅스 커널 서브시스템(Linux Kernel subsystem)인 Inotify 및/또는 윈도우용 Inotify 오픈소스를 활용하여 제작될 수 있다.
수집정책 설정부(210)를 통해 수집 서버(도 1의 120)측 제어부(124)에 의해 설정된 제 1 내지 제 3 수집 모듈(221,222,223)의 활성 또는 비활성 및/또는 수집주기를 설정할 수 있다. 또한, 이러한 수집 정책에 의해 수집된 자원 데이터들은 데이터 가공모듈(230)에서 데이터 가공과정을 통해 수집 자원 정보를 생성하고 이를 수집 서버(120)측으로 전송한다. 데이터 가공은 데이터 분석 및/또는 규격화가 될 수 있다.
제 1 내지 3 수집 모듈(221,222,223)은 서로 다른 오픈소스를 통해 데이터를 수집한다. 이후, 수집된 원본 데이터중 꼭 필요한 데이터만 뽑아내는 작업을 수행한 뒤에 , 데이터 처리를 위해 특정 형식으로 변환(규격화) 하는 작업을 수행한다. 또한, 표준 포멧화하는 작업도 수행한다.
도 3은 도 1에 도시된 데이터 송수신을 위한 클라이언트(113) 및 수집 에이전트(Agent) 관리를 위한 수집 서버(120)에 대한 구성요소 및 처리 절차를 도시한 블록도이다. 도 3을 참조하면, 자원 정보 수집부(112)에서 생성된 게스트 OS 수집 자원은 SSL(Secure Sockets Layer) 암호화되어 수집 서버(도 1의 120)로 송신된다. 이를 위해, 자원 정보 수집부(112)와 제 1 네트워크 송수신 모듈(113) 사이에 암호화 모듈(320)이 구성된다.
수집 서버(120)측에는 암호화된 자원 정보를 복호화하여 저장부(도 1의 122)에 기록하기 위한 복호화 모듈(321)이 제 2 네트워크 송수신 모듈(113)과 저장부(122) 사이에 구성된다.
또한, 수집 서버(도 1의 120)측의 제어부(124)에서는 각 자원수집 에이전트(Agent)(예를 들면 개별 클라이언트가 된다)에 대한 수집정책(수집모듈 활성화/비활성화, 수집주기 등)을 설정할 수 있다. 이를 위해, 제 2 네트워크 송수신 모듈(121)과 저장부(122)사이에 정책 데이터 모듈(311)이 구성된다.
또한, 클라이언트(도 1의 110)측에 각 자원수집 에이전트에 대한 에이전트 정책을 갱신하기 위한 정책 갱신 모듈(310)이 제 1 네트워크 송수신 모듈(113)과 자원 정보 수집부(1112)사이에 구성된다. 정책 갱신 모듈(310)에 의해 주기적으로 정책파일의 변경 여부를 체크하고 최신성을 유지한다. 이때 다수의 자원 수집 에이전트(Agent)를 개별 인지하는 고유 ID(Unique Identification)는 별도 생성 및/또는 설정된 수집용 네트워크 IP(Internet Protocol)가 사용된다.
부연하면, 제어부(124)의 통제에 따라 클라이언트(110)를 제어하기 위하여 개별 클라이언트를 구분할 수 있는 고유 ID가 필요한데, 자원 수집을 위한 전용 네트워크 구성시 관리용 고유 네트워크 IP가 할당 되므로 별도의 ID를 생성할 필요 없이 해당 IP를 활용하는 것이 효율적이고 직관적이다.
도 4는 도 1에 도시된 클라이언트(1110) 및 수집 서버(120)에서 게스트 OS(Guest Operating System)의 자원 수집 및 전송용 네트워크 구성을 위한 구성도이다. 도 4를 참조하면, 대규모 가상운용 환경에서는 수백 수천대의 가상머신이 통합 운영되므로 각 가상머신마다 자원 수집 에이전트를 일일이 설치하여 운영하는 것은 저비용 통합운용이라는 가상화의 특/장점과 상반되는 운용개념이다.
또한 제어부(도 1의 124)에 의한 에이전트(Agent) 개별 설정을 위해 각 게스트 OS내 자원수집 에이전트들은 고유(Unique) ID값을 가질 수 있어야 한다. 또한, 실 네트워크 구조에 영향을 받지 않는 전용 수집 네트워크 구간이 필요하다. 이를 해결하기 위해 가상머신 생성에 활용되는 원본 템플릿 Guest OS이미지에 자원수집 Agent를 설치해 둠으로써 해당 원본에 의해 복제 생성된 모든 가상머신에 자원수집 Agent가 자동 탑재될 수 있도록 한다.
또한, 전용 수집 네트워크 구성 및 자원 수집 에이전트들의 고유(Agent Unique) ID 생성을 위해 클라이언트(110)내 일반 통신용 NIC(NIC: Network Interface Card)(411)와 별도로 제 1 수집용 NIC(421)를 별도 추가 구성하고, 수집 서버(120)내에도 제 2 수집용 NIC(422)를 구성한다. 물론, 수집 서버(120)에는 관리 네트워크 NIC(412)가 구성된다.
따라서, 가상머신(111) 복제 생성시 자동화 API(Application Programming Interface) 명령을 통한 호스트 프로파일(Profile) 설정을 통해 제 1 수집용 NIC(421)에 고유한 고정(Static) IP를 부여하고 이를 가상머신의 고유 ID와 함께 1:1 맵핑하여 관리한다.
부연하면, 가상머신 복제 생성시 자동화 API 명령을 통해 수집용 NIC에 고유한 고정 IP를 부여하는 방식은 도 1에 도시된 네트워크 송수신 모듈과는 다른 구성이다. 따라서, 가상화 환경에서 클라이언트에 겹치지 않는 관리용 네트워크 IP를 할당할 필요가 있다.
도 1 내지 도 4에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 5는 본 발명의 일실시예에 따른 가상머신 게스트(Guest) OS(Operating System) 자원을 수집, 전송, 제어, 저장 처리하는 과정을 보여주는 흐름도이다. 도 5를 참조하면, 수집 서버(도 1의 120)의 제어부(124)가 수집 정보에 대해 설정되는 수집 정책을 변경함에 따라, 클라이언트(도 1의 110)가 변경된 수집 정책에 따라 자원 정보 수집부(도 1의 112)를 통해 가상화 환경에서 가상 머신에 설치되는 게스트 OS내 자원 정보를 수집하여 수집 정보를 생성한다(단계 S510).
이후, 상기 클라이언트(110)가 제 1 네트워크 송수신 모듈(113)을 통해 수집된 수집 정보를 상기 수집 서버(120)에 전송한다(단계 S520). 물론, 이때 수집 정보를 암호화하여 전송하는 것도 가능하다. 암호화는 SSL(Secure Socket Layer) 암호화 방식을 이용하여 이에 한정되는 것은 아니며, TLS(Transport Layer Security) 등이 사용될 수 있다.
이후, 상기 수집 서버(도 1의 120)가 제 2 네트워크 송수신 모듈(도 1의 121)을 통해 상기 클라이언트(110)로부터 전송되는 수집 정보를 수신하면, 상기 수집 서버(120)가 제 2 네트워크 송수신 모듈(121)을 통해 수신된 수집 정보를 저장부(도 1의 122)에 저장한다(단계 S530). 또한, 암호화되는 경우 복호화하여 수집 정보를 저장한다.
100: 가상머신 게스트 OS(Operating System) 자원 정보 수집 장치
110: 클라이언트
111: 가상 머신
112: 자원 정보 수집부
113: 제 1 네트워크 송수신 모듈
120: 수집 서버
121: 제 2 네트워크 송수신 모듈
122: 저장부
124: 제어부

Claims (9)

  1. 가상화 환경에서 게스트 OS(Guest Operating System)를 위한 가상 머신, 수집 정보에 대해 설정되는 수집 정책에 따라 가상 머신 내부에 있는 게스트 OS의 자원을 수집하여 비정상 동작이 유발된 게스트 OS의 세부 원인분석을 수행하기 위해 게스트 OS내 비정상적 처리 동작에 따른 자원 정보를 수집하여 수집 정보를 생성하는 자원 정보 수집부, 수집된 수집 정보를 전송하는 제 1 네트워크 송수신 모듈을 갖는 클라이언트; 및
    상기 클라이언트로부터 전송되는 수집 정보를 수신하는 제 2 네트워크 송수신 모듈, 수신된 수집 정보를 저장하는 저장부, 제 2 네트워크 송수신 모듈을 통해 상기 수집 정책을 변경하는 제어부를 갖는 수집 서버;를 포함하며,
    상기 수집 정보는 상기 게스트 OS내 CPU(Central Processing Unit), 메모리(Memory), 파일 시스템(File System), 및 프로세스(Process) 중 적어도 하나 이상이며,
    상기 클라이언트는 상기 가상 머신에 대한 수집 정책을 설정하여 정책 파일을 생성하는 정책 데이터 모듈;을 더 포함하며, 상기 서버는 상기 정책 파일에 대한 변경 여부를 체크하여 갱신하는 정책 갱신 모듈;을 더 포함하고,
    상기 클라이언트는 네트워크 IP(Internet Protocol)를 사용하는 고유 ID(Unique Identification)를 통해 개별적으로 인지되며,
    상기 클라이언트는 상기 수집 서버와의 전용 수집 네트워크 구성 및 고유(Agent Unique) ID 생성을 위해 제 1 수집용 NIC(Network Interface Card);를 더 포함하고,
    상기 수집 서버는 상기 제 1 수집용 NIC와 연결되는 제 2 수집용 NIC;를 더 포함하며, 상기 가상머신을 복제하는 경우 자동화 API(Application Programming Interface) 명령을 통한 호스트 프로파일(Profile) 설정을 통해 상기 제 1 수집용 NIC에 고유한 고정(Static) IP를 부여하여 상기 가상머신의 고유 ID와 함께 일대일로 맵핑하며,
    상기 가상머신의 생성을 위해 활용되는 원본 템플릿 게스트 OS 이미지에 자원 수집 에이전트가 설치되는 것을 특징으로 하는 가상화 환경에서의 가상머신 게스트 OS 자원 정보 수집 장치.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 수집 정책은 수집 주기, 수집 대상의 자원 종류를 포함하는 것을 특징으로 하는 가상화 환경에서의 가상머신 게스트 OS 자원 정보 수집 장치.
  4. 제 1 항에 있어서,
    상기 자원 정보 수집부는, 수집 정보에 대한 수집 정책을 설정하는 수집 정책 설정부;
    설정되는 수집 정책에 따라 자원을 수집하는 수집 모듈; 및
    수집된 자원을 파싱 및 정규화를 통해 수집 자원 정보를 생성하는 데이터 가공모듈;을 포함하는 것을 특징으로 하는 가상화 환경에서의 가상머신 게스트 OS 자원 정보 수집 장치.
  5. 제 1 항에 있어서,
    상기 클라이언트는 상기 수집 정보를 암호화하는 암호화 모듈;을 더 포함하며, 상기 서버는 암호화된 수집 정보를 복호화하는 복호화 모듈;을 더 포함하는 것을 특징으로 하는 가상화 환경에서의 가상머신 게스트 OS 자원 정보 수집 장치.
  6. 삭제
  7. 삭제
  8. 삭제
  9. 수집 서버의 제어부가 수집 정보에 대해 설정되는 수집 정책을 변경하는 단계;
    클라이언트가 변경된 수집 정책에 따라 가상 머신 내부에 있는 게스트 OS의 자원을 수집하여 비정상 동작이 유발된 게스트 OS의 세부 원인분석을 수행하기 위해 자원 정보 수집부를 통해 가상화 환경에서 가상 머신에 설치되는 게스트 OS내 비정상적 처리 동작에 따른 자원 정보를 수집하여 수집 정보를 생성하는 단계;
    상기 클라이언트가 제 1 네트워크 송수신 모듈을 통해 수집된 수집 정보를 상기 수집 서버에 전송하는 단계;
    상기 수집 서버가 제 2 네트워크 송수신 모듈을 통해 상기 클라이언트로부터 전송되는 수집 정보를 수신하는 단계; 및
    상기 수집 서버가 제 2 네트워크 송수신 모듈을 통해 수신된 수집 정보를 저장부에 저장하는 단계;를 포함하며,
    상기 수집 정보는 상기 게스트 OS내 CPU(Central Processing Unit), 메모리(Memory), 파일 시스템(File System), 및 프로세스(Process) 중 적어도 하나 이상이며,
    상기 클라이언트는 상기 가상 머신에 대한 수집 정책을 설정하여 정책 파일을 생성하는 정책 데이터 모듈;을 더 포함하며, 상기 서버는 상기 정책 파일에 대한 변경 여부를 체크하여 갱신하는 정책 갱신 모듈;을 더 포함하고,
    상기 클라이언트는 네트워크 IP(Internet Protocol)를 사용하는 고유 ID(Unique Identification)를 통해 개별적으로 인지되며,
    상기 클라이언트는 상기 수집 서버와의 전용 수집 네트워크 구성 및 고유(Agent Unique) ID 생성을 위해 제 1 수집용 NIC(Network Interface Card);를 더 포함하고,
    상기 수집 서버는 상기 제 1 수집용 NIC와 연결되는 제 2 수집용 NIC;를 더 포함하며, 상기 가상머신을 복제하는 경우 자동화 API(Application Programming Interface) 명령을 통한 호스트 프로파일(Profile) 설정을 통해 상기 제 1 수집용 NIC에 고유한 고정(Static) IP를 부여하여 상기 가상머신의 고유 ID와 함께 일대일로 맵핑하며,
    상기 가상머신의 생성을 위해 활용되는 원본 템플릿 게스트 OS 이미지에 자원 수집 에이전트가 설치되는 것을 특징으로 하는 가상화 환경에서의 가상머신 게스트 OS 자원 정보 수집 방법.
KR1020160029414A 2016-03-11 2016-03-11 가상화 환경에서의 가상머신 게스트 os 자원 정보 수집 장치 및 방법 KR101690949B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160029414A KR101690949B1 (ko) 2016-03-11 2016-03-11 가상화 환경에서의 가상머신 게스트 os 자원 정보 수집 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160029414A KR101690949B1 (ko) 2016-03-11 2016-03-11 가상화 환경에서의 가상머신 게스트 os 자원 정보 수집 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101690949B1 true KR101690949B1 (ko) 2016-12-29

Family

ID=57736512

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160029414A KR101690949B1 (ko) 2016-03-11 2016-03-11 가상화 환경에서의 가상머신 게스트 os 자원 정보 수집 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101690949B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101984714B1 (ko) * 2018-08-23 2019-05-31 (주) 글루시스 가상화 자원 모니터링 시스템

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100974108B1 (ko) 2005-06-30 2010-08-04 인텔 코포레이션 가상화 기술 아키텍처를 따르는 플랫폼을 포함하는 시스템, 방법 및 머신 판독 가능한 매체
KR20110041087A (ko) 2009-10-15 2011-04-21 성균관대학교산학협력단 서버 가상화 장치
KR20120016732A (ko) * 2010-08-17 2012-02-27 삼성에스디에스 주식회사 멀티테넌시 환경에서 테넌트 별 보안 관제를 위한 클라우드 컴퓨팅 시스템 및 그 방법
KR20140070204A (ko) * 2012-11-30 2014-06-10 한국전자통신연구원 가상 머신을 이용한 암호화 장치 및 방법
KR101454838B1 (ko) * 2013-04-25 2014-10-28 한국인터넷진흥원 하이퍼바이저 기반 가상화 네트워크 및 호스트 침입방지 시스템과 연동하는 클라우드 통합 보안 관제 시스템
KR20160003358A (ko) * 2014-06-30 2016-01-11 전자부품연구원 서버/스토리지 관리 시스템

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100974108B1 (ko) 2005-06-30 2010-08-04 인텔 코포레이션 가상화 기술 아키텍처를 따르는 플랫폼을 포함하는 시스템, 방법 및 머신 판독 가능한 매체
KR20110041087A (ko) 2009-10-15 2011-04-21 성균관대학교산학협력단 서버 가상화 장치
KR20120016732A (ko) * 2010-08-17 2012-02-27 삼성에스디에스 주식회사 멀티테넌시 환경에서 테넌트 별 보안 관제를 위한 클라우드 컴퓨팅 시스템 및 그 방법
KR20140070204A (ko) * 2012-11-30 2014-06-10 한국전자통신연구원 가상 머신을 이용한 암호화 장치 및 방법
KR101454838B1 (ko) * 2013-04-25 2014-10-28 한국인터넷진흥원 하이퍼바이저 기반 가상화 네트워크 및 호스트 침입방지 시스템과 연동하는 클라우드 통합 보안 관제 시스템
KR20160003358A (ko) * 2014-06-30 2016-01-11 전자부품연구원 서버/스토리지 관리 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
1. 김원용외, "리눅스 컨테이너 기반의 운영체제 수준 가상화 연구"한국정보과학회 2015 한국컴퓨터종합학술대회 논문집

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101984714B1 (ko) * 2018-08-23 2019-05-31 (주) 글루시스 가상화 자원 모니터링 시스템

Similar Documents

Publication Publication Date Title
WO2020259268A1 (zh) 信息分享方法、平台及计算设备
CN102473170B (zh) 基于虚拟机的应用服务供应
CN109361517A (zh) 一种基于云计算的虚拟化云密码机系统及其实现方法
EP3588295B1 (en) Self-managed intelligent elastic cloud stack
US10121021B1 (en) System and method for automatically securing sensitive data in public cloud using a serverless architecture
US20190394113A1 (en) Systems and methods to automatically evaluate blockchain-based solution performance
US10063429B2 (en) Systems and methods for optimizing computer network operations
US20150319186A1 (en) Method and system for detecting irregularities and vulnerabilities in dedicated hosting environments
CN103677858A (zh) 一种云环境中虚拟机软件管理的方法、系统及设备
US10425412B2 (en) Dynamic generation of key for encrypting data in management node
BR112015017722B1 (pt) Método e sistema de rastreio paralelo para desempenho e detalhe
JP2018509691A (ja) ローリングセキュリティプラットフォーム
Kaur et al. Analyzing data security for cloud computing using cryptographic algorithms
US10778597B1 (en) Orchestration management system and method for managing a resource pool across multiple computing clouds
US11599378B2 (en) Data encryption key management system
US20130111018A1 (en) Passive monitoring of virtual systems using agent-less, offline indexing
KR101690949B1 (ko) 가상화 환경에서의 가상머신 게스트 os 자원 정보 수집 장치 및 방법
CN104636250A (zh) 云端自动测试系统及方法
CN103309722A (zh) 一种云计算系统及其应用访问方法
EP3553689B1 (en) System and method for automatically securing sensitive data in public cloud using a serverless architecture
CN114189515B (zh) 基于sgx的服务器集群日志获取方法和装置
US11847483B2 (en) Secure virtual machine software management
Kankhare et al. A cloud based system to sense security vulnerabilities of web application in open-source private cloud IAAS
US11381404B2 (en) Trusted platform module attestation flow over simple authentication and security layer with multiple symmetric key identification
US20170153907A1 (en) Out-of-band Management Of Virtual Machines

Legal Events

Date Code Title Description
AMND Amendment
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant