Date: 2018-11-16 05:30 pm (UTC)
mdlbear: blue fractal bear with text "since 2002" (Default)
From: [personal profile] mdlbear
Actually, modern architectures (at least in real operating systems like Linux and BSD (Mac)) let you designate pages as (execute-only) code, read-only data, and read-write data. Most of the problems come up because the stack us used for both data and return addresses, and while return addresses are data, they _point to_ code.

There are two possible fixes: separate return and data stacks, which I haven't seen used in decades, or keeping writable data out of the stack. That happens naturally with functional programming, because data in functional programs are immutable. A partial fix to make ROP more difficult is to scramble modules in a program at load time, making it hard to predict where the attacker needs to point the modified return address.
This account has disabled anonymous posting.
(will be screened if not validated)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

Most Popular Tags

Style Credit

Page generated 2025-05-17 11:07 am
Powered by Dreamwidth Studios