Jump Oriented Programming (JOP) Attack
Jump Oriented Programming (JOP) Attack to rodzaj ataku, który wykorzystuje elementy istniejącego kodu, aby utworzyć złośliwy program. Można to porównać do tworzenia nowego budynku z istniejących fragmentów innych budynków.
Atakujący szuka istniejących fragmentów kodu i wykorzystuje je, aby zmienić sposób działania programu. Najczęściej wybierane są elementy skoku, nazywane skokami skondensowanymi (ang. compressed jumps), które pozwalają na zmianę kontroli programu.
Atak JOP jest trudny do wykrycia, ponieważ wykorzystuje istniejący kod, a nie wprowadza nowych elementów. Jednym z sposobów na ochronę przed atakiem JOP jest zastosowanie mechanizmu ASLR (ang. Address Space Layout Randomization), który losowo umieszcza elementy programu w pamięci, uniemożliwiając atakującemu znalezienie skoków skondensowanych.
Ważne też jest, aby tworzyć solidny kod bez zbędnych elementów, które mogłyby być wykorzystane przez atakującego. Atak JOP może być groźny, ale z odpowiednimi środkami ochrony można zabezpieczyć się przed nim.