return-oriented programming
naasmisprogrammeerimine
olemus
meetod, mis võimaldab ründajal
käitada kahjurkoodi sellises süsteemis, kus
kasutatakse mälu käitustõrjet ja koodi signeerimist:
kui ründaja saab juurdepääsu kutsepinule,
kaaperdab ta programmi juhtimisvoo ning
hakkab käitama täitmisel olevast programmist (alamprogrammidest ja teekidest) hoolikalt valitud masinakäsujadasid, mis lõpevad naasmiskäsuga,
moodustades neist vahendi, millega
saab teha suvalisi operatsioone
= a method that allows an attacker to run malicious code on a system that uses memory execution protection and code signing: if the attacker gains access to the call stack, he hijacks the program's control flow and starts executing carefully selected machine instruction sequences from the executing program (subroutines and libraries) ending with a return statement, forming a tool , with which arbitrary operations can be performed
ülevaateid
https://en.wikipedia.org/wiki/Return-oriented_programming
https://www.blackhat.com/presentations/bh-usa-08/Shacham/BH_US_08_Shacham_Return_Oriented_Programming.pdf
http://shell-storm.org/talks/ROP_course_lecture_jonathan_salwan_2014.pdf
https://exploit.courses/files/bfh2017/day6/0x54_DefeatExploitMitigations_ROP.pdf
tõrje
https://onlinelibrary.wiley.com/doi/full/10.1002/sec.1406
https://www.eit.lth.se/sprapport.php?uid=829
https://www.cs.columbia.edu/~angelos/Papers/theses/vpappas_thesis.pdf
http://www.s3.eurecom.fr/docs/acsac10_gfree.pdf