我正在阅读麻省理工学院 6.893 讲座其中说Unix 中的保护很混乱,没有基本原则,并指出 Windows有更好的替代方案,可以通过 IPC 将权限从一个进程传递到另一个进程。
在我看来,虽然看起来 Windows 用户更容易受到病毒和漏洞的攻击,但我认为这主要是因为大多数 Windows 用户都是缺乏计算机经验的用户,而 Windows 平台的用户越多,就越容易吸引攻击者。
我想知道是否有更详细的文章或论文比较 Windows 和 Linux 的安全机制和设计?
答案1
没有人会质疑在 Windows 上编写缓冲区溢出比在 Linux 上困难得多。此外,Windows 中的 ACL 系统在许多方面都远远优于 *nix 系统(其仍然可以使用 setpgid() 来突破 chroot()/jail() 并将伪根令牌转移到有效 UID 0)。
然而。
Linux、BSD、Solaris 和 AIX 的优点是拥有用户制作的补丁,这些补丁实现了非常令人印象深刻的安全功能。我认为PaX/GrSEC这些项目,尽管过去几年存在安全缺陷,但已经为实现地址空间布局随机化设定了标准,StackGuard、W^X 和许多其他旨在防止堆和格式字符串攻击成功的实用程序也是如此。严格从访问的角度来看,目前公认的过时系统有许多扩展。
如果你担心进程分割攻击,那么我不是那个脾气暴躁的 Unix 管理员,但 Windows 已经遭受了远的,远的,更差
简而言之,如果你很懒,Windows 更适合你。如果你很勤奋,*Nix 更适合你(从安全角度来看)
答案2
这是一篇详细的文章这触及了问题的核心 - 无论您的访问控制和安全系统有多强大和详细...如果设置得太复杂,您最终会遇到安全漏洞。在这种情况下,系统的复杂性 - “表面”越大,出现安全漏洞的可能性就越大。
我曾经在我们的域组中看到过这种情况 - 如果您有太多组,那么如果某人处于错误的组中,就很容易授予他们访问安全资源的权限。登记册对此进行了更好的描述。
答案3
我想知道是否有更详细的文章或论文比较 Windows 和 Linux 的安全机制和设计?
这一在我这个新手看来,这听起来相对不错……有点老旧,有点偏见,但也不算太严重。