如果提供上百万美元的资金,工程师是否可以从零开始,研发一种终极型的网络安全技术?美国国防高级研究计划局(DARPA)的科学家认为这是可能的,本周他们宣布了一个名为 CRASH 的计划,全称为 Clean-Slate Design of Resilient, Adaptive, Secure Hosts,即重新设计一种自适应、可迅速恢复的安全型计算机系统。该计划主要是借助人类生物学技术来研发一种具有高度适应性、超智能的高度安全型网络。
例如,CRASH 计划寻求将人类免疫系统的机制移植到计算机环境中。在人类免疫系统中,存在多个独立的机制,它们对病原体进行持续不断的监控。即使在细胞这一等级上,也存在多个备用机制,可对 DNA 的结构进行监控和修复。DARPA 称这些机制需要大量的资源,但能够让人体持续地正常运行并修复由机能失调和传染性病原体造成的损害。
“对天生免疫系统的模拟包括对硬件和软件元素的整合,这些元素能够不断地强化基本的语义属性,如类型安全、存储完整性、代码/数据区分、信息流和访问控制限制。对这些基本属性的违背将使网络系统变得脆弱,天生的免疫系统将能够处理基于这种基于这一脆弱性而发起的难以应对的攻击。对于生物学系统,执行这种任务需使用大量的专用资源。由于现在存在丰富的硬件资源,所以合理的方式是使用硬件机制,同时这也会带来更为完整的强化作用或更好的运行性能。”DARPA 指出。
CRASH 系统将对硬件、系统软件、编程语言和设计环境进行紧密地整合。通常,对其中一个领域进行微小的更改可以极大地简化另一领域中的任务。例如,为自动化存储管理提供统一的软件支持系统,能够减轻存储安全分析这一任务。同样,硬件标签(hardware tagging)能够系统化地加强代码/数据等区分,而在其他等级上保证这种区分,可能更为困难并且成本更高。控制设计原理、约束规则和不变量的编程语言和环境能够更容易地部署自我检查和自适应的软件系统。
DARPA 指出,在设计 CRASH 时将对六个关键的技术领域进行评估:
处理器架构:对于系统化的强化基本语义属性(如类型安全、存储安全和信息控制),适度的处理器扩展是最为合适的机制。这种扩展包括但不限于:信息流跟踪标签、感染性传播(taint propagation)、边界检查、类型检查、访问控制和并行控制。部署技术可能包括FPGA(Field Programmable Gate Array:现场可编程门阵列)或指令集等级模拟技术。最终部署的性能目标只是为了获得足够快的速度,能够为在该技术领域或其他技术领域提供实验支持。应避免使用目的仅限于性能的节省成本和时间的部署技术,如完全定制型芯片。
操作系统:这一系统将围绕基本语义属性(如存储安全、类型安全、信息流和范围控制)进行设计。它将能够与硬件所提供的功能协同一致地运行。如果开发新的硬件,将能够显著地促进操作系统和硬件之间的协作。DARPA 希望新的操作系统架构能够去除具有所有权限的单一内核这一概念。这种操作系统所具有的技术应能够进行有效的回滚和恢复、信息流跟踪和系统日志。其目的不在于建造一个功能丰富的操作系统,能够与商业化系统进行竞争,而是构建一个原型系统,能够对核心原理进行演示和测试。
机器学习、自我适应、诊断和恢复:该领域所用的技术包括但不限于:
– 机器学习技术,为程序预期行为开发一种模型
– 静态分析技术,从程序预期行为中提取模型
– 探测技术,判断程序是否越出其预期行为的边界
– 适应技术,即使攻击损坏了某些资源,该技术能够让程序继续正常运行
– 诊断技术,用于隔离导致故障的潜在原因。
– 恢复技术,程序能够回滚至某一安装状态并继续运行
– 修复继续,系统能够修复潜在的易受攻击的弱点。
编程语言和环境:编程语言能够保障重要属性并提供运行时支持(runtime support)。另外,语言和/或编程环境的特性能够简化对程序执行的关键限制的控制,如信息流或不变量必须位于程序中特定点上。同时,编程语言能够促进实现普通功能的多种方法以及不同方法直接的交替使用。
形式方法:理想情况下,软件和硬件设计的形式分析将用于验证是否保持了重要属性;更为重要的是,从形式分析收集的信息应是持续发展的设计流程的一部分。该计划寻求的技术将能够对程序属性进行形式验证,并且其他静态分析技术能够为程序预期行为构造有效的计算模型。这类技术包括对可有效检测的不变量状态的提取,以及可允许的控制流和数据流模型。
动态多样性:这一领域侧重的技术能够在同一系统的不同副本引入多样性并且能够在单一副本中随时间引入多样性。相关主题包括存储随机化、数据结构随机化、栈布局随机化(stack layout randomization)、指令集多样化和相同功能的多种可替代方法的应用。
对于这种高级系统的需求是显而易见的:“当前的计算机系统面对攻击不能进行迅速恢复。受到攻击时,这种系统无法找到替代方法来完成某一目的,并且无法修复因攻击而损坏的资源。通常,它们还无法对潜在故障进行诊断并修复易受攻击的弱点。一旦机器损坏,必须由专业人员进行手工修复,并且缺少修复必须的攻击检测信息。” DARPA 称。
DARPA 还指出,这些问题并不是刚刚才出现的,但是,在很大程度上,由于设计师在知识和制度上受到传统系统兼容性需求的牵制,导致这些问题并未得到适当的处理。
DARPA 提出的另外一些安全计划也在正在同时进行。例如,该机构在一月份为两家承包商提供大约 5600 万美元的资金,后者将对位于第二阶段的某项技术进行研发,这项革命性的技术将大幅度地提升当前的网络安全技术。DARPA 在该技术的第一阶段研发上投入了 3000 万美元。
这些合同是 DARPA 野心勃勃的美国网络靶场(National Cyber Range:简称 NCR)计划的一部分,这一计划的目的是开发具备革命性的网络研发技术。DARPA 称NCR 计划将极大地