守护进程 tmpfs 可执行文件在执行时是否未加密地复制到内存? (如果有的话要阻止吗?)

守护进程 tmpfs 可执行文件在执行时是否未加密地复制到内存? (如果有的话要阻止吗?)

当执行守护程序时,可执行文件是否复制到内存?

如果可以的话,可以加密复制吗?

如果没有,是否有办法防止可执行文件被复制到内存?

可执行文件存储在加密的 tmpfs 上。

答案1

想象一下你想烤一个蛋糕。你不知道食谱,但没关系:你有你的食谱。你从锁着的保险箱里拿出你的食谱并打开它......你会看到以下内容:

sN+zBL0+S/TNORDzFUADrzbv2K5A5zb62o1WPqDA/1vtfiOTVFJnVRaU/++JSjABIBWw7PjHm+cg
RnhGFHGv4xy0wTZi5vw8jTiJsgF6pzvOeVaDoiXdHliGFbiCM1rGxyziNesA5RLoLQx5EzGqNzw2
baF/4GCX7rW73E9BWeX+Spo8HCLBGni5MQ0MEYVQyGr4Xk6SJbziVagHZMDO6KLgj2a8QPANcYvT
fo4KYxkPIWe2gOukNsyLYLks5/JhTEs3b2aT4/MUuHe8xdXIBq+SbbX2QiTDhXYWK4gX2Ge63zU0

没有成分清单,没有说明,只是胡言乱语。我不了解你,但我无法遵循那个食谱。

CPU 的情况也是如此。如果可执行文件不在内存中(说明书被锁定并且未在柜台上打开),或者如果内存中的可执行文件被加密(说明书包含乱码),则 CPU 无法执行它。

答案2

当程序执行时,必要的代码页会按需加载到内存中。这是透明的:内核在需要时加载页面,并尝试通过预加载可能很快需要的页面来变得聪明。

代码必须先解密才能执行。如果代码存储在加密的文件系统上,它将在文件系统驱动程序堆栈内解密,就像存储在文件中的任何其他数据一样。

加密 RAM 文件系统是没有意义的。密钥无论如何都存在于实时系统上(用于解密文件)。当且仅当主体可以访问密钥时,他才可以访问文件,因此需要对密钥进行访问控制。您不妨切断中间商并控制对文件的访问。

访问控制在实时系统上依赖于权限。不涉及密码学。如果您不希望某些用户访问特定文件,请相应地更改该文件的权限。

如果有人可以物理访问计算机,他们就拥有他们想要的所有权限。再多的密码学也无法改变这一点。加密技术可以保护对离线数据的访问,这些数据与密钥分开存储。

相关内容