Sources: A Theory of Secure Control Flow Control-Flow Integrity Control-Flow Checking by Software Signatures