为什么访问网站会感染病毒或特洛伊木马?


16

我最近看过很多这些。您单击链接,并立即木马。无需下载或任何东西。

这怎么可能?有没有一种方法可以在我访问之前扫描链接以确保我不会被感染?



可能是因为Web浏览器(例如Internet Explorer)是非常复杂的软件,尽管编写得很好。黑客发现的漏洞可以用来在您的计算机上运行他们选择的程序,例如特洛伊木马程序。
unixman83 2012年

Answers:


14

要回答可能的方法:

该站点具有一些在加载页面时执行的脚本。这就是感染您的Windows PC的原因-尽管我不确定它是下载代码还是运行代码,但是我不确定100%的细节。此页面上有一个示例,说明了如何在一种情况下完成此操作。还需要一个易受攻击的浏览器,并且几乎所有流行的浏览器都是一个易受攻击的浏览器,因为在许多计算机上运行的浏览器值得针对。

当人们以管理员身份而非受限用户身份运行时,大多数情况下将是Windows PC受到感染。其原因是多种多样的。正如罗杰(Roger)在评论中指出的那样,它的受欢迎程度而不是任何内在的弱点,这是这里的主要因素:

Windows更受关注,因为它更受欢迎。有人说Windows也没有其他选择安全,但是我不得不说,以您强调的方式,事实并非如此。我在家中运行Linux,如果一个木马程序可以用我的用户帐户运行,它仍然可能对我关心的文件造成很大的损害,但这根本无法接管系统。

尽管可以通过使用受限权限用户运行来限制损害,但不一定消除损害。

借助Vista和现在的7,可以更严格地控​​制以管理员身份运行的内容,您可能会开始发现这类站点的数量有所下降-尽管只有大多数运行新版本的OS时才会出现这种情况。


谢谢。我只是很难相信它可以自动下载并运行浏览器。那是什么样的脚本?JavaScript?
罗布

@Rob-是的,它将是JavaScript,它确实需要一个易受攻击的浏览器,并且用户是管理员。
克里斯·弗里德(ChrisF)2010年

它设法通过FireFox自行安装。最安全的Web浏览器就这么多了。fml
Rob

@Rob-Firefox一段时间以来并不是最安全的浏览器。一旦它进入了一个不错的市场份额,该病毒就开始流行,特洛伊木马程序的作者开始寻找利用它的机会,因为它值得他们花时间。如果您想“安全”浏览,请选择市场占有率最低的浏览器;)
ChrisF 2010年

1
不幸的是,我害怕改变。我会坚持使用firefox,因为我每天都会使用大量的插件。再次使用FML。现在我只需要知道是否可以针对一个问题接受两个答案?
罗布

8

好吧,当您打开一个网站时,该网站可以指示浏览器代表它执行各种操作。在最简单的情况下,它只会发送要显示的文本和图片,但它也可以发送浏览器将要运行的小程序(使用内置了JavaScript的JavaScript或使用Java或Flash之类的浏览器插件) 。

原则上,仅通过访问网站就不会受到感染:

虽然浏览器将代表您访问的网站执行程序,但这些程序受到严格限制,因此只能执行“无害”操作。例如,在JavaScript中,您可以更改JavaScript所属的页面(因为这两个页面均来自同一网站,因此不会造成危害),但是JavaScript可能无法更改其他网站上的页面(因此,简陋的网站无法更改您的页面)家庭银行显示),它可能无法直接访问您计算机上的文件。

大多数插件(至少对于Java和Flash)也存在类似的限制。通常将其称为沙箱,因为代码本质上是位于其自己的盒子中,与运行它的计算机隔离。特别是,它无法读取硬盘上的文件或为您启动程序,例如计算机上运行的“常规”程序。

现在,事情是:虽然原则上您是安全的,但实际上您可能不是。原因是沙盒系统像所有程序一样都存在错误。有时,这些错误使程序可以“破坏”沙箱并欺骗浏览器或插件来执行不应允许的操作。这些技巧可能很复杂。

例子:

  • 像常规程序一样,浏览器或插件的实现可能会有缓冲区溢出,这可以使网站通过将其作为输入发送到浏览器来运行特制代码。
  • Sun的Java插件的旧版本在沙箱方面存在一个漏洞。沙箱禁止(并且仍然禁止)访问所有Java功能,这些功能可能会使程序造成损害,例如读取或删除本地文件。但是,尽管沙箱确实阻止了Java小程序对这些功能的访问,但浏览器还允许通过JavaScript(通过称为“反射”的技术)间接访问这些功能。开发人员尚未充分考虑此“后门”,并允许其绕过沙箱限制,破坏了沙箱。有关详细信息,请参见https://klikki.fi/adv/javaplugin.html

不幸的是,JavaScript,Java和Flash沙箱中存在多个漏洞,仅举几例。在检测到这些漏洞以利用它们的恶意黑客与检测并修复它们的优秀黑客与开发人员之间,这仍然是一种竞赛。通常,它们可以快速修复,但是有时存在漏洞窗口。

顺便说一句:沙箱是某些Java小程序在启动时弹出“您信任此小程序”警告的原因:这些小程序会要求您将其从沙箱中释放出来,并允许它们访问您的计算机。有时这是必要的,但仅出于充分的理由才可以批准。

PS:那个原因的ActiveX(至少早期版本)是如此可怕的不安全是的ActiveX并没有使用沙箱。网页上的任何ActiveX代码都可以完全访问您的系统。公平地说,这在以后的版本中得到了(部分)纠正。


2

我提到这一点是为了回答您关于先发制人行为的最后一个问题。一种不太常见的选择是使用虚拟机(嗯,这在安全圈中很常见)。有一些免费的。在虚拟机中安装操作系统,浏览器和加载项并保存状态。然后,您可以浏览到任何站点。完成后,您将恢复为已保存状态,并且该点之后虚拟机中发生的所有操作都将被丢弃。一经学习,它就非常简单,但可能会带来轻微的学习曲线。

注意:恢复状态实际上会丢弃对虚拟机的任何更改;包括浏览器历史记录,Cookie,更新等。在这种情况下,您可以还原到该状态,应用更新并保存新状态。对于您希望保留的其他任何内容,也可以执行相同的操作。这些都不会影响您的实际计算机,只会影响虚拟机。


这是不实际的。使用Firefox的Noscript更好。
unixman83 2012年

1
实际上,从安全角度考虑,这是非常实用的。默认情况下,NoScript仅禁用加载JavaScript,但允许的网站除外。还有其他攻击媒介。如果没有帮助,要做到正确就可能很乏味和令人沮丧。VM的作用类似于沙箱,可以进行常规/完整浏览,并提供了轻松/快速恢复的方法。如果您的桌面被锁定,则无需将VM用于受信任/已知的站点,而仅将其用于新站点/有问题的站点。这个主题也有2年的历史了
Ioan 2012年

在禁用脚本和禁用插件的情况下,只有5%的实际攻击媒介成功。即与NoScript。许多站点在未打开脚本的情况下都能正常工作。
unixman83 2012年

1
很好,我提到过它不常用并且需要习惯。投反对票,因为您喜欢其他解决方案是不正确的。答案没有错。您最好添加自己的答案或投票赞成您更喜欢的另一个答案。至少,这就是我理解投票系统运作的方式。
艾奥恩(Ioan)2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.