Invalidating memory contents after patching software
AssigneeMicrosoft Technology Licensing, LLC
InventorsDavid Michael CALLAGHAN, Vijaykumar SHARMA
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Technology Licensing, LLC
InventorsDavid Michael CALLAGHAN, Vijaykumar SHARMA
Estimating the term…
Disclosed are techniques for disabling security exploits. Some live code patches redirect execution from a vulnerable version of a function to a secure version of the function. However, the vulnerable version of the function may remain in memory, creating an opportunity for exploitation. Disclosed are techniques for determining when the vulnerable version of the function is no longer in use, and when this determination is made, rendering at least a vulnerable portion of the vulnerable version of the function inoperable. Reference counting, call stack inspection, and process lifecycle tracking may be used to determine when the vulnerable version of the function is no longer in use. Some implementations may employ compiler-assisted instrumentation, run-time generated instrumentation, or hardware support. The vulnerable version of the function may be rendered inoperable by overwriting it with illegal instructions, marking a page of memory that contains the vulnerable version of the function non-executing, etc.
A method comprising:
A system comprising:
A computer-readable storage device having encoded thereon computer-readable instructions that when executed by a processing unit causes a system to:
Dependencies are inferred from the claim text.