完了できないプロセスを開始する方法どの事前に生成されたFIFOを読み書きする以外のファイルIO(ファイルを開く/閉じる、ファイルを作成/削除、ファイルを読み書きするなど)?
(chroot
プロセスが中断される可能性があるため動作しませんが、カーネルなどを操作/修正するのは大丈夫です)
ところで:実行中のプログラムを変更できません。
ベストアンサー1
もし
- 信頼できないコードの前に必要なシステムコールを実行するようにプログラムを変更できます(これは次の方法で実行できます)。LD_予圧)、そして
exit()
sigreturn()
プログラムは、以外のシステム呼び出しを行う必要はありません。read()
write()
それからあなたは利用可能ですセキュリティコンピューティング(ウィキペディア記事)。より多くのシステムコールを可能にするためにseccomp-bpfがあります。Berkeleyパケットフィルタ許可されるシステムコールを決定します。これlibseccompライブラリはseccomp-bpfを簡素化するので(たとえば)システムコールを許可したい場合close()
:
seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(close), 0);
または、似ているが壊れない場合はchroot
試してみてください。Linuxコンテナ、オープンVZまたはLinux仮想サーバー。