2016-10-02 17 views
0

On OpenBSD:SIGABRT vs ENOTSUP

OpenBSDのインストールを強化したい。この私見について:

sysctl -w kern.wxabort=1 

をより安全になり、デフォルトではそうは0

W^X violations are no longer permitted by default. A kernel log message 
is generated, and mprotect/mmap return ENOTSUP. If the sysctl(8) flag 
kern.wxabort is set then a SIGABRT occurs instead, for gdb use or 
coredump creation. 

です:私にとってとても

SIGABRT   Abnormal termination 
ENOTSUP   Operation not supported (POSIX.1) 

(ないプログラマは)多分SIGABRTであることを意味しますそれは情報メッセージだけでなくプロセスを殺す(?)ためです。セキュリティの観点から、悪い動作をするプロセスを強制終了する方がより安全です。

質問:これは本当ですか? SIGABRTの使用がより安全ですか? SIGABRTは本当にそのプロセスを殺しますか?またはそれら(SIGABRT対ENOTSUP)はほぼ同じで、プロセスを殺しませんか?

答えて

1

この操作を防止するのは、セキュリティが得られる場所です。プロセスを殺すことはボーナス処罰です。私たちは人ではなくプロセスを話しているので、処罰は必要ありません。

問題は、興味のあるプロセスがエラーをうまく処理するかどうかです。エラーコードが戻ってくるとそれらが脱線して望ましくないことが起こる場合は、それらに信号を送ることができます。また、ドキュメントに記載されているように、コアダンプが必要な場合、またはデバッガで侵入したい場合は、SIGABRTが便利です。

SIGABRTが検出される可能性があることに注意してください。彼らが望むなら、プロセスはシグナルを無視することができます。

ボトムラインの場合、このオプションを有効にすることでセキュリティは向上しません。