This is an archive of the discontinued LLVM Phabricator instance.

Randomize instruction scheduling to increase security against ROP attacks (clang)
AbandonedPublic

Authored by yln on Apr 15 2014, 11:09 PM.

Details

Reviewers
ahomescu
jfb
rinon
Summary

Modifies the selection DAG scheduler to randomize instruction selection to introduce diversity with the goal of increasing security against most return-oriented programming attacks.

Command line options:

-sched-randomize // Enable the schedule randomizer.
-sched-randomize-percentage=X // X% of instructions are scheduled randomly (default: 50%, requires -sched-randomize).

This is the clang part of the patch.
LLVM part: D3394

Diff Detail

Event Timeline

jfb accepted this revision.Apr 30 2014, 3:56 PM
jfb added a reviewer: jfb.

Moving this forward, this LGTM assuming the other changes make it in too.

This revision is now accepted and ready to land.Apr 30 2014, 3:56 PM
yln abandoned this revision.Aug 15 2017, 4:09 PM