Patents by Inventor Jin Lin

Jin Lin 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: 12608217
    Abstract: Data-at-rest protection for virtual machines includes operating a data protection component within a first privilege context of a guest partition, and operating a guest operating system (OS) within a second privilege context of the guest partition. The data protection component participates in data input/output operations of the guest OS. Based on a data output operation of the guest OS, the data protection component applies a first data protection operation to first data associated with the data output operation; and initiates storage of a first result of the first data protection operation to a data storage device. Based a data input operation of the guest OS, the data protection component applies a second data protection operation to second data associated with the data input operation; and, based on applying the second data protection operation to the second data, communicates an outcome of the data input operation to the guest OS.
    Type: Grant
    Filed: August 29, 2022
    Date of Patent: April 21, 2026
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jin Lin, David Alan Hepkin, Michael Bishop Ebersol, Matthew David Kurjanowicz, Taylor Alan Hope
  • Publication number: 20250348318
    Abstract: A verified stack trace can be generated by utilizing information contained in a shadow stack, such as a hardware protected duplicate stack implemented for malware prevention and computer security. The shadow stack contains return addresses which are obtainable without requiring an unwinding of the traditional call stack. As such, triaging based on return address information can be performed more quickly and more efficiently, and with a reduced utilization of processing resources. Additionally, the generation of a verified stack trace can be performed, with such a verified stack trace containing return addresses that are known to be correct and not corrupted. The return addresses can either be read from the traditional call stack, or derived therefrom, and then verified by comparison to corresponding return addresses from the shadow stack, or they can be read directly from the shadow stack.
    Type: Application
    Filed: May 7, 2025
    Publication date: November 13, 2025
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Jin LIN, Jason LIN, Niraj MAJMUDAR, Mehmet IYIGUN
  • Publication number: 20250284525
    Abstract: Methods and systems are provided for isolating resources of a virtual machine (VM) guest from a host operating system (OS). The techniques include receiving, from a guest partition corresponding to an isolated VM guest, an acceptance request that identifies a guest memory page mapped into a guest physical address (GPA) space and a memory page visibility class, e.g., exclusive, shared read-only, or shared read-write. The techniques further include verifying, via a host OS second-level address translation table, that the physical memory page satisfies the specified visibility class by confirming that the host OS has the appropriate access rights. Upon successful verification, the guest memory page is transitioned from an unaccepted state to an accepted state. These techniques enable controlled memory sharing and enhanced isolation between guest VMs and the host OS in virtualized environments.
    Type: Application
    Filed: May 22, 2025
    Publication date: September 11, 2025
    Inventors: Jin LIN, David Alan HEPKIN, Michael Bishop EBERSOL, Stephanie Sumyi LUCK, Jonathan Edward LANGE, Bruce J. SHERWIN, JR., Kevin Michael BROAS, Wen Jia LIU, Xin David ZHANG, Alexander Daniel GREST
  • Patent number: 12399979
    Abstract: The techniques disclosed herein enable a system to configure a confidential virtual resource unit by provisioning a security component to a tenant's virtual resource unit. The system creates multiple different virtual trust layers within the confidential virtual resource unit. This creation effectively defines security boundaries between the virtual trust layers. The virtual trust layers are associated with different privileges, such that a higher privileged virtual trust layer is provided with more privileges compared to a lower privileged virtual trust layer. In one example, a lower privileged virtual trust layer may include basic virtual resource components (e.g., drivers, applications, processes, functions, workloads executing within a guest operating system) and a higher privileged virtual trust layer is the location to which a virtual security component is provisioned by the system.
    Type: Grant
    Filed: May 27, 2022
    Date of Patent: August 26, 2025
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Jin Lin, Michael Bishop Ebersol, David Kimler Altobelli, Jingbo Wu, Qiang Wang
  • Patent number: 12353903
    Abstract: Isolating resources of a virtual machine (VM) guest from a host operating system. A computer system receives an acceptance request from a guest partition corresponding to an isolated VM. The acceptance request identifies a guest memory page that is mapped into a guest physical address space of the guest partition, and a memory page visibility class. The computer system determines whether a physical memory page that is mapped to the guest memory page meets the memory page visibility class. The computer system sets a page acceptance indication for the guest memory page from an unaccepted state to an accepted state based on the physical memory page meeting the memory page visibility class.
    Type: Grant
    Filed: June 10, 2022
    Date of Patent: July 8, 2025
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jin Lin, David Alan Hepkin, Michael Bishop Ebersol, Stephanie Sumyi Luck, Jonathan Edward Lange, Bruce J. Sherwin, Jr., Kevin Michael Broas, Wen Jia Liu, Xin David Zhang, Alexander Daniel Grest
  • Patent number: 12327120
    Abstract: A verified stack trace can be generated by utilizing information contained in a shadow stack, such as a hardware protected duplicate stack implemented for malware prevention and computer security. The shadow stack contains return addresses which are obtainable without requiring an unwinding of the traditional call stack. As such, triaging based on return address information can be performed more quickly and more efficiently, and with a reduced utilization of processing resources. Additionally, the generation of a verified stack trace can be performed, with such a verified stack trace containing return addresses that are known to be correct and not corrupted. The return addresses can either be read from the traditional call stack, or derived therefrom, and then verified by comparison to corresponding return addresses from the shadow stack, or they can be read directly from the shadow stack.
    Type: Grant
    Filed: September 29, 2020
    Date of Patent: June 10, 2025
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jin Lin, Jason Lin, Niraj Majmudar, Mehmet Iyigun
  • Publication number: 20250139235
    Abstract: Detection of malicious direct memory access (DMA) device used for direct device assignment. A virtualization computer system assigns a peripheral device to an operating context within a virtualization environment. The peripheral device is DMA capable. The virtualization computer system monitors a signal source that is affected by DMA operations initiated by the peripheral device while the peripheral device is assigned to the operating context. Based on monitoring the signal source, the virtualization computer system identifies a signal pattern characterizing the DMA operations that are initiated by the peripheral device. Using the signal pattern, the virtualization computer system determines that the DMA operations initiated by the peripheral device are abnormal and the virtualization computer system identifies the peripheral device as malicious.
    Type: Application
    Filed: October 31, 2023
    Publication date: May 1, 2025
    Inventors: Jin LIN, Cody Dean HARTWIG, Jason Stewart WOHLGEMUTH
  • Publication number: 20250139034
    Abstract: Probation of direct memory access (DMA) device used for direct device assignment. A virtualization computer system identifies a peripheral device as being removed from a direct assignment to a first operating context of a virtualization environment. The peripheral device is DMA capable. The virtualization computer system assigns the peripheral device to a second operating context of the virtualization environment and initiates a device validation against the peripheral device. Based on the device validation indicating that the peripheral device is normal, the virtualization computer system reassigns the peripheral device to a third operating context of the virtualization environment. Based on the device validation indicating that the peripheral device is abnormal, the virtualization computer system excludes the peripheral device from assignment to a third operating context of the virtualization environment.
    Type: Application
    Filed: October 31, 2023
    Publication date: May 1, 2025
    Inventors: Jin LIN, Cody Dean HARTWIG, Jason Stewart WOHLGEMUTH
  • Patent number: 12265606
    Abstract: Methods, systems, and computer program products for direct assignment of physical devices to confidential virtual machines (VMs). At a first guest privilege context of a guest partition, a direct assignment of a physical device associated with a host computer system to the guest partition is identified. The guest partition includes the first guest privilege context and a second guest privilege context, which is restricted from accessing memory associated with the first guest privilege context. The guest partition corresponds to a confidential VM, such that a memory region associated with the guest partition is inaccessible to a host operating system. It is determined, based on a policy, that the physical device is allowed to be directly assigned to the guest partition. Communication between the physical device and the second guest privilege context is permitted, such as by exposing the physical device on a virtual bus and/or forwarding an interrupt.
    Type: Grant
    Filed: September 26, 2022
    Date of Patent: April 1, 2025
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jin Lin, Jason Stewart Wohlgemuth, Michael Bishop Ebersol, Aditya Bhandari, Steven Adrian West, Emily Cara Clemens, Michael Halstead Kelley, Dexuan Cui, Attilio Mainetti, Sarah Elizabeth Stephenson, Carolina Cecilia Perez-Vargas, Antoine Jean Denis Delignat-Lavaud, Kapil Vaswani, Alexander Daniel Grest, Steve Michel Pronovost, David Alan Hepkin
  • Publication number: 20240184611
    Abstract: Virtual baseboard management controller capability to monitor and manage a virtual machine (VM). A guest firmware is operated within a first guest privilege context of a guest partition operating as a VM. The guest partition also includes a second guest privilege context that is restricted from accessing memory associated with the first guest privilege context, and that operates a guest operating system. The guest firmware establishes a communications channel between the first guest privilege context and a client device, and receives a request for performance of a management operation against the VM. The guest firmware initiates the management operation, which includes changing a power state of the VM; stopping or restarting the guest OS; presenting a graphical or serial console associated with the guest OS; updating a firmware associated with the guest partition; or managing a virtual device presented by the first guest privilege context.
    Type: Application
    Filed: December 5, 2022
    Publication date: June 6, 2024
    Inventors: Jin LIN, David Alan HEPKIN, Michael Bishop EBERSOL, Trevor Mark JONES, Daniel Gil PRILIK
  • Patent number: 11989280
    Abstract: Handling a memory fault based on detecting whether a memory pointer was invalidated by a pointer authentication (PA) failure. After an access to a memory pointer causes a memory fault, detecting that the memory pointer was invalidated by a PA failure includes creating a new memory pointer by replacing reserved bits of the memory pointer with a default value, and determining that the new memory pointer corresponds to a memory address that falls within executable memory. This determination includes determining that the memory address is within an executable memory page, determining that a call instruction is stored at a prior memory address that immediately precedes the memory address, and/or determining that the memory address corresponds to a code section of an executable file. The PA failure is handled based on logging the PA failure, terminating the application program, and/or resuming execution at an instruction stored at the memory address.
    Type: Grant
    Filed: September 17, 2021
    Date of Patent: May 21, 2024
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jin Lin, Jason Lin, Matthew John Woolman, Mehmet Iyigun
  • Publication number: 20240126580
    Abstract: Transparently providing a virtualization feature to an unenlightened guest operating system (OS). A guest partition, corresponding to a virtual machine, is divided into a first guest privilege context and a second guest privilege context. A compatibility component executes within the first guest privilege context, while a guest OS executes within the second guest privilege context. The compatibility component is configured to intercept input/output (I/O) operations associated with the guest operating OS. Based on the compatibility component intercepting an I/O operation associated with the guest OS, the compatibility component processes the I/O operation using a virtualization feature that is unsupported by the guest OS. Examples of the virtualization feature include accelerated access to a hardware device and virtual machine guest confidentiality.
    Type: Application
    Filed: December 22, 2022
    Publication date: April 18, 2024
    Inventors: Jin LIN, David Alan HEPKIN, Michael Bishop EBERSOL, Matthew David KURJANOWICZ, Aditya BHANDARI, Attilio MAINETTI, Amy Anthony PARISH
  • Publication number: 20240104193
    Abstract: Methods, systems, and computer program products for direct assignment of physical devices to confidential virtual machines (VMs). At a first guest privilege context of a guest partition, a direct assignment of a physical device associated with a host computer system to the guest partition is identified. The guest partition includes the first guest privilege context and a second guest privilege context, which is restricted from accessing memory associated with the first guest privilege context. The guest partition corresponds to a confidential VM, such that a memory region associated with the guest partition is inaccessible to a host operating system. It is determined, based on a policy, that the physical device is allowed to be directly assigned to the guest partition. Communication between the physical device and the second guest privilege context is permitted, such as by exposing the physical device on a virtual bus and/or forwarding an interrupt.
    Type: Application
    Filed: September 26, 2022
    Publication date: March 28, 2024
    Inventors: Jin LIN, Jason Stewart WOHLGEMUTH, Michael Bishop EBERSOL, Aditya BHANDARI, Steven Adrian WEST, Emily Cara CLEMENS, Michael Halstead KELLEY, Dexuan CUI, Attilio MAINETTI, Sarah Elizabeth STEPHENSON, Carolina Cecilia PEREZ-VARGAS, Antoine Jean Denis DELIGNAT-LAVAUD, Kapil VASWANI, Alexander Daniel GREST, Steve Michel PRONOVOST, David Alan HEPKIN
  • Publication number: 20240069943
    Abstract: Data-at-rest protection for virtual machines includes operating a data protection component within a first privilege context of a guest partition, and operating a guest operating system (OS) within a second privilege context of the guest partition. The data protection component participates in data input/output operations of the guest OS. Based on a data output operation of the guest OS, the data protection component applies a first data protection operation to first data associated with the data output operation; and initiates storage of a first result of the first data protection operation to a data storage device. Based a data input operation of the guest OS, the data protection component applies a second data protection operation to second data associated with the data input operation; and, based on applying the second data protection operation to the second data, communicates an outcome of the data input operation to the guest OS.
    Type: Application
    Filed: August 29, 2022
    Publication date: February 29, 2024
    Inventors: Jin LIN, David Alan HEPKIN, Michael Bishop EBERSOL, Matthew David KURJANOWICZ, Taylor Alan HOPE
  • Patent number: 11861364
    Abstract: Performing shadow stack functionality for a thread in an audit mode includes initiating execution of a thread at the processor. Execution of the thread includes initiating execution of executable code of an application binary as part of the thread and enabling shadow stack functionality for the thread in an audit mode. Based at least on the execution of the thread in the audit mode, at least a portion of the shadow stack is enabled to be a circular stack. In response to determining that usage of the shadow stack has reached the defined threshold, one or more currently used entries of the shadow stack are overwritten, preventing the shadow stack from overflowing.
    Type: Grant
    Filed: June 19, 2021
    Date of Patent: January 2, 2024
    Inventors: Jin Lin, Mehmet Iyigun, Jason Lin, Matthew John Woolman
  • Publication number: 20230401081
    Abstract: Isolating resources of a virtual machine (VM) guest from a host operating system. A computer system receives an acceptance request from a guest partition corresponding to an isolated VM. The acceptance request identifies a guest memory page that is mapped into a guest physical address space of the guest partition, and a memory page visibility class. The computer system determines whether a physical memory page that is mapped to the guest memory page meets the memory page visibility class. The computer system sets a page acceptance indication for the guest memory page from an unaccepted state to an accepted state based on the physical memory page meeting the memory page visibility class.
    Type: Application
    Filed: June 10, 2022
    Publication date: December 14, 2023
    Inventors: Jin LIN, David Alan HEPKIN, Michael Bishop EBERSOL, Stephanie Sumyi LUCK, Jonathan Edward LANGE, Bruce J. SHERWIN, JR., Kevin Michael BROAS, Wen Jia LIU, Xin David ZHANG, Alexander Daniel GREST
  • Publication number: 20230334144
    Abstract: The techniques disclosed herein enable a system to configure a confidential virtual resource unit by provisioning a security component to a tenant's virtual resource unit. The system creates multiple different virtual trust layers within the confidential virtual resource unit. This creation effectively defines security boundaries between the virtual trust layers. The virtual trust layers are associated with different privileges, such that a higher privileged virtual trust layer is provided with more privileges compared to a lower privileged virtual trust layer. In one example, a lower privileged virtual trust layer may include basic virtual resource components (e.g., drivers, applications, processes, functions, workloads executing within a guest operating system) and a higher privileged virtual trust layer is the location to which a virtual security component is provisioned by the system.
    Type: Application
    Filed: May 27, 2022
    Publication date: October 19, 2023
    Inventors: Jin LIN, Michael Bishop EBERSOL, David Kimler ALTOBELLI, Jingbo WU, Qiang WANG
  • Patent number: 11709931
    Abstract: Enforcing shadow stack violations at module granularity, rather than at thread or process granularity. An exception is processed during execution of a thread based on code of an application binary, which is enabled for shadow stack enforcement, that calls an external module. The exception results from a mismatch between a return address popped from the thread's call stack and a return address popped from the thread's shadow stack. Processing the exception includes determining that the exception resulted from execution of an instruction in the external module, and determining whether or not the external module is enabled for shadow stack enforcement. Based at least on these determinations, execution of the thread is terminated when the external module is enabled for shadow stack enforcement, or the thread is permitted to continue executing when the external module is not enabled for shadow stack enforcement.
    Type: Grant
    Filed: June 6, 2022
    Date of Patent: July 25, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jason Lin, Jin Lin, Gregory John Colombo, Niraj Majmudar, Mehmet Iyigun, Shayne Daniel Hiet-Block, Kenneth Dean Johnson
  • Publication number: 20230088081
    Abstract: Handling a memory fault based on detecting whether a memory pointer was invalidated by a pointer authentication (PA) failure. After an access to a memory pointer causes a memory fault, detecting that the memory pointer was invalidated by a PA failure includes creating a new memory pointer by replacing reserved bits of the memory pointer with a default value, and determining that the new memory pointer corresponds to a memory address that falls within executable memory. This determination includes determining that the memory address is within an executable memory page, determining that a call instruction is stored at a prior memory address that immediately precedes the memory address, and/or determining that the memory address corresponds to a code section of an executable file. The PA failure is handled based on logging the PA failure, terminating the application program, and/or resuming execution at an instruction stored at the memory address.
    Type: Application
    Filed: September 17, 2021
    Publication date: March 23, 2023
    Inventors: Jin LIN, Jason LIN, Matthew John WOOLMAN, Mehmet IYIGUN
  • Patent number: D974859
    Type: Grant
    Filed: March 25, 2021
    Date of Patent: January 10, 2023
    Inventor: Jin Lin