
これは、Segmentation Fault-Oriented Programming 攻撃手法に関する成果物リポジトリです。
ここでは、このリポジトリ内の成果物について簡単に説明します。全部で8つの成果物があり、6つの PoC エクスプロイトと、実世界のプログラム(Nginx と Ladybird)に対する2つのエクスプロイトで構成されています。
PoC:
bSFOP_ek: シグナルを登録するチェーンと Early Kill を使用して攻撃を開始する、完全な bSFOP エクスプロイト。bSFOP_fixed: デバッグがより簡単な bSFOP。シグナルを手動で登録し、手動のフォールト・ガジェットを使用して攻撃を開始します。bSFOP_multistage: bSFOP_fixed と同じですが、ペイロード全体が最初に送信されるのではなく、複数の部分に分けて読み込まれます。chain: sigaction を登録するチェーンを使用した、独立した使用例。fSFOP_ek: シグナルを登録するチェーンと Early Kill を使用して攻撃を開始する、完全な fSFOP エクスプロイト。fSFOP_fixed: デバッグがより簡単な fSFOP。シグナルを手動で登録し、手動のフォールト・ガジェットを使用して攻撃を開始します。vulnerable-nginx: CVE-2013-2028 の脆弱性を含む、変更されたバージョンの Nginx。カスタムのシグナル登録チェーンと Early Kill を使用した fSFOP を示します。
vulnerable-ladybird: CVE-2021-4327 の脆弱性を含む、変更されたバージョンの SerenityOS。カスタムのシグナル登録チェーンと Early Kill を使用した fSFOP を示します。
すべてのファイルには、それぞれ専用の README が付属しています。
すべての PoC は Docker 化されています。Docker が唯一のソフトウェア要件です。
PoC を実行するには、アクティブな CET の適用が必要です。
このためには:
私たちの実験は複数のマシンでテストされています。例えば: