1 of 17

09/17/24

Return Oriented Programming

Robert Wasinger

CSE466 Computer Systems Security

Arizona State University

2 of 17

3 of 17

4 of 17

5 of 17

6 of 17

7 of 17

8 of 17

9 of 17

10 of 17

Course Schedule

  • Program Security (8/27 - 9/2)
  • Advanced Reverse Engineering (9/3 - 9/16)
  • DROP DEADLINE (9/4)
  • Return Oriented Programming (9/13 - 9/30)
  • Heap Exploitation (9/27 - 10/14)
  • Program Exploitation (10/11 - 10/28)
  • Fall Break (10/12 - 10/15)

  • Kernel security (10/25 - 11/4)
  • Race Conditions (11/1 - 11/11)
  • Sandbox Escapes (11/8 - 11/18)
  • Microarchitecture Exploitation (11/15 - 12/2)
  • System Exploitation (11/29 - 12/16)
  • Thanksgiving break (11/28 - 11/29)
  • Withdrawal Deadline (12/6)
  • Finals Week: 12/9 - 12/14

11 of 17

Grades - Reverse Egineering Solve Rate

12 of 17

Grades - Rev

13 of 17

Grades - Overall

14 of 17

Logistics

  • Average course grade: 74% excluding extra credit
  • Extra Credit
    • Still working on dojo code change to give live thanks & meme EC
    • Hopefully merged in later this week
  • Robert Office Hours
    • Friday 12pm - 2pm @ BYENG222
    • WILL NOT BE STREAMED
    • If you cannot attend and want to meet in person, please schedule with me

15 of 17

GDB - ADD THIS TO YOUR GDBINIT NOW

  • During recitation I saw some gdb behavior that didn’t match the demo
  • To account for any undue pain caused by this I’ll add 0.5% EC

set debug-file-directory /tmp/debug

set solib-absolute-prefix /lib/x86_64-linux-gnu

  • Let’s also take a look at some pwntools behaviors

16 of 17

Logistics

  • I’m reserving the right to add a few more ROP challenges
    • Will be done within the first week if done
    • Will be no more than five challenges
    • Will not be counted for checkpoint calculation if added

17 of 17

Demo Plans (time permitting)

  • Anything in you want to discuss?
  • What is ROP?
  • More pwntools tips and tricks?