Sigreturn-oriented programming とは

SIGRP(Sigreturn-oriented programming)は、コンピュータのセキュリティを悪用する手法であり、攻撃者は実行不可能なメモリやコード署名などのセキュリティ対策が施された状態でコードを実行できます。
これは、2014年に第35回Security and Privacy IEEE会議で初めて発表され、最高の学生論文賞を受賞しました。
この技術では、リターン指向プログラミング(ROP)技術の背後にある同じ基本的な前提が採用されています。スタックスタックのオーバーフローなどを介してコールスタックを制御する攻撃者は、ガジェットと呼ばれる簡単な命令シーケンスによってプログラムの制御フローに影響を与えることができます。
この攻撃は、呼び出しを実行して偽装されたsigcontext構造体をスタックし、攻撃者がsigreturnシステムコールを呼び出すことを可能にするガジェットの場所でリターンアドレスを上書きします。
この攻撃を成功させるには、たった1つのガジェットが必要になることがよくあります。このガジェットは固定された場所に置かれているため、この攻撃は簡単で効果的です。一般的な単純なリターン指向のプログラミング手法よりも簡単で移植性の高い設定が可能です。
Sigreturn指向プログラミングは、プログラムのオリジナル仕様外でコードを実行できるので、奇妙なマシンと見なすことができます。