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: 12608217Abstract: 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: GrantFiled: August 29, 2022Date of Patent: April 21, 2026Assignee: Microsoft Technology Licensing, LLCInventors: Jin Lin, David Alan Hepkin, Michael Bishop Ebersol, Matthew David Kurjanowicz, Taylor Alan Hope
-
Publication number: 20250348318Abstract: 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: ApplicationFiled: May 7, 2025Publication date: November 13, 2025Applicant: Microsoft Technology Licensing, LLCInventors: Jin LIN, Jason LIN, Niraj MAJMUDAR, Mehmet IYIGUN
-
Publication number: 20250284525Abstract: 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: ApplicationFiled: May 22, 2025Publication date: September 11, 2025Inventors: 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: 12399979Abstract: 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: GrantFiled: May 27, 2022Date of Patent: August 26, 2025Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Jin Lin, Michael Bishop Ebersol, David Kimler Altobelli, Jingbo Wu, Qiang Wang
-
Patent number: 12353903Abstract: 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: GrantFiled: June 10, 2022Date of Patent: July 8, 2025Assignee: Microsoft Technology Licensing, LLCInventors: 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: 12327120Abstract: 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: GrantFiled: September 29, 2020Date of Patent: June 10, 2025Assignee: Microsoft Technology Licensing, LLCInventors: Jin Lin, Jason Lin, Niraj Majmudar, Mehmet Iyigun
-
Publication number: 20250139235Abstract: 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: ApplicationFiled: October 31, 2023Publication date: May 1, 2025Inventors: Jin LIN, Cody Dean HARTWIG, Jason Stewart WOHLGEMUTH
-
Publication number: 20250139034Abstract: 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: ApplicationFiled: October 31, 2023Publication date: May 1, 2025Inventors: Jin LIN, Cody Dean HARTWIG, Jason Stewart WOHLGEMUTH
-
Patent number: 12265606Abstract: 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: GrantFiled: September 26, 2022Date of Patent: April 1, 2025Assignee: Microsoft Technology Licensing, LLCInventors: 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: 20240184611Abstract: 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: ApplicationFiled: December 5, 2022Publication date: June 6, 2024Inventors: Jin LIN, David Alan HEPKIN, Michael Bishop EBERSOL, Trevor Mark JONES, Daniel Gil PRILIK
-
Patent number: 11989280Abstract: 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: GrantFiled: September 17, 2021Date of Patent: May 21, 2024Assignee: Microsoft Technology Licensing, LLCInventors: Jin Lin, Jason Lin, Matthew John Woolman, Mehmet Iyigun
-
Publication number: 20240126580Abstract: 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: ApplicationFiled: December 22, 2022Publication date: April 18, 2024Inventors: Jin LIN, David Alan HEPKIN, Michael Bishop EBERSOL, Matthew David KURJANOWICZ, Aditya BHANDARI, Attilio MAINETTI, Amy Anthony PARISH
-
Publication number: 20240104193Abstract: 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: ApplicationFiled: September 26, 2022Publication date: March 28, 2024Inventors: 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: 20240069943Abstract: 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: ApplicationFiled: August 29, 2022Publication date: February 29, 2024Inventors: Jin LIN, David Alan HEPKIN, Michael Bishop EBERSOL, Matthew David KURJANOWICZ, Taylor Alan HOPE
-
Patent number: 11861364Abstract: 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: GrantFiled: June 19, 2021Date of Patent: January 2, 2024Inventors: Jin Lin, Mehmet Iyigun, Jason Lin, Matthew John Woolman
-
Publication number: 20230401081Abstract: 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: ApplicationFiled: June 10, 2022Publication date: December 14, 2023Inventors: 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: 20230334144Abstract: 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: ApplicationFiled: May 27, 2022Publication date: October 19, 2023Inventors: Jin LIN, Michael Bishop EBERSOL, David Kimler ALTOBELLI, Jingbo WU, Qiang WANG
-
Patent number: 11709931Abstract: 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: GrantFiled: June 6, 2022Date of Patent: July 25, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Jason Lin, Jin Lin, Gregory John Colombo, Niraj Majmudar, Mehmet Iyigun, Shayne Daniel Hiet-Block, Kenneth Dean Johnson
-
Publication number: 20230088081Abstract: 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: ApplicationFiled: September 17, 2021Publication date: March 23, 2023Inventors: Jin LIN, Jason LIN, Matthew John WOOLMAN, Mehmet IYIGUN
-
Patent number: D974859Type: GrantFiled: March 25, 2021Date of Patent: January 10, 2023Inventor: Jin Lin