KR20200105133A - System for covert channel configuration base in software using mutex object in virtualization technique - Google Patents
System for covert channel configuration base in software using mutex object in virtualization technique Download PDFInfo
- Publication number
- KR20200105133A KR20200105133A KR1020190023851A KR20190023851A KR20200105133A KR 20200105133 A KR20200105133 A KR 20200105133A KR 1020190023851 A KR1020190023851 A KR 1020190023851A KR 20190023851 A KR20190023851 A KR 20190023851A KR 20200105133 A KR20200105133 A KR 20200105133A
- Authority
- KR
- South Korea
- Prior art keywords
- virtual machine
- mutex
- software
- hidden channel
- channel configuration
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution 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
Description
본 발명은 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템에 관한 것으로써, 더욱 상세하게는 기존 은닉 채널의 하드웨어 의존적인 문제점을 해결하기 위해, 가상화 기술 소프트웨어에 존재하는 공유 자원 간섭을 이용한 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템에 관한 것이다.The present invention relates to a software-based hidden channel configuration system using a mutex object in virtualization technology, and more particularly, to solve the hardware-dependent problem of the existing hidden channel, virtualization using shared resource interference existing in the virtualization technology software. It relates to a software-based hidden channel configuration system using mutex objects in technology.
멀티테넌시란 한정된 자원을 여러 사용자가 공유하여 사용하는 것이다. Multi-tenancy is the use of limited resources shared by multiple users.
클라우드 컴퓨팅 서비스 유형의 하나인 IaaS(Infrastructure as a Service)는 멀티테넌시를 이용하여 물리적으로 한정된 하드웨어 자원을 논리적인 서비스로 구별한 가상머신으로 제공한다.IaaS (Infrastructure as a Service), one of the types of cloud computing services, provides physically limited hardware resources as a virtual machine divided into logical services using multi-tenancy.
가상머신을 제공받은 사용자는 다른 사용자의 가상머신과 완벽히 격리되어야 한다. 여러 가상머신이 동시에 자원을 사용하는 경우, 순차적으로 자원을 분배하는 과정에서 간섭이 발생한다. 한 가상머신이 자원을 사용하고 있을 때, 다른 가상머신은 자원에 접근하지 못하므로 접근 속도 지연이 발생한다.Users who are provided with virtual machines must be completely isolated from other users' virtual machines. When multiple virtual machines use resources at the same time, interference occurs in the process of sequentially distributing resources. When one virtual machine is using resources, the access speed is delayed because the other virtual machine cannot access the resource.
가상머신간의 간섭이 발생하는 경우, 간섭을 이용하여 은닉 채널을 구현하면 방화벽이 존재하거나 네트워크를 사용할 수 없는 환경에서 가상머신 간의 통신을 수행할 수 있다.When interference between virtual machines occurs, if a hidden channel is implemented using interference, communication between virtual machines can be performed in an environment where a firewall exists or a network cannot be used.
데이터 저장소, CPU와 같은 하드웨어 공유 자원을 이용한 은닉 채널이 기존에 존재한다. 그러나 하드웨어 모델과 설정에 따라 은닉 채널이 구동되지 않는다.There exist hidden channels using shared hardware resources such as data storage and CPU. However, depending on the hardware model and configuration, hidden channels are not driven.
하드웨어 자원은 모든 가상머신이 빈번하게 사용하는 자원이므로 시스템 환경에 따라 공유 자원 간섭이 심하게 발생하여 은닉 채널 통신에 잡음이 발생하는 문제점이 있다.Since the hardware resource is a resource frequently used by all virtual machines, there is a problem in that noise is generated in hidden channel communication due to severe interference of shared resources depending on the system environment.
또한, 가상화 기술은 물리적으로 한정된 하드웨어 시스템에서 다수의 OS(Operating System)를 구동하기 위한 기술이다. 각 OS는 논리적으로 격리된 가상의 환경인 가상머신에 설치된다. In addition, the virtualization technology is a technology for driving a plurality of operating systems (OS) in a physically limited hardware system. Each OS is installed in a virtual machine that is a logically isolated virtual environment.
일반적으로 가상머신에 설치된 OS를 게스트 OS, 하드웨어 자원과 게스트 OS를 관리하는 OS를 호스트 OS라고 한다. 가상화 기술을 이용하면 게스트 OS들이 하드웨어 자원을 공유함으로 하드웨어 비용을 절감할 수 있다. 게스트 OS 사용자들을 관리하기 쉽고, 하나의 게스트 OS에 오류가 발생했을 때 신속한 복구가 가능하다. 가상화 기술의 장점으로 인해 많은 시스템을 운용해야 하는 기업에게 주목받고 있다.In general, the OS installed in a virtual machine is called a guest OS, and the OS that manages hardware resources and guest OS is called a host OS. Using virtualization technology, guest OSes can reduce hardware costs by sharing hardware resources. It is easy to manage guest OS users, and quick recovery is possible when an error occurs in one guest OS. Due to the advantages of virtualization technology, it is attracting attention from companies that have to operate many systems.
은닉 채널은 일반적으로 통신에 사용하는 TCP/IP 네트워크를 이용하지 않고 송신자와 수신자 간에 사용하는 채널을 의미한다. 클라우드 컴퓨팅 환경에서의 은닉 채널은 가상머신과 가상머신 간에 생성된 통신 채널이다. 클라우드 컴퓨팅 환경에서 은닉 채널이 동작하기 위해서 송신자와 수신자 가상머신은 같은 시스템에 적재된 co-residence 상태이어야 한다.The hidden channel generally refers to a channel used between a sender and a receiver without using the TCP/IP network used for communication. A hidden channel in a cloud computing environment is a communication channel created between a virtual machine and a virtual machine. In order to operate a hidden channel in a cloud computing environment, the sender and receiver virtual machines must be in a co-residence state loaded in the same system.
데이터 저장소는 클라우드 컴퓨팅 환경에서 필수적으로 사용되는 대표적인 공유 자원이다. 하드디스크, 플래시 메모리 등 데이터 저장소를 기반으로 구현한 은닉 채널이 존재한다. 데이터 저장소는 I/O 대역폭에 한계 값이 있다. 한 가상머신이 파일 접근을 시도하여 I/O를 점유하는 경우, 다른 가상머신은 파일 접근 속도가 떨어지게 된다. 은닉 채널 송신자가 비트 '1'을 전송하고자 하면, 저장소에 존재하는 파일에 접근을 시도한다.Data storage is a representative shared resource that is essentially used in a cloud computing environment. There is a hidden channel implemented based on data storage such as hard disk and flash memory. Data storage has a limit on I/O bandwidth. When one virtual machine attempts to access a file and occupies I/O, the other virtual machine loses the speed of accessing the file. When the hidden channel sender attempts to transmit bit '1', it tries to access the file existing in the storage.
수신자는 저장소에 존재하는 파일에 계속해서 접근하며 접근 시간 차이를 관찰한다. 접근 시간이 지연되면, 송신자가 파일을 접근 중이므로 비트 '1'을 수신한다. The receiver continues to access the files existing in the repository and observes the difference in access time. If the access time is delayed, bit '1' is received because the sender is accessing the file.
데이터 저장소 기반 은닉 채널은 저장소를 독점하므로 송신자와 수신자뿐만 아니라 시스템 전반적으로 I/O 속도가 저하된다. 또한, 가상머신이 물리적으로 독립된 데이터 저장소를 제공받거나, 클라우드 컴퓨팅 관리자가 각 가상머신에 I/O 대역폭 한계를 설정하는 경우 은닉 채널을 구현할 수 없다.Data store-based hidden channels dominate the store, reducing I/O speeds across the system as well as the sender and receiver. In addition, if a virtual machine is provided with a physically independent data storage or a cloud computing administrator sets an I/O bandwidth limit for each virtual machine, a hidden channel cannot be implemented.
CPU는 캐시 메모리를 보유하고 있다. 캐시 메모리는 CPU가 연산을 수행하는 과정에서 데이터 입/출력이 필요할 때, 캐시 메모리를 사용하여 CPU 외부에 존재하는 주 메모리보다 빠른 속도로 접근할 수 있다. CPU 구조가 복잡해지고 연산 속도가 증가함에 따라 캐시 메모리의 종류와 용량이 증가하고 있으며, 이와 관련된 은닉 채널이 발전하고 있다. The CPU holds the cache memory. The cache memory can be accessed at a faster speed than the main memory that exists outside the CPU by using the cache memory when data input/output is required during the CPU's operation. As the CPU structure becomes complex and the operation speed increases, the types and capacities of cache memories are increasing, and the related hidden channels are developing.
데이터 저장소와 마찬가지로 캐시 메모리를 공유 자원으로 가상머신들이 순차적으로 사용한다. 캐시 메모리를 비활성화하는 경우, 은닉 채널을 구현할 수 없다. CPU 연산 과정에서 캐시 메모리가 빈번하게 사용되므로 많은 연산을 수행하는 시스템에서 은닉 채널을 동작시키기 어렵다는 문제점이 있다.Like data storage, cache memory is sequentially used by virtual machines as shared resources. When the cache memory is disabled, a hidden channel cannot be implemented. Since the cache memory is frequently used in the CPU operation process, there is a problem that it is difficult to operate the hidden channel in a system that performs many operations.
상술한 문제점을 해결하기 위해 본 발명은 기존 은닉 채널의 하드웨어 의존적인 문제점을 해결하기 위해, 가상화 기술 소프트웨어에 존재하는 공유 자원 간섭을 이용한 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널의 제공을 목적으로 한다.In order to solve the above-described problem, the present invention aims to provide a software-based hidden channel using a mutex object in a virtualization technology using shared resource interference existing in the virtualization technology software in order to solve the hardware-dependent problem of the existing hidden channel. do.
상술한 목적을 달성하기 위한 본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템은 컴퓨팅 환경을 소프트웨어로 구현하고 컴퓨터를 에뮬레이션하는 제1 가상머신 및 제2 가상머신; 게스트 OS의 하드웨어 접근 요청을 소프트웨어적으로 처리하는 상기 제1 가상머신과 제2 가상머신 간의 동기화 작업을 수행하는 하이퍼바이저; 및 상기 제1 가상머신과 제2 가상머신 간의 동기화 과정에서, 상기 제1 가상머신과 제2 가상머신이 공유하여 사용함에 따라 공유 자원 간섭을 발생시키는 뮤텍스 객체(mutex-object);를 포함하는 것을 특징으로 한다.In the virtualization technology according to the present invention for achieving the above object, a system for configuring a software-based hidden channel using a mutex object includes: a first virtual machine and a second virtual machine that emulate a computer and implement a computing environment as software; A hypervisor performing a synchronization operation between the first virtual machine and the second virtual machine for processing a hardware access request of a guest OS in software; And a mutex-object that generates interference with shared resources as the first virtual machine and the second virtual machine share and use in the synchronization process between the first virtual machine and the second virtual machine. It is characterized.
바람직하게, 상술한 목적을 달성하기 위한 본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템은 상기 제1 가상머신에서 상기 뮤텍스 객체(mutex-object)를 사용하는 함수를 호출하여 상기 뮤텍스 객체(mutex-object)를 점유할 경우 은닉채널이 발생하고, 상기 제2 가상머신에서 상기 제1 가상머신이 점유한 자원에 접근할 경우, 상기 제1 가상머신에서 뮤텍스 객체(mutex-object)를 사용하는 함수에 대한 호출 여부에 따라 은닉채널이 구성되는 것을 특징으로 한다.Preferably, in the virtualization technology according to the present invention for achieving the above object, the software-based hidden channel configuration system using a mutex object calls a function using the mutex-object in the first virtual machine, When a mutex-object is occupied, a hidden channel is generated, and when the second virtual machine accesses the resources occupied by the first virtual machine, a mutex-object in the first virtual machine It is characterized in that a hidden channel is configured according to whether a function using is called.
바람직하게, 상술한 목적을 달성하기 위한 본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템은 상기 공유 자원 간섭을 확인하기 위해 프로토콜을 구성하고, 해당 프로토콜을 이용해 송신자가 보낸 메시지가 수신자에게 전달되는 것을 확인하여, 상기 은닉채널 동작을 확인하는 것을 특징으로 한다.Preferably, in the virtualization technology according to the present invention for achieving the above object, a software-based hidden channel configuration system using a mutex object configures a protocol to check the interference of the shared resource, and a message sent by the sender using the corresponding protocol is It is characterized in that by confirming that it is transmitted to the receiver, the operation of the hidden channel is confirmed.
바람직하게, 상술한 목적을 달성하기 위한 본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템의 송신자는 전송하고자 하는 비트가 '1'인 경우, Distance 시간 동안 상기 뮤텍스 객체(mutex-object)를 사용하는 함수를 호출하는 과정을 전송하고자 하는 메시지 비트열의 길이(Length)만큼 반복하여 상기 뮤텍스 객체(mutex-object)를 점유하는 것을 특징으로 한다.Preferably, in the virtualization technology according to the present invention for achieving the above object, the sender of a software-based hidden channel configuration system using a mutex object is the mutex object (mutex-object) for a distance time when the bit to be transmitted is '1'. The process of calling a function using (object) is repeated as much as the length of a message bit string to be transmitted to occupy the mutex-object.
바람직하게, 상술한 목적을 달성하기 위한 본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템의 수신자는 상기 Distance 시간 동안 상기 뮤텍스 객체(mutex-object)를 사용하는 함수를 호출한 후 응답까지의 시간을 측정하여 지연 시간의 평균값을 계산하고, 상기 평균값이 임계값(Threshold)보다 크면, 지연 발생하여 비트 `1`로 판단하고, 상기 평균값이 임계값(Threshold)보다 작으면, 지연 미발생하여 비트 `0`으로 판단하는 것을 특징으로 한다.Preferably, in the virtualization technology according to the present invention for achieving the above object, the receiver of the software-based hidden channel configuration system using the mutex object calls the function using the mutex-object during the distance time. The time to response is measured and the average value of the delay time is calculated, and if the average value is greater than the threshold value, a delay occurs and is determined as bit '1', and if the average value is less than the threshold value, the delay It is characterized in that it is determined as bit '0' because it does not occur.
본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템은 소프트웨어 공유 자원을 이용하여 은닉 채널을 구현함으로써, 하드웨어의 단점을 극복할 수 있는 효과가 있다.In the virtualization technology according to the present invention, a software-based hidden channel configuration system using a mutex object has an effect of overcoming a disadvantage of hardware by implementing a hidden channel using software shared resources.
본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템은 하드웨어 은닉 채널과 달리 하드웨어에 의존적이지 않으므로 어떠한 하드웨어 위에 설치된 가상화 기술에서도 동작할 수 있는 효과가 있다.In the virtualization technology according to the present invention, a system for configuring a software-based hidden channel using a mutex object is not dependent on hardware, unlike a hardware hidden channel, so it is possible to operate in a virtualization technology installed on any hardware.
본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템은 mutex-object를 기반으로 하기 때문에 공유 자원 간섭이 제거되더라도, 은닉 채널로 사용할 수 있는 효과가 있다.In the virtualization technology according to the present invention, since the software-based hidden channel configuration system using a mutex object is based on a mutex-object, even if interference with shared resources is removed, it can be used as a hidden channel.
도 1은 본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템도 이다.
도 2는 본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템에서 송신자의 객체점유와 임계값(Threshold)에 따른 수신자의 지연시간 측정 플로우를 도시한 도면이다.
도 3은 본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템의 수신자와 송신자가 측정한 측정결과 그래프를 도시한 도면이다. 1 is a diagram illustrating a system for configuring a software-based hidden channel using a mutex object in a virtualization technology according to the present invention.
2 is a diagram illustrating a flow of measuring a delay time of a receiver according to an object occupancy of a sender and a threshold value in a software-based hidden channel configuration system using a mutex object in the virtualization technology according to the present invention.
3 is a diagram illustrating a graph of measurement results measured by a receiver and a sender of a software-based hidden channel configuration system using a mutex object in the virtualization technology according to the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면을 참조하여 상세하게 설명하도록 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.In the present invention, various modifications may be made and various embodiments may be provided, and specific embodiments will be described in detail with reference to the drawings. However, this is not intended to limit the present invention to a specific embodiment, it should be understood to include all changes, equivalents, or substitutes included in the spirit and scope of the present invention. In describing each drawing, similar reference numerals have been used for similar elements.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재 항목들의 조합 또는 복수의 관련된 기재 항목들 중의 어느 항목을 포함한다.Terms such as first, second, A, and B may be used to describe various elements, but the elements should not be limited by the terms. These terms are used only for the purpose of distinguishing one component from another component. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may be referred to as a first component. The term and/or includes a combination of a plurality of related items or any of a plurality of related items.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급될 때에는 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it should be understood that it may be directly connected to or connected to the other component, but other components may exist in the middle. something to do. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in the middle.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present application, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, but one or more other features. It is to be understood that the presence or addition of elements or numbers, steps, actions, components, parts, or combinations thereof does not preclude in advance.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in this application. Does not.
명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 포함한다고 할때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있다는 것을 의미한다.Throughout the specification and claims, when a certain part includes a certain component, it means that other components may be further included rather than excluding other components unless specifically stated to the contrary.
이하, 첨부된 도면을 참조하여 본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템에 대해 상세하게 설명한다. Hereinafter, a system for configuring a software-based hidden channel using a mutex object in the virtualization technology according to the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템도 이다.1 is a diagram illustrating a system for configuring a software-based hidden channel using a mutex object in a virtualization technology according to the present invention.
도 1에 도시된 바와 같이 본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템은 제1 가상머신(VM:Virtual Machine 100), 제2 가상머신(VM:Virtual Machine 200), 하이퍼바이저(300), 뮤텍스 객체(mutex-object 400)를 포함한다.1, in the virtualization technology according to the present invention, a software-based hidden channel configuration system using a mutex object includes a first virtual machine (VM: Virtual Machine 100), a second virtual machine (VM: Virtual Machine 200), and A
먼저, 특정 자원에 여러 가상머신이 동시 접근하지 않도록 소프트웨어 단계에서 막을 필요성이 있다. 이러한 동기화 작업을 위해 mutex 기법이 사용된다.First, there is a need to prevent multiple virtual machines from accessing specific resources at the same time at the software level. The mutex technique is used for this synchronization.
상기 제1 가상머신(100) 및 제2 가상머신(200)은 컴퓨팅 환경을 소프트웨어로 구현한 것으로 컴퓨터를 에뮬레이션하는 소프트웨어이다.The first
상기 제1 가상머신(100) 및 제2 가상머신(200) 상에서 운영체제나 응용 프로그램을 설치하여 실시할 수 있다.It may be implemented by installing an operating system or an application program on the first
상기 하이퍼바이저(300)는 프로세서나 메모리와 같은 다양한 컴퓨터 자원에 서로 다른 각종 운영 체계(OS)의 접근 방법을 통제하는 얇은 계층의 소프트웨어이다.The
보다 구체적으로, 상기 하이퍼바이저(300)는 다수의 OS를 하나의 컴퓨터 시스템에서 가동할 수 있게 하는 소프트웨어로 중앙 처리 장치(CPU)와 OS 사이에 일종의 중간웨어로 사용되며, 하나의 컴퓨터에서 서로 다른 OS를 사용하는 가상 컴퓨터를 만들 수 있는 효과적인 가상화 엔진이다.More specifically, the
본 발명과 관련하여, 상기 하이퍼바이저(300)는 게스트 OS의 하드웨어 접근 요청을 소프트웨어적으로 처리하는 과정에서 상기 제1 가상머신(100)과 제2 가상머신(200) 간의 동기화 작업이 필요하다. In relation to the present invention, the
Mutex 기법을 사용하여 상기 제1 가상머신(100)과 제2 가상머신(200) 간의 동기화를 수행하는 경우, 여러 가상머신이 뮤텍스 객체(mutex-object 400)를 공유하여 사용하게 되므로 공유 자원 간섭이 발생한다. When synchronization between the first
상기 제1 가상머신(100)과 제2 가상머신(200) 중, 어느 한 가상머신이 뮤텍스 객체(mutex-object 400)를 점유하여 사용하고 있을 때, 다른 가상머신이 뮤텍스 객체(mutex-object 400)를 사용하고자 하면 접근 속도 지연이 발생한다. When one of the first
전송하고자 하는 데이터를 시간차로 나타내어 보낼 수 있다.The data to be transmitted can be displayed in time difference.
본 발명에 따른 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템에 존재하는 뮤텍스 객체(mutex-object 400)를 점유하기 위해, 가상머신에서 뮤텍스 객체(mutex-object 400)를 사용하는 알맞은 함수를 호출해야 한다.In the virtualization technology according to the present invention, in order to occupy a mutex object (mutex-object 400) existing in a software-based hidden channel configuration system using a mutex object, a suitable function using a mutex object (mutex-object 400) in a virtual machine Should be called.
상기 제1 가상머신(100)에서 뮤텍스 객체(mutex-object 400)를 사용하는 함수를 호출하여 뮤텍스 객체(mutex-object 400)를 점유할 경우 은닉채널이 발생할 수 있다.When a function using a mutex-
상기 제2 가상머신(200)에서 점유한 자원에 접근할 경우, 상기 제1 가상머신(100)에서 뮤텍스 객체(mutex-object 400)를 사용하는 함수에 대한 호출 여부에 따라 은닉채널이 구성된다.When accessing a resource occupied by the second
공유 자원 간섭을 확인하기 위해 간단한 프로토콜을 구성한다. 약속한 프로토콜을 이용해 송신자가 보낸 메시지가 수신자에게 전달되는 것을 확인하여, 은닉 채널 동작을 확인한다. A simple protocol is constructed to check for interference with shared resources. By using the promised protocol, it checks that the message sent by the sender is delivered to the receiver, and confirms the operation of the hidden channel.
상기 송신자(단말)는 도 2a에 도시된 바와 같이 전송하고자 하는 메시지 비트열의 길이(Length)만큼 다음 과정을 반복한다. As shown in FIG. 2A, the sender (terminal) repeats the following process as much as the length of the message bit string to be transmitted.
전송하고자 하는 비트가 '1'인 경우, Distance 시간 동안 뮤텍스 객체(mutex-object 400)를 사용하는 함수를 호출하는 과정을 반복하여 뮤텍스 객체(mutex-object 400)를 점유한다. If the bit to be transmitted is '1', the process of calling a function using the mutex object (mutex-object 400) is repeated for the distance time to occupy the mutex object (mutex-object 400).
전송 비트가 '0'인 경우, Distance 시간 동안 아무런 작업을 수행하지 않는다. If the transmission bit is '0', no work is performed during the distance time.
한편, 수신자(단말)는 도 2b에 도시된 바와 같이 Distance 시간 동안 뮤텍스 객체(mutex-object 400)를 사용하는 함수를 호출한 후 응답까지의 시간을 측정하여 지연 시간의 평균값을 계산한다. Meanwhile, as shown in FIG. 2B, the receiver (terminal) calls the function using the mutex-
상기 평균값이 임계값(Threshold)보다 클 경우, 지연이 발생하여 비트 '1'로 판단하고, 상기 평균값이 임계값(Threshold)보다 작은 경우, 지연이 발생하지 않아 비트 '0'으로 판단한다. When the average value is greater than the threshold value, a delay occurs and it is determined as bit '1', and when the average value is less than the threshold value, it is determined as bit '0' because no delay occurs.
임계값(Threshold)은 통신을 시작하기 전 수신자가 유동적으로 결정한다. Distance는 송신자와 수신자 사이에 예약된 값이다. Distance가 작을수록 같은 시간 동안 많은 데이터를 송수신할 수 있지만, 임계값(Threshold) 0과 1을 구별하기 어렵다.The threshold is determined flexibly by the receiver before communication starts. Distance is a reserved value between sender and receiver. The smaller the distance, the more data can be transmitted/received during the same time, but it is difficult to distinguish between threshold values of 0 and 1.
상기 수신자는 도 3a에 도시된 바와 같이 계속해서 뮤텍스 객체(mutex-object 400)를 점유하여 지연 속도를 기록한다. As shown in Fig. 3A, the receiver continuously occupies a mutex-
그리고 상기 송신자는 도 3b에 도시된 바와 같이 상기 뮤텍스 객체(mutex-object 400)를 점유하고, 점유하지 않는 과정을 반복하여 1과 0을 전송한다. In addition, as shown in FIG. 3B, the sender occupies the mutex-
참고로, 도 3에 도시된 그래프의 x축은 지속 시간이고, y축은 지연 시간을 나타낸다. 측정 결과, x 밀리초 동안 x비트 전송이 가능함이 보인다.For reference, the x-axis of the graph shown in FIG. 3 is the duration time, and the y-axis is the delay time. As a result of the measurement, it is shown that x bits can be transmitted for x milliseconds.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 사람이라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and those of ordinary skill in the technical field to which the present invention pertains will be able to make various modifications and variations without departing from the essential characteristics of the present invention. Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain the technical idea, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be interpreted as being included in the scope of the present invention.
100 : 제1 가상머신(VM:Virtual Machine)
200 : 제2 가상머신(VM:Virtual Machine)
300 : 하이퍼바이저
400 : 뮤텍스 객체(mutex-object)100: first virtual machine (VM: Virtual Machine)
200: second virtual machine (VM: Virtual Machine)
300: hypervisor
400: mutex-object
Claims (5)
게스트 OS의 하드웨어 접근 요청을 소프트웨어적으로 처리하는 상기 제1 가상머신과 제2 가상머신 간의 동기화 작업을 수행하는 하이퍼바이저; 및
상기 제1 가상머신과 제2 가상머신 간의 동기화 과정에서, 상기 제1 가상머신과 제2 가상머신이 공유하여 사용함에 따라 공유 자원 간섭을 발생시키는 뮤텍스 객체(mutex-object);를 포함하는 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템
A first virtual machine and a second virtual machine for implementing a computing environment in software and emulating a computer;
A hypervisor performing a synchronization operation between the first virtual machine and the second virtual machine for processing a hardware access request of a guest OS in software; And
Virtualization technology including a mutex-object that generates interference with shared resources as the first virtual machine and the second virtual machine share and use in the synchronization process between the first virtual machine and the second virtual machine. Concealed Channel Configuration System Using Mutex Objects
상기 제1 가상머신에서 상기 뮤텍스 객체(mutex-object)를 사용하는 함수를 호출하여 상기 뮤텍스 객체(mutex-object)를 점유할 경우 은닉채널이 발생하고, 상기 제2 가상머신에서 상기 제1 가상머신이 점유한 자원에 접근할 경우, 상기 제1 가상머신에서 뮤텍스 객체(mutex-object)를 사용하는 함수에 대한 호출 여부에 따라 은닉채널이 구성되는 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템.
The method of claim 1,
When the mutex-object is occupied by calling a function using the mutex-object in the first virtual machine, a hidden channel is generated, and the first virtual machine in the second virtual machine When accessing the occupied resource, a software-based hidden channel configuration system using a mutex object in a virtualization technology in which a hidden channel is configured according to whether a function using a mutex-object is called in the first virtual machine .
상기 공유 자원 간섭을 확인하기 위해 프로토콜을 구성하고, 해당 프로토콜을 이용해 송신자가 보낸 메시지가 수신자에게 전달되는 것을 확인하여, 상기 은닉채널 동작을 확인하는 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템.
The method of claim 2,
A software-based hidden channel configuration system using a mutex object in a virtualization technology that configures a protocol to check the interference of the shared resource, and checks that a message sent by a sender using the protocol is delivered to the receiver, and checks the hidden channel operation .
상기 송신자는
전송하고자 하는 비트가 '1'인 경우, Distance 시간 동안 상기 뮤텍스 객체(mutex-object)를 사용하는 함수를 호출하는 과정을 전송하고자 하는 메시지 비트열의 길이(Length)만큼 반복하여 상기 뮤텍스 객체(mutex-object)를 점유하는 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템
The method of claim 3,
The sender
When the bit to be transmitted is '1', the process of calling the function using the mutex-object during the distance time is repeated as much as the length of the message bit string to be transmitted, and the mutex object (mutex-object) is object), a software-based hidden channel configuration system using mutex objects in virtualization technology
상기 수신자는
상기 Distance 시간 동안 상기 뮤텍스 객체(mutex-object)를 사용하는 함수를 호출한 후 응답까지의 시간을 측정하여 지연 시간의 평균값을 계산하고, 상기 평균값이 임계값(Threshold)보다 크면, 지연 발생하여 비트 `1`로 판단하고, 상기 평균값이 임계값(Threshold)보다 작으면, 지연 미발생하여 비트 `0`으로 판단하는 가상화기술에서 뮤텍스 객체를 이용한 소프트웨어 기반 은닉채널 구성 시스템.
The method of claim 4,
The recipient is
After calling the function using the mutex-object during the distance time, the average value of the delay time is calculated by measuring the time until the response. If the average value is greater than the threshold, a delay occurs and the bit A software-based hidden channel configuration system using a mutex object in virtualization technology that determines as '1' and determines as bit '0' because there is no delay when the average value is less than the threshold value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190023851A KR102212512B1 (en) | 2019-02-28 | 2019-02-28 | System for covert channel configuration base in software using mutex object in virtualization technique |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190023851A KR102212512B1 (en) | 2019-02-28 | 2019-02-28 | System for covert channel configuration base in software using mutex object in virtualization technique |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200105133A true KR20200105133A (en) | 2020-09-07 |
KR102212512B1 KR102212512B1 (en) | 2021-02-04 |
Family
ID=72471913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190023851A KR102212512B1 (en) | 2019-02-28 | 2019-02-28 | System for covert channel configuration base in software using mutex object in virtualization technique |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102212512B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230036819A (en) | 2021-09-08 | 2023-03-15 | 한국전자통신연구원 | Method and appratus for detecting covert channel for wireless communication |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990064189A (en) * | 1995-10-11 | 1999-07-26 | 사이트릭스 시스템스, 인크. | How to provide a custom global object namespace on multiuser operating systems |
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 |
KR20140119624A (en) * | 2013-01-24 | 2014-10-10 | 후아웨이 테크놀러지 컴퍼니 리미티드 | Method and apparatus for adjusting i/o channel on virtual platform |
KR20170061048A (en) | 2015-11-25 | 2017-06-02 | 한국전자통신연구원 | Device for measuring delay time of virtual system based on hypervisor and virtual system including thereof |
-
2019
- 2019-02-28 KR KR1020190023851A patent/KR102212512B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990064189A (en) * | 1995-10-11 | 1999-07-26 | 사이트릭스 시스템스, 인크. | How to provide a custom global object namespace on multiuser operating systems |
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 |
KR20140119624A (en) * | 2013-01-24 | 2014-10-10 | 후아웨이 테크놀러지 컴퍼니 리미티드 | Method and apparatus for adjusting i/o channel on virtual platform |
KR20170061048A (en) | 2015-11-25 | 2017-06-02 | 한국전자통신연구원 | Device for measuring delay time of virtual system based on hypervisor and virtual system including thereof |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230036819A (en) | 2021-09-08 | 2023-03-15 | 한국전자통신연구원 | Method and appratus for detecting covert channel for wireless communication |
Also Published As
Publication number | Publication date |
---|---|
KR102212512B1 (en) | 2021-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106302663B (en) | Local cloud computing via network segmentation | |
US10698717B2 (en) | Accelerator virtualization method and apparatus, and centralized resource manager | |
US7743107B2 (en) | System and method for using remote module on VIOS to manage backups to remote backup servers | |
US9509760B2 (en) | Virtual packet analyzer for a cloud computing environment | |
US8429276B1 (en) | Dynamic resource allocation in virtual environments | |
US10754686B2 (en) | Method and electronic device for application migration | |
US10942729B2 (en) | Upgrade of firmware in an interface hardware of a device in association with the upgrade of driver software for the device | |
JP2021515342A (en) | Immediate launch of virtual application | |
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 | |
US9021008B1 (en) | Managing targeted scripts | |
US10560535B2 (en) | System and method for live migration of remote desktop session host sessions without data loss | |
US10909248B2 (en) | Executing encrypted boot loaders | |
US20170090911A1 (en) | Upgrade of port firmware and driver software for a target device | |
EP3908928B1 (en) | Low-latency events across a virtual machine boundary | |
US20140082275A1 (en) | Server, host and method for reading base image through storage area network | |
WO2023236397A1 (en) | Key management method, key management apparatus, key management device and storage medium | |
CN111083166A (en) | Method and device for setting white list in cloud database and computer storage medium | |
CN113079702A (en) | Provisioning virtual machines using a single identification and caching virtual disk | |
US8838913B1 (en) | System and method for locating a memory page in a guest virtual machine | |
KR102212512B1 (en) | System for covert channel configuration base in software using mutex object in virtualization technique | |
KR20190051646A (en) | Method for adding limitation on clipboard copy function under virtual desktop infra and virtualization system adotting the same | |
US20230098536A1 (en) | Dynamic security challenge authentication | |
US10673937B2 (en) | Dynamic record-level sharing (RLS) provisioning inside a data-sharing subsystem | |
KR102582777B1 (en) | Lightweight KubeEdge configuration method and apparatus for edge computing environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |