Returorientert programmering
Returorientert programmering (ROP) er et vanlig angrep for gjenbruk av kode, der en angriper leder kontrollflyten gjennom eksisterende kode med et ondsinnet resultat. ROP-angrep representerer en avansert versjon av et angrep gjennom stabelbufferoverskridelse. En stabelbufferoverflyt oppstår når et program skriver til en minneadresse i programmets anropsstabel utenfor den tiltenkte datastrukturen, vanligvis med en buffer med fast lengde.
ROP er en utnyttelsesteknikk som gjør det mulig å utføre kode på målsystemet. Ved å få kontroll over anropsstabelen, kontrollerer angriperen flyten av eksisterende klarert programvare som kjører på datamaskinen, og manipulerer den til å utføre en annen oppgave enn den tiltenkte.