throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2017/0180318 A1
`LUTAS et al.
`(43) Pub. Date:
`Jun. 22, 2017
`
`US 201701 80318A1
`
`(54) DUAL MEMORY INTROSPECTION FOR
`SECURING MULTIPLE NETWORK
`ENDPOINTS
`
`(71) Applicant: Bitclefender IPR Management Ltd.,
`Nicosia (CY)
`(72) Inventors: Dan H. LUTAS, Cluj-Napoca (RO);
`Daniel I. TICLE, Turda (RO); Radu I.
`CIOCAS, Cluj-Napoca (RO); Sandor
`LUKACS, Floresti (RO); Ionel C.
`ANICHITEI, Cluj-Napoca (RO)
`s
`(21) Appl. No.: 15/383,082
`
`(22) Filed:
`
`Dec. 19, 2016
`
`Related U.S. Application Data
`(60) Provisional application No. 62/269,952, filed on Dec.
`19, 2015.
`O
`O
`Publication Classification
`
`(51) Int. Cl.
`H04L 29/06
`G06F 9/54
`G06F 9/455
`
`(2006.01)
`(2006.01)
`(2006.01)
`
`(52) U.S. Cl.
`CPC ...... H04L 63/0254 (2013.01); G06F 9/45558
`(2013.01); G06F 9/542 (2013.01); H04L
`63/0245 (2013.01); H04L 63/0272 (2013.01);
`H04L 63/14 (2013.01); G06F 2009/45587
`(2013.01)
`
`ABSTRACT
`(57)
`Described systems and methods enable protecting multiple
`client Systems (e.g., a corporate network) from computer
`security threats Such as malicious Software and intrusion. In
`Some embodiments, each protected client operates a live
`introspection engine and an on-demand introspection
`engine. The live introspection engine detects the occurrence
`of certain events within a protected virtual machine exposed
`on the respective client system, and communicates the
`occurrence to a remote security server. In turn, the server
`may request a forensic analysis of the event from the client
`system, by indicating a forensic tool to be executed by the
`client. Forensic tools may be stored in a central repository
`accessible to the client. In response to receiving the analysis
`request, the on-demand introspection engine may retrieve
`and execute the forensic tool, and communicate a result of
`the forensic analysis to the security server. The server may
`use the information to determine whether the respective
`client is under attack by malicious Software or an intruder.
`
`
`
`
`
`
`
`
`
`50
`
`14
`
`52
`
`Analysis request
`
`
`
`54
`
`Security alert
`
`Security
`
`SeWe
`
`
`
`
`
`Mitigation indicator
`
`58
`
`WIZ, Inc. EXHIBIT - 1064
`WIZ, Inc. v. Orca Security LTD.
`
`

`

`Patent Application Publication
`
`Jun. 22, 2017 Sheet 1 of 8
`
`US 2017/O180318A1
`
`
`
`
`
`
`
`
`
`12d
`
`Client database
`
`17
`
`Security
`Server
`
`Communication
`network
`
`
`
`
`
`Central tool
`repository
`
`FIG. 1
`
`

`

`Patent Application Publication
`
`Jun. 22, 2017 Sheet 2 of 8
`
`US 2017/O180318A1
`
`16
`
`28
`
`18
`
`20
`
`24
`
`Input devices
`
`devi
`St
`Orage devices
`
`Output devices
`
`NetWOrk
`adapter(s)
`
`FIG. 2-A
`
`
`
`116
`
`128
`
`118
`
`Server processor
`
`Server Memory
`
`124
`
`Server
`storage devices
`
`Server network
`adapter(s)
`
`126
`
`Server
`controller
`hub
`
`Security server
`
`FIG. 2-B
`
`

`

`Patent Application Publication
`
`Jun. 22, 2017 Sheet 3 of 8
`
`US 2017/O180318A1
`
`32
`
`
`
`
`
`
`
`Application
`
`33
`
`Security virtual machine
`42
`44
`
`On-demand
`intro-
`spection
`engine
`
`Network
`filter
`
`Event handler
`
`Live introspection engine
`
`\
`
`Client system hardware
`
`46a
`
`FIG 3-A
`
`32
`
`33
`
`Guest virtual machine
`
`
`
`12
`
`Guest OS 46b
`
`Event handler
`
`On-demand
`intro
`spection
`engine
`
`30
`
`IIypervisor
`
`40
`
`
`
`10
`
`Client system hardware
`
`FIG 3-B
`
`

`

`Patent Application Publication
`
`Jun. 22, 2017 Sheet 4 of 8
`
`US 2017/O180318A1
`
`
`
`launch Hypervisor
`
`Move executing software
`to guest VM
`
`
`
`Set up security VM
`
`Set up remote administrative
`access from security server
`to security VM
`
`
`
`2O6
`
`Launch live introspection
`engine
`
`208
`
`FIG. 4
`
`

`

`Patent Application Publication
`
`Jun. 22, 2017 Sheet 5 of 8
`
`US 2017/O180318A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Tunnel
`request
`
`Secure tunnel
`
`FIG5
`
`50
`
`Event indicator
`
`52
`
`Analysis request
`
`14
`
`Security
`Server
`
`14
`
`(O
`
`
`
`Security
`
`Server
`
`
`
`54
`
`Mitigation indicator
`
`58
`
`FIG. G
`
`

`

`Patent Application Publication
`
`Jun. 22, 2017 Sheet 6 of 8
`
`US 2017/O180318A1
`
`Assist On-demand
`introspection engine
`
`
`
`
`
`Display Warning message
`tO uSer
`
`220
`
`I is ten for
`notifications
`
`Notification
`received?
`
`Notification
`from event
`handler?
`
`
`
`
`
`YES
`Perform light analysis
`Of event
`
`Event
`worth reporting
`tO server?
`
`230
`
`Send event indicator
`to security server
`
`Resume execution
`of guest VM
`
`Notification
`from security
`VMP
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`FIG 7
`
`

`

`Patent Application Publication
`
`Jun. 22, 2017 Sheet 7 of 8
`
`US 2017/O180318A1
`
`
`
`
`
`Listen for analysis
`requests
`
`250
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Request
`received?
`
`52
`2
`
`254
`
`Receive instruction to access
`selected forensic tools
`
`Access selected
`forensic tools
`
`Execute selected
`forensic tools
`
`Transmit forensic report
`to security server
`
`256
`
`258
`
`
`
`
`
`
`
`Discard security
`tools/resources
`
`262
`
`FIG. 8
`
`

`

`Patent Application Publication
`
`Jun. 22, 2017 Sheet 8 of 8
`
`US 2017/O180318A1
`
`280
`
`Listen for COmmunication
`from clients
`
`Communication
`received?
`
`Comm.
`comprises event
`indicator?
`
`Log trigger event
`
`Query client database
`
`Trigger
`eVent Warrants
`forensic anal
`ysis?
`
`Sclect resources and/or
`forensic tools according
`to trigger event
`
`Scind analysis request
`to client system(s)
`
`Comprises forensic
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Send mitigation indicator
`to clicnt systcm
`
`Alert administrator and/or
`client system
`
`I likelihood
`Of an attack?
`
`FIG 9
`
`

`

`US 2017/01 80318 A1
`
`Jun. 22, 2017
`
`DUAL MEMORY INTROSPECTION FOR
`SECURING MULTIPLE NETWORK
`ENDPOINTS
`
`RELATED APPLICATIONS
`
`0001. This application claims the benefit of the filing date
`of U.S. provisional patent application No. 62/269,952, filed
`on Dec. 19, 2015, entitled “Dual Memory Introspection for
`Securing Multiple Network Endpoints, the entire contents
`of which are incorporated by reference herein.
`
`BACKGROUND
`
`0002 The invention relates to computer security systems
`and methods, and in particular to systems and methods for
`protecting hardware virtualization environments from com
`puter security threats.
`0003. Malicious software, also known as malware,
`affects a great number of computer systems worldwide. In its
`many forms, such as computer viruses, worms, rootkits, and
`spyware, malware presents a serious risk to millions of
`computer users, making them vulnerable to loss of data and
`sensitive information, identity theft, and loss of productivity,
`among others.
`0004 Computer security software may be used to protect
`computer systems from malicious Software. However, in
`distributed computing systems such as corporate networks
`and cloud computing systems, conventional security soft
`ware typically does not respond well to attacks. Even when
`the security software is capable of detecting an attack,
`analysis and remediation may still require that a human
`operator be dispatched to the affected client system, for
`instance to apply a patch, recover lost data, etc. In addition,
`once a new threat is detected and analyzed, updated versions
`of the security software must be distributed promptly to all
`protected computer systems.
`0005. An alternative computer security system may
`execute on a central server computer, receiving relevant data
`from Security clients over a communication network. The
`server may determine according to the received data whether
`the respective client is infected with malware, and may
`communicate a verdict to the respective client. While such
`configurations are better equipped to deal with emerging
`threats, they require Substantial server-side computational
`power.
`0006 Computer security operations were further compli
`cated by the advent of hardware virtualization. As more and
`more goods and services are traded online, and as work
`becomes progressively de-localized, infrastructure as a ser
`vice (IAAS) has become a viable alternative to owning
`computer hardware. A substantial proportion of computing
`activities are currently conducted using virtual machines. In
`typical applications, such as server farms and cloud com
`puting, hundreds of virtual machines may execute concur
`rently on a single hardware platform. All Such virtual
`machines may require malware protection.
`0007 Adapting to the ever-changing nature of malicious
`software and to the challenges of a mobile workforce
`requires the development of innovative computer security
`systems and protocols, and especially of systems and meth
`ods enabling an efficient management of computer security
`operations across multiple distributed clients.
`
`SUMMARY
`0008 According to one aspect, a client computer system
`comprises a hardware processor configured to execute a
`hypervisor, a live introspection engine, and an on-demand
`introspection engine. The hypervisor is configured to expose
`a guest virtual machine (VM) and a security VM distinct
`from the guest VM, wherein the on-demand introspection
`engine executes within the security VM, and wherein the
`live introspection engine executes outside of the guest and
`security VMS. The live introspection engine is configured, in
`response to detecting an occurrence of an event within the
`guest VM, to transmit an indicator of the event to a remote
`server computer system over a communication network. The
`on-demand introspection engine is configured, in response
`to the live introspection engine transmitting the indicator of
`the event to the remote server computer system, to receive
`an analysis request from the remote server computer system,
`the analysis request indicating a security tool residing in a
`remote tool repository configured to distribute security tools
`to a plurality of clients including the client computer system,
`the security tool comprising Software configured to analyze
`the occurrence of the event, the security tool selected by the
`remote server computer system according to an event type of
`the event. The on-demand introspection engine is further
`configured, in response to receiving the analysis request, to
`identify the security tool according to the analysis request,
`and in response, to selectively retrieve the security tool from
`the tool repository, wherein retrieving the security tool
`comprises connecting to the central tool repository over the
`communication network. The on-demand introspection
`engine is further configured, in response to selectively
`retrieving the security tool, to execute the security tool and
`to transmit a result of executing the security tool to the
`remote server computer system.
`0009. According to another aspect, a server computer is
`configured to perform computer security transactions with a
`plurality of client systems. The server computer system
`comprises a hardware processor configured, in response to
`receiving an event indicator from a client system of the
`plurality of client systems, the event indicator indicative of
`an occurrence of an event within a guest VM executing on
`the client system, to select a security tool residing in a
`remote tool repository configured to distribute security tools
`to the plurality of client systems, the security tool compris
`ing software configured to analyze the occurrence of the
`event, wherein selecting the security tool is performed
`according to an event type of the event. The hardware
`processor is further configured, in response to selecting the
`security tool, to transmit an analysis request to the client
`system over a communication network, the analysis request
`comprising an identifier of the security tool; and in response,
`to receive from the client system a result of executing the
`security tool on the client system. The client system is
`configured to execute a hypervisor, a live introspection
`engine, and an on-demand introspection engine. Tthe hyper
`visor is configured to expose the guest VM and a security
`VM distinct from the guest VM, wherein the on-demand
`introspection engine executes within the security VM, and
`wherein the live introspection engine executes outside of the
`guest and security VMS. The live introspection engine is
`configured, in response to detecting the occurrence of the
`event, to transmit the event indicator to the server computer
`system. The on-demand introspection engine is configured,
`in response to receiving the analysis request, to identify the
`
`

`

`US 2017/01 80318 A1
`
`Jun. 22, 2017
`
`security tool according to the analysis request. The on
`demand introspection engine is further configured, in
`response to identifying the security tool, to selectively
`retrieve the security tool from the tool repository, wherein
`retrieving the security tool comprises the client system
`connecting to the remote tool repository over the commu
`nication network. The on-demand introspection engine is
`further configured, in response to retrieving the security tool,
`to execute the security tool to produce the result.
`0010. According to another aspect, a non-transitory com
`puter-readable medium comprises a set of instructions
`which, when executed on a hardware processor of a client
`computer system, causes the client computer system to form
`a hypervisor, a live introspection engine, and an on-demand
`introspection engine. The hypervisor is configured to expose
`a guest virtual machine (VM) and a security VM distinct
`from the guest VM, wherein the on-demand introspection
`engine executes within the security VM, and wherein the
`live introspection engine executes outside of the guest and
`security VMS. The live introspection engine is configured, in
`response to detecting an occurrence of an event within the
`guest VM, to transmit an indicator of the event to a remote
`server computer system over a communication network. The
`on-demand introspection engine is configured, in response
`to the live introspection engine transmitting the indicator of
`the event to the remote server computer system, to receive
`an analysis request from the remote server computer system,
`the analysis request indicating a security tool residing in a
`remote tool repository configured to distribute security tools
`to a plurality of clients including the client computer system,
`the security tool comprising Software configured to analyze
`the occurrence of the event, the security tool selected by the
`remote server computer system according to an event type of
`the event. The on-demand introspection engine is further
`configured, in response to receiving the analysis request, to
`identify the security tool according to the analysis request,
`and in response, to selectively retrieve the security tool from
`the tool repository, wherein retrieving the security tool
`comprises connecting to the central tool repository over the
`communication network. The on-demand introspection
`engine is further configured, in response to selectively
`retrieving the security tool, to execute the security tool and
`to transmit a result of executing the security tool to the
`remote server computer system.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`0.011 The foregoing aspects and advantages of the pres
`ent invention will become better understood upon reading
`the following detailed description and upon reference to the
`drawings where:
`0012 FIG. 1 illustrates an exemplary configuration
`wherein multiple client systems are protected against com
`puter security threats according to some embodiments of the
`present invention.
`0013 FIG. 2-A illustrates an exemplary hardware con
`figuration of a client system according to some embodiments
`of the present invention.
`0014 FIG. 2-B shows an exemplary hardware configu
`ration of a security server computer system according to
`Some embodiments of the present invention.
`0015 FIG. 3-A shows an exemplary set of virtual
`machines exposed by a hypervisor executing on a protected
`
`client system, and an exemplary pair of introspection
`engines according to Some embodiments of the present
`invention.
`0016 FIG. 3-B shows an alternative configuration of
`security components according to Some embodiments of the
`present invention.
`0017 FIG. 4 shows an exemplary sequence of steps
`carried out by an installer application to set up computer
`security on a client system according to some embodiments
`of the present invention.
`0018 FIG. 5 shows configuring a virtual private network
`(VPN) secure connection between a client system and the
`security server according to Some embodiments of the
`present invention.
`0019 FIG. 6 shows an exemplary data exchange between
`a client system and the security server, the exchange occur
`ring during malware detection according to some embodi
`ments of the present invention.
`0020 FIG. 7 shows an exemplary sequence of steps
`performed by the live introspection engine according to
`Some embodiments of the present invention.
`0021
`FIG. 8 shows an exemplary sequence of steps
`performed by the on-demand introspection engine according
`to Some embodiments of the present invention.
`0022 FIG. 9 illustrates an exemplary sequence of steps
`performed by the security server according to Some embodi
`ments of the present invention.
`
`DETAILED DESCRIPTION OF PREFERRED
`EMBODIMENTS
`0023. In the following description, it is understood that
`all recited connections between structures can be direct
`operative connections or indirect operative connections
`through intermediary structures. A set of elements includes
`one or more elements. Any recitation of an element is
`understood to refer to at least one element. A plurality of
`elements includes at least two elements. Unless otherwise
`required, any described method steps need not be necessar
`ily performed in a particular illustrated order. A first element
`(e.g. data) derived from a second element encompasses a
`first element equal to the second element, as well as a first
`element generated by processing the second element and
`optionally other data. Making a determination or decision
`according to a parameter encompasses making the determi
`nation or decision according to the parameter and optionally
`according to other data. Unless otherwise specified, an
`indicator of some quantity/data may be the quantity/data
`itself, or an indicator different from the quantity/data itself.
`Computer security encompasses protecting users and equip
`ment against unintended or unauthorized access to data
`and/or hardware, unintended or unauthorized modification
`of data and/or hardware, and destruction of data and/or
`hardware. A computer program is a sequence of processor
`instructions carrying out a task. Computer programs
`described in some embodiments of the present invention
`may be stand-alone software entities or Sub-entities (e.g.,
`Subroutines, libraries) of other computer programs. Unless
`otherwise specified, guest Software executes within a virtual
`machine. A program is said to execute within a virtual
`machine when it executes on a virtual processor of the
`respective virtual machine. Unless otherwise specified, a
`page represents the Smallest unit of virtual memory that can
`be individually mapped to a physical memory of a host
`system. Unless otherwise specified, a Snapshot of a client
`
`

`

`US 2017/01 80318 A1
`
`Jun. 22, 2017
`
`system comprises a copy of a content of a section of memory
`used by the respective client system. Computer readable
`media encompass non-transitory media Such as magnetic,
`optic, and semiconductor storage media (e.g. hard drives,
`optical disks, flash memory, DRAM), as well as communi
`cation links such as conductive cables and fiber optic links.
`According to some embodiments, the present invention
`provides, interalia, computer systems comprising hardware
`(e.g. one or more microprocessors) programmed to perform
`the methods described herein, as well as computer-readable
`media encoding instructions to perform the methods
`described herein.
`0024. The following description illustrates embodiments
`of the invention by way of example and not necessarily by
`way of limitation.
`0025 FIG. 1 shows an exemplary configuration for pro
`tecting a plurality of client systems 12a-d against computer
`security threats according to some embodiments of the
`present invention. Exemplary client systems 12a-d include
`personal computer systems, mobile computing platforms
`(laptop computers, tablets, mobile telephones), entertain
`ment devices (TVs, game consoles), wearable devices
`(Smartwatches, fitness bands), household appliances, and
`any other electronic device comprising a processor and a
`memory and capable of operating a hardware virtualization
`platform. Another exemplary category of client systems
`includes datacenter servers and hardware virtualization plat
`forms running cloud-based applications such as webservers
`and/or virtual desktop infrastructure.
`0026 Client systems 12a-dare interconnected via a com
`munication network 11, Such as a home network, corporate
`network, the Internet, etc. Network 11 includes at least one
`switch and/or router. Parts of network 11 may include a local
`area network (LAN) and/or a telecommunication network
`(e.g., 4G mobile telephony network, wireless LAN).
`0027. In some embodiments, a security server 14 is
`communicatively coupled to client systems 12a-d Via net
`work 11 and collaborates with client systems 12a-d to ward
`off computer security threats as described in detail below.
`Server 14 generically describes a set of interconnected
`computing systems, which may or may not be in physical
`proximity to each other. In some embodiments, server 14 is
`configured to receive event notifications from client systems
`12a-d, and in response, to select according to a type of event
`a type of forensic analysis, a threat mitigation protocol,
`and/or a clean-up tool to be used by the respective client
`system. Exemplary forensic analyses include, for instance,
`obtaining specific data about a cause and/or a context of the
`respective event. Threat mitigation protocols may be
`selected according to a type of malicious Software indicated
`by the respective event, and may include downloading
`and/or executing specific clean-up and/or damage control
`code on the respective client.
`0028. In some embodiments, security server 14 is further
`configured to interface with a client to database 17. In an
`exemplary client database 17, each entry is associated with
`a protected client system 12a-d and/or with a virtual
`machine executing on the respective protected client system,
`and may include a log of trigger events and/or forensic
`reports (see below) reported by the respective client system/
`virtual machine. An exemplary entry of database 17 may
`further comprise system profile data (e.g., including OS
`version, installed applications, various settings, owner, con
`tact information, etc.) for the respective client system/virtual
`
`machine. Another exemplary entry of client database 17 may
`comprise a set of parameter values representing a client
`specific security policy associated with the respective client
`system. Such settings may be specified by a human operator,
`or may be set automatically according to a set of rules. In
`Some embodiments of the present invention, client-specific
`policies and/or security setting vary dynamically in response
`to events occurring on the respective client, or on other
`protected clients.
`0029. In some embodiments, client systems 12a-d are
`further connected to a central tool repository 15 via network
`11. Tool repository 15 may comprise a computer-readable
`medium or physical machine storing security tools and
`resources in the form of code (computer programs) and/or
`data. Client systems 12a-d may connect to repository 15 to
`selectively retrieve tools and data according to instructions
`received from security server 14, as shown in detail below.
`Tool repository 15 is available to multiple clients, so in a
`preferred embodiment of the present invention, repository
`15 does not reside on any particular client system. Connect
`ing to repository 15 therefore comprises transmitting and/or
`receiving communications to/from repository 15 via a net
`work adapter of the respective client system. Such commu
`nications may traverse a network Switch or router on the
`way.
`0030 Security tools stored in repository 15 may include
`forensic, anti-malware, and/or threat mitigation tools.
`Repository data may further comprise parameter values for
`configuring or tuning the respective tools according to a type
`of event under investigation, or according to local hardware/
`Software configurations. Anti-malware tools enable detec
`tion of malicious Software executing on the client systems
`12a-d, and may include an encoding of a set of heuristic
`rules and/or a database of malware-identifying signatures.
`Threat mitigation tools may include clean-up tools pro
`grammed to remove or otherwise incapacitate a malicious
`Software agent executing on a client system. Other exem
`plary threat mitigation tools are programmed to prevent an
`infected client system from transmitting malicious software
`to another client system, for instance by controlling the
`manner in which the infected client system uses its network
`adapter.
`0031. Forensic tools enable the analysis of security
`related events occurring on client systems 12a-d. Some
`examples of forensic tools include Snapshot-generating
`tools, programmed to obtain a memory Snapshot of a client
`system or of a virtual machine executing on the respective
`client system. The Snapshot may include memory data
`associated with an operating system (OS) or with another
`application currently executing on the respective client
`system. A Snapshot of an OS kernel may include, among
`others, a copy of the kernel’s code and data sections, various
`in-memory kernel drivers (code and/or data sections), in
`memory kernel threads and their corresponding stacks, the
`OS's kernel data structures—such as the list of loaded
`modules, the list of processes, etc. An exemplary Snapshot of
`an application comprises a copy of a memory image of the
`application, including its code and data sections, the in
`memory stacks used by the applications threads, the heap
`memory pages of the respective application, etc.
`0032. In some embodiments, taking a memory Snapshot
`comprises Suspending execution of guest VM 32 to allow
`copying the content of the respective memory sections. An
`alternative embodiment performs “live' memory forensics
`
`

`

`US 2017/01 80318 A1
`
`Jun. 22, 2017
`
`without taking Snapshots. In Such embodiments, hypervisor
`30 may map a set of physical memory pages used by guest
`VM 32 to virtual memory pages used by security VM 33.
`Security VM 33 may then inspect the content of the respec
`tive memory pages, for instance in response to a particular
`event, without having to suspend execution of guest VM32
`or to copy and transfer the respective content. One example
`of a “live' memory forensic tool is the Volatility(R) frame
`work from the Volatility Foundation.
`0033. Another example of a forensic tool is an applica
`tion inventory tool configured to enumerate software entities
`currently installed and/or executing on a client system. Yet
`another example of forensic tool is a configuration grabber
`programmed to obtain a set of configuration settings (e.g.,
`current values of various OS parameters, hardware settings,
`security settings, firewall settings, etc.). Other exemplary
`forensic tools are programmed to gather system and/or
`application event logs, or system crash data (e.g. WindowSR
`crash minidumps).
`0034 FIG. 2-A shows an exemplary hardware configu
`ration of a client system 12. Such as Systems 12a-d in FIG.
`1. For simplicity, the illustrated client system is a computer
`system; the hardware configuration of other client systems
`Such as mobile telephones, watches, etc., may differ some
`what from the illustrated configuration. Client system 12
`comprises a set of physical devices, including a hardware
`processor 16 and a memory unit 18. In some embodiments,
`processor 12 comprises a physical device (e.g. a micropro
`cessor, a multi-core integrated circuit formed on a semicon
`ductor Substrate, etc.) configured to execute computational
`and/or logical operations with a set of signals and/or data. In
`Some embodiments, such operations are delivered to pro
`cessor 12 in the form of a sequence of processor instructions
`(e.g. machine code or other type of encoding). Memory unit
`18 may comprise Volatile computer-readable media (e.g.
`DRAM, SRAM) storing instructions and/or data accessed or
`generated by processor 16.
`0035 Depending on the type and performance of the
`device, client system 12 may further comprise a set of input
`devices 20, such as a keyboard, mouse, touchscreen, etc.,
`enabling a user to input data and/or instructions to client
`system 12. A set of output devices 22. Such as a monitor or
`liquid crystal display, may convey information to the user,
`e.g., via a graphical user interface. Storage devices 24
`include computer-readable media enabling the non-volatile
`storage, reading, and writing of processor instructions and/or
`data. Exemplary storage devices 24 include magnetic and
`optical disks and flash memory devices, as well as remov
`able media such as CD and/or DVD disks and drives. The set
`of network adapters 26 enables client system 12 to connect
`to communication network 11 and/or to other devices/
`computer systems. Controller hub 28 generically represents
`the plurality of system, peripheral, and/or chipset buses,
`and/or all other circuitry enabling the communication
`between processor 16 and devices 18, 20, 22, 24 and 26. For
`instance, controller hub 28 may include a memory manage
`ment unit (MMU), an input/output (I/O) controller, and an
`interrupt controller, among others. In another example,
`controller hub 28 may comprise a northbridge connecting
`processor 16 to memory 18 and/or a Southbridge connecting
`processor 16 to devices 20, 22, 24, and 26. In some embodi
`ments, controller hub 28 may be integrated, in part or
`entirely, with processor 16, e.g., the MMU may share a
`common semiconductor Substrate with processor 16.
`
`0036 FIG. 2-B shows an exemplary hardware configu
`ration of security server 14. Server 14 comprises a hardware
`processor 116, a server memory 118, a set of server storage
`devices 124, and a set of network adapters 126, all connected
`by a server controller hub 128. The operation of devices 116,
`118, 124, and 126 may mirror that of devices 16, 18, 24, and
`26 described above. For instance, server processor 116 may
`comprise an integrated circuit configured to execute com
`putational and/or logical operations with a set of signals
`and/or data. Server memory 118 may comprise non-transi
`tory computer-readable media (e.g. RAM) storing data/
`signals accessed or generated by processor 116 while per
`forming computations. Network adapters 126 enable
`security server 14 to connect to communication network 11.
`0037. In some embodiments, client system 12 is config
`ured to expose a set of virtual machines, for instance as
`illustrated in FIGS. 3-A-B. A virtual machine (VM) emu
`lates an actual physical machine? computer system, using any
`of a variety of techniques known in the art of hardware
`virtualization. In some exemplary configurations, a hyper
`visor 30 executes on client system 12, hypervisor 30 con
`figured to create or enable a plurality of virtualized devices,
`Such as a virtual processor and a virtual memory manage
`ment unit, and to present Such virtualized devices to soft
`ware, to mimic the real, physical devices of client system 12.
`Such operations are commonly known in the art as exposing
`a virtual machine. Hypervisor 30 may further enable mul
`tiple virtual machines to share the hardware resources of
`host system 12, so that each VM may operate independently
`and be unaware of other VMs executing concurrently
`executing on client system 12. Examples of popular hyper
`visors include the VMware R vSphere(R) from VMware Inc.
`and the open-source XenR hypervisor, among others.
`0038. In the exemplary configurations illustrated in
`FIGS. 3-A-B, a guest VM 32 executes a guest operating
`system 34 and an application 36. Although FIGS. 3-A-B
`show only one guest VM, in applications such as virtual
`desktop infrastructure (VDI) and server farming, client
`system 12 may execute multiple such VMs (e.g., hundreds)
`concurrently. Each guest VM includes at least one virtual
`ized processor, and may further include other virtualized
`devices such virtualized input, output, storage, and network
`devices, as well as virtualized controller, amon

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket