Patents by Inventor Giridhar Viswanathan

Giridhar Viswanathan 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: 10375111
    Abstract: Anonymous containers are discussed herein. An operating system running on a computing device, also referred to herein as a host operating system running on a host device, prevents an application from accessing personal information (e.g., user information or corporate information) by activating an anonymous container that is isolated from the host operating system. In order to create and activate the anonymous container, a container manager anonymizes the configuration and settings data of the host operating system, and injects the anonymous configuration and settings data into the anonymous container. Such anonymous configuration and settings data may include, by way of example and not limitation, application data, machine configuration data, and user settings data. The host operating system then allows the application to run in the anonymous container.
    Type: Grant
    Filed: February 10, 2017
    Date of Patent: August 6, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Benjamin M. Schultz, Frederick Justus Smith, Daniel Vasquez Lopez, Abhinav Mishra, Ian James McCarty, John A. Starks, Joshua David Ebersol, Ankit Srivastava, Hari R. Pulapaka, Mehmet Iyigun, Stephen E. Bensley, Giridhar Viswanathan
  • Publication number: 20190180003
    Abstract: Securely performing file operations. A method includes determining a licensing characteristic assigned to a file. When the licensing characteristic assigned to the file meets or exceeds a predetermined licensing condition, then the method includes performing a file operation on the file in a host operating system while preventing the file operation from being performed in the guest operating system. When the licensing characteristic assigned to the file does not meet or exceed the predetermined licensing condition, then the method includes performing the file operation on the file in the guest operating system while preventing the file operation from being performed directly in the host operating system.
    Type: Application
    Filed: June 21, 2018
    Publication date: June 13, 2019
    Inventors: Benjamin M. Schultz, Balaji Balasubramanyan, Giridhar Viswanathan, Ankit Srivastava, Margarit Simeonov Chenchev, Hari R. Pulapaka, Nived Kalappuraikal Sivadas, Raphael Gianotti Serrano dos Santo, Narasimhan Ramasubramanian, Frederick Justus Smith, Matthew David Kurjanowicz, Prakhar Srivastava, Jonathan Schwartz
  • Publication number: 20190180033
    Abstract: Securely performing file operations. A method includes determining a trust characteristic assigned to a file. When the trust characteristic assigned to the file meets or exceeds a predetermined trust condition, then the method includes performing a file operation on the file in a host operating system while preventing the file operation from being performed in the container operating system. When the trust characteristic assigned to the file does not meet or exceed the predetermined trust condition, then the method includes performing the file operation on the file in the container operating system while preventing the file operation from being performed directly in the host operating system.
    Type: Application
    Filed: February 12, 2018
    Publication date: June 13, 2019
    Inventors: Bryan R. BORN, Giridhar VISWANATHAN, Peteris LEDINS, Balaji BALASUBRAMANYAN, Margarit Simeonov CHENCHEV, Benjamin M. SCHULTZ, Hari R. PULAPAKA, Frederick Justus SMITH, Narasimhan RAMASUBRAMANIAN, Raphael GIANOTTI SERRANO DOS SANTO, Nived KALAPPURAIKAL SIVADAS, Ravinder THIND, Matthew David KURJANOWICZ
  • 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: 10277407
    Abstract: The present invention provides for streamlined issuance of certificates and other tokens that are contingent on key attestation of keys from a trusted platform module within a computing platform. Various methods are described for wrapping the requested token in a secret, such as an AES key, that is encrypted to a TPM based key in a key challenge. If the requesting platform fails the key challenge, the encrypted certificate or token cannot be decrypted. If requesting platform passes the challenge, the encrypted certificate or token can be decrypted using the AES key recovered from the key challenge.
    Type: Grant
    Filed: August 26, 2016
    Date of Patent: April 30, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Christopher Edward Fenner, Peter David Waxman, Gabriel Fortunato Stocco, Kam Kouladjie, Cristian Stefan Salvan, Prabu Raju, Himanshu Soni, Giridhar Viswanathan
  • Publication number: 20190050560
    Abstract: The techniques described herein enable client APIs to be deployed within isolated computing environments while externally exposing and/or maintaining a log of computing events that the client APIs perform and/or attempt to perform within the isolated computing environments. Generally described, configurations disclosed herein enable audit parameters associated with client application programming interfaces (APIs) to be deployed within an isolated computing environment to generate a log of computing events performed by the client APIs. Ultimately, access to the log of computing events is provided externally to the isolated computing environment without exposing sensitive computing resources (e.g., a host operating system (OS)) to the various client APIs.
    Type: Application
    Filed: December 28, 2017
    Publication date: February 14, 2019
    Inventors: Yolando PEREIRA, Margarit Simeonov CHENCHEV, Giridhar VISWANATHAN, Constantin Sorin OPREA, John Andrew STARKS, Kyle Patrick SABO, Douglas Evan COOK, Seth Christopher BEINHART, Charles Glenn JEFFRIES, Ankit SRIVASTAVA, Benjamin M. SCHULTZ, Hari R. PULAPAKA
  • Publication number: 20180349629
    Abstract: Technologies are described for selective persistence of data utilized by software containers. A configuration policy is defined that includes data that specifies one or more data stores for which data is not to be persisted following accesses to a software container and one or more data stores for which data is to be persisted following accesses to the software container. When the software container is first accessed, the data stores identified in the configuration policy are attached to the software container. Upon a subsequent access to the container, such as at the conclusion of a user session or upon destruction of the container, the data in the attached data stores is persisted or deleted based upon the configuration policy. When the software container is once again accessed, the data store containing the persisted data can be re-attached to the software container.
    Type: Application
    Filed: January 15, 2018
    Publication date: December 6, 2018
    Inventors: Margarit Simeonov CHENCHEV, Benjamin M. SCHULTZ, Giridhar VISWANATHAN, Balaji BALASUBRAMANYAN, Yanan ZHANG, Frederick Justus SMITH, Hari R. PULAPAKA, David WESTON
  • Publication number: 20180336351
    Abstract: A host operating system running on a computing device monitors resource access by an application running in a container that is isolated from the host operating system. In response to detecting resource access by the application, a security event is generated describing malicious activity that occurs from the accessing the resource. This security event is analyzed to determine a threat level of the malicious activity. If the threat level does not satisfy a threat level threshold, the host operating system allows the application to continue accessing resources and continues to monitor resource access. When the threat level satisfies the threat level threshold, the operating system takes corrective action to prevent the malicious activity from spreading beyond the isolated container. Through the use of security events, the host operating system is protected from even kernel-level attacks without using resources required to run anti-virus software in the isolated container.
    Type: Application
    Filed: May 22, 2017
    Publication date: November 22, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Charles G. JEFFRIES, Benjamin M. SCHULTZ, Giridhar VISWANATHAN, Frederick Justus SMITH, David Guy WESTON, Ankit SRIVASTAVA, Ling Tony CHEN, Hari R. PULAPAKA
  • 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: 20180314846
    Abstract: Facilities are provided to secure guest runtime environments (GREs). Security policy specifications may be associated with GREs. A GRE's security policy may be specific to the GRE and may also include security policy inherited from higher levels such as a host operating environment. The security policy of a GRE specifies restrictions and/or permissions for activities that may be performed within the scope of execution of the GRE. A GRE's security policy may limit what the GRE's guest software may do within the GRE. Restrictions/permissions may be applied to objects such as files, configuration data, and the like. Security specifications may be applied to execution initiated within a GRE. A GRE's security specification may restrict/permit executable objects from loading and executing within the GRE. The executability or accessibility of objects may be conditioned on factors such as the health/integrity of the GRE, the host system, requested files, and others.
    Type: Application
    Filed: April 30, 2017
    Publication date: November 1, 2018
    Inventors: Benjamin M. Schultz, KINSHUMANN, David John Linsley, CHARLES GLENN JEFFRIES, Giridhar Viswanathan, Scott Daniel Anderson, Frederick J. Smith, Hari R. Pulapaka, JianMing Zhou, Margarit Simeonov Chenchev, David B. Probert
  • Publication number: 20180139238
    Abstract: Anonymous containers are discussed herein. An operating system running on a computing device, also referred to herein as a host operating system running on a host device, prevents an application from accessing personal information (e.g., user information or corporate information) by activating an anonymous container that is isolated from the host operating system. In order to create and activate the anonymous container, a container manager anonymizes the configuration and settings data of the host operating system, and injects the anonymous configuration and settings data into the anonymous container. Such anonymous configuration and settings data may include, by way of example and not limitation, application data, machine configuration data, and user settings data. The host operating system then allows the application to run in the anonymous container.
    Type: Application
    Filed: February 10, 2017
    Publication date: May 17, 2018
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Benjamin M. Schultz, Frederick Justus Smith, Daniel Vasquez Lopez, Abhinav Mishra, Ian James McCarty, John A. Starks, Joshua David Ebersol, Ankit Srivastava, Hari R. Pulapaka, Mehmet Iyigun, Stephen E. Bensley, Giridhar Viswanathan
  • 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: 20170302459
    Abstract: The present invention provides for streamlined issuance of certificates and other tokens that are contingent on key attestation of keys from a trusted platform module within a computing platform. Various methods are described for wrapping the requested token in a secret, such as an AES key, that is encrypted to a TPM based key in a key challenge. If the requesting platform fails the key challenge, the encrypted certificate or token cannot be decrypted. If requesting platform passes the challenge, the encrypted certificate or token can be decrypted using the AES key recovered from the key challenge.
    Type: Application
    Filed: August 26, 2016
    Publication date: October 19, 2017
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Christopher Edward Fenner, Peter David Waxman, Gabriel Fortunato Stocco, Kam Kouladjie, Cristian Stefan Salvan, Prabu Raju, Himanshu Soni, Giridhar Viswanathan
  • Publication number: 20160259941
    Abstract: A device boots in a secure manner that allows measurements reflecting which components are loaded during booting to be generated. Measurements of such components, as well as of a device management agent and the security state of the device, are also obtained. The device management agent accesses an attestation service for an enterprise, which is a collection of resources managed by a management service. The device management agent provides the obtained measurements to the attestation service, which evaluates the measurements and based on the evaluation determines whether the device is verified for use in the enterprise. The management service uses this verification to ensure that the device management agent is running in a secure manner, is accurately providing indications of the state of the device to the management service, and is implementing policy received from the management service.
    Type: Application
    Filed: March 6, 2015
    Publication date: September 8, 2016
    Inventors: Janani Vasudevan, Peter David Waxman, Kinshuman Kinshumann, Justin A. Hou, Peter J. Kaufman, Yuhang Zhu, Giridhar Viswanathan, Scott R. Shell