匿名質問者

unix系OSにおけるシステムコールの直接起動を制御するOSの仕組みってありますか?

回答の条件
  • 1人50回まで
  • 登録:
  • 終了:2015/01/28 17:30:04

回答1件)

匿名回答1号 No.1

こういうのはセキュリティとか性能とかで一長一短だったり時流だったりで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

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません