JF Bastien
21befa7761
Insert random noops to increase security against ROP attacks (llvm)
...
A pass that adds random noops to X86 binaries to introduce diversity with the goal of increasing security against most return-oriented programming attacks.
Command line options:
-noop-insertion // Enable noop insertion.
-noop-insertion-percentage=X // X% of assembly instructions will have a noop prepended (default: 50%, requires -noop-insertion)
-max-noops-per-instruction=X // Randomly generate X noops per instruction. ie. roll the dice X times with probability set above (default: 1). This doesn't guarantee X noop instructions.
In addition, the following 'quick switch' in clang enables basic diversity using default settings (currently: noop insertion and schedule randomization; it is intended to be extended in the future).
-fdiversify
This is the llvm part of the patch.
clang part: D3393
http://reviews.llvm.org/D3392
Patch by Stephen Crane (@rinon)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225908 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-14 01:07:26 +00:00
..
2014-12-16 11:21:58 +00:00
2014-12-15 19:07:53 +00:00
2014-12-12 15:16:46 +00:00
2014-05-09 09:46:21 +00:00
2014-05-09 09:46:21 +00:00
2014-08-16 10:14:19 +00:00
2014-06-11 15:48:00 +00:00
2014-02-20 14:58:19 +00:00
2014-04-14 16:00:28 +00:00
2014-06-12 11:55:58 +00:00
2014-08-08 15:47:17 +00:00
2014-07-21 15:25:24 +00:00
2014-07-14 09:40:29 +00:00
2014-07-09 10:40:20 +00:00
2014-12-18 16:39:29 +00:00
2014-06-13 14:24:07 +00:00
2014-02-20 13:13:33 +00:00
2014-02-20 14:58:19 +00:00
2014-12-15 19:07:53 +00:00
2014-12-15 19:07:53 +00:00
2014-11-07 16:54:21 +00:00
2014-07-14 12:41:31 +00:00
2014-03-26 12:52:28 +00:00
2014-07-10 22:23:30 +00:00
2014-12-15 19:07:53 +00:00
2014-11-07 16:54:21 +00:00
2014-12-15 19:07:53 +00:00
2014-12-15 19:07:53 +00:00
2014-12-15 19:07:53 +00:00
2014-12-15 19:07:53 +00:00
2014-11-07 16:54:21 +00:00
2014-11-07 16:54:21 +00:00
2014-11-07 16:54:21 +00:00
2014-11-07 16:54:21 +00:00
2014-11-07 16:54:21 +00:00
2014-06-12 10:54:16 +00:00
2014-04-14 16:00:28 +00:00
2014-07-09 10:16:07 +00:00
2014-07-09 10:16:07 +00:00
2014-11-05 22:42:31 +00:00
2014-04-14 16:00:28 +00:00
2014-04-09 09:56:43 +00:00
2014-11-07 16:54:21 +00:00
2014-07-10 10:18:12 +00:00
2014-04-14 16:24:12 +00:00
2014-06-12 11:55:58 +00:00
2014-06-12 11:55:58 +00:00
2014-04-09 09:56:43 +00:00
2014-09-26 01:44:08 +00:00
2014-10-16 15:41:51 +00:00
2014-06-12 14:19:28 +00:00
2014-06-12 15:00:17 +00:00
2014-07-14 13:08:14 +00:00
2014-02-20 14:58:19 +00:00
2014-10-01 08:22:21 +00:00
2014-09-26 01:44:08 +00:00
2014-09-02 13:54:53 +00:00
2014-05-22 11:51:06 +00:00
2014-12-17 10:56:16 +00:00
2014-05-22 11:46:58 +00:00
2014-05-22 11:46:58 +00:00
2014-05-22 11:46:58 +00:00
2014-05-22 11:46:58 +00:00
2014-05-22 11:46:58 +00:00
2014-05-22 11:46:58 +00:00
2014-05-22 11:46:58 +00:00
2014-12-17 10:56:16 +00:00
2014-11-06 14:25:42 +00:00
2014-12-18 13:03:51 +00:00
2014-04-14 16:00:28 +00:00
2014-02-14 19:16:39 +00:00
2014-04-14 16:00:28 +00:00
2014-12-15 19:07:53 +00:00
2014-12-15 19:07:53 +00:00
2014-12-15 19:07:53 +00:00
2014-12-15 19:07:53 +00:00
2014-06-09 22:42:55 +00:00
2014-11-07 16:54:21 +00:00
2014-12-11 13:56:23 +00:00
2014-11-07 16:54:21 +00:00
2014-02-13 14:44:26 +00:00
2014-12-15 19:07:53 +00:00
2014-11-19 13:23:58 +00:00
2014-11-05 17:43:00 +00:00
2014-12-18 16:39:29 +00:00
2014-11-21 22:04:35 +00:00
2014-11-21 22:04:35 +00:00
2015-01-13 15:59:17 +00:00
2014-11-25 10:50:00 +00:00
2014-04-16 11:46:59 +00:00
2014-03-31 14:00:10 +00:00
2014-12-11 13:56:23 +00:00
2014-11-19 11:25:50 +00:00
2014-11-05 17:38:31 +00:00
2014-09-29 21:57:54 +00:00
2014-09-29 21:57:54 +00:00
2014-06-24 22:45:16 +00:00
2014-11-07 16:54:21 +00:00
2014-11-07 16:54:21 +00:00
2014-04-14 16:00:28 +00:00
2014-04-14 16:00:28 +00:00
2014-04-14 16:00:28 +00:00
2014-04-14 16:00:28 +00:00
2014-04-14 16:00:28 +00:00
2014-06-16 13:18:59 +00:00
2014-04-14 16:00:28 +00:00
2014-04-14 16:00:28 +00:00
2014-06-12 10:44:10 +00:00
2014-07-14 12:41:31 +00:00
2014-03-07 22:08:46 +00:00
2014-03-10 20:34:23 +00:00
2014-02-07 17:16:40 +00:00
2015-01-09 17:21:30 +00:00
2015-01-09 17:21:30 +00:00
2015-01-09 17:21:30 +00:00
2014-07-21 10:45:47 +00:00
2014-09-26 01:44:08 +00:00
2015-01-14 01:07:26 +00:00
2014-06-23 19:43:40 +00:00
2014-07-14 12:41:31 +00:00
2014-11-07 16:54:21 +00:00
2014-04-02 18:40:43 +00:00
2014-04-14 16:00:28 +00:00
2014-03-10 16:31:25 +00:00
2014-12-15 19:07:53 +00:00
2014-10-01 08:22:21 +00:00
2014-04-14 16:00:28 +00:00
2014-11-07 16:54:21 +00:00
2014-06-12 13:39:06 +00:00
2014-09-26 01:44:08 +00:00
2014-04-14 16:00:28 +00:00
2014-11-06 13:20:12 +00:00
2014-08-08 12:58:17 +00:00
2014-05-28 18:15:43 +00:00
2014-11-04 22:15:05 +00:00
2014-05-23 13:18:02 +00:00
2014-11-07 16:54:21 +00:00