Patent ID: 9165138
Filing Date: 2015-10-20
Classification: G06F

Abstract:
1. A method for mitigating a function pointer overwrite attack on a portion of a computer program, comprising: selecting one or more function pointer targets; allocating a space in front of each of the one or more function pointer targets in a computer readable medium; instantiating a runtime protection key for one or more of the function pointer targets; storing a first copy of the runtime protection key in a known secure memory location; storing a second copy of the runtime protection key in the allocated space prior to each of the one or more function pointer targets; comparing a value in the allocated space in front of at least one of the function pointer targets when an instruction is called that accesses the at least one of the function pointer targets to the first copy of the runtime protection key; and generating an error if the value in the space in front of any of the at least one of the function pointer targets does not match the first copy of the runtime protection key or executing the instruction if the value in the space in front of the at least one of the function pointer targets matches the first copy of the runtime protection key; wherein the runtime protection key is derived from at least one of a combination of and a transformation of a plurality of values and, wherein the plurality of values comprises one or more of a function pointer address and a load time generated value.