当管理员修复Shellshock的新漏洞,哈佛大学的研究人员正在建造的脚本语言上完成触感,以减轻这种孔造成的损坏。
语言,称为sh,旨在限制基于shell的脚本,因此无法访问除手头任务的专门所需的资源。
“你想给脚本提供完成任务所需的权限,”哈佛大学计算机科学博士生斯科特·摩尔(Scott Moore)说。他是Shill研究项目的贡献者之一,该项目由计算机科学副教授斯蒂芬·钟(Stephen Chong)领导。
该团队正在为FreeBSD Unix操作系统开发Shill的一个版本,并考虑将其移植到Linux。该团队还将在下周的USENIX操作系统设计与实现研讨会大会,在科罗拉多州的布鲁姆菲尔德。
摩尔说,Shill遵循最小特权原则,即软件不应拥有比完成工作所需更多的权力。
基于unix的系统,如Linux和苹果的OS X,已经有严格的权限系统,基于用户和用户被分配到的任何组。这种方法的缺点是,由用户运行的任何程序都继承分配给该用户和该组的所有权限。
摩尔说:“Shill的理念是让你控制你想让程序或脚本访问的内容。例如,如果某人编写了一个脚本让Bash shell在特定目录中工作,那么Shill可以确保该脚本只能访问该目录,而不是用户可以访问的所有目录。shell是一种用户界面,可以是图形界面,也可以是Bash的命令行界面。shell脚本是一组命令,封装在文件中,当操作系统运行文件时,shell可以理解并自动执行这些命令。
“大多数脚本语言,比如Bash,并没有给你一种方法来弄清楚脚本要做什么。一切都隐藏在代码中,”哈佛大学研究生克里斯托斯·迪穆拉斯(Christos Dimoulas)说。“相比之下,Shill带有特定的接口,使得声明和执行脚本要做的事情非常容易。”
先锋收到A.在宣传Shellshock漏洞的消息在Linux系统管理员社区中掀起轩然大波。摩尔说,Shill可以用来防止shellshock式的漏洞。
Shellshock是一种命令注入漏洞,恶意攻击者可以将自己的命令注入到Bash shell脚本中,并赋予该脚本的用户在该系统上可以执行的任何操作的权限。
Moore说:“这很危险,因为您创建的用于生成Web页面的Bash脚本也可以用来启动新的shell或利用系统中的其他漏洞。”
Shill会限制可以使用任何特定脚本完成的内容。“即使有人能够注射一些命令,它们仍然仅限于脚本在开始时的初始权限集,”Moore说。
在某种程度上,Shill与SE Linux类似。SE Linux是美国国家安全局(National Security Agency)嵌入Linux的一种技术,被广泛用于限制程序在计算机上的功能。SE Linux被用来建立一个计算机范围内的策略,而Shill将策略限制在执行任务的特定脚本上,Moore说。

