問題タブ [seccomp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
256 参照

sandbox - エラー: 'scmp_filter_ctx' はこのスコープで宣言されていません

コンパイル エラーが発生しています: error: ‘scmp_filter_ctx’ was not declared in this scope.
seccomp フィルターを宣言しました。 scmp_filter_ctx ctx;

私はライブラリを含め、すでにライブラリを使用し #include <linux/seccomp.h> てインストールしています。libseccomp-devsudo apt-get install libseccomp-dev

0 投票する
1 に答える
617 参照

linux - Linuxでseccompをバイパスする方法


プロセスが seccomp を使用し、終了、読み取り、書き込みに制限されている場合でも、害を及ぼす可能性はありますか? できるとすれば、どうすればそのようなシステムを悪用できるのでしょうか?

0 投票する
1 に答える
628 参照

c - SECCOMP_RET_DATA と PTRACE_GETEVENTMSG を使用してシステムコールのリターン コードを取得する方法

ptrace + seccomp を使用して syscall の戻り値を取得しようとして、少し混乱しています。

男 4 bpf言います:

男 2 ptrace 言います:

男 2 seccomp 言います:

BPF_RETBPF プログラムは、ステートメントの後で何かを実行できないことがわかりました。そのため、tracee が中断されSECCOMP_RET_TRACEsyscall-enter-stop状態であり、syscall がまだ行われていない場合、戻りコードはどこにもありません。後続の呼び出しの後PTRACE_SYSCALL、 tracee はsyscall-exit-stop状態になり、 tracer は を使用して syscall の結果を取得できると期待していますPTRACE_GETEVENTMSG。しかし、私のサンプルでは機能しません。

レジスタを検査しているシステムコールの戻りコードを取得できます

しかし、ドキュメントで指定された方法でそれを行う方法が気になります。

0 投票する
0 に答える
72 参照

privileges - seccomp で no_new_privs ビットが必要なのはなぜですか? 理論上の悪用の例

私は、seccomp モード フィルターを使用する前に、このビットを設定する必要があることを見てきました。これは、子プロセスが親のプロセスよりも大きな特権で実行できないことを保証するためです。しかし、まだ悪用の例を理解できません。1つ見せてもらえますか?

理論的なシナリオ: no_new_privs ビットを設定せずに seccomp フィルター モードを設定できるプログラムがあります。

目標:それを悪用するプログラムを示す

この要件により、特権のないプロセスが悪意のあるフィルターを適用してから、execve(2) を使用して set-user-ID またはその他の特権プログラムを呼び出し、そのプログラムを危険にさらす可能性がないことが保証されます。(このような悪意のあるフィルターは、たとえば、setuid(2) を使用して呼び出し元のユーザー ID をゼロ以外の値に設定し、実際にはシステム コールを行わずに 0 を返すように試みる可能性があります。したがって、プログラムはだまされてスーパーユーザー特権を保持する可能性があります。実際に権限を落としたわけではないので、影響を与えて危険なことをさせる可能性のある状況で。)