こういうのはセキュリティとか性能とかで一長一短だったり時流だったりでOSやバージョンで色々あるのでunix系とまとまるものでないし、
どういう目的とかシチュエーションの事なのか無いと、誰(アプリ開発者/ユーザ/システム管理者)の視点での管理か、何(ユーザ/プロセス/ファイルとか資源)単位での話なのか想像付かない。
とか思いつつググってみるとsystraceってのが近いのかなとは思った。
http://www.netaro.info/techinfo/Security/systrace/systrace.html
あとLD_PRELOADの話はよくでてくる。
と言ってもこれは直接システムコールを差し替えるんじゃなくて、glibとか標準ライブラリを差し替える方向かな?
以下はlinuxのだけど*BSDやSolarisも同様らしい。
http://07c00.hatenablog.com/entry/2013/09/02/003629
http://stackoverflow.com/questions/69859/how-could-i-intercept-linux-sys-calls
システムコールを直接差し替えるのはlkmとかkldでってのがある。
rootkit関係の話で出てくる。
http://smpl.seesaa.net/article/46185956.html
ただ、linuxだとセキュリティの観点から最近はそう簡単な話でもなさそう。
http://blog.monoweb.info/blog/2011/11/06/
http://dsas.blog.klab.org/archives/51291566.html
最後ptraceってのが出てくる。この辺?
https://github.com/thatsdone/junkbox/blob/master/c/hook/hook.c
http://stackoverflow.com/questions/13426561/how-to-use-ptrace2-to-change-behaviour-of-syscalls
linuxだとLSMとかSELinuxってセキュリティの方面もある。
システムコールという単位じゃ無いけども。
http://ja.wikipedia.org/wiki/Linux_Security_Modules
http://ja.wikipedia.org/wiki/SELinux
コメント(0件)