2011-11-25 103 views
2

我从this网站下载this shell脚本。如何确定shell脚本是安全

它是一个bash脚本可疑大。所以我用文本编辑器打开它,发现 在代码背后有很多无意义的字符。

我怕给脚本执行权与chmod +x jd.sh。您能否告诉我如何认识它是否安全或如何设置它在系统中的有限权利?

谢谢

回答

1

不要运行它!该网站在我工作的地方被封锁,因为它被称为恶意软件。

现在,作为验证码,它不是真的有可能不完全隔离它(技术难度,但虚拟机可能有助于它有没有已知的漏洞),并运行它,观察其实际作用。使用第三方软件时,健康的不信任总是有用的,但当然没有人有时间来验证他们运行的所有软件,或者甚至只有很小的一部分。这需要数千年(更可能是数百万年)的工作时间,并且会发现足够的错误以使开发人员再忙一千年。你通常可以做的最好的是已创建或至少有人建议你相信至少在某种程度上只运行软件。信任必须根据您自己的标准来确定,但以下是一些可以计算出软件对我有利的方面:

  • 作为主要操作系统/分布的一部分。这意味着一些更大的组织决定信任它。
  • 源代码是公开的。至少任何由公司政策导致的恶意软件(请参阅索尼CD崩溃)将有更大的发现机会。
  • 源代码以一个适当的平台。像GitHub这样的网站可以让你衡量软件的流行程度并跟踪它发生的事情,而一个没有任何评论功能,版本控制或bug数据库的随机网站是保存有用代码的糟糕的地方。
+0

误报? – user123444555621

+0

很可能;只是为了安全而不是抱歉。网页过滤器显示“**域名被报告并被验证为恶意软件**”(我强调)。当然,如果您信任链接到脚本的网站,那么通过扩展名,您可能会*相信所引用的站点足以运行脚本... – l0b0

+0

@ I0b0您使用哪种网页过滤器?这更值得信赖吗? – xralf

2

“无意义字符”表示直接包含在SH文件中的二进制文件。该脚本将使用该文件本身作为文件归档并根据需要复制/提取文件。对于SH安装程序来说,这并不罕见。 (编辑:例如,makeself

与其他软件一样,几乎不可能决定是否运行该脚本是“安全的”。

1

虽然脚本的来源似乎不可信(IP地址?),但此可能仍然是合法的。使用shell脚本,可以在最后附加二进制内容,从而构建一种安装程序。几年前,Sun将以这种形式发布JDK for Solaris。不过,我不知道这是否仍然如此。

如果你想测试它没有风险,我会在一个VirtualBox(免费虚拟机软件)中安装一个Linux,在那里运行脚本并查看它的功能。

关于的附录请看它的作用:UNIX上有各种工具可用于分析二进制程序,如strace,ptrace,ltrace。还可能有趣的是使用chroot运行脚本。这样你就可以轻松找到所有安装的文件。

但在一天结束时,这可能会产生更多不容易检查的二进制文件(可能任何防病毒软件的开发者都会告诉你)。因此,如果你根本不相信源,请不要运行它。或者,如果您必须运行它,请在虚拟机中执行此操作,至少它不会造成太大的损失或访问任何数据。

+0

“看到它干什么”是什么意思?你使用一些可以观看该程序的应用程序吗?被调用的函数?创建和编辑的文件? – xralf