Protection wrappers: a simple and portable sandbox for untrusted applications

C. Jensen, D. Hagimont
{"title":"Protection wrappers: a simple and portable sandbox for untrusted applications","authors":"C. Jensen, D. Hagimont","doi":"10.1145/319195.319211","DOIUrl":null,"url":null,"abstract":"In open and configurable applications, external programs are often used to handle different functions and data formats. This is particularly true for applications that communicate through the Internet, where new protocols and data formats are frequently introduced. These external programs are often installed quickly and without a full security auditing, even when the sources are available. This makes the users of such applications vulnerable to viruses and Trojan horses introduced by misconfiguration or flaws in the security of these applications. In this paper we introduce a mechanism called \"protection wrappers\" that allows an application to run external programs in a restricted environment called a \"sandbox\". Programs running in a sandbox will execute with the identity of a user with limited privileges. This reduces the potential damage to the system and to the data of the user who originally launched the application. 1 I n t r o d u c t i o n The dramatic growth of the Internet and the popularity of the World Wide Web have given birth to a new network community where individual users, academic and industrial institutions, in all countries, are exchanging data and software freely across the network. The Internet was previously used to exchange software and data among a small community of researchers who knew and trusted each other just like computer hobbyists have exchanged software on diskettes with friends, neighbors, and colleagues but today people connected to the Internet are receiving data and using software from various unknown sources, e.g. installing and using a new video player found on a Web server. In principle both programs and data should be carefully verified before being used, the program by the administrator who installs it and the data by the program *Universitfi Joseph Fourier, Grenoble tINRIA Rh6ne-Alpes that manipulates them. However, in many cases software or data are used without prior verification and without authentication of the source. Internet communication softwares like web browsers or mail readers are increasingly relying on external programs to display images or postscript files, play music or video dips, convert MIME encoded mail, or simply allow users to specify external pagers and editors. These programs are potential Trojan horses for two reasons: first because they may have been written by malicious programmers and secondly because they rarely implement a protection policy that allow them to verify data before operating on them. Most of these external programs are developed to be used in safe environments where data are generally trusted. Two good examples of this are Ghostscript (gs(1)) that allows users to preview their PostScript documents and MS-Word that can be used to prepare reports and write documentation for programs. However, PostScript is a full programming language, that for instance allows programs to access files in the file system, and MS-Word has the ability to create or update macros, based on the definitions found in a document. When these programs are used in the potentially hostile environment of the Internet, where the PostScript document retrieved from a Web-server or the Word document attached to an email may have been carefully prepared by an adversary, these programs can act as Trojan horses that corrupt the users files or helps potential intruders to breach the site security. It is therefore crucial to provide a protection service that prevents the use of these programs from damaging the machine, and the environment of the user who runs the programs. In this paper, we propose a portable mechanism that isolates programs within a sandbox with restricted privileges. This mechanism works by wrapping the application in a front end program (the wrapper) that implements the needto-know principle, without modifying the application itself. A program isolated in a sandbox can initially have few well-defined access rights. Additional rights are then","PeriodicalId":335784,"journal":{"name":"Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications","volume":"6 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1998-09-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/319195.319211","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4

Abstract

In open and configurable applications, external programs are often used to handle different functions and data formats. This is particularly true for applications that communicate through the Internet, where new protocols and data formats are frequently introduced. These external programs are often installed quickly and without a full security auditing, even when the sources are available. This makes the users of such applications vulnerable to viruses and Trojan horses introduced by misconfiguration or flaws in the security of these applications. In this paper we introduce a mechanism called "protection wrappers" that allows an application to run external programs in a restricted environment called a "sandbox". Programs running in a sandbox will execute with the identity of a user with limited privileges. This reduces the potential damage to the system and to the data of the user who originally launched the application. 1 I n t r o d u c t i o n The dramatic growth of the Internet and the popularity of the World Wide Web have given birth to a new network community where individual users, academic and industrial institutions, in all countries, are exchanging data and software freely across the network. The Internet was previously used to exchange software and data among a small community of researchers who knew and trusted each other just like computer hobbyists have exchanged software on diskettes with friends, neighbors, and colleagues but today people connected to the Internet are receiving data and using software from various unknown sources, e.g. installing and using a new video player found on a Web server. In principle both programs and data should be carefully verified before being used, the program by the administrator who installs it and the data by the program *Universitfi Joseph Fourier, Grenoble tINRIA Rh6ne-Alpes that manipulates them. However, in many cases software or data are used without prior verification and without authentication of the source. Internet communication softwares like web browsers or mail readers are increasingly relying on external programs to display images or postscript files, play music or video dips, convert MIME encoded mail, or simply allow users to specify external pagers and editors. These programs are potential Trojan horses for two reasons: first because they may have been written by malicious programmers and secondly because they rarely implement a protection policy that allow them to verify data before operating on them. Most of these external programs are developed to be used in safe environments where data are generally trusted. Two good examples of this are Ghostscript (gs(1)) that allows users to preview their PostScript documents and MS-Word that can be used to prepare reports and write documentation for programs. However, PostScript is a full programming language, that for instance allows programs to access files in the file system, and MS-Word has the ability to create or update macros, based on the definitions found in a document. When these programs are used in the potentially hostile environment of the Internet, where the PostScript document retrieved from a Web-server or the Word document attached to an email may have been carefully prepared by an adversary, these programs can act as Trojan horses that corrupt the users files or helps potential intruders to breach the site security. It is therefore crucial to provide a protection service that prevents the use of these programs from damaging the machine, and the environment of the user who runs the programs. In this paper, we propose a portable mechanism that isolates programs within a sandbox with restricted privileges. This mechanism works by wrapping the application in a front end program (the wrapper) that implements the needto-know principle, without modifying the application itself. A program isolated in a sandbox can initially have few well-defined access rights. Additional rights are then
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
保护包装:一个简单和便携的沙箱,用于不受信任的应用程序
在开放和可配置的应用程序中,通常使用外部程序来处理不同的功能和数据格式。对于通过Internet进行通信的应用程序尤其如此,因为经常会引入新的协议和数据格式。这些外部程序通常安装得很快,而且没有进行完整的安全审计,即使在源代码可用时也是如此。这使得这些应用程序的用户容易受到由于这些应用程序的错误配置或安全性缺陷而引入的病毒和特洛伊木马的攻击。在本文中,我们介绍了一种称为“保护包装器”的机制,它允许应用程序在称为“沙箱”的受限环境中运行外部程序。在沙箱中运行的程序将以具有有限特权的用户身份执行。这减少了对系统和最初启动应用程序的用户的数据的潜在损害。互联网的迅速发展和万维网的普及催生了一个新的网络社区,在这个社区里,各国的个人用户、学术机构和工业机构都在通过网络自由地交换数据和软件。互联网以前是用来在一个相互了解和信任的研究人员的小社区之间交换软件和数据的,就像计算机爱好者与朋友、邻居和同事交换软盘上的软件一样,但今天,连接到互联网的人们正在接收来自各种未知来源的数据和使用软件,例如安装和使用在Web服务器上找到的新视频播放器。原则上,程序和数据在使用前都应该仔细验证,程序由安装它的管理员验证,数据由程序*Universitfi Joseph Fourier, Grenoble tINRIA Rh6ne-Alpes操作它们。然而,在许多情况下,软件或数据的使用没有事先验证,也没有对来源进行认证。像网络浏览器或邮件阅读器这样的互联网通信软件越来越依赖于外部程序来显示图像或后记文件,播放音乐或视频片段,转换MIME编码的邮件,或者只是允许用户指定外部寻呼机和编辑器。这些程序是潜在的特洛伊木马,有两个原因:首先是因为它们可能是由恶意程序员编写的,其次是因为它们很少实现允许它们在操作之前验证数据的保护策略。大多数这些外部程序都是为了在数据通常可信的安全环境中使用而开发的。两个很好的例子是Ghostscript (gs(1)),它允许用户预览他们的PostScript文档,MS-Word可以用来准备报告和编写程序文档。然而,PostScript是一种完整的编程语言,例如,它允许程序访问文件系统中的文件,MS-Word具有基于文档中找到的定义创建或更新宏的能力。当这些程序在因特网的潜在恶意环境中使用时,从web服务器检索到的PostScript文档或附加到电子邮件中的Word文档可能是由攻击者精心准备的,这些程序可以像特洛伊木马一样破坏用户文件或帮助潜在的入侵者破坏站点安全。因此,提供保护服务以防止使用这些程序损坏机器和运行程序的用户的环境是至关重要的。在本文中,我们提出了一种可移植机制,该机制将程序隔离在具有受限权限的沙盒中。这种机制的工作原理是将应用程序包装在实现“需要知道”原则的前端程序(包装器)中,而不修改应用程序本身。隔离在沙箱中的程序最初可能没有明确定义的访问权限。其他的权利是
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
The Porcupine scalable mail server Replicated invocations in wide-area systems Irreproducible benchmarks might be sometimes helpful An asynchronous distributed systems platform for heterogeneous environments Dual objects—an object model for distributed system programming
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1