包和脚本有哪些安全策略?
从Windows 98到Windows 7,我确实使用过Microsoft Windows。 我自己发现了很多关于病毒,蠕虫,间谍软件等如何危害系统的安全漏洞。
Microsoft Windows Vista和Windows 7
UAC( 用户帐户控制 )系统和Windows Vista和Windows 7中的 Drives Autorun
提示可以防止一些漏洞。
Linux的
我现在正在使用Ubuntu 11.10,并且我意识到由于多用户系统,Linux中不存在大多数(除一个)漏洞。
问题
人们(甚至我)曾经在笔式驱动器(闪存)和其他可移动设备中存储*.exe
, *.cmd
, *.deb
, *.sh
和其他可执行文件和脚本文件(安装程序,便携式浏览器,脚本等)媒体。
-
在Windows 7中(也在旧版本中)
如果目标可移动媒体连接到受感染的系统,
然后连接回一个新系统,
并运行*.exe
,*.cmd
或*.bat
(未签名的可执行文件或脚本)文件
这可能会提示UAC对话框
和用户按Yes
这可能会以管理员身份执行恶意软件代码,注入未签名的可执行文件或脚本文件
我不知道签名的可执行文件。 从未测试过。
我认为,他们不能被感染或被感染的文件无法执行。 -
如果,在Linux中怎么办?
在
*.deb
,*.sh
或Linux中的任何其他可执行文件或脚本文件中是否会发生相同的情况?我的意思是
*.deb
和其他文件是否会被感染? (我认为他们可以 )Linux中是否有一种机制来validation
*.deb
文件中的内容?我是否应该在可移动媒体中保留root访问所需的可执行文件和脚本文件? 如果我不应该那么手动validation文件内容是否被更改的最简单方法是什么?
互联网上的存储库和软件包怎么样?
通过使用http
,ftp
(而不是https
),存储库和软件包可以在传输时或在代理服务器(如果使用的话)上被攻击者感染。在Linux中是否有类似于Windows
Autorun
东西? (我认为不是 )
我只是希望Linux在任何条件下都能得到更好的保护(即使是来自用户的小错误)。
我会问我发现的其他可能的安全问题。
- Deb和其他文件的安全性
您可以在Internet上的某个位置找到包的.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文件,该文件在用户登录终端时执行。
- CD安全
Ubuntu下载网站不仅有CD和DVD的.iso文件,还有消息摘要(哈希),您可以检查以确保您检索到的文件是真实的。
- 正在进行的安全
尽管如此,开发人员仍会犯错误,潜在的安全问题可能会蔓延到软件中。 运行受支持的Ubuntu版本意味着您将获得主Ubuntu存储库中项目的安全修复程序,并且通常用于Universe和其他存储库中的项目。 您应该应用这些修复程序。 像12.04(Precise)这样的长期支持版本比其他版本的Ubuntu提供更长期的服务。
我个人无法保证预防措施是完美的,但我认为它们对于当前的技术水平来说是相当不错的。