33.8. 安全话题

33.8.1. 被感染的脚本

有一个简短的关于脚本安全的介绍是适当的. 脚本程序可能会包含蠕虫病毒,特洛伊木马, 或是其他的病毒. 由于这些原因, 决不要以root身份运行脚本 (或允许它被插入到系统的/etc/rc.d里的启动脚本中) 除非你确定这是值得信赖的源码或你已经很小心地分析过了脚本并确信它不会有什么危害.

Bell实验室及其他地方的病毒研究人员, 包括 M. Douglas McIlroy, Tom Duff, 和 Fred Cohen 已经调查过了shell脚本病毒的实现. 他们认为写脚本病毒甚至对于新手来说也是很容易的,就像“脚本小子(script kiddie)”也能容易地写出. [1]

这也是学习脚本编程的原因之一:学习读懂脚本和理解脚本可以保护你的系统免受骇客攻击或破坏.

33.8.2. 隐藏Shell脚本源码

为了安全, 使脚本不可读是有必要的. 如果有软件可以把脚本转化成相应的二进制执行文件就好了. Francisco Rosales的 shc - 通用的Shell脚本编译器(generic shell script compiler) 可以出色地完成目标.

不幸地, 依照发表在2005年十月的Linux Journal杂志上的一篇文章, 二进制文件可以,至少在某些情况下能被恢复回脚本的原始代码. 但不管怎么说,这对大多数技术不高超的骇客来说仍然是一个保持脚本安全的有效的方法.

[1]

参考 Marius van Oers 的文章(Unix Shell Scripting Malware),和列在参考书目(bibliography)的参考资料.