为了避免将所有共享库和配置文件复制到chroot文件夹中,我计划在所有共享库和配置文件都已加载后立即调用chroot("path/to/folder");
。
先前加载的库中的缓冲区溢出漏洞利用是否可以为攻击者提供chroot以外的访问权限? (因为它们在chroot之前已加载。)
与程序执行之前的chroot相比,这种延迟的chroot方法是否有任何缺点?
最佳答案
共享库被加载到可执行文件的进程空间中,并且具有与可执行文件一样多的特权。一旦您的可执行文件被chroot,它们也将被root化。
chroot延迟对于运行setuid/setgid的可执行文件并不一定要是一个好主意,并且可以对本地攻击进行加固,因为它们在chroot之前访问的各种东西(命令行参数,配置文件)正是各种各样可以利用的东西。我想共享库也是如此。但是,例如,如果要缓解网络服务器进程的潜在漏洞,延迟的chroot可以为您提供两全其美的解决方案。
关于linux - 加载共享库后使用chroot()?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26700392/