Patents by Inventor David J. Linsley

David J. Linsley 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: 10956615
    Abstract: Embodiments are directed to managing software components loaded on a device by identifying a platform manifest having a valid certificate, confirming that the platform manifest is bound to the device, identifying components listed on the platform manifest, confirming that the listed components have a valid certificate, and loading listed components with valid certificates on the device. The components may be binaries and packages for an operating system. The components may be signed in an embedded manner or with detached signatures. The platform manifest may be bound to the device in a manner that allows for identification of unauthorized platform manifests.
    Type: Grant
    Filed: February 17, 2017
    Date of Patent: March 23, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Scott R. Shell, Md. Nazmus Sakib, Kinshumann, Dale R. Rolf, Daryn E. Robbins, Ian McCarty, JianMing M. Zhou, David J. Linsley
  • Publication number: 20180239929
    Abstract: Embodiments are directed to managing software components loaded on a device by identifying a platform manifest having a valid certificate, confirming that the platform manifest is bound to the device, identifying components listed on the platform manifest, confirming that the listed components have a valid certificate, and loading listed components with valid certificates on the device. The components may be binaries and packages for an operating system. The components may be signed in an embedded manner or with detached signatures. The platform manifest may be bound to the device in a manner that allows for identification of unauthorized platform manifests.
    Type: Application
    Filed: February 17, 2017
    Publication date: August 23, 2018
    Inventors: Scott R. SHELL, Md. Nazmus SAKIB, KINSHUMANN, Dale R. ROLF, Daryn E. ROBBINS, Ian MCCARTY, JianMing M. ZHOU, David J. Linsley
  • Patent number: 9836601
    Abstract: Anti-malware process protection techniques are described. In one or more implementations, an anti-malware process is launched. The anti-malware process is verified based at least in part on an anti-malware driver that contains certificate pairs which contain an identity that is signed with the trusted certificate from a verified source. After the anti-malware process is verified, the anti-malware process may be assigned a protection level, and an administrative user may be prevented from altering the anti-malware process.
    Type: Grant
    Filed: August 8, 2016
    Date of Patent: December 5, 2017
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Hari Pulapaka, Nicholas S. Judge, Arun U. Kishan, James A. Schwartz, Jr., Kinshumann Kinshumann, David J. Linsley, Niraj V. Majmudar, Scott D. Anderson
  • Patent number: 9582513
    Abstract: Embodiments of the disclosure provide access to data in a compressed container through dynamic redirection, without storing decompressed data in persistent memory. The compressed container is stored in a first portion of memory. User data and reference files, with redirect pointers, for accessing corresponding files in the compressed container are stored in a second portion of memory. A command to access data is detected by a computing device. The redirect pointer in the reference file associated with the command redirects access to the corresponding compressed version of data stored in the compressed container. The corresponding accessed compressed version of data is decompressed on the fly and provided in response to the command without storing the decompressed data in persistent memory. Some embodiments provide integrity protection to validate the data coming from the compressed container.
    Type: Grant
    Filed: December 8, 2013
    Date of Patent: February 28, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Richard A. Pletcher, Malcolm J. Smith, Alain F. Gefflaut, Alex Bendetov, Andrey Shedel, David J. Linsley, Aaron M. Farmer, James Aaron Holmes, Troy E. Shaw, Emily N. Wilson, Innokentiy Basmov, Michael J. Grass, Alex M. Semenko, Scott D. Anderson, Kinshuman Kinshumann
  • Publication number: 20160342790
    Abstract: Anti-malware process protection techniques are described. In one or more implementations, an anti-malware process is launched. The anti-malware process is verified based at least in part on an anti-malware driver that contains certificate pairs which contain an identity that is signed with the trusted certificate from a verified source. After the anti-malware process is verified, the anti-malware process may be assigned a protection level, and an administrative user may be prevented from altering the anti-malware process.
    Type: Application
    Filed: August 8, 2016
    Publication date: November 24, 2016
    Inventors: Hari Pulapaka, Nicholas S. Judge, Arun U. Kishan, James A. Schwartz, JR., Kinshumann Kinshumann, David J. Linsley, Niraj V. Majmudar, Scott D. Anderson
  • Patent number: 9424431
    Abstract: In a pre-operating system environment on a device prior to loading and running an operating system on the device, a policy identifying configuration settings for the operating system is obtained. The operating system itself is prevented from changing this policy, but the policy can be changed under certain circumstances by components of the pre-operating system environment. The policy is compared to configuration values used by the operating system, and the operating system is allowed to boot with the configuration values if the configuration values satisfy the policy. However, if the configuration values do not satisfy the policy, then a responsive action is taken.
    Type: Grant
    Filed: September 14, 2015
    Date of Patent: August 23, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Scott D. Anderson, David J. Linsley, Magnus Bo Gustaf Nyström, Douglas M. MacIver, Robert Karl Spiger
  • Patent number: 9424425
    Abstract: Anti-malware process protection techniques are described. In one or more implementations, an anti-malware process is launched. The anti-malware process is verified based at least in part on an anti-malware driver that contains certificates which contain an identity that is signed with the trusted certificate from a verified source. After the anti-malware process is verified, the anti-malware process may be assigned a protection level, and an administrative user may be prevented from altering the anti-malware process.
    Type: Grant
    Filed: May 31, 2013
    Date of Patent: August 23, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Hari Pulapaka, Nicholas S. Judge, Arun U. Kishan, James A. Schwartz, Jr., Kinshumann Kinshumann, David J. Linsley, Niraj V. Majmudar, Scott D. Anderson
  • Patent number: 9256745
    Abstract: In a pre-operating system environment on a device prior to loading and running an operating system on the device, a policy identifying configuration settings for the operating system is obtained. The operating system itself is prevented from changing this policy, but the policy can be changed under certain circumstances by components of the pre-operating system environment. The policy is compared to configuration values used by the operating system, and the operating system is allowed to boot with the configuration values if the configuration values satisfy the policy. However, if the configuration values do not satisfy the policy, then a responsive action is taken.
    Type: Grant
    Filed: March 1, 2011
    Date of Patent: February 9, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Scott D. Anderson, David J. Linsley, Magnus Bo Gustaf Nyström, Douglas M. MacIver, Robert Karl Spiger
  • Publication number: 20160012234
    Abstract: In a pre-operating system environment on a device prior to loading and running an operating system on the device, a policy identifying configuration settings for the operating system is obtained. The operating system itself is prevented from changing this policy, but the policy can be changed under certain circumstances by components of the pre-operating system environment. The policy is compared to configuration values used by the operating system, and the operating system is allowed to boot with the configuration values if the configuration values satisfy the policy. However, if the configuration values do not satisfy the policy, then a responsive action is taken.
    Type: Application
    Filed: September 14, 2015
    Publication date: January 14, 2016
    Inventors: Scott D. Anderson, David J. Linsley, Magnus Bo Gustaf Nyström, Douglas M. MacIver, Robert Karl Spiger
  • Patent number: 9208313
    Abstract: Anti-malware process protection techniques are described. In one or more implementations, an anti-malware driver is signed using a hash that identifies a manufacturer of the anti-malware driver. The anti-malware driver is then provided to a computing device. The anti-malware driver may be assigned a protection level based on an agreement between the anti-malware manufacturer and an operating system manufacturer, and this protection level effects the operation of the anti-malware program on the computing device.
    Type: Grant
    Filed: June 11, 2013
    Date of Patent: December 8, 2015
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Hari Pulapaka, Nicholas S. Judge, Arun U. Kishan, James A. Schwartz, Jr., Kinshumann Kinshumann, David J. Linsley, Niraj V. Majmudar, Scott D. Anderson
  • Publication number: 20150161155
    Abstract: Embodiments of the disclosure provide access to data in a compressed container through dynamic redirection, without storing decompressed data in persistent memory. The compressed container is stored in a first portion of memory. User data and reference files, with redirect pointers, for accessing corresponding files in the compressed container are stored in a second portion of memory. A command to access data is detected by a computing device. The redirect pointer in the reference file associated with the command redirects access to the corresponding compressed version of data stored in the compressed container. The corresponding accessed compressed version of data is decompressed on the fly and provided in response to the command without storing the decompressed data in persistent memory. Some embodiments provide integrity protection to validate the data coming from the compressed container.
    Type: Application
    Filed: December 8, 2013
    Publication date: June 11, 2015
    Applicant: Microsoft Corporation
    Inventors: Richard A. Pletcher, Malcolm J. Smith, Alain F. Gefflaut, Alex Bendetov, Andrey Shedel, David J. Linsley, Aaron M. Farmer, James Aaron Holmes, Troy E. Shaw, Emily N. Wilson, Innokentiy Basmov, Michael J. Grass, Alex M. Semenko, Scott D. Anderson, Kinshuman Kinshumann
  • Patent number: 8938618
    Abstract: Booting a computing device includes executing one or more firmware components followed by a boot loader component. A protection component for the computing device, such as an anti-malware program, is identified and executed as an initial component after executing the boot loader component. One or more boot components are also executed, these one or more boot components including only boot components that have been approved by the protection component. A list of boot components that have been previously approved by the protection component can also be maintained in a tamper-proof manner.
    Type: Grant
    Filed: April 5, 2013
    Date of Patent: January 20, 2015
    Assignee: Microsoft Corporation
    Inventors: Mark F. Novak, Robert Karl Spiger, Stefan Thom, David J. Linsley, Scott A. Field, Anil Francis Thomas
  • Publication number: 20140359774
    Abstract: Anti-malware process protection techniques are described. In one or more implementations, an anti-malware process is launched. The anti-malware process is verified based at least in part on an anti-malware driver that contains certificates which contain an identity that is signed with the trusted certificate from a verified source. After the anti-malware process is verified, the anti-malware process may be assigned a protection level, and an administrative user may be prevented from altering the anti-malware process.
    Type: Application
    Filed: May 31, 2013
    Publication date: December 4, 2014
    Inventors: Hari Pulapaka, Nicholas S. Judge, Arun U. Kishan, James A. Schwartz, Jr., Kinshumann Kinshumann, David J. Linsley, Niraj V. Majmudar, Scott D. Anderson
  • Publication number: 20140359775
    Abstract: Anti-malware process protection techniques are described. In one or more implementations, an anti-malware driver is signed using a hash that identifies a manufacturer of the anti-malware driver. The anti-malware driver is then provided to a computing device. The anti-malware driver may be assigned a protection level based on an agreement between the anti-malware manufacturer and an operating system manufacturer, and this protection level effects the operation of the anti-malware program on the computing device.
    Type: Application
    Filed: June 11, 2013
    Publication date: December 4, 2014
    Inventors: Hari Pulapaka, Nicholas S. Judge, Arun U. Kishan, James A. Schwartz, JR., Kinshumann Kinshumann, David J. Linsley, Niraj V. Majmudar, Scott D. Anderson
  • Patent number: 8776258
    Abstract: Techniques for providing access rights to different portions of a software application to one or more authorized users are described herein. An issuance license may be inserted into the software application that divides the software application into one or more portions and identifies, for each portion, one or more users that are authorized access to the portion. Each portion of the software application may then be encrypted using, for example, a different cryptographic key. When the software is executed, an end user license may then be requested that corresponds to a particular user and that entitles the particular user access to each portion of the software application that the issuance license identifies the particular user as being authorized to access. The end user license may then be used to decrypt each portion of the software application that the issuance license identifies the particular end user as being authorized to access.
    Type: Grant
    Filed: June 20, 2007
    Date of Patent: July 8, 2014
    Inventor: David J. Linsley
  • Patent number: 8627464
    Abstract: An event log can comprise, not only entries associated with components instantiated since a most recent power on of a computing device, but also entries of components instantiated prior to that power on, such as components that were instantiated, and represent, a state of the computing device prior to hibernation that has now been resumed. Upon hibernation, the current values of the Platform Configuration Registers (PCRs) of a Trusted Platform Module (trusted execution environment), as well as a quote of those current values, and a current value of a monotonic counter of the trusted execution environment can be logged. The monotonic counter can be incremented at each power on to track successive generations of the computing device and to guard against an intervening, not-logged generation. A subsequent parsing of the event log can verify the prior generational entries with reference to the PCR values in the log that are associated with those generations.
    Type: Grant
    Filed: November 2, 2010
    Date of Patent: January 7, 2014
    Assignee: Microsoft Corporation
    Inventors: Stefan Thom, Nathan Ide, Scott Danie Anderson, Robert Karl Spiger, David J. Linsley, Mark Fishel Novak, Magnus Nyström
  • Patent number: 8417962
    Abstract: Booting a computing device includes executing one or more firmware components followed by a boot loader component. A protection component for the computing device, such as an anti-malware program, is identified and executed as an initial component after executing the boot loader component. One or more boot components are also executed, these one or more boot components including only boot components that have been approved by the protection component. A list of boot components that have been previously approved by the protection component can also be maintained in a tamper-proof manner.
    Type: Grant
    Filed: June 11, 2010
    Date of Patent: April 9, 2013
    Assignee: Microsoft Corporation
    Inventors: Mark F. Novak, Robert Karl Spiger, Stefan Thom, David J. Linsley, Scott A. Field, Anil Francis Thomas
  • Patent number: 8375437
    Abstract: A Trusted Platform Module (TPM) can be utilized to provide hardware-based protection of cryptographic information utilized within a virtual computing environment. A virtualized cryptographic service can interface with the virtual environment and enumerate a set of keys that encryption mechanisms within the virtual environment can utilize to protect their keys. The keys provided by the virtualized cryptographic service can be further protected by the TPM-specific keys of the TPM on the computing device hosting the virtual environment. Access to the protected data within the virtual environment can, thereby, only be granted if the virtualized cryptographic service's keys have been protected by the TPM-specific keys of the TPM on the computing device that is currently hosting the virtual environment. The virtualized cryptographic service's keys can be protected by TPM-specific keys of TPMs on selected computing devices to enable the virtual environment to be hosted by other computing devices.
    Type: Grant
    Filed: March 30, 2010
    Date of Patent: February 12, 2013
    Assignee: Microsoft Corporation
    Inventors: David J. Linsley, Stefan Thom
  • Publication number: 20120226895
    Abstract: In a pre-operating system environment on a device prior to loading and running an operating system on the device, a policy identifying configuration settings for the operating system is obtained. The operating system itself is prevented from changing this policy, but the policy can be changed under certain circumstances by components of the pre-operating system environment. The policy is compared to configuration values used by the operating system, and the operating system is allowed to boot with the configuration values if the configuration values satisfy the policy. However, if the configuration values do not satisfy the policy, then a responsive action is taken.
    Type: Application
    Filed: March 1, 2011
    Publication date: September 6, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Scott D. Anderson, David J. Linsley, Magnus Bo Gustaf Nyström, Douglas M. MacIver, Robert Karl Spiger
  • Publication number: 20120110644
    Abstract: An event log can comprise, not only entries associated with components instantiated since a most recent power on of a computing device, but also entries of components instantiated prior to that power on, such as components that were instantiated, and represent, a state of the computing device prior to hibernation that has now been resumed. Upon hibernation, the current values of the Platform Configuration Registers (PCRs) of a Trusted Platform Module (trusted execution environment), as well as a quote of those current values, and a current value of a monotonic counter of the trusted execution environment can be logged. The monotonic counter can be incremented at each power on to track successive generations of the computing device and to guard against an intervening, not-logged generation. A subsequent parsing of the event log can verify the prior generational entries with reference to the PCR values in the log that are associated with those generations.
    Type: Application
    Filed: November 2, 2010
    Publication date: May 3, 2012
    Applicant: Microsoft Corporation
    Inventors: Stefan Thom, Nathan Ide, Scott Daniel Anderson, Robert Karl Spiger, David J. Linsley, Mark Fishel Novak, Magnus Nyström