Προγραμματισμός με προσανατολισμό στην επιστροφή (Return-oriented programming ή ROP)
Ο προγραμματισμός με προσανατολισμό στην επιστροφή (Return-oriented programming ή ROP) είναι μια τυπική επίθεση επαναχρησιμοποίησης κώδικα, όπου ένας εισβολέας κατευθύνει τη ροή ελέγχου μέσω υπάρχοντος κώδικα με κακόβουλο αποτέλεσμα. Η επίθεση ROP αντιπροσωπεύει μια προηγμένη έκδοση μιας επίθεσης διάσπασης στοίβας. Όταν ένα πρόγραμμα εγγράφει σε μια διεύθυνση μνήμης στη στοίβα κλήσεων του προγράμματος με τρόπο που δεν εμπίπτει στην προοριζόμενη δομή δεδομένων, συνήθως με ένα buffer σταθερού μήκους, προκύπτει υπερχείλιση του buffer της στοίβας.
Ο προγραμματισμός ROP είναι μια τεχνική εκμετάλλευσης που επιτρέπει την εκτέλεση κώδικα στο σύστημα προορισμού. Όταν αποκτά τον έλεγχο της στοίβας κλήσεων, ο εισβολέας ελέγχει τη ροή του υπάρχοντος αξιόπιστου λογισμικού που εκτελείται στον υπολογιστή και τον χειρίζεται για να εκτελέσει μια εργασία διαφορετική από την προοριζόμενη.