Return-oriented programming
Return-oriented programming（ROP）は、実行保護やなどのセキュリティ防御の機構が存在するマシンで任意コードの実行を可能にするセキュリティエクスプロイトである。
この手法では、攻撃者はコールスタックを操作してプログラムの制御フローを乗っ取り、マシンのメモリ上に存在する「ガジェット」と呼ばれる命令群を実行する。各ガジェットは通常return命令で終わり、既存のプログラムまたは共有ライブラリのコードのサブルーチンに存在する。これらのガジェットを組み合わせることで、単純な攻撃を無効化する防御機構が存在するマシンで攻撃者が任意の命令を実行できるようになる。