Patents by Inventor Gerardo Diaz-Cuellar

Gerardo Diaz-Cuellar has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 10795717
    Abstract: Embodiments relate to hypervisors that provide hardware isolated virtualization environments (HIVEs) such as containers and virtual machines (VMs). A first HIVE includes a first virtual network interface card (NIC) and a second HIVE includes a second virtual NIC. Both virtual NICs are backed by the same physical NIC. The physical NIC has an Internet Protocol (IP) address. The virtual NICs are assigned the same IP address as the physical NIC. A networking stack of the hypervisor receives inbound packets addressed to the IP address. The networking stack steers the inbound packets to the virtual NICs according to tuples of the inbound packets. Packets emitted by the virtual NICs comprise the IP address, pass through the network stack, and are transmitted by the physical NIC with headers comprising the IP address.
    Type: Grant
    Filed: September 18, 2018
    Date of Patent: October 6, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Anirban Paul, Poornananda Gaddehosur Ramachandra, Gerardo Diaz-Cuellar, Osman Nuri Ertugay, Keith Edgar Horton, Omar Cardona, Nicholas David Wood, Shankar Seal, Dinesh Kumar Govindasamy
  • Publication number: 20200169400
    Abstract: A computing device, such as a personal computing device (e.g., laptop, smartphone, etc.) or server, is configured to utilize environmental factors in generating public/private key pairs to access restricted data or operations. The environmental factors can include location, time, barometric pressure, acceleration, temperature, humidity, and the like. An initial key pair may be used to encrypt data and enable other conventional security features. A key pair can be subsequently generated based on the same environmental factors as with the initial key pair generation and used to access the data or operations which have been restricted using the initial key pair.
    Type: Application
    Filed: November 27, 2018
    Publication date: May 28, 2020
    Inventors: David Garfield THALER, III, Joerg-Thomas PFENNING, Gerardo DIAZ-CUELLAR
  • Patent number: 10666655
    Abstract: Providing access control by a first operating system. A method includes receiving at the first operating system, from the second operating system, a request for a bounding reference to a set having at least one resource. A bounding reference for the set is obtained. The bounding reference comprises a reference created from a first operating system resolvable reference to the set. The method further includes providing the obtained bounding reference for the obtained provided bounding reference to the second operating system. A request, including the obtained bounding reference and an identifier identifying the second operating system for the set, is received from the second operating system. The obtained bounding reference and the identifier identifying the second operating system are evaluated. As a result of evaluating the obtained bounding reference and the identifier identifying the second operating system, a resource control action is performed.
    Type: Grant
    Filed: November 20, 2017
    Date of Patent: May 26, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Gerardo Diaz Cuellar, Navin Narayan Pai, Ivan Dimitrov Pashov, Giridhar Viswanathan, Benjamin M. Schultz, Hari R. Pulapaka
  • Publication number: 20200162346
    Abstract: Inducements are provided to customers to regularly connect back to a service provider and report usage that is expressed using a count of requests from a local computing device for cloud-based operations such as packet routing, container instantiation, virtual machine (VM) utilization, calls to a service or application, and the like. The count information is reported within a secure context, such as a trusted execution environment (TEE), using public-private key pair cryptography by which key derivation is dependent on some form of counting. For example, a customer computing device that is subject to a usage license encrypts an operation count and reports it to the service provider.
    Type: Application
    Filed: November 21, 2018
    Publication date: May 21, 2020
    Inventors: Gerardo DIAZ-CUELLAR, Stefan THOM, Joerg-Thomas PFENNING
  • Patent number: 10659466
    Abstract: The techniques and systems described herein improve security and improve connection reliability by providing a framework for an application to communicate its intent to an authority service so that the authority service can enforce networking security requirements. In various examples, an intent to access a resource over a network is received and queries are sent to resolve a network connection that enables access to the resource. Information for the resource is then collected and stored together in a trusted and secure environment. For instance, the information can include proxy data or can include hostname data. A ticket can be created based on the information. The ticket can be used to establish and maintain a secure network connection to the resource.
    Type: Grant
    Filed: August 12, 2016
    Date of Patent: May 19, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Gerardo Diaz-Cuellar, Benjamin M. Schultz, Ivan Dimitrov Pashov
  • Publication number: 20200089517
    Abstract: Embodiments relate to hypervisors that provide hardware isolated virtualization environments (HIVEs) such as containers and virtual machines (VMs). A first HIVE includes a first virtual network interface card (NIC) and a second HIVE includes a second virtual NIC. Both virtual NICs are backed by the same physical NIC. The physical NIC has an Internet Protocol (IP) address. The virtual NICs are assigned the same IP address as the physical NIC. A networking stack of the hypervisor receives inbound packets addressed to the IP address. The networking stack steers the inbound packets to the virtual NICs according to tuples of the inbound packets. Packets emitted by the virtual NICs comprise the IP address, pass through the network stack, and are transmitted by the physical NIC with headers comprising the IP address.
    Type: Application
    Filed: September 18, 2018
    Publication date: March 19, 2020
    Inventors: Anirban Paul, Poornananda Gaddehosur Ramachandra, Gerardo Diaz-Cuellar, Osman Nuri Ertugay, Keith Edgar Horton, Omar Cardona, Nicholas David Wood, Shankar Seal, Dinesh Kumar Govindasamy
  • Publication number: 20190334862
    Abstract: Embodiments described herein relate to providing hardware isolated virtualized environments (HIVEs) with network information. The HIVEs are managed by a hypervisor that virtualizes access to one or more physical network interface cards (NICs) of the host. Each HIVE has a virtual NIC backed by the physical NIC. Network traffic of the HIVEs flows through the physical NIC to a physical network. Traits of the physical NIC may be projected to the virtual NICs. For example, a media-type property of the virtual NICs (exposed to guest software in the HIVEs) may be set to mirror the media type of the physical NIC. A private subnet connects the virtual NICs with the physical NICs, possibly through a network address translation (NAT) component and virtual NICs of the host.
    Type: Application
    Filed: April 27, 2018
    Publication date: October 31, 2019
    Inventors: Anirban Paul, Poornananda Gaddehosur Ramachandra, Gerardo Diaz-Cuellar, Osman Nuri Ertugay, Keith Edgar Horton, Omar Cardona, Nicholas David Wood, Shankar Seal, Dinesh Kumar Govindasamy
  • Patent number: 10438019
    Abstract: A second operating system accessing resources from an external service. A method includes sending an anonymized request, for an anonymized user corresponding to an authorized user, for resources, through a broker. A request for proof indicating that the anonymized user is authorized to obtain the resources is received from the broker. As a result, a request is send to a first operating system for the proof that the anonymized user is authorized to obtain the resources. Proof is received from the first operating system, based on the anonymized user being associated with the authorized user, that the anonymized user is authorized to obtain the resources. The proof is provided to the broker. As a result, the resources are obtained by the second operating system from the service.
    Type: Grant
    Filed: June 30, 2017
    Date of Patent: October 8, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Giridhar Viswanathan, Gerardo Diaz Cuellar, Hari R. Pulapaka, Ivan Dimitrov Pashov, Navin Narayan Pai, Benjamin M. Schultz
  • Publication number: 20190158497
    Abstract: Providing access control by a first operating system. A method includes receiving at the first operating system, from the second operating system, a request for a bounding reference to a set having at least one resource. A bounding reference for the set is obtained. The bounding reference comprises a reference created from a first operating system resolvable reference to the set. The method further includes providing the obtained bounding reference for the obtained provided bounding reference to the second operating system. A request, including the obtained bounding reference and an identifier identifying the second operating system for the set, is received from the second operating system. The obtained bounding reference and the identifier identifying the second operating system are evaluated. As a result of evaluating the obtained bounding reference and the identifier identifying the second operating system, a resource control action is performed.
    Type: Application
    Filed: November 20, 2017
    Publication date: May 23, 2019
    Inventors: Gerardo DIAZ CUELLAR, Navin Narayan PAI, Ivan Dimitrov PASHOV, Giridhar VISWANATHAN, Benjamin M. SCHULTZ, Hari R. PULAPAKA
  • Patent number: 10193863
    Abstract: A computer system enforces network security policy by pre-classifying network traffic. Unidimensional pre-classifier filters analyze network traffic to populate a pre-classifier bit array. Rather than having filter explosion with the creation of multidimensional filters, the pre-classifier bit array is used by other layers and/or filters to enforce network security policy. Further, reclassification of network traffic due to network security changes is streamlined due to the inclusion of pre-classifier layers and the pre-classifier bit array.
    Type: Grant
    Filed: January 10, 2017
    Date of Patent: January 29, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Gerardo Diaz Cuellar, Praveen Balasubramanian, Hossam Fattah
  • Publication number: 20180322307
    Abstract: A second operating system accessing resources from an external service. A method includes sending an anonymized request, for an anonymized user corresponding to an authorized user, for resources, through a broker. A request for proof indicating that the anonymized user is authorized to obtain the resources is received from the broker. As a result, a request is send to a first operating system for the proof that the anonymized user is authorized to obtain the resources. Proof is received from the first operating system, based on the anonymized user being associated with the authorized user, that the anonymized user is authorized to obtain the resources. The proof is provided to the broker. As a result, the resources are obtained by the second operating system from the service.
    Type: Application
    Filed: June 30, 2017
    Publication date: November 8, 2018
    Inventors: Giridhar VISWANATHAN, Gerardo DIAZ CUELLAR, Hari R. PULAPAKA, Ivan Dimitrov PASHOV, Navin Narayan PAI, Benjamin M. SCHULTZ
  • Publication number: 20180103010
    Abstract: A computer system enforces network security policy by pre-classifying network traffic. Unidimensional pre-classifier filters analyze network traffic to populate a pre-classifier bit array. Rather than having filter explosion with the creation of multidimensional filters, the pre-classifier bit array is used by other layers and/or filters to enforce network security policy. Further, reclassification of network traffic due to network security changes is streamlined due to the inclusion of pre-classifier layers and the pre-classifier bit array.
    Type: Application
    Filed: January 10, 2017
    Publication date: April 12, 2018
    Inventors: Gerardo Diaz Cuellar, Praveen Balasubramanian, Hossam Fattah
  • Publication number: 20170353496
    Abstract: A host operating system running on a computing device monitors network communications for the computing device to identify network resources that are requested by the computing device. The host operating system compares requested network resources against security policies to determine if the requested network resources are trusted. When an untrusted network resource is identified, the host operating system accesses the untrusted network resource within a container that is isolated from the host operating system kernel using techniques discussed herein. By restricting access to untrusted network resources to isolated containers, the host operating system is protected from even kernel-level attacks or infections that may result from an untrusted network resource.
    Type: Application
    Filed: June 2, 2016
    Publication date: December 7, 2017
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Navin Narayan Pai, Charles G. Jeffries, Giridhar Viswanathan, Benjamin M. Schultz, Frederick J. Smith, Lars Reuther, Michael B. Ebersol, Gerardo Diaz Cuellar, Ivan Dimitrov Pashov, Poornananda R. Gaddehosur, Hari R. Pulapaka, Vikram Mangalore Rao
  • Publication number: 20170317978
    Abstract: Techniques for isolating interfaces of a protocol stack are discussed herein. In some instances, an apparatus may store a firewall policy that defines a set of rules for a component or type of component of a layer of a protocol stack, such as an Internet Protocol (IP) interface(s), an IP address(es), a TCP port(s), a socket(s), an application(s), a virtual network interface(s), an interface associated with a Virtual Private Network (VPN), and so on. The apparatus may include a firewall configured to implement the firewall policy at the layer of the protocol stack when data traffic is received at the layer. In some instances, the apparatus may include a monitor module to determine environmental context associated with the device, such as a geo-location of the apparatus or a connection of the apparatus to a network. The firewall may select a firewall policy that is applicable to the environmental context.
    Type: Application
    Filed: June 30, 2016
    Publication date: November 2, 2017
    Inventors: Gerardo Diaz-Cuellar, Aman Arneja, Benjamin M. Schultz
  • Publication number: 20170279805
    Abstract: The techniques and systems described herein improve security and improve connection reliability by providing a framework for an application to communicate its intent to an authority service so that the authority service can enforce networking security requirements. In various examples, an intent to access a resource over a network is received and queries are sent to resolve a network connection that enables access to the resource. Information for the resource is then collected and stored together in a trusted and secure environment. For instance, the information can include proxy data or can include hostname data. A ticket can be created based on the information. The ticket can be used to establish and maintain a secure network connection to the resource.
    Type: Application
    Filed: August 12, 2016
    Publication date: September 28, 2017
    Inventors: Gerardo Diaz-Cuellar, Benjamin M. Schultz, Ivan Dimitrov Pashov
  • Patent number: 9590993
    Abstract: Some embodiments of the invention are directed to techniques for determining whether a process on a computer system that is sending or receiving data, or is attempting to send or receive data, with another computer system is executing in kernel mode or user mode and providing an indicator of this determination to a security engine. In some embodiments, such an indication is provided to a security engine (e.g., a firewall) that implements a security policy based at least in part on whether the sending or receiving process is in kernel mode or user mode, and filter communications based on a process' operating mode. This enables a security engine to maintain security policies of greater specificity and thus improve security of a computer system.
    Type: Grant
    Filed: September 9, 2014
    Date of Patent: March 7, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David Abzarian, Salahuddin Khan, Eran Yariv, Gerardo Diaz Cuellar
  • Patent number: 9332017
    Abstract: Techniques to provide an improved representation of remote network access for a network administrator managing and controlling access to resources on an enterprise network. The representation indicates resources accessed by a remote computer or by a user of that computer and provides associated information useful for managing remote network access. To create the representation, multiple security associations formed between a remote client computer and resources on the enterprise network are associated with entity sessions, based on identical session identifiers generated for each security association within an entity session. The entity sessions may be aggregated into a DirectAccess “connection” between the remote client computer and the enterprise network, based on an identity of the remote client computer. Resources accessed over the connection may be identified using a session identifier of each entity session so that security associations in that entity session may be matched with the resources.
    Type: Grant
    Filed: July 7, 2014
    Date of Patent: May 3, 2016
    Inventors: Dhiraj K. Gupta, Gerardo Diaz-Cuellar, Ashish Saxena, Abhishek Tiwari
  • Patent number: 9288185
    Abstract: A software firewall that may be configured using rules specified for types of network interfaces rather than individual network interfaces. The network types may be specified with type identifiers that have a readily understandable meaning to a user, facilitating ease of configuring the firewall. The network types could include, for example, wired, wireless and remote access. A rule specified based on a network type can be implemented for network interfaces of that network type. The implementation may be performed automatically and may be updated based on network location awareness information.
    Type: Grant
    Filed: June 27, 2014
    Date of Patent: March 15, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David Abzarian, Gerardo Diaz Cuellar
  • Patent number: 9118686
    Abstract: Per process networking capability techniques are described. In one or more implementations, a determination is made as to whether access to a network capability is permitted for a process that is executed on the computing device based on a token that is associated with the process. The token has one or more security identifiers that reference one or more network capabilities described in a manifest. The access to the network capability is managed based on the determination.
    Type: Grant
    Filed: September 6, 2011
    Date of Patent: August 25, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Gerardo Diaz-Cuellar, Sermet Iskin, Jorge P. Coronel Mendoza, Scott B. Graham, Nicholas D. Wood
  • Patent number: 9075985
    Abstract: A restricted transmogrifying driver platform is described herein. In one or more implementations, a platform is provided that enables a restricted execution environment for virtual private network (VPN) drivers and other transmogrifying drivers. The platform may be implemented as an operating system component that exposes an interface through which drivers may register with the platform and be invoked to perform functions supported by the platform. The restricted execution environment places one or more restrictions upon transmogrifying drivers that operate via the platform. For instance, execution may occur in user mode on a per-user basis and within a sandbox. Further, the platform causes associated drivers to run as background processes with relatively low privileges. Further, the platform may suspend the drivers and control operations of the driver by scheduling of background tasks. Accordingly, exposure of the transmogrifying drivers to the system is controlled and limited through the platform.
    Type: Grant
    Filed: May 31, 2013
    Date of Patent: July 7, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Gerardo Diaz-Cuellar, Dhiraj Kant Gupta