虽然人们非常关注检测和补救软件中的缺陷或漏洞,但系统的设计方式也会为攻击者创造大量机会。系统设计者主要关注的是确保程序善于执行特定的任务,关注的是设计如何能够最好地支持预期的功能和行为,以及如何在设计中实现这些功能和行为。攻击者也发现,这些设计结构和实施行为可以被重新利用来达到他们自己的恶意目的。在设计的时候,这些功能可能表现出来的意外的或突发的,其行为往往没有被考虑进去。因此,攻击者经常发现,他们可以通过使用系统中已经内置的程序来产生突发行为,从而提供一种利用几层缺陷的方法。换句话说,系统在不知不觉中被设计成支持对抗性编程和功能组合以及不受保护的抽象的方式。这些相当于嵌入式漏洞执行引擎,客观上创造了俗称的“怪异机器”。
对此,美国国防高级研究计划局(DARPA)信息创新办公室(I2O)的项目经理谢尔盖·布拉特斯(Sergey Bratus)表示:“当涉及到漏洞时,通常的想法是,程序中有一个缺陷,然后有一个精心设计的输入,可以触发这个缺陷,导致程序做一些它不应该做的事情,如崩溃或授予攻击者的特权。当前,现实有些不同,因为那些现有的缺陷并没有立即暴露出来,所以攻击者需要帮助才能找到它们。这种帮助是在不知不觉中由系统本身的功能和设计提供的。攻击者能够利用这些功能,迫使它们以它们从未想过的方式运作。”
当观察一类依赖类似功能的系统时,这种挑战变得越来越有问题。当攻击者在一个系统上发现了一个漏洞,这可以为如何为其他系统找到类似的漏洞提供很大的提示,这些系统是由不同的供应商独立开发的,但利用了类似的机制。这就创造了持久的可利用模式,可以在一大批程序中使用。
为此,DARPA通过“针对新兴执行引擎的加固开发工具链”(HARDEN)项目试图给开发者提供一种理解新兴行为的方法,从而创造机会来选择抽象和实现,限制攻击者为恶意目的重新使用它们的能力,从而阻止无意中创建的“怪异机器”。HARDEN项目将探索新的理论和方法,并开发实用的工具,以便在整个软件开发生命周期(SDLC)中预测、隔离和缓解计算系统的突发行为。值得注意的是,该项目旨在创建远远超出补丁的缓解方法。目前,补丁往往只解决一个特定的漏洞,而不会破坏驻扎在设计层面的潜在漏洞执行引擎。
HARDEN项目还将着重于通过将广泛的理论和通用工具应用于通用集成软件系统的具体技术使用案例来验证所产生的方法。潜在的评估系统包括统一扩展固件接口(UEFI)架构和启动时信任链,以及空军和海军领域的集成软件系统,如飞行员的平板电脑。
谢尔盖·布拉特斯指出:“有很多方法可以从理论上解决这些挑战,但对理论的检验是它将如何适用于我们基于信任,或想要基于信任的实际集成系统。我们希望确保我们创建的模型将对关键的防御系统有实际用途。”
声明:本文来自从心推送的防务菌,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。