KR102212512B1 - 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템 - Google Patents

가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템 Download PDF

Info

Publication number
KR102212512B1
KR102212512B1 KR1020190023851A KR20190023851A KR102212512B1 KR 102212512 B1 KR102212512 B1 KR 102212512B1 KR 1020190023851 A KR1020190023851 A KR 1020190023851A KR 20190023851 A KR20190023851 A KR 20190023851A KR 102212512 B1 KR102212512 B1 KR 102212512B1
Authority
KR
South Korea
Prior art keywords
virtual machine
mutex
software
hidden channel
virtualization technology
Prior art date
Application number
KR1020190023851A
Other languages
English (en)
Other versions
KR20200105133A (ko
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 KR1020190023851A priority Critical patent/KR102212512B1/ko
Publication of KR20200105133A publication Critical patent/KR20200105133A/ko
Application granted granted Critical
Publication of KR102212512B1 publication Critical patent/KR102212512B1/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/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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • 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
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템은 컴퓨팅 환경을 소프트웨어로 구현하고 컴퓨터를 에뮬레이션하는 제1 가상머신 및 제2 가상머신; 게스트 OS의 하드웨어 접근 요청을 소프트웨어적으로 처리하는 상기 제1 가상머신과 제2 가상머신 간의 동기화 작업을 수행하는 하이퍼바이저; 및 상기 제1 가상머신과 제2 가상머신 간의 동기화 과정에서, 상기 제1 가상머신과 제2 가상머신이 공유하여 사용함에 따라 공유 자원 간섭을 발생시키는 뮤텍스 객체(mutex-object);를 포함하여 소프트웨어 공유 자원을 이용하여 은닉 채널을 구현함으로써, 하드웨어의 단점을 극복할 수 있는 효과가 있다.

Description

가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템{SYSTEM FOR COVERT CHANNEL CONFIGURATION BASE IN SOFTWARE USING MUTEX OBJECT IN VIRTUALIZATION TECHNIQUE}
본 발명은 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템에 관한 것으로써, 더욱 상세하게는 기존 은닉 채널의 하드웨어 의존적인 문제점을 해결하기 위해, 가상화 기술 소프트웨어에 존재하는 공유 자원 간섭을 이용한 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템에 관한 것이다.
멀티테넌시란 한정된 자원을 여러 사용자가 공유하여 사용하는 것이다.
클라우드 컴퓨팅 서비스 유형의 하나인 IaaS(Infrastructure as a Service)는 멀티테넌시를 이용하여 물리적으로 한정된 하드웨어 자원을 논리적인 서비스로 구별한 가상머신으로 제공한다.
가상머신을 제공받은 사용자는 다른 사용자의 가상머신과 완벽히 격리되어야 한다. 여러 가상머신이 동시에 자원을 사용하는 경우, 순차적으로 자원을 분배하는 과정에서 간섭이 발생한다. 한 가상머신이 자원을 사용하고 있을 때, 다른 가상머신은 자원에 접근하지 못하므로 접근 속도 지연이 발생한다.
가상머신간의 간섭이 발생하는 경우, 간섭을 이용하여 은닉 채널을 구현하면 방화벽이 존재하거나 네트워크를 사용할 수 없는 환경에서 가상머신 간의 통신을 수행할 수 있다.
데이터 저장소, CPU와 같은 하드웨어 공유 자원을 이용한 은닉 채널이 기존에 존재한다. 그러나 하드웨어 모델과 설정에 따라 은닉 채널이 구동되지 않는다.
하드웨어 자원은 모든 가상머신이 빈번하게 사용하는 자원이므로 시스템 환경에 따라 공유 자원 간섭이 심하게 발생하여 은닉 채널 통신에 잡음이 발생하는 문제점이 있다.
또한, 가상화 기술은 물리적으로 한정된 하드웨어 시스템에서 다수의 OS(Operating System)를 구동하기 위한 기술이다. 각 OS는 논리적으로 격리된 가상의 환경인 가상머신에 설치된다.
일반적으로 가상머신에 설치된 OS를 게스트 OS, 하드웨어 자원과 게스트 OS를 관리하는 OS를 호스트 OS라고 한다. 가상화 기술을 이용하면 게스트 OS들이 하드웨어 자원을 공유함으로 하드웨어 비용을 절감할 수 있다. 게스트 OS 사용자들을 관리하기 쉽고, 하나의 게스트 OS에 오류가 발생했을 때 신속한 복구가 가능하다. 가상화 기술의 장점으로 인해 많은 시스템을 운용해야 하는 기업에게 주목받고 있다.
은닉 채널은 일반적으로 통신에 사용하는 TCP/IP 네트워크를 이용하지 않고 송신자와 수신자 간에 사용하는 채널을 의미한다. 클라우드 컴퓨팅 환경에서의 은닉 채널은 가상머신과 가상머신 간에 생성된 통신 채널이다. 클라우드 컴퓨팅 환경에서 은닉 채널이 동작하기 위해서 송신자와 수신자 가상머신은 같은 시스템에 적재된 co-residence 상태이어야 한다.
데이터 저장소는 클라우드 컴퓨팅 환경에서 필수적으로 사용되는 대표적인 공유 자원이다. 하드디스크, 플래시 메모리 등 데이터 저장소를 기반으로 구현한 은닉 채널이 존재한다. 데이터 저장소는 I/O 대역폭에 한계 값이 있다. 한 가상머신이 파일 접근을 시도하여 I/O를 점유하는 경우, 다른 가상머신은 파일 접근 속도가 떨어지게 된다. 은닉 채널 송신자가 비트 '1'을 전송하고자 하면, 저장소에 존재하는 파일에 접근을 시도한다.
수신자는 저장소에 존재하는 파일에 계속해서 접근하며 접근 시간 차이를 관찰한다. 접근 시간이 지연되면, 송신자가 파일을 접근 중이므로 비트 '1'을 수신한다.
데이터 저장소 기반 은닉 채널은 저장소를 독점하므로 송신자와 수신자뿐만 아니라 시스템 전반적으로 I/O 속도가 저하된다. 또한, 가상머신이 물리적으로 독립된 데이터 저장소를 제공받거나, 클라우드 컴퓨팅 관리자가 각 가상머신에 I/O 대역폭 한계를 설정하는 경우 은닉 채널을 구현할 수 없다.
CPU는 캐시 메모리를 보유하고 있다. 캐시 메모리는 CPU가 연산을 수행하는 과정에서 데이터 입/출력이 필요할 때, 캐시 메모리를 사용하여 CPU 외부에 존재하는 주 메모리보다 빠른 속도로 접근할 수 있다. CPU 구조가 복잡해지고 연산 속도가 증가함에 따라 캐시 메모리의 종류와 용량이 증가하고 있으며, 이와 관련된 은닉 채널이 발전하고 있다.
데이터 저장소와 마찬가지로 캐시 메모리를 공유 자원으로 가상머신들이 순차적으로 사용한다. 캐시 메모리를 비활성화하는 경우, 은닉 채널을 구현할 수 없다. CPU 연산 과정에서 캐시 메모리가 빈번하게 사용되므로 많은 연산을 수행하는 시스템에서 은닉 채널을 동작시키기 어렵다는 문제점이 있다.
대한민국 공개특허공보 제10-2017-0061048호(2017. 06. 02)
상술한 문제점을 해결하기 위해 본 발명은 기존 은닉 채널의 하드웨어 의존적인 문제점을 해결하기 위해, 가상화 기술 소프트웨어에 존재하는 공유 자원 간섭을 이용한 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널의 제공을 목적으로 한다.
상술한 목적을 달성하기 위한 본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템은 컴퓨팅 환경을 소프트웨어로 구현하고 컴퓨터를 에뮬레이션하는 제1 가상머신 및 제2 가상머신; 게스트 OS의 하드웨어 접근 요청을 소프트웨어적으로 처리하는 상기 제1 가상머신과 제2 가상머신 간의 동기화 작업을 수행하는 하이퍼바이저; 및 상기 제1 가상머신과 제2 가상머신 간의 동기화 과정에서, 상기 제1 가상머신과 제2 가상머신이 공유하여 사용함에 따라 공유 자원 간섭을 발생시키는 뮤텍스 객체(mutex-object);를 포함하는 것을 특징으로 한다.
바람직하게, 상술한 목적을 달성하기 위한 본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템은 상기 제1 가상머신에서 상기 뮤텍스 객체(mutex-object)를 사용하는 함수를 호출하여 상기 뮤텍스 객체(mutex-object)를 점유할 경우 은닉채널이 발생하고, 상기 제2 가상머신에서 상기 제1 가상머신이 점유한 자원에 접근할 경우, 상기 제1 가상머신에서 뮤텍스 객체(mutex-object)를 사용하는 함수에 대한 호출 여부에 따라 은닉채널이 구성되는 것을 특징으로 한다.
바람직하게, 상술한 목적을 달성하기 위한 본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템은 상기 공유 자원 간섭을 확인하기 위해 프로토콜을 구성하고, 해당 프로토콜을 이용해 송신자가 보낸 메시지가 수신자에게 전달되는 것을 확인하여, 상기 은닉채널 동작을 확인하는 것을 특징으로 한다.
바람직하게, 상술한 목적을 달성하기 위한 본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템의 송신자는 전송하고자 하는 비트가 '1'인 경우, Distance 시간 동안 상기 뮤텍스 객체(mutex-object)를 사용하는 함수를 호출하는 과정을 전송하고자 하는 메시지 비트열의 길이(Length)만큼 반복하여 상기 뮤텍스 객체(mutex-object)를 점유하는 것을 특징으로 한다.
바람직하게, 상술한 목적을 달성하기 위한 본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템의 수신자는 상기 Distance 시간 동안 상기 뮤텍스 객체(mutex-object)를 사용하는 함수를 호출한 후 응답까지의 시간을 측정하여 지연 시간의 평균값을 계산하고, 상기 평균값이 임계값(Threshold)보다 크면, 지연 발생하여 비트 `1`로 판단하고, 상기 평균값이 임계값(Threshold)보다 작으면, 지연 미발생하여 비트 `0`으로 판단하는 것을 특징으로 한다.
본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템은 소프트웨어 공유 자원을 이용하여 은닉 채널을 구현함으로써, 하드웨어의 단점을 극복할 수 있는 효과가 있다.
본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템은 하드웨어 은닉 채널과 달리 하드웨어에 의존적이지 않으므로 어떠한 하드웨어 위에 설치된 가상화 기술에서도 동작할 수 있는 효과가 있다.
본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템은 mutex-object를 기반으로 하기 때문에 공유 자원 간섭이 제거되더라도, 은닉 채널로 사용할 수 있는 효과가 있다.
도 1은 본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템도 이다.
도 2는 본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템에서 송신자의 객체점유와 임계값(Threshold)에 따른 수신자의 지연시간 측정 플로우를 도시한 도면이다.
도 3은 본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템의 수신자와 송신자가 측정한 측정결과 그래프를 도시한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면을 참조하여 상세하게 설명하도록 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재 항목들의 조합 또는 복수의 관련된 기재 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급될 때에는 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 포함한다고 할때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있다는 것을 의미한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템에 대해 상세하게 설명한다.
도 1은 본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템도 이다.
도 1에 도시된 바와 같이 본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템은 제1 가상머신(VM:Virtual Machine 100), 제2 가상머신(VM:Virtual Machine 200), 하이퍼바이저(300), 뮤텍스 객체(mutex-object 400)를 포함한다.
먼저, 특정 자원에 여러 가상머신이 동시 접근하지 않도록 소프트웨어 단계에서 막을 필요성이 있다. 이러한 동기화 작업을 위해 mutex 기법이 사용된다.
상기 제1 가상머신(100) 및 제2 가상머신(200)은 컴퓨팅 환경을 소프트웨어로 구현한 것으로 컴퓨터를 에뮬레이션하는 소프트웨어이다.
상기 제1 가상머신(100) 및 제2 가상머신(200) 상에서 운영체제나 응용 프로그램을 설치하여 실시할 수 있다.
상기 하이퍼바이저(300)는 프로세서나 메모리와 같은 다양한 컴퓨터 자원에 서로 다른 각종 운영 체계(OS)의 접근 방법을 통제하는 얇은 계층의 소프트웨어이다.
보다 구체적으로, 상기 하이퍼바이저(300)는 다수의 OS를 하나의 컴퓨터 시스템에서 가동할 수 있게 하는 소프트웨어로 중앙 처리 장치(CPU)와 OS 사이에 일종의 중간웨어로 사용되며, 하나의 컴퓨터에서 서로 다른 OS를 사용하는 가상 컴퓨터를 만들 수 있는 효과적인 가상화 엔진이다.
본 발명과 관련하여, 상기 하이퍼바이저(300)는 게스트 OS의 하드웨어 접근 요청을 소프트웨어적으로 처리하는 과정에서 상기 제1 가상머신(100)과 제2 가상머신(200) 간의 동기화 작업이 필요하다.
Mutex 기법을 사용하여 상기 제1 가상머신(100)과 제2 가상머신(200) 간의 동기화를 수행하는 경우, 여러 가상머신이 뮤텍스 객체(mutex-object 400)를 공유하여 사용하게 되므로 공유 자원 간섭이 발생한다.
상기 제1 가상머신(100)과 제2 가상머신(200) 중, 어느 한 가상머신이 뮤텍스 객체(mutex-object 400)를 점유하여 사용하고 있을 때, 다른 가상머신이 뮤텍스 객체(mutex-object 400)를 사용하고자 하면 접근 속도 지연이 발생한다.
전송하고자 하는 데이터를 시간차로 나타내어 보낼 수 있다.
본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템에 존재하는 뮤텍스 객체(mutex-object 400)를 점유하기 위해, 가상머신에서 뮤텍스 객체(mutex-object 400)를 사용하는 알맞은 함수를 호출해야 한다.
상기 제1 가상머신(100)에서 뮤텍스 객체(mutex-object 400)를 사용하는 함수를 호출하여 뮤텍스 객체(mutex-object 400)를 점유할 경우 은닉채널이 발생할 수 있다.
상기 제2 가상머신(200)에서 점유한 자원에 접근할 경우, 상기 제1 가상머신(100)에서 뮤텍스 객체(mutex-object 400)를 사용하는 함수에 대한 호출 여부에 따라 은닉채널이 구성된다.
공유 자원 간섭을 확인하기 위해 간단한 프로토콜을 구성한다. 약속한 프로토콜을 이용해 송신자가 보낸 메시지가 수신자에게 전달되는 것을 확인하여, 은닉 채널 동작을 확인한다.
상기 송신자(단말)는 도 2a에 도시된 바와 같이 전송하고자 하는 메시지 비트열의 길이(Length)만큼 다음 과정을 반복한다.
전송하고자 하는 비트가 '1'인 경우, Distance 시간 동안 뮤텍스 객체(mutex-object 400)를 사용하는 함수를 호출하는 과정을 반복하여 뮤텍스 객체(mutex-object 400)를 점유한다.
전송 비트가 '0'인 경우, Distance 시간 동안 아무런 작업을 수행하지 않는다.
한편, 수신자(단말)는 도 2b에 도시된 바와 같이 Distance 시간 동안 뮤텍스 객체(mutex-object 400)를 사용하는 함수를 호출한 후 응답까지의 시간을 측정하여 지연 시간의 평균값을 계산한다.
상기 평균값이 임계값(Threshold)보다 클 경우, 지연이 발생하여 비트 '1'로 판단하고, 상기 평균값이 임계값(Threshold)보다 작은 경우, 지연이 발생하지 않아 비트 '0'으로 판단한다.
임계값(Threshold)은 통신을 시작하기 전 수신자가 유동적으로 결정한다. Distance는 송신자와 수신자 사이에 예약된 값이다. Distance가 작을수록 같은 시간 동안 많은 데이터를 송수신할 수 있지만, 임계값(Threshold) 0과 1을 구별하기 어렵다.
상기 수신자는 도 3a에 도시된 바와 같이 계속해서 뮤텍스 객체(mutex-object 400)를 점유하여 지연 속도를 기록한다.
그리고 상기 송신자는 도 3b에 도시된 바와 같이 상기 뮤텍스 객체(mutex-object 400)를 점유하고, 점유하지 않는 과정을 반복하여 1과 0을 전송한다.
참고로, 도 3에 도시된 그래프의 x축은 지속 시간이고, y축은 지연 시간을 나타낸다. 측정 결과, x 밀리초 동안 x비트 전송이 가능함이 보인다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 사람이라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100 : 제1 가상머신(VM:Virtual Machine)
200 : 제2 가상머신(VM:Virtual Machine)
300 : 하이퍼바이저
400 : 뮤텍스 객체(mutex-object)

Claims (5)

  1. 컴퓨팅 환경을 소프트웨어로 구현하고 컴퓨터를 에뮬레이션하는 제1 가상머신 및 제2 가상머신;
    게스트 OS의 하드웨어 접근 요청을 소프트웨어적으로 처리하는 상기 제1 가상머신과 제2 가상머신 간의 동기화 작업을 수행하는 하이퍼바이저; 및
    상기 제1 가상머신과 제2 가상머신 간의 동기화 과정에서, 상기 제1 가상머신과 제2 가상머신이 공유하여 사용함에 따라 공유 자원 간섭을 발생시키는 뮤텍스 객체(mutex-object);를 포함하고,
    상기 제1 가상머신에서 상기 뮤텍스 객체(mutex-object)를 사용하는 함수를 호출하여 상기 뮤텍스 객체(mutex-object)를 점유할 경우 은닉채널이 발생하고, 상기 제2 가상머신에서 상기 제1 가상머신이 점유한 자원에 접근할 경우, 상기 제1 가상머신에서 뮤텍스 객체(mutex-object)를 사용하는 함수에 대한 호출 여부에 따라 은닉채널이 구성되는 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템
  2. 삭제
  3. 제 1항에 있어서,
    상기 공유 자원 간섭을 확인하기 위해 프로토콜을 구성하고, 해당 프로토콜을 이용해 송신자가 보낸 메시지가 수신자에게 전달되는 것을 확인하여, 상기 은닉채널 동작을 확인하는 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템.
  4. 제 3항에 있어서,
    상기 송신자는
    전송하고자 하는 비트가 '1'인 경우, Distance 시간 동안 상기 뮤텍스 객체(mutex-object)를 사용하는 함수를 호출하는 과정을 전송하고자 하는 메시지 비트열의 길이(Length)만큼 반복하여 상기 뮤텍스 객체(mutex-object)를 점유하는 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템
  5. 제 4항에 있어서,
    상기 수신자는
    상기 Distance 시간 동안 상기 뮤텍스 객체(mutex-object)를 사용하는 함수를 호출한 후 응답까지의 시간을 측정하여 지연 시간의 평균값을 계산하고, 상기 평균값이 임계값(Threshold)보다 크면, 지연 발생하여 비트 `1`로 판단하고, 상기 평균값이 임계값(Threshold)보다 작으면, 지연 미발생하여 비트 `0`으로 판단하는 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템.
KR1020190023851A 2019-02-28 2019-02-28 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템 KR102212512B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190023851A KR102212512B1 (ko) 2019-02-28 2019-02-28 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190023851A KR102212512B1 (ko) 2019-02-28 2019-02-28 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템

Publications (2)

Publication Number Publication Date
KR20200105133A KR20200105133A (ko) 2020-09-07
KR102212512B1 true KR102212512B1 (ko) 2021-02-04

Family

ID=72471913

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190023851A KR102212512B1 (ko) 2019-02-28 2019-02-28 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템

Country Status (1)

Country Link
KR (1) KR102212512B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230036819A (ko) 2021-09-08 2023-03-15 한국전자통신연구원 무선 통신 은닉 채널 검출 방법 및 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6752836B1 (en) 1999-07-22 2004-06-22 International Business Machines Corporation Method and apparatus for high-concurrency client locking with java in a data processing system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6684259B1 (en) * 1995-10-11 2004-01-27 Citrix Systems, Inc. Method for providing user global object name space in a multi-user operating system
CN103116517B (zh) * 2013-01-24 2016-09-14 华为技术有限公司 虚拟化平台下i/o通道的调整方法和调整装置
KR20170061048A (ko) 2015-11-25 2017-06-02 한국전자통신연구원 하이퍼바이저 기반 가상화 시스템의 지연 시간을 측정하기 위한 장치 및 이를 포함하는 가상화 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6752836B1 (en) 1999-07-22 2004-06-22 International Business Machines Corporation Method and apparatus for high-concurrency client locking with java in a data processing system

Also Published As

Publication number Publication date
KR20200105133A (ko) 2020-09-07

Similar Documents

Publication Publication Date Title
CN109375872B (zh) 数据访问请求的处理方法、装置和设备及存储介质
US9971622B2 (en) Technologies for application migration using lightweight virtualization
EP2724244B1 (en) Native cloud computing via network segmentation
US7743107B2 (en) System and method for using remote module on VIOS to manage backups to remote backup servers
CN110058966B (zh) 用于数据备份的方法、设备和计算机程序产品
US9509760B2 (en) Virtual packet analyzer for a cloud computing environment
US10901725B2 (en) Upgrade of port firmware and driver software for a target device
US10942729B2 (en) Upgrade of firmware in an interface hardware of a device in association with the upgrade of driver software for the device
US9495269B1 (en) Mobility validation by trial boot using snap shot
US9537780B2 (en) Quality of service agreement and service level agreement enforcement in a cloud computing environment
US9317313B2 (en) Dynamically provisioning storage while identifying and discarding redundant storage alerts
US9021008B1 (en) Managing targeted scripts
US20160344821A1 (en) System and Method for Live Migration of Remote Desktop Session Host Sessions without Data Loss
US20140082275A1 (en) Server, host and method for reading base image through storage area network
WO2023236397A1 (zh) 密钥管理方法、密钥管理装置、密钥管理设备及存储介质
EP3908928B1 (en) Low-latency events across a virtual machine boundary
CN111881476A (zh) 对象存储控制方法、装置、计算机设备及存储介质
US8838913B1 (en) System and method for locating a memory page in a guest virtual machine
CN113079702A (zh) 使用单个标识和缓存虚拟磁盘置备虚拟机
KR102212512B1 (ko) 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템
US10673937B2 (en) Dynamic record-level sharing (RLS) provisioning inside a data-sharing subsystem
CN114003342A (zh) 一种分布式存储方法、装置、电子设备及存储介质
US10366235B2 (en) Safe mounting of external media

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right