Study of How to Obtain Control Flow Invariant

The traditional control flow integrity usually takes dynamic control transfer as the measurement object. And it means that the attacker can subvert software by modifying the obvious victim. To overcome it, a novel concept, called as control flow invariant, is presented in this paper. Control structure invariant is a certain law followed by software run. Not limited to dynamic control transfer, control structure invariant have more forms, thus supporting more types of control flow integrity measure. In order to find more control structure invariant, we proposes to use hardware to capture the trace information of software running, and analyze it to mine the control structure invariant. We give a case study that a system on Intel PMC is introduced to show the reasonableness of our solution.