問題タブ [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.
c - seccomp プロセスが常に強制終了されるのはなぜですか?
seccomp モードになったプロセスが終了時に必ず強制終了されるのはなぜですか?
c - SECCOMP: malloc、realloc、free をエミュレートする方法は?
サーバー上で任意の (潜在的に危険な) バイナリを実行したいと考えています。したがって、objcopy
「メイン」シンボルの名前を「other_main」に変更して、other_main を呼び出す前に適切な値を設定しRLIMIT_CPU
てフラグを切り替える独自の小さなメイン関数にリンクできるようにしSECCOMP
ました。これまでのところ、このソリューションに非常に満足しています。
問題は、サードパーティのプログラム コードに malloc の呼び出しが含まれている可能性があることです (sbrk は許可されていません)。SECCOMP
したがって、malloc / realloc / calloc / free で使用する必要がある設定の前に、適切なサイズの配列 (20MB など) を事前に割り当てたいと思います。残念ながら、最後のステップをアーカイブする方法がわかりません。これら 4 つの機能をすべて自分で実装する必要がありますか? 独自の関数を stdlib に挿入するにはどうすればよいですか (たとえば、printf が内部で malloc を呼び出すとどうなりますか?)。
security - サンド ボックスはバッファ オーバーフローの影響を軽減できますか。
サンド ボックス プロセスについて調査する必要があります。しかし、サンドボックスがバッファ オーバーフローを軽減する方法を理解できません。サーバー アプリケーション (FTP サーバー) があるとします。これは、リモートで悪用できるバッファ オーバーフローの影響を受けます。
Vx32 としてのサンドボックス、Janus ostia は、挿入コードがファイル システムにアクセスするのをどのように阻止できますか?
windows - Windows用のseccompアナログはありますか
Windowsで動作するseccompのようなものはありますか?
すでに開いているファイルの読み取りと書き込みのみなど、すべてのシステムコールを非常に限られたセットに制限する必要があります。
Chromium のサンドボックスとして説明されているものは、syscall へのアクセスを制限するのではなく、通常のファイル許可と Windows セキュリティ オブジェクトに基づいているため、Seccomp のようには見えません。
c - 「Bad system call」メッセージの抑制
hereで説明されているように、seccomp フィルターを使用すると、example.c ファイルの実行時に特定のシステム コールをブロックできます。
プロセスが終了し、「Bad system call」メッセージが出力されます。
メッセージを抑制したい。
これでも役に立ちませんでした:
linux - seccomp-bpf はどのように syscall をフィルタリングしますか?
バージョン 3.5 以降に Linux に導入されたシステムコール フィルタリング メカニズムである seccomp-bpf の実装の詳細を調査しています。Linux 3.10 の kernel/seccomp.c のソース コードを調べて、それについていくつか質問したいと思います。
seccomp.c から、現在のプロセスによって呼び出された syscall をテストするために、__secure_computing() から seccomp_run_filters() が呼び出されているようです。しかし、seccomp_run_filters() を調べてみると、引数として渡された syscall 番号はどこにも使用されていません。
sk_run_filter() は BPF フィルター マシンの実装のようですが、seccomp_run_filters() から最初の引数 (フィルターを実行するバッファー) を NULL にして sk_run_filter() を呼び出します。
私の質問は次のとおりです: seccomp_run_filters() は、引数を使用せずにシステムコールをフィルタリングするにはどうすればよいですか?
以下は、seccomp_run_filters() のソース コードです。
python - Pythonでseccompを有効にした後、どのようにきれいに終了しますか?
プロジェクトで python-prctl を介して seccomp を有効にしました。きれいに終了する方法がよくわかりません。結果は常に kill です。
ctypes または ffi を使用して libc を参照しようとする例をいくつか見ましたが、それらが WIFEXITED であると予想される場合、それらにも同じ問題があるようです。
以下のコード例。結果はいつも「殺されました」。
libc のことを忘れてしまったので、簡単に更新します。
上記の _exit() をこれらのいずれかで定義すると、依然として kill が発生します。
.... また ....