KR20170042603A - 가상 머신을 나가자 마자 현재 프로세서 명령의 결과를 노출하기 위한 시스템 및 방법 - Google Patents
가상 머신을 나가자 마자 현재 프로세서 명령의 결과를 노출하기 위한 시스템 및 방법 Download PDFInfo
- Publication number
- KR20170042603A KR20170042603A KR1020177004414A KR20177004414A KR20170042603A KR 20170042603 A KR20170042603 A KR 20170042603A KR 1020177004414 A KR1020177004414 A KR 1020177004414A KR 20177004414 A KR20177004414 A KR 20177004414A KR 20170042603 A KR20170042603 A KR 20170042603A
- Authority
- KR
- South Korea
- Prior art keywords
- guest
- execution
- processor
- computer security
- command
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
- G06F12/1475—Key-lock mechanism in a virtual system, e.g. with translation means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1483—Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/151—Emulated environment, e.g. virtual machine
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/651—Multi-level translation tables
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
도 1은 본 발명의 일부 실시예에 따른 호스트 컴퓨터 시스템의 예시적인 하드웨어 구성을 보여준다.
도 2a는 본 발명의 일부 실시예에 따른, 상기 호스트 시스템 상에서 실행되는 하이퍼바이저에 의하여 노출되는 가상 머신들의 예시적인 세트와, 상기 가상 머신들의 세트를 보호하는 컴퓨터 보안 모듈(CSM)을 보여준다.
도 2b는 CSM이 가상 머신 아래에서 실행되고, 예외 핸들러(exception handler)가 상기 피보호 가상 머신 내에서 실행되는 본 발명의 다른 실시예를 보여준다.
도 2c는 상기 CSM과 상기 예외 핸들러 모두 상기 피보호 가상 머신 내에서 실행되는 본 발명의 또 다른 실시예를 보여준다.
도 3은 본 발명의 일부 실시예에 따른 게스트 가상 머신으로서 노출되는 가상화된 하드웨어의 예시적 구성을 보여준다.
도 4는 본 발명의 일부 실시예에 따른 도 2a에서 도시된 바와 같은 하드웨어 가상화 구성에서 예시적 메모리 주소 변환(translation)의 세트를 보여준다.
도 5는 본 발명의 일부 실시예에 따른 프로세서의 예시적 요소를 보여준다.
도 6은 본 발명의 일부 실시예에 따른 상기 프로세서의 예시적 중단 이벤트 레지스터를 보여준다.
도 7은 x86 명령 세트의 예시적 프로세서 명령의 어셈블리 언어 표현(assembly language representation)과 그 대응하는 머신 코드 표현을 보여준다.
도 8은 본 발명의 일부 실시예에 따라 프로세서 명령을 실행하기 위한 상기 프로세서에 의하여 수행되는 단계들의 예시적 시퀀스를 보여준다.
도 9는 본 발명의 일부 실시예에 따라 게스트 가상 머신을 보호하기 위하여 컴퓨터 보안 모듈에 의하여 수행되는 단계들의 예시적 시퀀스를 보여준다.
Claims (21)
- 가상 머신과 컴퓨터 보안 프로그램을 실행하도록 구성된 적어도 하나의 하드웨어 프로세서를 포함하는 호스트 시스템으로서,
상기 적어도 하나의 하드웨어 프로세서는, 실행을 위한 게스트 명령을 수신하는 것의 응답으로, 상기 가상 머신 내에서 상기 게스트 명령(guest instruction)을 실행하는 것이 메모리 접근 허가의 위반을 유발하는지 여부를 결정하도록;
상기 적어도 하나의 프로세서는, 상기 게스트 명령을 실행하는 것이 상기 위반을 유발하는지 결정하는 것의 응답으로, 상기 게스트 명령을 실행하는 것이 상기 위반을 유발할 때, 상기 게스트 명령의 연산자(operator)를 상기 게스트 명령의 피연산자(operand)에 적용하는 결과를 결정하도록; 상기 결과를 상기 컴퓨터 보안 프로그램에 접근가능한 소정의 위치에 쓰도록; 상기 게스트 명령의 실행을 중단하도록; 그리고 상기 게스트 명령의 실행의 중단의 응답으로 상기 컴퓨터 보안 프로그램의 실행으로 전환하도록(이 때 상기 컴퓨터 보안 프로그램은 상기 위반이 컴퓨터 보안 위협을 나타내는지 여부를 결정하도록 구성된다); 추가적으로 구성되는 것을 특징으로 하는 호스트 시스템. - 제1항에 있어서,
상기 게스트 명령은 상기 적어도 하나의 하드웨어 프로세서로 하여금 상기 적어도 하나의 하드웨어 프로세서의 레지스터에 값을 쓰도록 명령하고, 상기 결과는 상기 값을 포함하는 것을 특징으로 하는 호스트 시스템. - 제2항에 있어서,
상기 레지스터는 상기 적어도 하나의 하드웨어 프로세서의 범용 레지스터인 것을 특징으로 하는 호스트 시스템. - 제2항에 있어서,
상기 레지스터는 상기 적어도 하나의 하드웨어 프로세서의 제어 레지스터인 것을 특징으로 하는 호스트 시스템. - 제1항에 있어서,
상기 게스트 명령은 상기 적어도 하나의 하드웨어 프로세서로 하여금 상기 호스트 시스템의 메모리에 값을 쓰도록 명령하고, 상기 결과는 상기 값을 포함하는 것을 특징으로 하는 호스트 시스템. - 제1항에 있어서,
상기 결과는 메모리 주소를 포함하는 것을 특징으로 하는 호스트 시스템. - 제1항에 있어서,
상기 결과는 상기 게스트 명령의 상기 피연산자를 포함하는 것을 특징으로 하는 호스트 시스템. - 제1항에 있어서,
상기 컴퓨터 보안 프로그램은 상기 가상 머신 내에서 실행되는 것을 특징으로 하는 호스트 시스템. - 제1항에 있어서,
상기 컴퓨터 보안 프로그램은 상기 가상 머신 밖에서 실행되는 것을 특징으로 하는 호스트 시스템. - 제1항에 있어서,
상기 소정의 위치는 상기 적어도 하나의 하드웨어 프로세서의 소정의 레지스터를 포함하는 것을 특징으로 하는 호스트 시스템. - 제1항에 있어서,
상기 소정의 위치는 상기 호스트 시스템의 메모리의 소정 섹션을 포함하는 것을 특징으로 하는 호스트 시스템. - 제1항에 있어서,
상기 소정의 위치는 상기 가상 머신의 현재 상태를 나타내는 데이터 구조를 포함하는 것을 특징으로 하는 호스트 시스템. - 제1항에 있어서,
상기 적어도 하나의 하드웨어 프로세서는, 상기 컴퓨터 보안 프로그램의 실행으로 전환하는 것의 응답으로, 상기 소정의 위치로부터 상기 결과를 읽어들이도록 추가적으로 구성되는 것을 특징으로 하는 호스트 시스템. - 제13항에 있어서,
상기 적어도 하나의 하드웨어 프로세서는, 상기 결과를 읽어들이는 것의 응답으로, 상기 게스트 명령에 따라서 결정된 목적지(destination)에 상기 결과를 쓰도록 추가적으로 구성되는 것을 특징으로 하는 호스트 시스템. - 제1항에 있어서,
상기 컴퓨터 보안 프로그램은, 상기 적어도 하나의 하드웨어 프로세서에 의하여 실행될 때 상기 적어도 하나의 하드웨어 프로세서로 하여금 상기 소정의 위치로부터 상기 결과를 읽어들이도록 하고 또한 상기 결과를 상기 게스트 명령에 따라서 결정된 목적지에 쓰도록 하는 명령을 포함하는 것을 특징으로 하는 호스트 시스템. - 제1항에 있어서,
상기 적어도 하나의 하드웨어 프로세서는 상기 컴퓨터 보안 프로그램을 실행하는 것으로 전환하는 것의 응답으로, 상기 게스트 명령이 원자적 명령(atomic instruction)인지를 결정하도록, 그리고 응답으로 상기 게스트 명령이 원자적 명령일 때, 상기 가상 머신 내에서 상기 게스트 명령을 실행하도록 추가적으로 구성되는 것을 특징으로 하는 호스트 시스템. - 호스트 시스템을 컴퓨터 보안 위협들로부터 보호하는 방법으로서,
상기 방법은, 실행을 위한 게스트 명령을 수신하는 것에 응답하여 상기 게스트 명령을 실행하는 것이 메모리 접근 허가의 위반을 유발하는지 여부를 결정하도록 상기 호스트 시스템의 적어도 하나의 프로세서를 채용하는 것(상기 게스트 명령은 상기 호스트 시스템에 의하여 노출된 게스트 가상 머신 내에서 실행됨)을 포함하고,
상기 방법은, 상기 게스트 명령이 상기 위반을 유발하는지 여부를 결정하는 것에 응답으로, 상기 게스트 명령을 실행하는 것이 상기 위반을 유발할 때, 상기 게스트 명령의 연산자(operator)를 상기 게스트 명령의 피연산자(operand)에 적용하는 결과를 결정하기 위하여 상기 적어도 하나의 하드웨어 프로세서를 채용하는 것과; 상기 컴퓨터 보안 프로그램에 접근가능한 소정의 위치에 상기 결과를 쓰도록 상기 적어도 하나의 하드웨어 프로세서를 채용하는 것과; 상기 게스트 명령의 실행을 중단하는 것과; 상기 게스트 명령의 실행을 중단하는 것에 응답으로, 상기 컴퓨터 보안 프로그램을 실행하는 것으로 전환하는 것(이 때, 상기 컴퓨터 보안 프로그램은 상기 위반이 컴퓨터 보안 위협을 나타내는 지를 결정하도록 구성됨);을 포함하는 것을 특징으로 하는 호스트 시스템을 컴퓨터 보안 위협들로부터 보호하는 방법. - 제16항에 있어서,
상기 컴퓨터 보안 프로그램의 실행으로 전환하는 것으로의 응답으로, 상기 결과를 상기 소정의 위치로부터 읽기 위하여 상기 적어도 하나의 하드웨어 프로세서를 채용하는 것을 추가적으로 포함하는 것을 특징으로 하는 호스트 시스템을 컴퓨터 보안 위협들로부터 보호하는 방법. - 제17항에 있어서,
상기 결과를 읽는 것의 응답으로, 상기 게스트 명령에 따라서 결정된 목적지에 상기 결과를 쓰기 위하여 상기 적어도 하나의 프로세서를 채용하는 것을 추가적으로 포함하는 것을 특징으로 하는 호스트 시스템을 컴퓨터 보안 위협들로부터 보호하는 방법. - 호스트 시스템의 적어도 하나의 하드웨어 프로세서로서,
상기 적어도 하나의 하드웨어 프로세서는, 실행을 위한 게스트 명령을 수신하는 것에 응답으로 상기 게스트 명령을 실행하는 것이 메모리 접근 허가의 위반을 유발하는지 여부를 결정하도록(이 때 상기 게스트 명령은 상기 호스트 시스템에 의하여 노출되는 게스트 가상 머신 내에서 실행됨) 구성될 수 있고,
상기 적어도 하나의 하드웨어 프로세서는, 상기 게스트 명령이 상기 위반을 유발하는지 여부를 결정하는 것에 응답으로, 상기 게스트 명령을 실행하는 것이 상기 위반을 유발할 때, 상기 게스트 명령의 연산자를 상기 게스트 명령의 피연산자로 적용하는 결과를 결정하도록; 상기 컴퓨터 보안 프로그램에 접근가능한 소정의 위치에 상기 결과를 쓰도록; 상기 게스트 명령의 실행을 중단하도록; 그리고 상기 게스트 명령의 실행의 중단의 응답으로 컴퓨터 보안 프로그램의 실행으로 전환하도록(이 때 상기 컴퓨터 보안 프로그램은 상기 위반이 컴퓨터 보안 위협을 나타내는지 여부를 결정하도록 구성됨) 구성될 수 있는 것을 특징으로 하는 호스트 시스템의 적어도 하나의 하드웨어 프로세서. - 호스트 시스템의 적어도 하나의 하드웨어 프로세서에 의하여 실행될 때, 상기 호스트 시스템이 메모리 접근 허가의 위반이 컴퓨터 보안 위협을 나타내는지 여부를 결정하도록 구성된 컴퓨터 보안 프로그램을 형성하도록 하는 명령들을 저장하는 비-일시적 컴퓨터 판독가능 매체(non-transitory computer-readable medium)로서,
상기 적어도 하나의 하드웨어 프로세서는 실행을 위한 게스트 명령을 수신하는 것에 응답으로, 상기 게스트 명령을 실행하는 것이 상기 위반을 유발하는 지를 결정하도록(이 때 상기 게스트 명령은 상기 호스트 시스템에 의하여 노출되는 게스트 가상 머신 내에서 실행됨) 구성될 수 있고,
상기 적어도 하나의 하드웨어 프로세서는 상기 게스트 명령이 상기 위반을 유발하는지 여부를 결정하는 것에 응답으로, 상기 게스트 명령을 실행하는 것이 상기 위반을 유발할 때, 상기 게스트 명령의 연산자를 상기 게스트 명령의 피연산자로 적용하는 결과를 결정하도록; 상기 컴퓨터 보안 프로그램에 접근가능한 소정의 위치에 상기 결과를 쓰도록; 상기 게스트 명령의 실행을 중단하도록; 그리고 상기 게스트 명령의 실행의 중단의 응답으로 상기 컴퓨터 보안 프로그램의 실행으로 전환하도록; 구성될 수 있는 것을 특징으로 하는 비-일시적 컴퓨터 판독가능 매체.
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201462038476P | 2014-08-18 | 2014-08-18 | |
| US62/038,476 | 2014-08-18 | ||
| US14/489,820 | 2014-09-18 | ||
| US14/489,820 US9672354B2 (en) | 2014-08-18 | 2014-09-18 | Systems and methods for exposing a result of a current processor instruction upon exiting a virtual machine |
| PCT/RO2015/050009 WO2016118033A2 (en) | 2014-08-18 | 2015-08-11 | Systems and methods for exposing a result of a current processor instruction upon exiting a virtual machine |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20170042603A true KR20170042603A (ko) | 2017-04-19 |
| KR102116571B1 KR102116571B1 (ko) | 2020-06-01 |
Family
ID=55302381
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020177004413A Withdrawn KR20170042602A (ko) | 2014-08-18 | 2015-08-11 | 가상 머신을 나가자 마자 현재 프로세서 명령을 노출하기 위한 시스템 및 방법 |
| KR1020177004414A Active KR102116571B1 (ko) | 2014-08-18 | 2015-08-11 | 가상 머신을 나가자 마자 현재 프로세서 명령의 결과를 노출하기 위한 시스템 및 방법 |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020177004413A Withdrawn KR20170042602A (ko) | 2014-08-18 | 2015-08-11 | 가상 머신을 나가자 마자 현재 프로세서 명령을 노출하기 위한 시스템 및 방법 |
Country Status (12)
| Country | Link |
|---|---|
| US (2) | US20160048679A1 (ko) |
| EP (2) | EP3183660A2 (ko) |
| JP (1) | JP6496401B2 (ko) |
| KR (2) | KR20170042602A (ko) |
| CN (2) | CN106575237A (ko) |
| AU (2) | AU2015378728A1 (ko) |
| CA (2) | CA2954604C (ko) |
| ES (1) | ES2732876T3 (ko) |
| IL (2) | IL249848A0 (ko) |
| RU (2) | RU2686552C2 (ko) |
| SG (2) | SG11201700795VA (ko) |
| WO (2) | WO2016118032A2 (ko) |
Families Citing this family (37)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9756074B2 (en) * | 2013-12-26 | 2017-09-05 | Fireeye, Inc. | System and method for IPS and VM-based detection of suspicious objects |
| US20150205962A1 (en) * | 2014-01-23 | 2015-07-23 | Cylent Systems, Inc. | Behavioral analytics driven host-based malicious behavior and data exfiltration disruption |
| GB2532415A (en) * | 2014-11-11 | 2016-05-25 | Ibm | Processing a guest event in a hypervisor-controlled system |
| US9940455B2 (en) | 2015-02-25 | 2018-04-10 | International Business Machines Corporation | Programming code execution management |
| US10726127B1 (en) | 2015-06-30 | 2020-07-28 | Fireeye, Inc. | System and method for protecting a software component running in a virtual machine through virtual interrupts by the virtualization layer |
| US10642753B1 (en) | 2015-06-30 | 2020-05-05 | Fireeye, Inc. | System and method for protecting a software component running in virtual machine using a virtualization layer |
| US11113086B1 (en) | 2015-06-30 | 2021-09-07 | Fireeye, Inc. | Virtual system and method for securing external network connectivity |
| US10216927B1 (en) | 2015-06-30 | 2019-02-26 | Fireeye, Inc. | System and method for protecting memory pages associated with a process using a virtualization layer |
| US10395029B1 (en) | 2015-06-30 | 2019-08-27 | Fireeye, Inc. | Virtual system and method with threat protection |
| US10033759B1 (en) | 2015-09-28 | 2018-07-24 | Fireeye, Inc. | System and method of threat detection under hypervisor control |
| US10121004B2 (en) * | 2015-10-07 | 2018-11-06 | Electronics And Telecommunications Research Institute | Apparatus and method for monitoring virtual machine based on hypervisor |
| US10135701B2 (en) * | 2016-02-19 | 2018-11-20 | At&T Intellectual Property I, L.P. | Context-aware virtualized control decision support system for providing quality of experience assurance for internet protocol streaming video services |
| US12339979B2 (en) * | 2016-03-07 | 2025-06-24 | Crowdstrike, Inc. | Hypervisor-based interception of memory and register accesses |
| US12248560B2 (en) * | 2016-03-07 | 2025-03-11 | Crowdstrike, Inc. | Hypervisor-based redirection of system calls and interrupt-based task offloading |
| US10635479B2 (en) * | 2016-12-19 | 2020-04-28 | Bitdefender IPR Management Ltd. | Event filtering for virtual machine security applications |
| US10613897B1 (en) * | 2016-12-21 | 2020-04-07 | Ca, Inc. | Systems and methods for creating program-specific execution environments |
| US10243746B2 (en) | 2017-02-27 | 2019-03-26 | Red Hat, Inc. | Systems and methods for providing I/O state protections in a virtualized environment |
| US9935818B1 (en) | 2017-05-02 | 2018-04-03 | At&T Intellectual Property I, L.P. | Diagnostic traffic generation for automatic testing and troubleshooting |
| US10936353B2 (en) * | 2017-05-16 | 2021-03-02 | Dell Products L.P. | Systems and methods for hypervisor-assisted hardware accelerator offloads in a virtualized information handling system environment |
| US10546120B2 (en) | 2017-09-25 | 2020-01-28 | AO Kaspersky Lab | System and method of forming a log in a virtual machine for conducting an antivirus scan of a file |
| US10698783B2 (en) * | 2018-01-09 | 2020-06-30 | Vmware, Inc. | Virtualization detection in a computing system |
| US10810304B2 (en) * | 2018-04-16 | 2020-10-20 | International Business Machines Corporation | Injecting trap code in an execution path of a process executing a program to generate a trap address range to detect potential malicious code |
| US11003777B2 (en) | 2018-04-16 | 2021-05-11 | International Business Machines Corporation | Determining a frequency at which to execute trap code in an execution path of a process executing a program to generate a trap address range to detect potential malicious code |
| JP7035787B2 (ja) * | 2018-05-14 | 2022-03-15 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
| KR102067735B1 (ko) * | 2018-06-20 | 2020-01-17 | 연세대학교 산학협력단 | 가상화 시스템의 메모리 관리 장치 및 그 방법 |
| US11385918B2 (en) * | 2019-01-23 | 2022-07-12 | Vmware, Inc. | Dynamic discovery of internal kernel functions and global data |
| US11403409B2 (en) | 2019-03-08 | 2022-08-02 | International Business Machines Corporation | Program interruptions for page importing/exporting |
| US11347869B2 (en) * | 2019-03-08 | 2022-05-31 | International Business Machines Corporation | Secure interface control high-level page management |
| US11206128B2 (en) | 2019-03-08 | 2021-12-21 | International Business Machines Corporation | Secure paging with page change detection |
| US11221869B2 (en) | 2020-03-25 | 2022-01-11 | Red Hat, Inc. | Memory efficient host virtual address management for hypercalls |
| US11886351B2 (en) | 2020-03-25 | 2024-01-30 | Red Hat, Inc. | Memory efficient virtual address management for system calls |
| US11556346B2 (en) * | 2020-06-10 | 2023-01-17 | Qualcomm Incorporated | Security enhancement in hierarchical protection domains |
| CN112596921A (zh) * | 2020-12-17 | 2021-04-02 | 海光信息技术股份有限公司 | 系统调用处理方法及处理装置 |
| US12223318B2 (en) * | 2021-03-26 | 2025-02-11 | Intel Corporation | Apparatus and method for managing unsupported instruction set architecture (ISA) features in a virtualized environment |
| US12020059B2 (en) * | 2021-08-30 | 2024-06-25 | International Business Machines Corporation | Inaccessible prefix pages during virtual machine execution |
| US12399979B2 (en) * | 2022-04-19 | 2025-08-26 | Microsoft Technology Licensing, Llc | Provisioning a security component from a cloud host to a guest virtual resource unit |
| US20260003657A1 (en) * | 2024-06-28 | 2026-01-01 | Schlumberger Technology Corporation | Virtualized and cloud agnostic industrial internet of things platform |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040111568A1 (en) * | 2002-12-05 | 2004-06-10 | Nguyen Hung T. | Distributed result system for high-performance wide-issue superscalar processor |
| US20100318991A1 (en) * | 2009-06-15 | 2010-12-16 | Vmware, Inc. | Virtual Machine Fault Tolerance |
| US20130086299A1 (en) * | 2011-10-03 | 2013-04-04 | Cisco Technology, Inc. | Security in virtualized computer programs |
| US20140164746A1 (en) * | 2012-12-11 | 2014-06-12 | International Business Machines Corporation | Tracking Multiple Conditions in a General Purpose Register and Instruction Therefor |
Family Cites Families (40)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4985825A (en) * | 1989-02-03 | 1991-01-15 | Digital Equipment Corporation | System for delaying processing of memory access exceptions until the execution stage of an instruction pipeline of a virtual memory system based digital computer |
| US5926646A (en) | 1997-09-11 | 1999-07-20 | Advanced Micro Devices, Inc. | Context-dependent memory-mapped registers for transparent expansion of a register file |
| US5870575A (en) * | 1997-09-22 | 1999-02-09 | International Business Machines Corporation | Indirect unconditional branches in data processing system emulation mode |
| US6625725B1 (en) | 1999-12-22 | 2003-09-23 | Intel Corporation | Speculative reuse of code regions |
| US7451324B2 (en) * | 2002-05-31 | 2008-11-11 | Advanced Micro Devices, Inc. | Secure execution mode exceptions |
| US20030229794A1 (en) | 2002-06-07 | 2003-12-11 | Sutton James A. | System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container |
| US7124327B2 (en) * | 2002-06-29 | 2006-10-17 | Intel Corporation | Control over faults occurring during the operation of guest software in the virtual-machine architecture |
| US7111145B1 (en) | 2003-03-25 | 2006-09-19 | Vmware, Inc. | TLB miss fault handler and method for accessing multiple page tables |
| US7620949B2 (en) * | 2004-03-31 | 2009-11-17 | Intel Corporation | Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment |
| US7917740B1 (en) | 2004-05-11 | 2011-03-29 | Advanced Micro Devices, Inc. | Virtualization assist for legacy x86 floating point exception handling |
| US7370181B2 (en) | 2004-06-22 | 2008-05-06 | Intel Corporation | Single stepping a virtual machine guest using a reorder buffer |
| US7581085B1 (en) | 2005-09-08 | 2009-08-25 | Parallels Software International, Inc. | Fast stub and frame technology for virtual machine optimization |
| US20070106986A1 (en) | 2005-10-25 | 2007-05-10 | Worley William S Jr | Secure virtual-machine monitor |
| US20070136724A1 (en) | 2005-12-12 | 2007-06-14 | Arun Sharma | Transferring registers in transitions between computer environments |
| US20070245117A1 (en) * | 2006-04-12 | 2007-10-18 | Hob Gmbh & Co. Kg | Processor comprising an instruction set and registers for simplified opcode access |
| US7634642B2 (en) | 2006-07-06 | 2009-12-15 | International Business Machines Corporation | Mechanism to save and restore cache and translation trace for fast context switch |
| US8595487B2 (en) | 2006-11-01 | 2013-11-26 | Vmware, Inc. | Virtualization hardware for device driver isolation |
| US7996836B1 (en) | 2006-12-29 | 2011-08-09 | Symantec Corporation | Using a hypervisor to provide computer security |
| US8561060B2 (en) | 2007-04-26 | 2013-10-15 | Advanced Micro Devices, Inc. | Processor and method configured to determine an exit mechanism using an intercept configuration for a virtual machine |
| JP2009009232A (ja) * | 2007-06-26 | 2009-01-15 | Hitachi Ltd | コンピュータとカーネル保護方法並びにコンピュータソフトウエア |
| US8261028B2 (en) | 2007-12-31 | 2012-09-04 | Intel Corporation | Cached dirty bits for context switch consistency checks |
| US8307360B2 (en) | 2008-01-22 | 2012-11-06 | Advanced Micro Devices, Inc. | Caching binary translations for virtual machine guest |
| US8443363B1 (en) * | 2008-05-30 | 2013-05-14 | Symantec Corporation | Coordinated virtualization activities |
| US8612975B2 (en) | 2009-07-07 | 2013-12-17 | Advanced Micro Devices, Inc. | World switch between virtual machines with selective storage of state information |
| EP2980695B1 (en) * | 2010-05-09 | 2017-04-12 | Citrix Systems, Inc. | Methods and systems for forcing an application to store data in a secure storage location |
| US9165136B1 (en) | 2010-10-27 | 2015-10-20 | Amazon Technologies, Inc. | Supervising execution of untrusted code |
| US8578080B2 (en) | 2011-07-01 | 2013-11-05 | Intel Corporation | Secure handling of interrupted events utilizing a virtual interrupt definition table |
| US8694738B2 (en) | 2011-10-11 | 2014-04-08 | Mcafee, Inc. | System and method for critical address space protection in a hypervisor environment |
| US9069586B2 (en) | 2011-10-13 | 2015-06-30 | Mcafee, Inc. | System and method for kernel rootkit protection in a hypervisor environment |
| WO2013089695A1 (en) * | 2011-12-14 | 2013-06-20 | Intel Corporation | Method and system for monitoring calls to an application program interface (api) function |
| US20130174144A1 (en) | 2011-12-28 | 2013-07-04 | Ati Technologies Ulc | Hardware based virtualization system |
| US8719546B2 (en) * | 2012-01-04 | 2014-05-06 | Intel Corporation | Substitute virtualized-memory page tables |
| US8966324B2 (en) | 2012-06-15 | 2015-02-24 | International Business Machines Corporation | Transactional execution branch indications |
| US9361115B2 (en) | 2012-06-15 | 2016-06-07 | International Business Machines Corporation | Saving/restoring selected registers in transactional processing |
| US9336046B2 (en) | 2012-06-15 | 2016-05-10 | International Business Machines Corporation | Transaction abort processing |
| US9311101B2 (en) | 2012-06-15 | 2016-04-12 | International Business Machines Corporation | Intra-instructional transaction abort handling |
| EP2880587B1 (en) | 2012-08-03 | 2017-05-10 | North Carolina State University | Methods, systems, and computer readable medium for active monitoring, memory protection and integrity verification of target devices |
| RU2522019C1 (ru) * | 2012-12-25 | 2014-07-10 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ обнаружения угроз в коде, исполняемом виртуальной машиной |
| US9058415B1 (en) * | 2013-03-15 | 2015-06-16 | Google Inc. | Counting events using hardware performance counters and annotated instructions |
| US9292686B2 (en) | 2014-01-16 | 2016-03-22 | Fireeye, Inc. | Micro-virtualization architecture for threat-aware microvisor deployment in a node of a network environment |
-
2014
- 2014-09-18 US US14/489,801 patent/US20160048679A1/en not_active Abandoned
- 2014-09-18 US US14/489,820 patent/US9672354B2/en active Active
-
2015
- 2015-08-11 WO PCT/RO2015/050008 patent/WO2016118032A2/en not_active Ceased
- 2015-08-11 CA CA2954604A patent/CA2954604C/en active Active
- 2015-08-11 EP EP15879116.0A patent/EP3183660A2/en not_active Withdrawn
- 2015-08-11 CN CN201580042692.9A patent/CN106575237A/zh active Pending
- 2015-08-11 CN CN201580042152.0A patent/CN106575236A/zh active Pending
- 2015-08-11 RU RU2017104752A patent/RU2686552C2/ru active
- 2015-08-11 SG SG11201700795VA patent/SG11201700795VA/en unknown
- 2015-08-11 AU AU2015378728A patent/AU2015378728A1/en not_active Abandoned
- 2015-08-11 JP JP2017509643A patent/JP6496401B2/ja active Active
- 2015-08-11 EP EP15879117.8A patent/EP3183682B1/en active Active
- 2015-08-11 ES ES15879117T patent/ES2732876T3/es active Active
- 2015-08-11 RU RU2017104753A patent/RU2017104753A/ru unknown
- 2015-08-11 CA CA2954510A patent/CA2954510A1/en not_active Abandoned
- 2015-08-11 AU AU2015378729A patent/AU2015378729B2/en active Active
- 2015-08-11 SG SG11201700794SA patent/SG11201700794SA/en unknown
- 2015-08-11 KR KR1020177004413A patent/KR20170042602A/ko not_active Withdrawn
- 2015-08-11 KR KR1020177004414A patent/KR102116571B1/ko active Active
- 2015-08-11 WO PCT/RO2015/050009 patent/WO2016118033A2/en not_active Ceased
-
2016
- 2016-12-29 IL IL249848A patent/IL249848A0/en unknown
- 2016-12-29 IL IL249849A patent/IL249849A0/en active IP Right Grant
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040111568A1 (en) * | 2002-12-05 | 2004-06-10 | Nguyen Hung T. | Distributed result system for high-performance wide-issue superscalar processor |
| US20100318991A1 (en) * | 2009-06-15 | 2010-12-16 | Vmware, Inc. | Virtual Machine Fault Tolerance |
| US20130086299A1 (en) * | 2011-10-03 | 2013-04-04 | Cisco Technology, Inc. | Security in virtualized computer programs |
| US20140164746A1 (en) * | 2012-12-11 | 2014-06-12 | International Business Machines Corporation | Tracking Multiple Conditions in a General Purpose Register and Instruction Therefor |
Also Published As
| Publication number | Publication date |
|---|---|
| CN106575236A (zh) | 2017-04-19 |
| CN106575237A (zh) | 2017-04-19 |
| SG11201700794SA (en) | 2017-03-30 |
| AU2015378728A1 (en) | 2017-01-19 |
| US20160048679A1 (en) | 2016-02-18 |
| WO2016118032A3 (en) | 2016-10-13 |
| WO2016118033A3 (en) | 2016-10-27 |
| IL249848A0 (en) | 2017-03-30 |
| EP3183682B1 (en) | 2019-04-03 |
| EP3183682A2 (en) | 2017-06-28 |
| US9672354B2 (en) | 2017-06-06 |
| KR102116571B1 (ko) | 2020-06-01 |
| US20160048680A1 (en) | 2016-02-18 |
| EP3183660A2 (en) | 2017-06-28 |
| IL249849A0 (en) | 2017-03-30 |
| RU2686552C2 (ru) | 2019-04-29 |
| JP2017526071A (ja) | 2017-09-07 |
| RU2017104753A (ru) | 2018-09-20 |
| WO2016118033A2 (en) | 2016-07-28 |
| ES2732876T3 (es) | 2019-11-26 |
| AU2015378729A1 (en) | 2017-01-19 |
| CA2954604C (en) | 2020-09-29 |
| JP6496401B2 (ja) | 2019-04-03 |
| SG11201700795VA (en) | 2017-03-30 |
| CA2954510A1 (en) | 2016-07-28 |
| WO2016118032A8 (en) | 2017-01-05 |
| AU2015378729B2 (en) | 2020-07-09 |
| KR20170042602A (ko) | 2017-04-19 |
| RU2017104752A (ru) | 2018-09-20 |
| WO2016118032A2 (en) | 2016-07-28 |
| RU2017104752A3 (ko) | 2019-02-01 |
| CA2954604A1 (en) | 2016-07-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102116571B1 (ko) | 가상 머신을 나가자 마자 현재 프로세서 명령의 결과를 노출하기 위한 시스템 및 방법 | |
| US9400885B2 (en) | Computer security systems and methods using virtualization exceptions | |
| US10635479B2 (en) | Event filtering for virtual machine security applications | |
| US10140448B2 (en) | Systems and methods of asynchronous analysis of event notifications for computer security applications | |
| US9507727B2 (en) | Page fault injection in virtual machines | |
| US20160210069A1 (en) | Systems and Methods For Overriding Memory Access Permissions In A Virtual Machine | |
| US20160048458A1 (en) | Computer Security Systems and Methods Using Hardware-Accelerated Access To Guest Memory From Below The Operating System | |
| NL2030804B1 (en) | Flexible return and event delivery | |
| JP2023038361A (ja) | 命令セット内の変更を制御する装置及び方法 | |
| Kuznetsov et al. | Privbox: Faster system calls through sandboxed privileged execution | |
| HK1231981A1 (en) | Systems and methods for exposing a result of a current processor instruction upon exiting a virtual machine |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0105 | International application |
Patent event date: 20170216 Patent event code: PA01051R01D Comment text: International Patent Application |
|
| PG1501 | Laying open of application | ||
| A201 | Request for examination | ||
| A302 | Request for accelerated examination | ||
| PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20190813 Comment text: Request for Examination of Application |
|
| PA0302 | Request for accelerated examination |
Patent event date: 20190813 Patent event code: PA03022R01D Comment text: Request for Accelerated Examination |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20191121 Patent event code: PE09021S01D |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20200310 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20200522 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20200525 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration |