多解释器与安全 Tcl 编程:提升脚本执行安全性与灵活性
1. 多解释器与安全 Tcl 概述
在应用程序中,我们可以创建多个 Tcl 解释器。子解释器可以设置为安全模式,从而能够执行不可信脚本,同时不会对应用程序或计算机造成损害。借助命令别名、隐藏命令和共享 I/O 通道,解释器之间可以实现通信。
Safe - Tcl 由 Nathaniel Borenstein 和 Marshall Rose 发明,旨在通过电子邮件发送 Tcl 脚本,并让接收者安全地执行脚本,无需担心病毒或其他攻击。它通过移除像 exec 和 open 这类危险命令来实现安全,这些命令可能会让不可信脚本损害主机。可以将这种受限解释器想象成一个“保护舱”,在其中执行不可信脚本是安全的。如果不可信代码想要执行任何潜在不安全的操作,必须请求许可,这可以通过添加由不同 Tcl 解释器实现的额外命令或别名来完成。例如, safeopen 命令可以通过将文件空间限制在一个临时目录来实现,当不可信代码终止时,该临时目录会被删除。
Safe - Tcl 的关键概念是应用程序中存在两个 Tcl 解释器:一个可信解释器和一个不可信(或“安全”)解释器。可信解释器可以执行任何操作,用于主应用程序(如 Web 浏览器或电子邮件用户界面)。当主应用程序接收到包含不可信脚本的消息时,会在不可信解释器的上下文中评估该脚本。不可信解释器的受限性质确保了应用程序免受攻击,这种模式类似于多用户操作系统(如 UNIX 或 Windows/NT)中的用户模式和内核模式。在这些系统中,应用程序在用户模式下运行,并陷入内核以访问文件和网络等资源,内核实现访问控制,
多解释器与安全 Tcl 编程提升脚本安全灵活
订阅专栏 解锁全文
6

被折叠的 条评论
为什么被折叠?



