Also, for architectures that put actual parameters on the stack, it would catch 
a mismatch between the count of formal and actual parameters, rather than 
branching erroneously.

Charles

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of John McKown
Sent: Friday, June 10, 2016 6:07 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Not IBM tech, but very interesting idea from Intel

http://www.theregister.co.uk/2016/06/10/intel_control_flow_enforcement/
<quote>
...

CET works by introducing a shadow stack – which only contains return addresses, 
is held in system RAM, and is protected by the CPU's memory management unit. 
When a subroutine is called, the return address is stashed on the thread's 
stack, as per normal, and also in the shadow stack. When the processor reaches 
a return instruction, the processor ensures the return address on the thread 
stack matches the address on the shadow stack.

If they don't match, then an exception is raised, allowing the operating system 
to catch and stop execution. Therefore, if exploit code starts tampering with 
the stack to chain together malicious instructions to install malware or 
otherwise compromise a system, these alterations will be detected and the 
infiltration halted before any damage can be done.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to