计算机程序就像一个堡垒。正如堡垒受到厚厚的墙壁,护城河和铁门,防火墙和其他安全技术的保护,可以防止网络犯罪分子恶意利用软件应用程序。
正如一个守卫不严的大门或一个据说秘密的逃生隧道可能允许围攻者占领一座城堡,所有黑客都需要一个小的安全漏洞来获取对软件的所有组件的访问权限。在最糟糕的情况下,他们可以获取授予他们访问用户帐户的数据,甚至允许他们进行信用卡付款。例如,广泛使用的OpenSSL加密软件中的Heartbleed错误使得各种在线服务和程序的用户名和密码容易受到黑客的攻击。
软件组件应该像堡垒一样隔离为了防止这种致命攻击,软件开发人员可以采用类似于巧妙设计的堡垒的主建造者的方式进行。他们可以将各种软件组件彼此隔离开来,就像几个墙壁直接进入堡垒的核心,以及任何能够克服外围城墙的攻击者。
但显然,保护越好,涉及的工作就越多:城堡需要更多的建筑材料和防护装置,对于软件而言,这意味着更多的计算时间。实际上,当前用于计算机程序的隔离技术需要高达30%的CPU功率,并且相应更多的服务器必须由在线服务运行,这也成比例地增加了基础设施成本。马克斯普朗克软件系统研究所的主要科学家迪帕克加格说:“许多服务部门并不认为这种增加的成本是合理的,因此不使用隔离技术。” “我们的隔离技术仅使用了5%的计算时间,这对公司来说非常具有吸引力。” 因此毫不奇怪,研究人员已被授予100,记忆可以用相对较少的努力进行划分由Deepak Garg和Max Planck软件系统研究所所长Peter Druschel领导的团队巧妙地将最近在英特尔半导体公司生产的处理器中引入的硬件功能与构建这种隔离技术的软件技术结合起来.-。专家们称新的硬件功能称为内存保护密钥(简称MPK)。
但是,单凭MPK无法可靠地隔离组件,因为它仍然可以从资源丰富的黑客攻击。Max Planck的研究人员将这种方法与另一种称为指令重写的技术结合使用。“软件代码可以通过以下方式重写:攻击者不再能够绕过软件组件之间的”墙壁““Peter Druschel说。”但是,这并没有改变代码的实际目的。“这两种方法可以一起使用,以相对较少的计算工作划分软件应用程序的内存,然后将这些部分彼此隔离。为了这个目的,技术访问操作系统的内核,需要更多的计算工作。“软件开发人员正在与时间和网络罪犯进行永久竞争,”Peter Druschel说,“但数据保护仍然必须切合实际。这有时需要系统但非常规的方法,就像我们用ERIM追求的那样。“