KR100931518B1 - How to Protect Programs Using Virtual Desktops - Google Patents
How to Protect Programs Using Virtual Desktops Download PDFInfo
- Publication number
- KR100931518B1 KR100931518B1 KR1020080037258A KR20080037258A KR100931518B1 KR 100931518 B1 KR100931518 B1 KR 100931518B1 KR 1020080037258 A KR1020080037258 A KR 1020080037258A KR 20080037258 A KR20080037258 A KR 20080037258A KR 100931518 B1 KR100931518 B1 KR 100931518B1
- Authority
- KR
- South Korea
- Prior art keywords
- program
- virtual desktop
- desktop
- switching
- default
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 59
- 230000002159 abnormal effect Effects 0.000 claims abstract description 14
- 230000000903 blocking effect Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 abstract description 22
- 230000008569 process Effects 0.000 abstract description 7
- 238000012545 processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Z—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
- G16Z99/00—Subject matter not provided for in other main groups of this subclass
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 가상 데스크탑을 이용한 컴퓨터 프로그램 보호방법에 관한 것이다. 즉, 본 발명에서는 가상 데스크탑을 이용하여 컴퓨터 프로그램을 보호하는 방법에 있어서, 프로그램이 수행되는 과정 중에 동일 디폴트 데스크탑상 존재하는 악성 프로그램에 의해서 온라인 게임이나 온라인 뱅킹 등의 프로그램에서 화면 정보 또는 사용자 입력 데이터를 빼내가거나 비정상적인 입력 데이터가 생성되는 문제와 무인 발권기 등의 단일 프로그램 수행환경에서 비인가된 사용자의 입력을 처리하는 프로그램들이 수행되는 문제를 해결하기 위해서, 별도의 논리적으로 격리된 가상 데스크탑에서 보호가 필요한 프로그램만이 실행되도록 함으로써 비인가된 접근을 차단하여 프로그램의 정보를 보다 안전하게 보호할 수 있도록 한다.The present invention relates to a computer program protection method using a virtual desktop. That is, in the present invention, in the method of protecting a computer program using a virtual desktop, screen information or user input data in a program such as an online game or online banking by a malicious program existing on the same default desktop during the process of executing the program. In order to solve the problem of extracting or generating abnormal input data and executing programs that process unauthorized user inputs in a single program execution environment such as an unattended ticketing machine, protection is required in a separate logically isolated virtual desktop. By allowing only programs to run, you can block unauthorized access to make your program more secure.
가상 데스크탑, 보안, 해킹, 윈도우, 오브젝트 Virtual desktop, security, hacking, windows, objects
Description
본 발명은 컴퓨터 프로그램(computer program)의 보안기술에 관한 것으로, 특히 가상 데스크탑(virtual desktop)을 이용하여 보호가 필요한 컴퓨터 프로그램의 동작 공간을 디폴트 데스크탑(default desktop)으로부터 논리적으로 분리시킴으로써, 디폴트 데스크탑 상에서 불법적으로 접근하려는 시도로부터 컴퓨터 프로그램을 보호하는 가상 데스크탑을 이용한 컴퓨터 프로그램 보호방법에 관한 것이다.The present invention relates to a security technology of a computer program, and in particular, by using a virtual desktop to logically separate the operating space of the computer program that needs protection from the default desktop, The present invention relates to a method of protecting a computer program using a virtual desktop that protects the computer program from an illegal access attempt.
최근 들어, 정보 통신망과 PC(Personal Computer)의 발달 및 보급의 대중화에 인터넷(internet)이 결합되면서 기존에 오프라인(off-line)으로 처리하였던 각종 정보 제공 서비스 및 상거래 행위들이 온라인(on-line) 방식으로 시간과 장소에 관계없이 처리가 가능하게 되었다. 이에 따라 시스템 서버(system server)와 클라이언트(client) 사이에 실시간 멀티미디어(multimedia) 통신이 가능해짐에 따라 온라인 네트워크(network)을 이용한 각종 네트워크 게임(network game)이나, 은행, 관공서 등에서의 온라인 입출금, 무인 발권 등의 서비스가 가능하여 급속도로 확산 되고 있다.Recently, as the Internet has been combined with the development and popularization of information and communication networks and personal computers, various information providing services and commerce activities that were previously processed off-line are on-line. In this way, it can be processed regardless of time and place. As a result, real-time multimedia communication is possible between the system server and the client, such as online game deposit and withdrawal from various network games, banks, and public offices. Unmanned ticketing and other services are available and are rapidly spreading.
그러나, 위와 같은 온라인 서비스를 위한 컴퓨터 프로그램들의 대부분은 그 특성상 사용자의 입력을 받아서 동작하게 되어 있다. 이에 따라 이 과정에서 사용자가 입력하는 내용 또는 화면에 표시하는 정보 등을 해당 프로그램과 동일한 디폴트 데스크탑에서 동작하는 다른 악성 프로그램 등이 쉽게 접근해서 가져가거나 변경할 수 있는 등의 여지가 있어 보안상 취약한 문제점이 있다.However, most of the computer programs for the online service as described above are operated by the user input. Accordingly, in this process, the contents entered by the user or the information displayed on the screen can be easily accessed and changed or changed by other malicious programs running on the same default desktop as the corresponding program. have.
위와 같이, 클라이언트 컴퓨터로부터 개인의 정보를 빼내가는 악성 프로그램으로는 대표적으로 키 로거(key logger)라는 해킹 툴(hacking tool)이 있다. 키 로거는 사용자의 키보드 입력 정보를 가로채 파일로 저장하거나 네트워크를 통해 원격으로 전송하는 등의 역할을 수행하는 악성 프로그램으로, 운영체제 레벨(operating system level), 드라이버 레벨(driver level), 응용 어플리케이션 레벨(application level) 등 다양한 계층(layer)에서 존재하여 자신의 존재를 사용자에게 드러내지 않고 개인 정보를 수집한다.As described above, a malicious program that extracts personal information from a client computer includes a hacking tool called a key logger. A key logger is a malicious program that intercepts the user's keyboard input information and saves it as a file or transmits it remotely over a network. It is an operating system level, driver level, and application level It exists in various layers such as application level to collect personal information without revealing its existence to the user.
따라서 악의적인 사용자가 위와 같은 키 로거 등의 해킹 툴을 이용하는 경우 온라인 게임 등에서는 게임의 화면 정보를 쉽게 얻어와서 그 데이터를 분석하는 과정과 게임 상에서 필요한 동작을 자동으로 입력하도록 처리하여 사용자의 개입 없이 게임이 수행되도록 해주는 등의 해킹 동작으로 악용할 수 있으며, 무인 발권기 등에서는 사용자의 입력을 처리하는 단말기 프로그램에 접근하여 프로그램이 비정상적으로 동작되도록 하거나 사용자로부터 입력되는 중요한 개인 정보를 빼내는 해킹동작으로 악용할 수 있어 컴퓨터 프로그램의 보안상 매우 심각한 문제점이 있었다.Therefore, when a malicious user uses a hacking tool such as a key logger, the online game can easily obtain the screen information of the game, analyze the data, and automatically input necessary actions in the game without user intervention. It can be exploited as a hacking operation such as allowing a game to be executed.In an unmanned ticket machine, such as a hacking operation that accesses a terminal program that processes a user's input and causes the program to operate abnormally or extracts important personal information input from the user. There was a very serious problem in the security of computer programs.
상술한 목적을 달성하기 위한 본 발명은 컴퓨터 프로그램 보호 방법으로서, 디폴트 데스크탑 상에서 보호가 필요한 프로그램 실행 요청 시 해당 프로그램 실행을 위한 가상 데스크탑을 생성하는 단계와, 상기 프로그램 실행을 위한 모든 쓰레드를 상기 가상 데스크탑으로 스위칭시키는 단계와, 상기 가상 데스크탑 상에서 상기 쓰레드에 의해 상기 프로그램을 실행시키는 단계를 포함한다.According to an aspect of the present invention, there is provided a method of protecting a computer program, the method comprising: creating a virtual desktop for executing a corresponding program when a program execution request is required on a default desktop, and generating all threads for executing the program. And executing the program by the thread on the virtual desktop.
또한, 본 발명은 컴퓨터 프로그램 보호 방법으로서, 디폴트 데스크탑 상에서 보호가 필요한 프로그램 실행 요청 시 해당 프로그램 실행을 위한 가상 데스크탑을 생성하는 단계와, 상기 프로그램 실행을 위한 모든 쓰레드를 상기 가상 데스크탑으로 스위칭시키는 단계와, 상기 가상 데스크탑 상에서 상기 쓰레드에 의해 상기 프로그램을 실행시키는 단계와, 상기 프로그램 실행 중 상기 가상 데스크탑 상 생성되는 모든 윈도우를 검사하는 단계와, 상기 검사결과 비정상 윈도우 발견 시 해당 윈도우를 삭제하거나 보안 위험을 통지하는 단계를 포함한다.In addition, the present invention provides a method for protecting a computer program, the method comprising: creating a virtual desktop for executing a corresponding program when a program execution request is required on a default desktop; switching all threads for executing the program to the virtual desktop; Executing the program by the thread on the virtual desktop; inspecting all windows created on the virtual desktop during execution of the program; deleting the window or deleting a security risk when an abnormal window is found. Informing.
또한, 본 발명은 컴퓨터 프로그램 보호 방법으로서, 디폴트 데스크탑 상에서 보호가 필요한 프로그램 실행 요청 시 해당 프로그램 실행을 위한 가상 데스크탑을 생성하는 단계와, 상기 프로그램 실행을 위한 모든 쓰레드를 상기 가상 데스크탑으로 스위칭시키는 단계와, 상기 가상 데스크탑 상에서 상기 쓰레드에 의해 상기 프로그램을 실행시키는 단계와, 상기 프로그램 실행 중 상기 디폴트 데스크탑 상 모든 프로그램의 커널 오브젝트를 검사하는 단계와, 상기 커널 오브젝트 검사결과 상기 보호 프로그램이 아닌 다른 프로그램이 생성한 가상 데스크탑 오브젝트 핸들 발견 시 상기 가상 데스크탑의 보안 위험을 통지시키는 단계를 포함한다.In addition, the present invention provides a method for protecting a computer program, the method comprising: creating a virtual desktop for executing a corresponding program when a program execution request is required on a default desktop; switching all threads for executing the program to the virtual desktop; Executing the program by the thread on the virtual desktop; inspecting kernel objects of all programs on the default desktop during execution of the program; and generating a program other than the protected program as a result of the kernel object inspection. Notifying the security risk of the virtual desktop upon discovery of a virtual desktop object handle.
본 발명에서는 가상 데스크탑을 이용하여 컴퓨터 프로그램을 보호하는 방법에 있어서, 프로그램이 수행되는 과정 중에 동일 디폴트 데스크탑상 존재하는 악성 프로그램에 의해서 온라인 게임이나 온라인 뱅킹 등의 프로그램에서 화면 정보 또는 사용자 입력 데이터를 빼내가거나 비정상적인 입력 데이터가 생성되는 문제와 무인 발권기 등의 단일 프로그램 수행환경에서 비인가된 사용자의 입력을 처리하는 프로그램들이 수행되는 문제를 해결하기 위해서, 별도의 논리적으로 격리된 가상 데스크탑에서 보호가 필요한 프로그램만이 실행되도록 함으로써 비인가된 접근을 차단하여 프로그램의 정보를 보다 안전하게 보호할 수 있는 이점이 있다.In the present invention, a method of protecting a computer program using a virtual desktop, screen information or user input data is extracted from a program such as an online game or an online banking by a malicious program existing on the same default desktop during the execution of the program. In order to solve the problem of generating input or abnormal input data and executing programs that process input from unauthorized users in a single program execution environment such as an unmanned ticketing machine, only programs that need protection in a separate logically isolated virtual desktop are executed. By having it run, you have the advantage of keeping your program's information safer by blocking unauthorized access.
따라서 본 발명은 컴퓨터 프로그램의 보호에 있어서, 보호하고자 하는 정상 프로그램이 실행 중에 사용자의 입력정보나 화면정보의 유출 또는 인위적인 잘못된 데이터의 입력을 위한 악성 프로그램의 접근을 차단시키며, 또한 단일의 정상 프로그램만 수행되어야 하는 시스템 상에서 정상 프로그램에 대한 악성 프로그램의 접근을 차단시킬 수 있도록 하는 가상 데스크탑을 이용한 컴퓨터 프로그램 보호방법을 제공하고자 한다.Accordingly, in the protection of a computer program, the present invention prevents access to malicious programs for leaking user input information or screen information or input of artificially invalid data while a normal program to be protected is executed, and only a single normal program. It is intended to provide a computer program protection method using a virtual desktop that can block malicious programs from accessing normal programs on a system to be executed.
이하, 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. Hereinafter, with reference to the accompanying drawings will be described in detail the operating principle of the present invention.
아래에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. In the following description of the present invention, detailed descriptions of well-known functions or configurations will be omitted when it is determined that the detailed description of the present invention may unnecessarily obscure the subject matter of the present invention. Terms to be described later are terms defined in consideration of functions in the present invention, and may be changed according to intentions or customs of users or operators. Therefore, the definition should be made based on the contents throughout the specification.
도 1은 본 발명의 실시 예에 따른 컴퓨터 프로그램 보호를 위한 가상 데스크 탑(virtual desktop)(190) 구현 개념을 도시한 것으로, 통상의 컴퓨터 OS 운영체제(100)에서는 도 1에서 보여지는 바와 같이, 디폴트 데스크탑(default desktop)(180) 상에 사용자에 의해 실행 요청된 다양한 프로그램(110)을 포함하여 로그온(logon)(114), 스크린 세이버(screen saver)(112) 등의 프로그램이 존재하며, 동일 디폴트 데스크탑(180) 상에서는 프로그램간 정보의 공유가 가능하다.FIG. 1 illustrates a concept of implementing a
이에 따라, 디폴트 데스크탑(180)상 다른 프로그램들에 불법적으로 접근하여 프로그램의 화면 정보나 사용자로부터 입력되는 중요한 개인 정보를 해킹하고자 하는 디폴트 데스크탑 해킹 모듈(hacking module)(116)이 설치되어 있는 경우, 사용자에 의해 실행된 프로그램(110)의 화면 정보나 키입력 정보 등이 쉽게 해킹 당할 수 있는 위험에 노출되어 있음은 전술한 바와 같다.Accordingly, when a default
따라서, 본 발명에서는 위와 같은 디폴트 데스크탑(180) 상에서의 해킹을 방지하고자 도 1에서 보여지는 바와 같이, 가상 데스크탑 보안모듈(118)을 통해 보호가 필요한 프로그램(110)에 대해서는 디폴트 데스크탑 해킹 모듈(116)이 설치된 디폴트 데스크탑(180)과 논리적으로 분리된 가상 데스크탑(190)으로 이동시켜 가상 데스크탑(190)에서 프로그램(110)만을 실행시킴으로써, 해킹을 방지시키도록 한다.Therefore, in the present invention, as shown in FIG. 1 to prevent hacking on the
이하, 도 1을 참조하여, 가상 데스크탑을 이용한 컴퓨터 프로그램의 보호를 위한 동작을 상세히 설명하기로 한다.Hereinafter, an operation for protecting a computer program using a virtual desktop will be described in detail with reference to FIG. 1.
먼저, 사용자가 온라인 게임이나 온라인 뱅킹, 또는 무인 발권기 등에서 해당 서비스를 위한 프로그램(110)을 실행시키는 경우, 위와 같은 프로그램(110)은 OS 운영체제(100)상 디폴트 데스크탑(180)에서 실행되게 된다. 그러면, 본 발명에 따라 디폴트 데스크탑(180)상에 구현되는 가상 데스크탑 보안모듈(118)에서는 위 사용자에 의해 요청된 프로그램(110)이 온라인 게임이나, 온라인 뱅킹 또는 무인 발권기 등 외부로부터의 해킹에 대비해 보호가 필요하도록 설정된 프로그램인지를 검사한다.First, when a user executes a
이어, 가상 데스크탑 보안모듈(118)은, 검사결과 사용자에 의해 실행된 프로그램(110)이 보호가 필요한 프로그램인 경우에는 디폴트 데스크탑 해킹 모듈(116)이 설치된 디폴트 데스크탑(180)과 논리적으로 분리된 가상 데스크탑(190)으로 이동시켜 가상 데스크탑(190)에서 프로그램(110)만이 안정적으로 실행될 수 있도록 한다. 이때, 프로그램(110)을 가상 데스크탑(190)으로 이동시키는 시점이 중요한데, 프로그램(110)이 디폴트 데스크탑(180)에서 실행되어 사용자의 I/O(Input/Output) 입력 처리가 이루어지거나 그에 따른 윈도우(window) 화면이 생성되는 경우에는 해당 프로그램(110)의 실행이 디폴트 데스크탑(180)으로 고정되기 때문이다.Subsequently, when the
이에 따라 가상 데스크탑 보안모듈(118)은, 프로그램(110)의 실행에 따른 메인 쓰레드(main thread)의 시작 시점을 검출하여 메인 쓰레드와 프로그램(110)의 다양한 기능을 위한 멀티 쓰레드(multi thread)를 차례로 가상 데스크탑(190)으로 스위칭(switching) 이동시키는 것에 의해 프로그램(110)에 대한 가상 데스크탑(190) 이동을 수행하게 된다.Accordingly, the virtual
즉, 메인 쓰레드라 함은 프로그램이 실행될 때 최초로 만들어져 프로그램의 최초 시작을 처리하는 쓰레드로, 가상 데스트탑 보안모듈(118)은, 위 메인 쓰레드 가 최초로 시작되는 시점을 검출하여 메인 쓰레드에 의해 디폴트 데스크탑(180)상 해당 프로그램(110)의 I/O 입력이나 윈도우 화면 처리가 만들어 지기전에 가상 데스크탑(190)으로 스위칭 이동시키게 된다. 이때 모든 쓰레드에 대한 가상 데스크탑(190) 상으로의 스위칭을 위해서 가상 데스크탑 보안 모듈(118)은 각 쓰레드가 실행 시 참조하도록 되어 있는 OS(Operating System) DLL(Dynamic Linking Library) 함수모듈내 DLL 메인 함수의 내용을 가상 데스크탑(190)으로의 스위칭을 명령하는 내용으로 변경하는 것을 통해 수행하도록 한다.In other words, the main thread is a thread that is created first when the program is executed to handle the initial start of the program. The virtual
이에 따라 가상 데스크탑(190)에서 실행되는 프로그램(110)은 OS운영체제(100) 상 디폴트 데스크탑(180)에 구현되어 동일한 디폴트 데스크탑(180)에서 실행되는 다른 프로그램의 정보를 해킹하도록 구현되는 디폴트 데스크탑 해킹 모듈(116)에 의한 접근이 원천적으로 차단되어 보안상 안전하게 실행될 수 있게 되는 것이다.Accordingly, the
도 2는 본 발명의 실시 예에 따른 컴퓨터 상에서 가상 데스크탑을 이용한 프로그램 보호 제어 흐름을 도시한 것이다. 이하, 도 1 및 도 2를 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.2 illustrates a program protection control flow using a virtual desktop on a computer according to an embodiment of the present invention. Hereinafter, embodiments of the present invention will be described in detail with reference to FIGS. 1 and 2.
먼저, 사용자가 키입력을 통해 온라인 게임이나 온라인 뱅킹 또는 무인 발권기 등에서 해당 서비스를 위한 컴퓨터 프로그램의 실행을 요청하는 경우 해당 프로그램이 OS운영체제(100)의 디폴트 데스크탑(180)에서 실행된다. First, when a user requests execution of a computer program for a corresponding service in an online game, online banking or an unattended ticketing machine through a key input, the corresponding program is executed in the
그러면, 가상 데스크탑 보안 모듈(118)은 (S200)단계에서 동일한 디폴트 데스크탑(180)에 위치하여 사용자의 키입력에 따른 프로그램(110)의 실행 요청을 수 신하고, (S202)단계에서 사용자에 의해 실행 요청된 프로그램(110)이 온라인 게임이나, 온라인 뱅킹 또는 무인 발권기 등에서 실행되는 외부로부터의 해킹에 대비해 보호가 필요하도록 설정된 프로그램인지 여부를 검사한다.Then, the virtual
이때, 실행 요청된 프로그램(110)이 보호가 필요하도록 설정된 프로그램이 아닌 경우 가상 데스크탑 보안 모듈(118)은 (S204)단계로 진행해서 디폴트 데스크탑(180) 상에서 요청된 프로그램(110)이 정상적으로 실행되도록 해당 프로그램(110)의 구동에 관여하지 않는다.In this case, when the
그러나, 이와 달리, 사용자에 의해 실행 요청된 프로그램(110)이 온라인 게임이나, 온라인 뱅킹 또는 무인 발권기 등에서 실행되는 외부로부터의 해킹에 대비해 보호가 필요하도록 설정된 프로그램인 경우 가상 데스크탑 보안 모듈(118)은 (S202)단계에서 (S206)단계로 진행해서 요청된 프로그램(110)의 실행에 따른 메인 쓰레드의 시작을 검출하게 된다.However, in contrast, when the
통상, 프로그램이 실행되기 위해서는 프로그램의 코드를 실제로 수행하는 쓰레드가 만들어져 동작하게 되는데, 프로그램이 실행될 때 최초로 만들어져 프로그램의 최초 시작을 처리하는 메인 쓰레드가 존재한다. 이때 위 메인 쓰레드가 최초로 시작되는 시점을 검출하여 메인 쓰레드에 의해 디폴트 데스크탑(180)상 해당 프로그램의 I/O 입력이나 윈도우 화면 처리가 만들어지기 전 가상 데스크탑으로 전환하는 것이 필요하다. 이는 임의의 프로그램이 디폴트 데스크탑(180) 상에서 실행되어 사용자의 I/O 입력 처리가 이루어지거나, 그에 따른 윈도우 화면이 생성되는 경우 해당 프로그램의 실행은 디폴트 데스크탑(180)으로 고정되기 때문이다.In general, a program is created to run a program that actually executes the program code. There is a main thread that is created when the program is executed and handles the initial start of the program. At this time, it is necessary to detect when the main thread is started for the first time and switch to the virtual desktop before the I / O input or window screen processing of the corresponding program is made on the
이에 따라, 가상 데스크탑 보안 모듈(118)은 (S208)단계에서, 실행 요청된 프로그램(110)의 메인 쓰레드가 시작되어 사용자의 I/O 입력 처리나 프로그램(110)과 관련된 윈도우 화면이 생성되기 전 프로그램(110)의 실행 논리적 기반을 디폴트 데스크탑(180)에서 가상 데스크탑(190)으로 이동시킨다. Accordingly, in step S208, the virtual
이때 가상 데스크탑(190)이라 함은 OS 운영체제(100)상 디폴트 데스크탑(180)과 논리적으로 분리된 데스크탑을 말하는 것으로, 본 발명에서는 이에 더하여 가상 데스크탑을 생성하는 커널 오브젝트의 접근 권한 리스트(ACL)를 널(Null)로 설정하여 다른 논리적 공간에 위치하는 디폴트 데스크탑 해킹 모듈(116)로부터의 접근 차단성을 더 높일 수 있도록 한다.In this case, the
한편, 프로그램(110)의 실행 기반이 가상 데스크탑(190)으로 이동되도록 함에 있어서는 프로그램(110)의 메인 쓰레드를 먼저 가상 데스크탑(190)으로 스위칭시킨 후, 프로그램(110)에 필요한 멀티 쓰레드를 각각 차례로 가상 데스크탑(190)으로 스위칭시켜 구현하게 된다. 이때 쓰레드에 대한 가상 데스크탑(190) 상으로의 스위칭을 위해서 가상 데스크탑 보안 모듈(118)은 각 쓰레드가 실행 시 참조하도록 되어 있는 OS DLL 함수모듈내 DLL 메인 함수의 내용을 가상 데스크탑(190)으로의 스위칭을 명령하는 내용으로 변경하는 것을 통해 수행하도록 한다.In the meantime, in order to move the execution base of the
이어, 가상 데스크탑 보안 모듈(118)은 (S210)단계에서 가상 데스크탑(190)으로 스위칭된 프로그램(110)의 쓰레드들을 실행시켜 요청된 프로그램(110)을 가상 데스크탑(190)에서 실행시키게 된다. 이에 따라 가상 데스크탑(190)에서 실행되는 프로그램(110)은 OS운영체제(100) 상 디폴트 데스크탑(180)에 설치되어 동일한 디 폴트 데스크탑(180)에서 실행되는 다른 프로그램의 정보를 해킹하도록 구현된 디폴트 데스크탑 해킹 모듈(116)에 의한 접근이 차단되어 보안상 안전하게 실행될 수 있게 된다.Subsequently, the virtual
한편, 위와 같이 프로그램(110)이 가상 데스크탑(190)에서 실행되므로 디폴트 데스크탑(180)에서는 프로그램(110) 실행에 따른 어떤 윈도우 화면도 생성되지 않는 바, 이를 해킹하고자 하는 디폴트 데스크탑(180)상 디폴트 데스크탑 해킹 모듈(116)은 해당 프로그램(110)이 다른 논리적 기반의 데스크탑에서 실행되고 있음을 의심하여 가상 데스크탑(190)을 공격하도록 강화될 수 있다. Meanwhile, since the
이에 따라 본 발명의 가상 데스크탑 보안 모듈(118)은 (S212)단계에서 도 3에서 보여지는 바와 같이 가상 데스크탑(190) 상에서 프로그램(110)의 실행에 따른 윈도우 화면(152, 154)을 생성하는 윈도우 생성 쓰레드(150)를 통해 디폴트 데스크탑(180) 상에도 동일한 프로그램(110) 이름의 훼이크(fake) 윈도우 화면(152')을 생성하여 줌으로써, 디폴트 데스크탑 해킹 모듈(116)이 디폴트 데스크탑(180) 상 존재하는 프로그램(110)이 가상 데스크탑(190) 상에서 실행 중인 사실 자체를 모르도록 하여 보안성을 더 높일 수 있도록 한다.Accordingly, the virtual
이어, 가상 데스크탑 보안 모듈(118)은 (S214)단계에서 가상 데스크탑(190) 상에서 실행중인 프로그램(110)의 실행이 종료되는지 여부를 검사하고, 실행이 종료되는 경우 (S216)단계에서 프로그램(110)을 디폴트 데스크탑(180)으로 이동시킨다.Subsequently, the virtual
도 4는 본 발명의 다른 실시 예에 따른 컴퓨터 상에서 가상 데스크탑을 이용 한 프로그램 보호 제어 흐름을 도시한 것이다. 이하, 도 1 및 도 4를 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.4 illustrates a program protection control flow using a virtual desktop on a computer according to another embodiment of the present invention. Hereinafter, an embodiment of the present invention will be described in detail with reference to FIGS. 1 and 4.
먼저, 사용자가 키입력을 통해 온라인 게임이나 온라인 뱅킹 또는 무인 발권기 등에서 해당 서비스를 위한 컴퓨터 프로그램을 실행을 요청하는 경우 해당 프로그램이 OS운영체제(100)의 디폴트 데스크탑(180)에서 실행된다. First, when a user requests to execute a computer program for a corresponding service in an online game, online banking or an unattended ticketing machine through a key input, the corresponding program is executed in the
그러면, 가상 데스크탑 보안 모듈(118)은 (S400)단계에서 동일한 디폴트 데스크탑(180)에 위치하여 사용자의 키입력에 따른 프로그램(110)의 실행 요청을 수신하고, (S402)단계에서 사용자에 의해 실행 요청된 프로그램(110)이 온라인 게임이나, 온라인 뱅킹 또는 무인 발권기 등에서 실행되는 외부로부터의 해킹에 대비해 보호가 필요하도록 설정된 프로그램인지 여부를 검사한다.Then, the virtual
이때, 실행 요청된 프로그램(110)이 보호가 필요하도록 설정된 프로그램이 아닌 경우 가상 데스크탑 보안 모듈(118)은 (S404)단계로 진행해서 디폴트 데스크탑(180) 상에서 요청된 프로그램(110)이 정상적으로 실행되도록 해당 프로그램(110)의 실행에 관여하지 않는다.In this case, if the
그러나, 이와 달리, 사용자에 의해 실행 요청된 프로그램(110)이 보호가 필요하도록 설정된 프로그램인 경우 가상 데스크탑 보안 모듈(118)은 (S402)단계에서 (S406)단계로 진행해서 요청된 프로그램(110)의 실행에 따른 메인 쓰레드의 시작을 검출하게 된다.However, in contrast, if the
이어, 가상 데스크탑 보안 모듈(118)은 (S408)단계에서, 프로그램(110)의 메인 쓰레드가 시작되어 사용자의 I/O 입력 처리나 프로그램과 관련된 윈도우 화면이 생성되기 전 프로그램(110)의 실행 논리적 기반을 디폴트 데스크탑(180)에서 가상 데스크탑(190)으로 이동시킨다. 그런 후, 가상 데스크탑 보안 모듈(118)은 (S410)단계에서 가상 데스크탑(190)으로 스위칭된 프로그램(110)의 쓰레드들을 실행시켜 요청된 프로그램(110)을 가상 데스크탑(190)에서 실행시키게 된다. Subsequently, in step S408, the virtual
이에 따라 가상 데스크탑(190)에서 실행되는 프로그램(110)은 OS운영체제(100) 상 디폴트 데스크탑(180)에 설치됨으로써, 동일한 디폴트 데스크탑(180)에서 실행되는 다른 프로그램의 정보를 해킹하도록 구현된 디폴트 데스크탑 해킹 모듈(116)에 의한 접근이 차단되어 보안상 안전하게 실행될 수 있게 된다.Accordingly, the
한편, 위와 같이 온라인 게임이나 온라인 뱅킹 또는 무인 발권기 등에서 수행되는 보호가 필요하도록 설정된 프로그램(110)이 가상 데스크탑(190)에서 수행되어 더 이상 해킹이 불가능해 지는 경우, 이를 해킹하고자 하는 디폴트 데스크탑(180)상 디폴트 데스크탑 해킹 모듈(116)은 해당 프로그램(110)이 다른 논리적 기반의 데스크탑에서 실행되고 있음을 의심하여 가상 데스크탑(190) 상으로 진입하도록 강화될 수 있다. On the other hand, when the
이에 따라 본 발명의 가상 데스크탑 보안 모듈(118)은 (S412)단계에서 가상 데스크탑(190) 상 이동된 프로그램(110)의 실행 중 가상 데스크탑(190) 상에 생성되는 모든 윈도우를 검사하여 프로그램(110)과 관련되지 않는 비정상 윈도우가 존재하는지 여부를 검사한다. Accordingly, the virtual
이때, 비정상 윈도우의 식별을 위해 가상 데스크탑 보안 모듈(118)은 가상 데스크탑(190)내 윈도우를 생성한 모든 쓰레드를 검사하여 가상 데스크탑(190)으로 이동되어 실행중인 프로그램(110)에 의해 생성된 쓰레드가 아닌 비정상 쓰레드가 있는지를 검사하고, 비정상 쓰레드에 의해 생성된 윈도우를 비정상 윈도우로 식별하게 된다.At this time, in order to identify an abnormal window, the virtual
위와 같은 방법을 통해 비정상 윈도우의 존재를 검사한 결과, 가상 데스크탑(190)상 비정상 윈도우가 존재하는 것으로 검사되는 경우 가상 데스크탑 보안 모듈(118)은 (S414)단계에서 (S416)단계로 진행해서 가상 데스크탑(190)의 보안 위험을 컴퓨터 화면상 경고 메시지 표시 등으로 사용자에게 통보 또는 경고하여 사용자가 신속히 보안 위험에 대처할 수 있도록 한다.As a result of checking the existence of the abnormal window through the above method, when it is determined that the abnormal window exists on the
이때, 만일 보호 프로그램이 온라인 게임인 경우에는 비정상 윈도우를 생성한 프로그램이 해킹 모듈일 가능성이 매우 높고, 이는 사용자 자신에 의해 실행되었을 가능성이 높으므로, 해킹 위험에 대해 사용자에게 통지함 없이, 해당 비정상 윈도우를 자동으로 삭제하여 게임 프로그램에 대한 해킹을 방지시키도록 구현할 수도 있다. At this time, if the protection program is an online game, it is very likely that the program that generated the abnormal window is a hacking module, and this is most likely executed by the user, so that the abnormality is not noticed without notifying the user of the hacking risk. It can also be implemented to automatically delete windows to prevent hacking of game programs.
이어, 가상 데스크탑 보안 모듈(118)은 (S418)단계에서 가상 데스크탑(190) 상에서 실행중인 프로그램(110)의 실행이 종료되는지 여부를 검사하고, 실행이 종료되는 경우 (S420)단계에서 프로그램(110)을 디폴트 데스크탑(180)으로 이동시킨다.Subsequently, the virtual
도 5는 본 발명의 다른 실시 예에 따른 컴퓨터 상에서 가상 데스크탑을 이용한 프로그램 보호 제어 흐름을 도시한 것이다. 이하, 도 1 및 도 5를 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.5 illustrates a program protection control flow using a virtual desktop on a computer according to another embodiment of the present invention. Hereinafter, an embodiment of the present invention will be described in detail with reference to FIGS. 1 and 5.
먼저, 사용자가 키입력을 통해 온라인 게임이나 온라인 뱅킹 또는 무인 발권기 등에서 해당 서비스를 위한 컴퓨터 프로그램을 실행을 요청하는 경우 해당 프로그램이 OS운영체제(100)의 디폴트 데스크탑(180)에서 실행된다. First, when a user requests to execute a computer program for a corresponding service in an online game, online banking or an unattended ticketing machine through a key input, the corresponding program is executed in the
그러면, 가상 데스크탑 보안 모듈(118)은 (S500)단계에서 동일한 디폴트 데스크탑(180)에 위치하여 사용자의 키입력에 따른 프로그램(110)의 실행 요청을 수신하고, (S502)단계에서 사용자에 의해 실행 요청된 프로그램(110)이 온라인 게임이나, 온라인 뱅킹 또는 무인 발권기 등에서 실행되는 외부로부터의 해킹에 대비해 보호가 필요하도록 설정된 프로그램인지 여부를 검사한다.Then, the virtual
이때, 실행 요청된 프로그램(110)이 보호가 필요하도록 설정된 프로그램이 아닌 경우 가상 데스크탑 보안 모듈(118)은 (S504)단계로 진행해서 디폴트 데스크탑(180) 상에서 요청된 프로그램(110)이 정상적으로 실행되도록 해당 프로그램(110)의 실행에 관여하지 않는다.In this case, if the
그러나, 이와 달리, 사용자에 의해 실행 요청된 프로그램(110)이 보호가 필요하도록 설정된 프로그램인 경우 가상 데스크탑 보안 모듈(118)은 (S502)단계에서 (S506)단계로 진행해서 요청된 프로그램(110)의 실행에 따른 메인 쓰레드의 시작을 검출하게 된다.However, in contrast, if the
이어, 가상 데스크탑 보안 모듈(118)은 (S508)단계에서, 프로그램(110)의 메인 쓰레드가 시작되어 사용자의 I/O 입력 처리나 프로그램과 관련된 윈도우 화면이 생성되기 전 프로그램(110)의 실행 논리적 기반을 디폴트 데스크탑(180)에서 가상 데스크탑(190)으로 이동시킨다. 그런 후, 가상 데스크탑 보안 모듈(118)은 (S510) 단계에서 가상 데스크탑(190)으로 스위칭된 프로그램(110)의 쓰레드들을 실행시켜 요청된 프로그램(110)을 가상 데스크탑(190)에서 실행시키게 된다. Subsequently, in step S508, the virtual
이에 따라 가상 데스크탑(190)에서 실행되는 프로그램(110)은 OS운영체제(100) 상 디폴트 데스크탑(180)에 설치됨으로써, 동일한 디폴트 데스크탑(180)에서 실행되는 다른 프로그램의 정보를 해킹하도록 구현된 디폴트 데스크탑 해킹 모듈(116)에 의한 접근이 차단되어 보안상 안전하게 실행될 수 있게 된다.Accordingly, the
한편, 위와 같이 온라인 게임이나 온라인 뱅킹 또는 무인 발권기 등에서 수행되는 보호가 필요하도록 설정된 프로그램(110)이 가상 데스크탑(190)에서 수행되어 더 이상 해킹이 불가능해 지는 경우, 이를 해킹하고자 하는 디폴트 데스크탑(180)상 디폴트 데스크탑 해킹 모듈(116)은 해당 프로그램(110)이 다른 논리적 기반의 데스크탑에서 실행되고 있음을 의심하여 가상 데스크탑(190) 상으로 진입하도록 강화될 수 있다. On the other hand, when the
이에 따라 본 발명의 가상 데스크탑 보안 모듈(118)은 (S512)단계에서 디폴트 데스크탑(180)상 실행되고 있는 모든 프로그램의 오브젝트(object) 객체를 검사하여, 프로그램(110)이 아닌 다른 프로그램에 의해 생성된 가상 데스크탑 오브젝트 핸들(object handle)이 존재하는지 여부를 검사한다.Accordingly, the virtual
위 검사결과 프로그램(110)이 아닌 디폴트 데스크탑(180) 상 다른 프로그램에 의해 생성된 가상 데스크탑(190)의 오브젝트 핸들이 존재하는 경우 가상 데스크탑 보안 모듈(118)은 (S514)단계에서 (S516)단계로 진행해서 가상 데스크탑(190)의 보안 위험을 사용자에게 알려 사용자가 신속히 보안 위험에 대처할 수 있도록 한 다.If there is an object handle of the
이때, 만일 보호 프로그램이 온라인 게임인 경우에는 도 4의 실시 예 설명에서와 마찬가지로, 가상 데스크탑 오브젝트를 생성한 다른 프로그램이 해킹 모듈일 가능성이 매우 높고, 이는 사용자 자신에 의해 실행되었을 가능성이 높으므로, 해킹 위험에 대해 사용자에게 통지함 없이, 해당 비정상 윈도우를 자동으로 삭제하여 게임 프로그램에 대한 해킹을 방지시키도록 구현할 수도 있다. In this case, if the protection program is an online game, as in the description of the embodiment of FIG. 4, it is very likely that the other program that creates the virtual desktop object is a hacking module, which is most likely executed by the user. It may be implemented to prevent hacking of the game program by automatically deleting the abnormal window without notifying the user about the hacking risk.
이어, 가상 데스크탑 보안 모듈(118)은 (S418)단계에서 가상 데스크탑(190) 상에서 실행중인 프로그램(110)의 실행이 종료되는지 여부를 검사하고, 실행이 종료되는 경우 (S420)단계에서 프로그램(110)을 디폴트 데스크탑(180)으로 이동시킨다.Subsequently, the virtual
한편, 가상 데스크탑을 이용한 프로그램 보호 방법의 또 다른 실시 예로써, 보호 대상 프로그램이 처음부터 가상 데스크탑에서 실행되도록 구현할 수도 있다. 즉, 보호 대상 프로그램에 대한 실행 요청이 있는 경우 보호 대상 프로그램보다 가상 데스크탑 보안모듈이 먼저 실행되도록 구현하여, 가상 데스크탑 보안모듈이 보호대상 프로그램 실행 전에 미리 가상 데스크탑을 생성한 후, 보호 대상 프로그램이 처음부터 위와 같이 미리 생성된 가상 데스크탑에서 실행되도록 할 수도 있다.Meanwhile, as another embodiment of the program protection method using the virtual desktop, the protected target program may be implemented to be executed on the virtual desktop from the beginning. In other words, if there is a request for execution of a protected program, the virtual desktop security module is executed before the protected program.The virtual desktop security module generates the virtual desktop before executing the protected program. You can also run it on a pre-created virtual desktop as shown above.
이때, 위와 같은 보호 대상 프로그램이 처음부터 가상 데스크탑에서 실행되는 경우에는 쓰레드를 일일이 스위칭할 필요가 없어져 가상 데스크탑 전환 작업이 보다 효율적으로 이루어질 수 있다.In this case, when the above-described protected program is executed in the virtual desktop from the beginning, it is not necessary to switch threads individually so that the virtual desktop switching operation can be performed more efficiently.
상기한 바와 같이 본 발명에서는 가상 데스크탑을 이용하여 컴퓨터상 프로그 램을 보호하는 방법에 있어서, 프로그램이 수행되는 과정 중에 동일 디폴트 데스크탑상 존재하는 악성 프로그램에 의해서 온라인 게임이나 온라인 뱅킹 등의 프로그램에서 화면 정보 또는 사용자 입력 데이터를 빼내가거나 비정상적인 입력 데이터가 생성되는 문제와 무인 발권기 등의 단일 프로그램 수행환경에서 비인가된 사용자의 입력을 처리하는 프로그램들이 수행되는 문제를 해결하기 위해서, 별도의 논리적으로 격리된 가상 데스크탑에서 보호가 필요한 프로그램만이 실행되도록 함으로써 비인가된 접근을 차단하여 프로그램의 정보를 보다 안전하게 보호할 수 있도록 한다.As described above, in the present invention, in a method of protecting a program on a computer using a virtual desktop, screen information is displayed in a program such as an online game or an online bank by a malicious program existing on the same default desktop during the execution of the program. In order to solve the problem of extracting user input data or generating abnormal input data and executing a program that processes unauthorized user input in a single program execution environment such as an unmanned ticketing machine, a separate logically isolated virtual desktop By ensuring that only programs that need protection are run, you can block unauthorized access so that the program's information is more secure.
한편 상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.Meanwhile, in the above description of the present invention, specific embodiments have been described, but various modifications may be made without departing from the scope of the present invention. Therefore, the scope of the invention should be determined by the claims rather than by the described embodiments.
도 1은 본 발명의 실시 예에 따른 컴퓨터 OS 운영체제내 가상 데스크탑 구현 예시도,1 is a diagram illustrating an implementation of a virtual desktop in a computer OS operating system according to an embodiment of the present invention;
도 2는 본 발명의 실시 예에 따른 가상 데스크탑을 이용한 컴퓨터 프로그램 보호 제어 흐름도, 2 is a flowchart of a computer program protection control using a virtual desktop according to an embodiment of the present invention;
도 3은 본 발명의 실시 예에 따른 디폴트 데스크탑내 가상 윈도우 생성 예시도,3 illustrates an example of creating a virtual window in a default desktop according to an embodiment of the present invention.
도 4는 본 발명의 다른 실시 예에 따른 가상 데스크탑을 이용한 컴퓨터 프로그램 보호 제어 흐름도, 4 is a flowchart for controlling a computer program protection using a virtual desktop according to another embodiment of the present invention;
도 5는 본 발명의 다른 실시 예에 따른 가상 데스크탑을 이용한 컴퓨터 프로그램 보호 제어 흐름도.5 is a flowchart of a computer program protection control using a virtual desktop according to another embodiment of the present invention.
<도면의 주요 부호에 대한 간략한 설명><Brief description of the major symbols in the drawings>
100 : OS 운영체제 180 : 디폴트 데스크탑100: OS operating system 180: default desktop
190 : 가상 데스크탑 118 : 가상 데스크탑 보안모듈190: virtual desktop 118: virtual desktop security module
116 : 디폴트 데스크탑 해킹 모듈116: default desktop hacking module
Claims (28)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080037258A KR100931518B1 (en) | 2008-04-22 | 2008-04-22 | How to Protect Programs Using Virtual Desktops |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080037258A KR100931518B1 (en) | 2008-04-22 | 2008-04-22 | How to Protect Programs Using Virtual Desktops |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090111576A KR20090111576A (en) | 2009-10-27 |
KR100931518B1 true KR100931518B1 (en) | 2009-12-14 |
Family
ID=41539337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080037258A KR100931518B1 (en) | 2008-04-22 | 2008-04-22 | How to Protect Programs Using Virtual Desktops |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100931518B1 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101249764B1 (en) * | 2010-08-10 | 2013-04-03 | 주식회사 잉카인터넷 | method for detecting and blocking game-hack process |
CN102609299B (en) * | 2012-01-13 | 2015-03-11 | 深圳市深信服电子科技有限公司 | Virtualizing system, and creating method and creating device thereof |
KR102328193B1 (en) | 2015-06-24 | 2021-11-18 | 한국전자통신연구원 | Apparatus and method for virtual desktop service |
KR101929048B1 (en) | 2015-06-24 | 2018-12-13 | 한국전자통신연구원 | Apparatus and method for virtual desktop service based on in-memory |
KR101977726B1 (en) | 2015-11-17 | 2019-05-14 | 한국전자통신연구원 | APPARATUS AND METHOD FOR Virtual Desktop Services |
KR101946862B1 (en) | 2017-06-08 | 2019-04-29 | (주)필라웨어 | Management system for virtual desktop environment and virtual application environment based on personnel information of user |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060071308A (en) * | 2004-12-21 | 2006-06-26 | 마이크로소프트 코포레이션 | Computer security management, such as in a virtual machine or hardened operating system |
WO2008027564A2 (en) * | 2006-08-31 | 2008-03-06 | Vir2Us, Inc. | Network computer system and method using thin user client and virtual machine to provide immunity to hacking, viruses and spy-ware |
-
2008
- 2008-04-22 KR KR1020080037258A patent/KR100931518B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060071308A (en) * | 2004-12-21 | 2006-06-26 | 마이크로소프트 코포레이션 | Computer security management, such as in a virtual machine or hardened operating system |
WO2008027564A2 (en) * | 2006-08-31 | 2008-03-06 | Vir2Us, Inc. | Network computer system and method using thin user client and virtual machine to provide immunity to hacking, viruses and spy-ware |
Also Published As
Publication number | Publication date |
---|---|
KR20090111576A (en) | 2009-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2703156C2 (en) | Computer security systems and methods using asynchronous introspection exceptions | |
US7565535B2 (en) | Systems and methods for demonstrating authenticity of a virtual machine using a security image | |
CN105393255B (en) | Process assessment for the malware detection in virtual machine | |
US8756696B1 (en) | System and method for providing a virtualized secure data containment service with a networked environment | |
CN102667794B (en) | The method and system of unauthorized update is avoided for the protection of operating system | |
US7661126B2 (en) | Systems and methods for authenticating a user interface to a computer user | |
US8271803B2 (en) | Anti-debugging protection of binaries with proxy code execution | |
US7721094B2 (en) | Systems and methods for determining if applications executing on a computer system are trusted | |
CN101405705B (en) | System and method for foreign code detection | |
US8984629B2 (en) | Apparatus and method for preemptively protecting against malicious code by selective virtualization | |
US8347380B1 (en) | Protecting users from accidentally disclosing personal information in an insecure environment | |
KR100931518B1 (en) | How to Protect Programs Using Virtual Desktops | |
EP1512057B1 (en) | Trusted user interface for a secure mobile wireless device | |
JP2016129071A (en) | System and method for kernel rootkit protection in hypervisor environment | |
Ray et al. | Virtualization security | |
WO2018031178A1 (en) | Multi-modal memory hierarchical management for mitigating side-channel attacks in the cloud | |
CN118013586A (en) | Protecting selected disks on a computer system | |
US20220067195A1 (en) | Controlling installation of unauthorized drivers on a computer system | |
CN109997138A (en) | For detecting the system and method for calculating the malicious process in equipment | |
KR101089157B1 (en) | System and method for logically separating servers from clients on network using virtualization of client | |
TW202121211A (en) | Method and system for detecting web shell using process information | |
CN110659478B (en) | Method for detecting malicious files preventing analysis in isolated environment | |
KR20090111577A (en) | Method for protecting on-line electronic transaction program | |
JP2019008503A (en) | Information processing monitoring apparatus, information processing monitoring method, program, recording medium, and information processing apparatus | |
Caillat et al. | Prison: Tracking process interactions to contain malware |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130131 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20131204 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20141204 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20151204 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20161205 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20171204 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20181204 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20191204 Year of fee payment: 11 |