17

我从未真正使用过greasemonkey,但我正在考虑使用它。考虑到 GreaseMonkey 允许您让 Internet 上的随机人更改您喜欢的网站的行为,它的安全性如何?他们可以窃取我的密码吗?看看我的私人数据?做我不想做的事?Greasemonkey 的安全性如何?

谢谢

4

4 回答 4

26

考虑到 GreaseMonkey 允许您让 Internet 上的随机人更改您喜欢的网站的行为,它的安全性如何?

它尽可能安全 - 但你不是很清楚,所以让我们从几个角度来看它:

Web开发人员

Greasemonkey 无法对您的网站做任何使用 telnet 的人已经无法对您的网站做的事情。它使事情自动化了一点,但除此之外,如果greasemonkey 是一个安全漏洞,那么你的网站设计就有缺陷——不是greasemonkey。

加载了 Greasemonkey 的互联网用户

就像你在系统上加载的任何其他东西一样,greasemonkey 可以用来对付你。除非您信任源(在术语“源”的两种含义中),否则不要将脚本加载到您的系统上。它是相当有限和沙盒的,但这并不意味着它是安全的,只是有人更难做一些邪恶的事情。

没有 Greasemonkey 的互联网用户

如果您不加载greasemonkey 或其任何脚本,它不会以任何方式影响您。Greasemonkey 不会改变您访问的网站,除非您已将其加载到系统中。

Greasemonkey 开发人员

除了使用 XUL 和 javascript 已经可以完成的事情之外,您无能为力,但可能会破坏您的 mozilla 和/或 firefox 配置文件,以及系统的其他部分。不太可能,很难故意或恶意进行,但它不是一个防弹实用程序。 负责任地发展。

-亚当

于 2008-11-25T05:04:38.893 回答
6

考虑到 GreaseMonkey 允许你让互联网上的随机人改变你最喜欢的网站的行为

您已安装其 UserScript 的随机人员。没有人可以强迫您安装 UserScript。

他们可以窃取我的密码吗?

是的,UserScript 可以修改登录页面,从而将您的密码发送给攻击者。不,它无法查看您当前的密码,也无法查看未启用 UserScript 的网站

看看我的私人数据?

是的,如果您的私人数据可以在您也授予 UserScript 访问权限的网站上查看

做我不想做的事?

是的,UserScript 可以对网页(您已授予它访问权限)执行不需要的操作

GreaseMonkey 的安全性如何?

与您安装的各个用户脚本一样安全

于 2008-11-25T05:31:39.760 回答
3

谨慎使用时,Greasemonkey 应该可以完全安全地安装和使用。虽然通过全权委托 Javascript 访问页面绝对有可能进行各种恶作剧,但 Greasemonkey 脚本仅限于特定的 URL,并且不会在其标题中的 URL 模式未指定的站点上运行。

话虽这么说,一个基本的经验法则是考虑那些激活了 Greasemonkey 脚本的页面上的大多数信息都可以被这些脚本访问。玩游戏,比如替换输入框(您可能在其中输入密码或个人信息)、读取页面上的任何数据以及将收集到的数据发送给第三方,在技术上是可行的。Greasemonkey 脚本确实在浏览器内的有效沙箱中运行,并且不应影响您在 Firefox 之外的计算机。

话虽如此,在某些方面,风险与安装任何其他小型开源软件的风险相当或更低。由于 Greasemonkey 脚本是简单的开源 Javascript 文件,因此程序员可以相对容易地查看内部并确保它按照它所说的那样做。与往常一样,小心运行陌生人的代码(任何形式),如果软件对您很重要,请花时间浏览源代码。

不过总的来说,Greasemonkey 脚本应该是相当安全的。尝试使用具有大量评论和用户的脚本,因为这些可能会得到社区更彻底的审查和分析。

快乐的用户脚本!

于 2008-11-25T05:23:05.067 回答
3

是的,用户脚本可以窃取您的密码。这是底线。不要在未提及您的老板的情况下在工作或政府计算机上使用 firefox 插件或用户脚本。

与 firefox 插件不同,用户脚本没有经过正式审查。(Firefox 的“实验性”插件也没有经过审查)。您可以立即注册并添加恶意脚本到 userscripts.org。

用户脚本非常不安全。跨站点脚本能力意味着将您的详细信息/密码发送到非常隐蔽的邪恶服务器完全没有困难。该脚本可以为任何站点执行此操作。忽略试图消除/最小化此问题的其他答案。有两个问题:恶意脚本编写者将他们的恶意软件放到 userscripts.org 上,以及破坏油脂猴沙箱的脚本,因此很容易被黑客网站上的恶意代码使用,否则这些网站将被限制在同一域中。

对于邪恶的脚本作者,您可以检查发送您详细信息的代码的脚本;没什么好玩的。至少您可以通过编辑“包含/排除”子句将脚本限制在特定站点。这并不能解决问题,但至少不会发送您的银行凭据(除非您使用了相同的登录详细信息)。遗憾的是没有“includexss”子句来限制 xss 请求,这将有效地解决问题,因为至关重要的是,即使对于非开发人员也很容易检查。(Firefox 插件“RequestPolicy”不会阻止用户脚本。)

不安全的脚本:寻找任何使用“unsafewindow”。还有其他风险电话。安装脚本时,Greasemonkey 不会警告您它们的使用。使用这些调用并不意味着脚本不安全,只是脚本编写者最好擅长安全编程;这很困难,而且大多数都不是。我避免编写需要这些调用的脚本。有一些流行的高下载脚本使用这些调用。

Mozilla.org 上的 Firefox 插件/插件与用户脚本有类似的问题,但至少它们经过了正式审查。审查/审查包括最重要的代码审查。尽管如此,还是有一些巧妙的技术可以避免检测到恶意代码而无需混淆。此外,插件可能托管在(任何人都不知道的)被黑网站上。不幸的是,Mozilla 还列出了未经审查且包含恶意代码的“实验性”插件。您会收到警告,但有多少人知道真正的意义。直到我掌握了安全知识,我才这样做。我从不安装这样的插件。

用户脚本没有经过正式审查。除非脚本有很多安装,否则我会检查代码。即便如此,高安装脚本仍然可能会劫持脚本编写者的帐户并修改脚本。即使我检查脚本使用反检测编程意味着我可能看不到邪恶。也许最好的办法是使用“Tamper Data”firefox 插件检查传出的请求,但是一个聪明的脚本会延迟或不经常发送数据。不幸的是,这是一场战术战争。具有讽刺意味的是,只有微软基于证书的 activeX 对象真正接近了开发人员可追溯性的真正解决方案(但还远远不够)。

确实,firefox 插件使作恶者更容易接触到潜在的受害者,因为 firefox 插件通常更受欢迎,因此似乎更有可能成为目标,但 firefox 审查过程使用户脚本对作恶者更具吸引力,因为它们是未经审查。可以说,一个下载量低的用户脚本在被发现之前仍然可以获得大量有价值的登录信息,同时也提供用户脚本相对默默无闻和社区流失率低的好处,以及任何人对其进行代码审查的机会都很低。您不能依靠 firefox 插件的受欢迎程度来保护您免受恶意用户脚本的侵害。

作为非开发人员,您依赖于其他用户发现恶意脚本/插件。那可能性有多大?谁知道。事实上,这是一个垃圾安全模型。

最终,我使用 firefox 进行一般浏览,使用 Google Chrome(没有greasemonkey/插件)进行管理。Chrome 还有一个可用的“配置文件”功能(完全独立的浏览空间),这实际上就像使用不同的浏览器一样。我设置了三个 chrome 配置文件以使自己更加安全:电子邮件/一般管理员、银行、ebay/paypal。Firefox 有无法使用的配置文件(根据我的经验),但我更喜欢 firefox 作为浏览器,这就是为什么我仍然使用它来进行非批判性浏览。配置文件还可以防止老式浏览器安全漏洞和被黑客入侵的网站,至少限制了它们的范围。但请确保您使用不同的密码。另一种方法是在 USB 记忆棒上为关键管理员安装干净的可启动 ubuntu(请参阅此处http://www.geekconnection.org/remastersys/)。

Jetpacks 的特殊信任模型,就像 PGP 信任网络一样,强调了这个问题的严重性,应该有望缓解它。Jetpack 是 Firefox 的新成员:一种超级油脂猴。

于 2011-02-03T03:55:33.770 回答