[2044] Sandboxing Cycle
Title Text:All I want is a secure system where it’s easy to do anything I want. Is that so much to ask? Origin:https://xkcd.com/2044/ https://www.explainxkcd.com/wiki/index.php/2044:_Sandboxing_Cycle 沙箱或沙坑是一个儿童可以安全地玩耍而不会干扰外面世界的游乐场。通过这个意思,这个词被其他人采用,比如军事用途的沙盘,或者作为维基百科沙箱,没有经验的编辑来测试他们的添加的游乐场,以及Randall可能在这个漫画中引用的计算机安全(沙盒)。 软件变得越来越复杂,为了减少编程工作和安全漏洞,大型应用程序由多个程序组成。让这些大多数自包含程序相互协作可能会非常棘手,因为不同应用程序之间的需求差异很大,需要相当通用的接口或API进行通信。这种界面越开放,意外副作用的风险就越高,例如漏洞和过度允许的数据访问可能被黑客利用。 在左上方的面板中,它可能是一个软件集合,其部分尚未完全相互连接;尚未连接的系统部分以红色显示,表示存在问题。一个简单的例子是用于文档,演示文稿,电子表格,图表,数据库等的典型办公套件。在早期,这些单独的应用程序没有太多连接在一起,复制和粘贴是最重要的功能之一;这表明申请尚未完全开发。但软件从未得到充分发展,因为可以进一步看到。 下一个面板使用一些“新技术”(绿色,代表一种解决方案),将这些部分不仅在内部互连,而且还与互联网外的世界互连。在简单的办公套件示例中,这意味着文档现在可以通过仅使用与另一个文件的简单连接直接使用电子表格。如果更改了该电子表格,则文档将使用此新内容,而无需手动复制。 但这会导致第三个面板,不需要的连接显示为红色。不期望的连接意味着特定应用程序中的问题可能会扩散到其他应用程序,因为没有人可以监视大型环境中的所有内容。它甚至可能破坏办公套件示例中的原始文档或允许恶意用户利用安全漏洞。 第四个面板显示(以绿色表示解决方案)应用于此问题的方法,称为沙盒。这是一种用于分离正在运行的程序而不会对其他人造成伤害的安全机制。这可以收紧草率的安全性。限制通信的直接后果是程序现在再次无法轻易地相互连接,导致情况非常类似于第一个面板并重新启动“沙盒循环”。 这个漫画的观点是,在不降低系统安全性的情况下,通常很难轻松使用系统;可以在上面的办公套件示例或下面的社交媒体示例中找到的两难问题。 标题文本中再次提到了这种困境:Randall希望易用性和高安全性。在实践中,必须进行权衡。