Stories
Slash Boxes
Comments

SoylentNews is people

posted by Fnord666 on Wednesday September 13 2017, @06:03AM   Printer-friendly
from the going-back dept.

Return-oriented programming (ROP) is now a common technique for compromising systems via a stack-smashing vulnerability. Although restrictions on executing code on the stack have mostly put an end to many simple stack-smashing attacks, that does not mean that they are no longer a threat. There are various schemes in use for defeating ROP attacks. A new mechanism called "RETGUARD" is being implemented in OpenBSD and is notable for its relative simplicity. It makes use of a simple return-address transformation to disrupt ROP chains to hinder their execution and takes the form of a patch to the LLVM compiler adding a new flag.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by kazzie on Wednesday September 13 2017, @07:50AM (1 child)

    by kazzie (5309) Subscriber Badge on Wednesday September 13 2017, @07:50AM (#567126)

    This is not about stack overflows hitting the return address. Its about preventing jumping to the middle of functions and having them return normally.

    Not quite. From TFA:

    There is, of course, a significant limitation here: a ROP chain made up of exclusively polymorphic gadgets [created by jumping into the middle of a multi-byte instruction] will still work, since those gadgets were not (intentionally) created by the compiler and do not contain the return-address-mangling code.

    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2  
  • (Score: 2) by Virindi on Wednesday September 13 2017, @08:46AM

    by Virindi (3484) on Wednesday September 13 2017, @08:46AM (#567135)

    Even more useful, though, for architectures such as ARM which require fixed length aligned instructions.