Return-oriented programming
Return-oriented programming (ROP) is een typische code-reuse-aanval, waarbij een aanvaller de beheerstroom door bestaande code stuurt met een kwaadaardig resultaat. Een ROP-aanval is een geavanceerde versie van een stack-smashing-aanval. Een stackbufferoverloop treedt op wanneer een programma naar een geheugenadres op de aanroepstack van het programma schrijft buiten de beoogde gegevensstructuur, meestal met een buffer met een vaste lengte.
ROP is een exploittechniek waarmee code op het doelsysteem kan worden uitgevoerd. Door controle te krijgen over de aanroepstack kan de aanvaller de stroom beheren van bestaande vertrouwde software die op de computer wordt uitgevoerd en deze gebruiken om een andere taak uit te voeren dan de bedoeling was.