JP2017526071A5 - - Google Patents

Download PDF

Info

Publication number
JP2017526071A5
JP2017526071A5 JP2017509643A JP2017509643A JP2017526071A5 JP 2017526071 A5 JP2017526071 A5 JP 2017526071A5 JP 2017509643 A JP2017509643 A JP 2017509643A JP 2017509643 A JP2017509643 A JP 2017509643A JP 2017526071 A5 JP2017526071 A5 JP 2017526071A5
Authority
JP
Japan
Prior art keywords
execution
host system
location
guest instruction
result
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
Application number
JP2017509643A
Other languages
English (en)
Other versions
JP6496401B2 (ja
JP2017526071A (ja
Filing date
Publication date
Priority claimed from US14/489,820 external-priority patent/US9672354B2/en
Application filed filed Critical
Publication of JP2017526071A publication Critical patent/JP2017526071A/ja
Publication of JP2017526071A5 publication Critical patent/JP2017526071A5/ja
Application granted granted Critical
Publication of JP6496401B2 publication Critical patent/JP6496401B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (21)

  1. 仮想マシンとコンピュータセキュリティプログラムとを実行するように構成された少なくとも1つのハードウェアプロセッサを備えたホストシステムであって、前記少なくとも1つのハードウェアプロセッサは、
    実行のためのゲスト命令を受け取るのに応答して、前記ゲスト命令の前記仮想マシン内での実行によりメモリアクセス許可の違反が生じるかどうかを判定することであって、前記ゲスト命令は、前記少なくとも1つのハードウェアプロセッサに、オペレータのオペランドへの適用の結果を求めるように命令し、前記ゲスト命令の前記違反のない実行は、前記結果の第1の場所への書き込みを生じさせる、判定することと、
    前記ゲスト命令の実行により前記違反が生じるかどうかの判定に応答して、前記ゲスト命令の実行により前記違反が生じる場合に、前記結果を前記第1の場所とは異なる第2の場所に書き込むことであって、前記第2の場所は前記コンピュータセキュリティプログラムからアクセス可能である、書き込むことと、
    前記結果の前記第2の場所への書き込みに応答して、前記ゲスト命令の実行から前記コンピュータセキュリティプログラムの実行に切り換えることであって、前記コンピュータセキュリティプログラムは、前記違反がコンピュータセキュリティの脅威を示すかどうかを判定するように構成された、切り換えることと
    を行うようにさらに構成された、ホストシステム。
  2. 請求項1に記載のホストシステムであって、前記第1の場所は前記少なくとも1つのハードウェアプロセッサの汎用レジスタである、ホストシステム。
  3. 請求項1に記載のホストシステムであって、前記第1の場所は前記少なくとも1つのハードウェアプロセッサの制御レジスタである、ホストシステム。
  4. 請求項1に記載のホストシステムであって、前記第1の場所は前記ホストシステムのメモリのセクションを含む、ホストシステム。
  5. 請求項1に記載のホストシステムであって、前記結果はメモリアドレスを含む、ホストシステム。
  6. 請求項1に記載のホストシステムであって、前記結果は前記オペランドを含む、ホストシステム。
  7. 請求項1に記載のホストシステムであって、前記コンピュータセキュリティプログラムは前記仮想マシン内で実行される、ホストシステム。
  8. 請求項1に記載のホストシステムであって、前記コンピュータセキュリティプログラムは前記仮想マシン外で実行される、ホストシステム。
  9. 請求項1に記載のホストシステムであって、前記第2の場所は、前記少なくとも1つのハードウェアプロセッサの所定のレジスタを含む、ホストシステム。
  10. 請求項1に記載のホストシステムであって、前記第2の場所は、前記ホストシステムのメモリの所定のセクションを含む、ホストシステム。
  11. 請求項1に記載のホストシステムであって、前記第2の場所は、前記仮想マシンの現在状態を示すデータ構造を含む、ホストシステム。
  12. 請求項1に記載のホストシステムであって、前記少なくとも1つのハードウェアプロセッサは、前記コンピュータセキュリティプログラムの実行に切り換えるのに応答して、前記結果を前記第2の場所から読み出すようにさらに構成された、ホストシステム。
  13. 請求項12に記載のホストシステムであって、前記少なくとも1つのハードウェアプロセッサは、前記結果を読み出すのに応答して、前記結果を、前記ゲスト命令に従って定まる宛先に書き込むようにさらに構成された、ホストシステム。
  14. 請求項1に記載のホストシステムであって、前記コンピュータセキュリティプログラムは、前記少なくとも1つのハードウェアプロセッサにより実行されると、前記少なくとも1つのハードウェアプロセッサに、前記結果を前記第2の場所から読み出し、前記結果を、前記ゲスト命令に従って定まる宛先に書き込むことをさせる命令を含む、ホストシステム。
  15. 請求項1に記載のホストシステムであって、前記少なくとも1つのハードウェアプロセッサは、前記コンピュータセキュリティプログラムの実行に切り換えるのに応答して、
    前記ゲスト命令がアトミック命令であるかどうかを判定し、
    それに応答して、前記ゲスト命令がアトミック命令である場合に、前記ゲスト命令を前記仮想マシン内で実行する
    ようにさらに構成された、ホストシステム。
  16. ホストシステムをコンピュータセキュリティの脅威から保護する方法であって、
    実行のためのゲスト命令を受け取るのに応答して、前記ホストシステムの少なくとも1つのハードウェアプロセッサが、前記ゲスト命令の実行によりメモリアクセス許可の違反が生じるかどうかを判定するステップであって、前記ゲスト命令は、前記ホストシステムによって公開されるゲスト仮想マシン内で実行され、前記ゲスト命令は、前記少なくとも1つのハードウェアプロセッサに、オペレータのオペランドへの適用の結果を求めるように命令し、前記ゲスト命令の前記違反のない実行は、前記結果の第1の場所への書き込みを生じさせる、ステップと、
    前記ゲスト命令の実行により前記違反が生じるかどうかの判定に応答して、前記ゲスト命令の実行により前記違反が生じる場合に、前記少なくとも1つのハードウェアプロセッサが、前記結果を前記第1の場所とは異なる第2の場所に書き込むステップであって、前記第2の場所はコンピュータセキュリティプログラムからアクセス可能である、ステップと、
    前記結果の前記第2の場所への書き込みに応答して、前記少なくとも1つのハードウェアプロセッサが、前記ゲスト命令の実行から前記コンピュータセキュリティプログラムの実行に切り換えるステップであって、前記コンピュータセキュリティプログラムは、前記違反がコンピュータセキュリティの脅威を示すかどうかを判定するように構成された、ステップと
    を含む方法。
  17. 請求項16に記載の方法であって、前記コンピュータセキュリティプログラムの実行に切り換えるのに応答して、前記少なくとも1つのハードウェアプロセッサが、前記結果を前記第2の場所から読み出すステップをさらに含む方法。
  18. 請求項17に記載の方法であって、前記結果を読み出すのに応答して、前記少なくとも1つのハードウェアプロセッサが、前記結果を、前記ゲスト命令に従い定まる宛先に書き込むステップをさらに含む方法。
  19. ホストシステムの少なくとも1つのハードウェアプロセッサであって、
    実行のためのゲスト命令を受け取るのに応答して、前記ゲスト命令の実行によりメモリアクセス許可の違反が生じるかどうかを判定することであって、前記ゲスト命令は、前記ホストシステムによって公開されるゲスト仮想マシン内で実行され、前記ゲスト命令は、前記ホストシステムによって公開されるゲスト仮想マシン内で実行され、前記ゲスト命令は、前記少なくとも1つのハードウェアプロセッサに、オペレータのオペランドへの適用の結果を求めるように命令し、前記ゲスト命令の前記違反のない実行は、前記結果の第1の場所への書き込みを生じさせる、判定することと
    前記ゲスト命令の実行により前記違反が生じるかどうかの判定に応答して、前記ゲスト命令の実行により前記違反が生じる場合に、前記結果を前記第1の場所とは異なる第2の場所に書き込むことであって、前記第2の場所はコンピュータセキュリティプログラムからアクセス可能である、書き込むことと、
    前記結果の前記第2の場所への書き込みに応答して、前記ゲスト命令の実行からコンピュータセキュリティプログラムの実行に切り換えることであって、前記コンピュータセキュリティプログラムは、前記違反がコンピュータセキュリティの脅威を示すかどうかを判定するように構成された、切り換えることと
    を行うように構成された少なくとも1つのハードウェアプロセッサ。
  20. ホストシステムをコンピュータセキュリティの脅威から保護するためのプログラムであって、前記プログラムは、前記ホストシステムの少なくとも1つのハードウェアプロセッサに、
    実行のためのゲスト命令を受け取るのに応答して、前記ゲスト命令の実行によりメモリアクセス許可の違反が生じるかどうかを判定することであって、前記ゲスト命令は、前記ホストシステムによって公開されるゲスト仮想マシン内で実行され、前記ゲスト命令は、前記少なくとも1つのハードウェアプロセッサに、オペレータのオペランドへの適用の結果を求めるように命令し、前記ゲスト命令の前記違反のない実行は、前記結果の第1の場所への書き込みを生じさせる、判定することと、
    前記ゲスト命令の実行により前記違反が生じるかどうかの判定に応答して、前記ゲスト命令の実行により前記違反が生じる場合に、前記結果を前記第1の場所とは異なる第2の場所に書き込むことであって、前記第2の場所はコンピュータセキュリティプログラムからアクセス可能である、書き込むことと、
    前記結果の前記第2の場所への書き込みに応答して、前記ゲスト命令の実行から前記コンピュータセキュリティプログラムの実行に切り換えることであって、前記コンピュータセキュリティプログラムは、前記違反がコンピュータセキュリティの脅威を示すかどうかを判定するように構成された、切り替えることと
    を行わせる、プログラム。
  21. 請求項20に記載のプログラムを格納したコンピュータ可読記憶媒体。
JP2017509643A 2014-08-18 2015-08-11 仮想マシンを終了する際に現在のプロセッサ命令の結果を公開するためのシステムおよび方法 Active JP6496401B2 (ja)

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 (3)

Publication Number Publication Date
JP2017526071A JP2017526071A (ja) 2017-09-07
JP2017526071A5 true JP2017526071A5 (ja) 2018-04-05
JP6496401B2 JP6496401B2 (ja) 2019-04-03

Family

ID=55302381

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017509643A Active JP6496401B2 (ja) 2014-08-18 2015-08-11 仮想マシンを終了する際に現在のプロセッサ命令の結果を公開するためのシステムおよび方法

Country Status (12)

Country Link
US (2) US9672354B2 (ja)
EP (2) EP3183660A2 (ja)
JP (1) JP6496401B2 (ja)
KR (2) KR20170042602A (ja)
CN (2) CN106575236A (ja)
AU (2) AU2015378728A1 (ja)
CA (2) CA2954604C (ja)
ES (1) ES2732876T3 (ja)
IL (2) IL249848A0 (ja)
RU (2) RU2017104753A (ja)
SG (2) SG11201700795VA (ja)
WO (2) WO2016118032A2 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
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
US11113086B1 (en) 2015-06-30 2021-09-07 Fireeye, Inc. Virtual system and method for securing external network connectivity
US10395029B1 (en) 2015-06-30 2019-08-27 Fireeye, Inc. Virtual system and method with threat protection
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
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
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
US20210026950A1 (en) * 2016-03-07 2021-01-28 Crowdstrike, Inc. Hypervisor-based redirection of system calls and interrupt-based task offloading
US20210049292A1 (en) * 2016-03-07 2021-02-18 Crowdstrike, Inc. Hypervisor-Based Interception of Memory and Register Accesses
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
US11206128B2 (en) 2019-03-08 2021-12-21 International Business Machines Corporation Secure paging with page change detection
US11347869B2 (en) * 2019-03-08 2022-05-31 International Business Machines Corporation Secure interface control high-level page management
US11886351B2 (en) 2020-03-25 2024-01-30 Red Hat, Inc. Memory efficient virtual address management for system calls
US11221869B2 (en) 2020-03-25 2022-01-11 Red Hat, Inc. Memory efficient host virtual address management for hypercalls
CN112596921A (zh) * 2020-12-17 2021-04-02 海光信息技术股份有限公司 系统调用处理方法及处理装置
US20230061511A1 (en) * 2021-08-30 2023-03-02 International Business Machines Corporation Inaccessible prefix pages during virtual machine execution

Family Cites Families (44)

* Cited by examiner, † Cited by third party
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
US6922760B2 (en) * 2002-12-05 2005-07-26 Lsi Logic Corporation Distributed result system for high-performance wide-issue superscalar processor
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
US8127098B1 (en) 2004-05-11 2012-02-28 Globalfoundries Inc. Virtualization of real mode execution
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
US20090187726A1 (en) 2008-01-22 2009-07-23 Serebrin Benjamin C Alternate Address Space to Permit Virtual Machine Monitor Access to Guest Virtual Address Space
US8443363B1 (en) * 2008-05-30 2013-05-14 Symantec Corporation Coordinated virtualization activities
US8201169B2 (en) * 2009-06-15 2012-06-12 Vmware, Inc. Virtual machine fault tolerance
US8612975B2 (en) 2009-07-07 2013-12-17 Advanced Micro Devices, Inc. World switch between virtual machines with selective storage of state information
WO2011142996A2 (en) * 2010-05-09 2011-11-17 Madhav Chinta 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
US8984478B2 (en) * 2011-10-03 2015-03-17 Cisco Technology, Inc. Reorganization of virtualized computer programs
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
US9361115B2 (en) 2012-06-15 2016-06-07 International Business Machines Corporation Saving/restoring selected registers in transactional processing
US9311101B2 (en) 2012-06-15 2016-04-12 International Business Machines Corporation Intra-instructional transaction abort handling
US9336046B2 (en) 2012-06-15 2016-05-10 International Business Machines Corporation Transaction abort processing
US8966324B2 (en) 2012-06-15 2015-02-24 International Business Machines Corporation Transactional execution branch indications
AU2013297064B2 (en) 2012-08-03 2016-06-16 North Carolina State University Methods, systems, and computer readable medium for active monitoring, memory protection and integrity verification of target devices
US9256427B2 (en) * 2012-12-11 2016-02-09 International Business Machines Corporation Tracking multiple conditions in a general purpose register and instruction therefor
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

Similar Documents

Publication Publication Date Title
JP2017526071A5 (ja)
RU2017104752A (ru) Системы и способы предоставления результата текущей команды процессора при выходе из виртуальной машины
RU2513909C1 (ru) Ограничение областей памяти для считывания команд в зависимости от аппаратного режима и флага безопасности
TWI726925B (zh) 用於管理有界指標的裝置和方法
JP2018538630A5 (ja)
TWI620124B (zh) 虛擬機器控制結構陰影化技術
RU2015147646A (ru) Системы и способы предотвращения несанкционированного перемещения стека
TWI725059B (zh) 用於控制有界指標的使用之設備及方法
JP2022503562A (ja) 範囲チェック命令
RU2016109436A (ru) Селективное обеспечение соблюдения целостности кода, обеспечиваемое менеджером виртуальной машины
JP7128206B2 (ja) 機能の使用を管理するための装置および方法
US20160210465A1 (en) Handling access attributes for data accesses
US9996448B2 (en) Breakpoint insertion into kernel pages
JP2015523668A5 (ja)
JP6921800B2 (ja) セキュアモード状態のデータ・アクセス・トラッキング
JP2014531088A5 (ja)
JP6920286B2 (ja) 例外処理
JP6944444B2 (ja) メモリアクセス命令
JP2018526720A (ja) 仮想マシンの状態情報の保護
JP2017219931A (ja) 情報処理装置、情報処理方法、およびプログラム
US11734011B1 (en) Context partitioning of branch prediction structures
JP2019117664A5 (ja)
JP2021525415A (ja) アクションをトリガするための装置及び方法