Libseccomp: Q:同じプロセスからのシステムコールを傍受します

作成日 2021年05月20日  ·  3コメント  ·  ソース: seccomp/libseccomp

Linuxでサンドボックスに取り組んでいます。達成したいのは、syscallをインターセプトしてエミュレートされた値を返すか、レジスター/ポインターを変更して、変更された値でsyscallを実行することです。

同じプロセスからこれを実現したいのですが、私のコードは起動時にターゲットプロセスにすでに挿入されています。

seccompで行うことは可能ですか?
役立つ例やその他の推奨事項がある場合は、同じことを達成するためのより良い方法があるかもしれません

question

最も参考になるコメント

以下のテストはいつでも確認できます。かなり単純ですが、使用方法の基本的な考え方がわかります。

質問は解決したと思いますので、この問題をクローズしますが、同意できない場合は、お気軽に再開/コメントしてください。

全てのコメント3件

サンドボックス化されているプロセスと同じアドレス空間内からサンドボックス化の形式としてシステムコールを傍受しようとすると、失敗する傾向があることは、おそらく言及する価値があります。 悪意のあるアプリケーションは、サンドボックス化されていることを検出し、そのアドレス空間で実行されているサンドボックス化コードに対してアクションを実行する方法を見つける可能性があります。

より良いオプションは、多数のサンドボックスツールで行われるような従来の静的システムコールフィルターを使用するか、seccomp / libseccompに追加された通知機能を使用してシステムコールを監視および傍受するスーパーバイザープロセスを作成することです。

私はseccompにかなり慣れていません。前日、その存在についてさえ知りませんでした。最近の通知の追加により、ユーザーモードからシステムコールを処理できるようになったことが正しく理解されていれば。
このタスクのリファレンスとして使用できるコードはありますか(システムコールをインターセプトするためのseccomp notif。)?

以下のテストはいつでも確認できます。かなり単純ですが、使用方法の基本的な考え方がわかります。

質問は解決したと思いますので、この問題をクローズしますが、同意できない場合は、お気軽に再開/コメントしてください。

このページは役に立ちましたか?
0 / 5 - 0 評価