SIGABRT 与 ENOTSUP
SIGABRT vs. ENOTSUP
在 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. ENOTSUP)几乎相同并且不会终止进程?
防止操作是您获得安全的地方。杀死进程是奖励惩罚。不过,我们谈论的是过程而不是人,因此没有必要进行惩罚。
问题是您感兴趣的进程是否能够很好地处理错误。如果返回错误代码导致他们出轨并做出不受欢迎的事情,那么您可能需要向他们发送一个信号。或者,如文档所述,如果您想要一个核心转储或想要使用调试器闯入,SIGABRT 会很有用。
请记住,SIGABRT 可能会被捕获。进程可以根据需要忽略信号。
最重要的是,启用此选项并没有真正增加安全性。
在 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. ENOTSUP)几乎相同并且不会终止进程?
防止操作是您获得安全的地方。杀死进程是奖励惩罚。不过,我们谈论的是过程而不是人,因此没有必要进行惩罚。
问题是您感兴趣的进程是否能够很好地处理错误。如果返回错误代码导致他们出轨并做出不受欢迎的事情,那么您可能需要向他们发送一个信号。或者,如文档所述,如果您想要一个核心转储或想要使用调试器闯入,SIGABRT 会很有用。
请记住,SIGABRT 可能会被捕获。进程可以根据需要忽略信号。
最重要的是,启用此选项并没有真正增加安全性。