我确实使用过 Microsoft Windows,因为Windows 98到Windows 7的我自己发现了很多安全漏洞病毒、蠕虫、间谍软件等如何危害系统。
Microsoft Windows Vista 和 Windows 7
UAC(用户帐户控制)系统和Drives Autorun
提示Windows Vista和Windows 7的可以防止一些漏洞。
Linux
我现在正在使用 Ubuntu 11.10,我意识到由于多用户系统,大多数漏洞(除了一个)在 Linux 中都不存在。
问题
人们(甚至我)过去常常将*.exe
、、和其他可执行文件和脚本文件(安装程序、便携式浏览器*.cmd
、脚本等)存储在笔式驱动器(闪存)和其他可移动介质中。*.deb
*.sh
在 Windows 7 中(包括旧版本)
如果目标可移动媒体连接到受感染的系统,
然后重新连接到新系统,
并运行*.exe
、*.cmd
或*.bat
(未签名的可执行文件或脚本)文件
,这可能会提示UAC 对话框
以及用户按下Yes
这可能会执行恶意软件代码行政人员,注入未签名的可执行文件或脚本文件
我不知道已签名的可执行文件。从未测试过。
我认为,它们不可能不被感染,或者被感染的文件无法执行。那么如果在 Linux 中会怎样呢?
同样的情况是否会发生在Linux 中的任何其他可执行文件或脚本文件
*.deb
中?*.sh
我是说
& 其他文件会
*.deb
被感染吗?(我认为它们能)Linux 中是否有一种机制来验证文件中的内容
*.deb
?我是否不应该将需要 root 访问权限的可执行文件和脚本文件保存在可移动媒体中?如果我不应该那么手动验证文件内容是否被更改的最简单方法是什么?
那么来自互联网的存储库和软件包怎么样?
通过使用http
,ftp
(不是https
)存储库和软件包可能会在传输时或通过代理(如果使用)被攻击者感染。还有什么类似的东西视窗
Autorun
在 Linux 中?(我认为不是)
我只是希望 Linux 在任何情况下都能得到更好的保护(即使是用户犯的小错误)。
我会询问我发现的更多可能的安全问题。
答案1
- Deb 和其他文件的安全性
您可以在互联网上的某个地方找到某个软件包的 .deb 文件。然后您可以使用dpkg -i package.deb
并安装它。这并不比在互联网上的某个地方找到适用于 Windows 的安装程序更好。不要这样做除非您绝对确定来源,否则即使这样也要确保您已经安装了所有必备软件包。
Deb 文件,无论是否安全,都遵循带有哈希值等的格式,因此如果它们被更改则必须重建。
Ubuntu 存储库中的软件包(.deb 文件)通常是在 Launchpad 构建的计算机上从源代码构建的,因此 .deb 文件的内容与源代码相匹配,任何人都可以查看源代码。许多软件包都有团队维护,他们关注这些软件包并留意安全问题。新的源软件包版本必须使用公钥加密通过 gpg 密钥正确签名,然后才能构建。
现在 Ubuntu 软件中心只提供二进制软件包,因此公众无法查看这些软件包的源代码。我不确定这些软件包是否可用,但我相信它们在发布之前会经过审核。
通常,您不应该使用 来安装软件包dpkg -i package.deb
,而应该使用 apt-get 或软件中心,从 Ubuntu 存储库下载。您还应该避免选择在运行之前无法完全查看和理解的任何其他类型的脚本。
多用户系统类 Unix 系统确实意味着,如果您犯了错误,您可能会弄乱您的帐户及其文件,但不会弄乱在同一系统上建立的其他用户的帐户和设置,也不会弄乱操作系统本身。
例外情况是当您运行命令sudo
或必须输入密码来安装软件包或进行其他维护时。这些时候需要非常小心您所做操作的来源。这与使用 UAC 非常相似。
- 可移动介质上的可执行文件
只要你小心谨慎,我认为你不需要在可移动媒体上维护程序。与 Windows 一样,大多数程序都是以软件包形式安装的,因此无法从可移动媒体运行(尽管你可以将整个 Ubuntu 放在闪存驱动器上)。
- 存储库
正如我上面提到的,.deb 文件使用哈希来确保它们不会被攻击者更改。当您安装 Ubuntu 时,Ubuntu 存储库还会将 gpg 密钥存储在您的系统上,并且有一个签名和哈希链一直跟在 .deb 文件中以确保安全。Ubuntu 源自 Debian,该项目创建了这种方法。
- 自动运行
那里是类似于 Linux 和其他类 Unix 系统中的自动运行。当您安装软件包时,这些软件包可导致程序在启动时、用户登录终端时或用户登录 GUI 会话时启动。大多数用户的主目录中都有一个(默认情况下隐藏的).bashrc 文件,当用户登录终端时执行该文件。
- 光盘安全
Ubuntu 下载网站不仅有 CD 和 DVD 的 .iso 文件,还有消息摘要(哈希),您可以检查以确保检索到的文件完全真实。
- 持续安全
不管怎样,开发人员都会犯错误,潜在的安全问题可能会潜入软件中。运行受支持的 Ubuntu 版本意味着您将获得针对主要 Ubuntu 存储库中的项目的安全修复程序,并且通常针对 Universe 和其他存储库中的项目。您应该应用这些修复程序。与其他 Ubuntu 版本相比,12.04(Precise)等长期支持版本提供此服务的时间更长。
我个人无法保证这些预防措施是完美的,但我认为就目前的技术水平而言,它们已经相当不错了。