在OpenBSD上:
我想强化一个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 vs. )几乎是一样的,不会扼杀这个过程?
发布于 2016-10-02 16:54:37
阻止行动是你得到安全保障的地方。杀了这个过程就是奖金惩罚。我们说的是过程,而不是人,所以惩罚是不必要的。
问题是您感兴趣的进程是否能够很好地处理错误。如果获取错误代码会导致他们出轨并做一些不合适的事情,那么您可能需要向他们发送一个信号。或者,如文档所述,如果您想要一个核心节点或想要侵入调试器,SIGABRT将是有用的。
记住,SIGABRT是可以被捕获的。进程可以忽略信号,如果他们想要。
总之,启用此选项没有真正增加的安全性。
https://stackoverflow.com/questions/39819266
复制相似问题