首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储密码的位置:在RAM或其他用户的主文件夹(Linux)中

存储密码的位置:在RAM或其他用户的主文件夹(Linux)中
EN

Security用户
提问于 2022-05-14 05:12:06
回答 1查看 262关注 0票数 2

有user1和user2。所有工作都是在user1下完成的。创建user2只是为了存储重要信息。

如果重要信息存储在内存中,而是存储在user1会话中,那么攻击者更容易访问哪些信息: user1下的RAM还是user2的主文件夹?

这里的威胁模型是什么?

假设攻击者获得了用户1‘S帐户的访问权限,并且可以执行任何代码,就像user1一样。如果攻击者获得了根权限,显然攻击者可以轻松地访问内存和user2。

攻击者能以用户1‘S的权限运行任意代码吗?

假设user1使用了一个易受攻击或受感染的程序

用户2‘S主目录的权限是多少?

User2文件夹(根目录: user2 2730)、文件和文件夹只有user2才能访问

幽灵一样的侧通道攻击在范围内吗?

该设备很容易受到这些攻击,所有的希望都在操作系统上。

EN

回答 1

Security用户

回答已采纳

发布于 2022-05-15 23:25:11

Linux的设计目的是保护用户2‘S文件不受user1的攻击,而不是user1 1’S内存不受自身的影响。

如果攻击者能够在user1上运行任意代码,他将能够相当容易地访问在同一用户下运行的进程的内存。这是由于Linux中的用户分离设计:单个用户之间相互保护,但在同一用户下运行的进程之间提供的保护很少或根本不提供。换句话说,Linux提供了很强的用户间隔离,但是用户内部隔离能力很弱。攻击者必须打破用户内部隔离,以绕过DAC (自主访问控制)并访问user2的主文件夹。这将需要获取根或类似的东西,例如CAP_DAC_OVERRIDE in capabilities(7)。这更难。

运行为user1的攻击者可以使用ptrace(2)连接到user1下的另一个进程,并读取或修改其内存内容。或者,攻击者可以使用process_vm_readv(2)来做同样的事情。虽然可以通过使用限制某些类型的直接内存访问的Yama LSM来减轻特定的向量,但还有许多其他技术可能危及user1进程,例如导出LD_PRELOAD (参见ld.so(8)),使目标进程在下一次启动时加载攻击者控制的库。

请注意,理论上可以保护在同一用户下运行的两个进程彼此之间的相互保护,但这并不简单,需要对Linux系统体系结构有很强的了解。可以使用各种Linux沙箱技术和强制访问控制系统来实现细粒度隔离策略。例如,用seccomp(2)实现的强白名单可以限制目标进程可以使用的系统,这可以防止它执行可能用于危害另一个进程的操作,即使它是在同一个用户下运行的。

票数 4
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/261989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档