Return Oriented Programming (ROP) Attack
Return Oriented Programming (ROP) aanval is een techniek waarbij kwaadaardige code wordt ingevoerd in een computerprogramma door gebruik te maken van bestaande subroutine calls. Het doel is om de computer te laten denken dat de kwaadaardige code deel uitmaakt van het programma en om vervolgens toegang te krijgen tot beveiligde delen van de computer of om schade aan te richten.
Het idee achter ROP aanvallen is om delen van een programma met elkaar te laten communiceren zonder dat er nieuwe code hoeft te worden geschreven. In plaats daarvan wordt er gebruik gemaakt van kleine code snippets die al in het programma aanwezig zijn, en deze worden aan elkaar geregen om de gewenste functionaliteit te bereiken.
Om een ROP aanval uit te voeren, moet de aanvaller toegang hebben tot de source code of de binary van het programma dat hij wil aanvallen. Hierdoor kan hij de benodigde informatie verzamelen over de aanroepbare subroutines en functies en deze in zijn aanval gebruiken.
Om ROP aanvallen te voorkomen, moeten programmeurs ervoor zorgen dat hun code geen kwetsbaarheden bevat die door aanvallers kunnen worden misbruikt. Dit kan worden bereikt door code goed te ontwerpen, door te testen op kwetsbaarheden en door beveiligingsmechanismen te implementeren.