我正在阅读MIT 6.893的演讲,该演讲说Unix中的保护是一团糟,没有任何底层原理,并且还指出Windows 具有更好的替代方案,可以通过IPC将特权从一个进程传递到另一个进程。
我认为,尽管Windows用户似乎更容易受到病毒和漏洞的攻击,但我认为这主要是由于大多数Windows用户经验不足的计算机用户,并且Windows平台拥有更多的用户,因此吸引了更多的攻击者。
我想知道是否有更详细的文章或论文比较Windows和Linux中的安全机制和设计?
我正在阅读MIT 6.893的演讲,该演讲说Unix中的保护是一团糟,没有任何底层原理,并且还指出Windows 具有更好的替代方案,可以通过IPC将特权从一个进程传递到另一个进程。
我认为,尽管Windows用户似乎更容易受到病毒和漏洞的攻击,但我认为这主要是由于大多数Windows用户经验不足的计算机用户,并且Windows平台拥有更多的用户,因此吸引了更多的攻击者。
我想知道是否有更详细的文章或论文比较Windows和Linux中的安全机制和设计?
Answers:
没有人会怀疑在Windows上写缓冲区溢出比在Linux上难得多。同样,Windows中的ACL系统在很多方面都比* nix系统优越得多(仍然可以使用setpgid()打破chroot()/ jail()的范围并将伪根令牌传输到有效的UID 0 )。
然而。
Linux,BSD,Solaris和AIX具有用户制作的补丁的优点,这些补丁实现了非常出色的安全功能。我命名为PaX / GrSEC项目,无论过去几年中存在哪些安全缺陷,它都为实现地址空间布局随机化设定了标准,对于StackGuard,W ^ X以及旨在防止堆和格式化字符串攻击成功。严格地从访问角度来看,已经过时的当前系统有许多扩展。
如果工艺师的攻击是一个关心你,不要是古怪的Unix管理员,但Windows却遭遇远,远,更糟糕
简而言之,如果您懒惰,那么使用Windows更好。如果您比较勤快,那么使用* Nix常常会更好(从安全角度而言)
这是一篇详细的文章,它成为问题的核心–无关紧要的访问控制和安全系统有多强大……如果它太复杂以至于无法正确设置它们,您将面临安全漏洞。在这种情况下,系统的复杂性-“表面”越大,出现安全漏洞的机会就越大。
我以前在我们的域组中看到过这种情况-如果组太多,则很难使某人访问受保护的资源(如果他们位于错误的组中)。寄存器更好地描述了这一点。