据我了解,防止未经授权的软件(病毒和蠕虫)安装在系统上的最大且可能是唯一的防线就是根本不允许它,除非提供了管理员密码。
但是特洛伊木马呢?假设一个人成功侵入了一个受信任的 PPA 存储库,并用病毒感染了各种合法软件包(为了说明这一点,有人用病毒感染了 f.lux 或 wine,该病毒在屏幕上播放的音乐特别吵闹)。下一个下载该软件包的用户会被感染,因为他们允许安装该程序。他们从来没有想到过特洛伊木马的可能性。
该木马很可能会被 Linux 社区成千上万双眼睛中的其中之一迅速删除,但很有可能至少有一些用户会被感染。病毒的定义是,未经授权人员同意,将自身安装在计算机系统上,并通过以这种方式感染更多系统来进行自我复制。如果发生这种情况,他们就感染了病毒。
这是对 Linux 所谓坚不可摧的安全性的反驳吗?
答案1
首先,任何声称 Linux(或任何其他非玩具操作系统)难以理解的人充其量都是愚蠢的。有些比其他更难渗透(OpenBSD 因是最难渗透的渗透之一而闻名);如果由有能力的管理员和足够的组织支持(足够的时间、资源等)进行维护,许多(包括 Linux,甚至 Windows Server)都可以是安全的。不同平台的工作量/时间/费用各不相同;合理的主张是关于哪些主张多一些,哪些主张少一些。顺便说一句,许多安全问题来自系统上安装的应用程序,而不是操作系统。
如今的 Apt 存储库应该经过 GPG 签名,这会从存储库维护者那里创建完整性的加密证明。如果有人闯入服务器并篡改其中一个包,那么它的校验和将与 Packages 文件不匹配(如果他们将其更改为,则将与 Release 文件不匹配,并且如果他们篡改该文件,则签名将失败)。
当然,如果攻击者成功窃取了维护者的私钥,则攻击者可以将恶意包放入存储库中。应该有(至少对于一个值得信赖的存储库!)一些防御措施使这变得困难:
私钥应使用只有维护者知道的安全密码进行加密。
私钥应存储在访问权限有限的安全计算机上,而不是可公开访问的 Web 服务器上。更好的方法是将其存储在防篡改硬件(例如智能卡)中。
最后,如果存储库受到威胁,并且您安装了恶意软件包,那么您的计算机就会受到威胁。不要使用您不信任的存储库。
答案2
我相信针对这种情况的防御机制之一是这些包上有一个校验和,如果更改了包,则指示的校验和与计算的校验和不匹配,那么您当然可以想象黑客可以修改校验和以反映新的欺诈包,但首先这会很困难,其次,没有系统是完美的......