基于可信计算技术构建的抗恶意代码攻击安全结构框架以可信计算技术为基础,融合身份认证、授权访问控制、备份恢复以及审计等多种安全控制技术构成。可信安全模块是抗恶意代码攻击的根基,可信计算技术是抗恶意代码攻击的必要条件,各种安全控制技术使抗攻击效能最大化。
该框架通过各种技术的配合,建立了抵抗恶意攻击的层层防线,并且在系统遭到破坏时能及时发现并进行恢复,不仅能防范已知恶意代码,而且能防范未知恶意代码。恶意代码包括细菌、蠕虫、病毒、特洛伊木马、逻辑炸弹以及陷阱门等。
恶意代码攻击计算机系统通常包括侦查、探测、攻击、获得立足点、利用溢出手段从非特权用户到特权用户、隐藏、建立侦听基地、控制并扩展等步骤。而PC软硬件存在先天性安全缺陷,为恶意代码攻击提供了可利用的安全脆弱点。
首先,硬件的脆弱性。PC硬件虽然具有对代码段和数据段的分段机制,但是没有提供界限寄存器以及中断等硬件机制来保护段越界,从而造成恶意代码通过缓冲区溢出等机制执行非授权代码。在Intel X86和X86-64架构的计算机中,提供特权级最高的系统管理模式(System Management Model,SMM),只有BIOS拥有权限将SMM代码写入系统内存区SMRAM,一旦SMRAM被非法访问,SMM代码被修改,将能够随意获取系统数据。
其次,软件脆弱性。操作系统存在特权用户和特权进程,操作系统缺乏安全的系统扩展机制,扩展的驱动程序具有系统权限,被恶意代码利用后可随意操作系统。PC软硬件结构的脆弱性直接造成PC上执行代码可以被修改,恶意程序容易被植入,重要信息容易被窃取,在平时及战时极易被敌手利用控制而丧失战斗能力。恶意代码归根结底只是一种计算机程序。恶意代码的产生和发作必然是利用了PC软硬件安全体系结构的脆弱性。利用PC软硬件脆弱性,恶意代码攻击可分为非法连接、恶意代码植入、恶意代码发作和非授权操作4种手段。在一次攻击过程中,上述4种类型手段可能交替使用。
目前,已有的各种抗恶意代码攻击的安全技术手段主要包括终端和网络安全防护型手段两种。终端安全防护型手段包括杀病毒软件、安全增强软件等,网络安全防护型手段包括防火墙、入侵检测、安全隔离等。与目前已有的各种抗恶意代码攻击安全技术手段有着本质不同,基于可信计算技术的抗恶意代码攻击安全结构框架解决的是抗恶意代码攻击的基础可信计算基的建立问题,即首先解决各种安全技术手段不能被绕过和不能被篡改的问题。
可信计算基是实施抗恶意代码攻击各种安全保密控制手段的实体,首先要保证其隔离性即不被非法篡改。可信计算基的第二个重要特征是保证其不被绕过。恶意攻击如果将可信计算基进行篡改或发现存在一条绕过安全控制的途径,则任何抗恶意代码攻击技术手段都形同虚设。
1 可信计算平台安全结构框架
基于可信计算技术构建的可信计算平台结构框架如图1所示,包括可信硬件平台、可信系统软件以及可信应用层。
图1 可信计算平台结构
可信硬件平台包括可信模块和可信BIOS。可信模块是整个结构框架的根基,为所有上层应用提供可信管理服务,也是整个结构框架的信任根。可信BIOS验证硬件平台的完整性,主要验证主引导记录、操作系统装载器和操作系统内核的完整性。可信系统软件由可信软件栈和安全增强操作系统组成。可信软件栈分别向安全增强操作系统和可信典型应用提供调用可信模块的接口。安全增强操作系统提供强制访问控制、强制安全策略和完整性度量验证功能。
可信网络连接是对网络接入的可信计算平台身份和可信计算平台的完整性状态进行安全性检测,自动拒绝不安全的主机接入。接入主机必须符合内部网络的安全策略。结构框架的核心是信任链的传递。信任链以可信模块为信任根。可信模块验证可信BIOS完整性,可信BIOS验证主引导记录、操作系统装载器、操作系统内核的完整性,操作系统内核验证系统服务、应用程序及脚本的完整性。
通过信任链传递,保证核心的功能模块不被篡改,保障系统按照预期的行为方式运行。
2 基于可信计算技术的抗恶意代码攻击安全结构框架设计
设计基于可信计算技术的抗恶意代码攻击安全结构框架时,应遵循以下原则。
2.1.1 最小限度的安全控制和隔离
为了使系统的安全具有高度的可靠性,应该尽可能减小内部设计安全相关部分的规模和复杂度。由于安全性渗透到可信安全模块、可信BIOS,尤其是可信系统软件(即安全操作系统和可信软件栈)许多不同的功能领域,如文件系统管理、存储管理、进程控制、输入/输出以及其他大量的管理功能中,涉及安全相关的软件不仅难以确定和隔离,而且即使所有的安全软件能以某种方式隔离出来,机制的变化也使得公共的安全系统很难设计。
因此,安全结构框架的构建与操作系统的体系结构密切相关,在操作系统中获得安全特性比较困难。如果操作系统在设计之初就将安全特性考虑其中,并且安全相关的机制是简单的、容易识别的和隔离的,那么就有可能实现附加的安全控制,以保护它免受系统中其他部分的破坏。
2.1.2 最小特权所谓特权是指基于系统的访问控制机制在系统上实施某种行为的能力。恰当特权是POSIX1003.6中提出的术语,是基于系统的访问控制机制,在系统上执行一个特殊的、受限制的操作,或者超越某个特殊的访问控制策略的能力。它被定义为某些进程与特权的结合方式,这些进程与需要特殊特权的功能相关。
所谓最小特权就是操作系统应精确确定用户的任务,不应赋予用户超过执行任务所需权力以外的特权。最小特权的含义包括以下几个方面。
(1)硬件特权。当处理器不以特权方式工作时,最小特权机制可以限制特殊指令的使用,约束处理器对某些内存区域的访问。
(2)软件特权。软件特权允许某些应用程序避开普通用户程序所必须遵从的正常存取控制而执行特定的系统功能。
(3)结构化和模块设计程序化的方法。
(4)用户和系统管理者的行为。用户和系统的管理者不能得到除了应该完成任务之外的存取权限。
2.1.3 安全相关功能清晰明确安全结构框架应具有如下特性:系统中安全相关的各个方面非常容易被确定,以便从总体上很快地对系统进行安全性检查;安全控制应该被隔离和最小化,从而使得安全相关的功能有一个清晰和容易确定的接口。
2.1.4 安全性能友好(1)安全不应影响遵守规则的用户。对于大多数用户及他们所做的工作,安全性应该是透明的。(2)应该便于用户授权存取。确保用户可以访问他们所需的信息而不再需要建立严格检查的缺省值,以避免过于复杂的检查过程。(3)应该便于用户约束存取。要使安全性能“用户友好”,需要对使用的系统及应用程序有全面的了解。
这对于某些专用系统是容易的,但对通用系统的设计者而言,由于难于确定用户将要做什么,为了满足每个用户的要求,往往提供了不少多余的管理机制,这样就违反了机制精简的原则。
针对恶意代码攻击模型的类型手段,构建基于可信计算技术的抗恶意代码攻击安全结构框架,如图2所示。
图2 基于可信计算技术的抗恶意代码攻击安全结构框架基于可信计算技术的抗恶意代码攻击安全结构框架由安全服务器和分布在BIOS、系统软件和网络的安全管理器组成。信任链传递贯穿整个可信安全模块、可信BIOS、可信系统软件和可信网络,保证各安全机制不被非法篡改。
可信安全模块、可信BIOS、可信系统软件和可信网络组成了可信计算基。可信计算基内安全相关的部件包括安全服务器和安全管理器。
其中,安全服务器位于可信安全模块内,安全管理器分别位于可信BIOS、可信系统软件和可信网络内。安全结构框架建立的核心一方面是信任链的传递,另一方面是安全服务器和安全管理器如何融入相应的系统软硬件内建立系统的可信计算基。
可信计算基在结构框架设计中需具备以下特点。
(1)在内存保护方面,可信计算基可以实现对CPU之外所有设备的受保护应用程序的物理内存访问进行控制。
(2)相对于操作系统而言,可信计算基代码量较少,且可信计算基提供的功能和实现机制相对简单,能够证明可信计算基可以被正确实现,不能被绕过。
(3)可信计算基在磁盘上的执行映像及其启动加载过程可以通过信任链传递技术来保护,以保证平台启动后进入预期的可信计算环境。
可信计算基含有系统中所有实施的安全机制,包括安全服务器和相应的安全管理器。可信计算基不能脱离它所依附的系统,是为系统提供抗恶意代码攻击服务的。
因此,安全机制一定要和计算机系统的软硬件设计同步。可信安全模块是安全服务器,应提供可信服务和安全服务。由于安全服务与具体的访问规则相关联,访问控制规则的多样性导致目前可信安全模块提供安全服务的能力较弱。安全管理器需要覆盖系统中所有的安全控制点,因此安全管理器必须与系统一体化设计,在计算机系统的集中控制点进行安全控制操作。
基于windows系列设计的安全管理器只能起到安全增强作用,这是因为Windows不是自主可控的,没有对它的整个系统体系结构有深入的了解,安全管理器不可能覆盖系统中的所有控制点,容易出现安全机制被绕过的情况。在这种情况下,基于可信计算技术增强计算机操作系统的抗恶意代码攻击能力尤为重要。
基于可信计算技术的抗恶意代码攻击安全结构框架特点如下。
2.3.1 可信安全模块是抗恶意代码攻击的根基
可信安全模块是信任链与可信平台的基础,内部拥有独立的处理器和存储单元,可存储密钥和敏感数据。可信安全模块提供完整性验证、数据安全、用户及策略管理等安全机制。对外提供的安全服务包括用户/平台认证服务、访问控制服务、数据安全服务和可信服务。
2.3.2 可信计算技术是抗恶意代码攻击的必要条件
使用可信计算技术能够解决系统的完整性,保证系统不被篡改。恶意代码攻击必备的手段是植入恶意代码,植入恶意代码即是破坏系统的完整性,因此抗恶意代码攻击必须借助于可信计算技术。
2.3.3 融合各种安全控制技术的可信计算基使抗恶意代码攻击效能最大化
可信计算是安全的基础。没有可信计算的系统一定是不安全的,这是因为基于可信计算技术能够为信息系统构建安全的可信计算基。可信计算不等于安全,即实施了可信计算技术的系统不一定是安全的。它必须与其他安全技术结合在一起,才能为信息系统提供安全可靠的保障。
3 基于可信计算技术的抗恶意代码攻击安全结构框架应用
目前,大部分专用信息系统都是网络应用,通常具有以下特点。
(1)使用用户可控。与互联网上无组织的用户不同,专用信息系统通常属于某个组织。该组织由若干机构组成。用户在组织内部有着明确的分工,每个用户通常属于组织中某个机构的人员,承担着该机构应该履行的任务职责。
(2)网络边界明确。专用信息系统网络拓朴关系明确,专用网络和公共网络的界线明确。
(3)使用专用信息系统的用户既是资源的生产者又是资源的消费者。某个组织使用的应用系统完成特定的业务和组织功能,因此应用系统用户既产生又接收特定的应用资源。专用信息系统的安全管理部门应根据管理的原则,制定相应的管理制度和采用相应的规范。
这些工作包括:确定系统的安全等级;根据确定的安全等级,确定安全管理的范围;制定相应的计算机系统出入管理制度;制定严格的操作规程;操作规程要根据职责分离和多人负责的原则,各自负责各自的工作,不能超越自己的管辖范围;制定完备的系统维护制度;制定应急措施。专用信息网络应用的特点是用户可控、网络边界明确,安全需求是防止非授权用户进入专用网,防止授权用户对专用网内资源非法使用。
专用信息网络应用安全强调的是整体安全,而不是强调个体安全——客户端安全或服务器端安全。在专用网中,服务器是资源的存储者,而客户端是资源的生产者和消费者。不管是非授权用户还是授权用户,非法使用专用网络必须先绕过终端的安全防护,因此专用信息应用安全必须以客户端(终端)安全为核心。
理论上,如果专用网网络边界安全且终端能够防止非授权用户对网络的使用,防止授权用户对网络的非法使用,则整个专用网是安全的。专用信息系统按信息系统业务处理过程可划分为应用环境、区域边界和通信网络3部分。应用环境由终端、服务器等计算节点以及计算节点上的专用应用组成。基于可信计算技术的抗恶意代码攻击系统由可信计算平台和证书/安全管理系统组成,如图3所示。
图3 基于可信计算技术的抗恶意代码攻击系统组成可信计算平台部署于应用环境的各计算节点,确保节点内终端、服务器和应用的安全,防止计算机节点内各类信息的非授权泄露和修改。证书/安全管理系统管理实施对应用环境统一的安全策略,确保系统配置完整可信,确定用户操作权限,实施全程审计追踪。
从功能上,它可细分为安全管理系统和证书管理系统。可信节点系统在操作系统核心层和系统层通过对用户行为的控制,可以有效防止非授权用户访问和授权用户越权访问,确保信息和信息系统的机密性和完整性,从而为业务应用系统的正常运行和免遭恶意破坏提供支撑和保障。通过可信节点系统的安全机制服务,保障应用业务处理全过程的安全。通过系统的建立,为专用应用系统用户建立了达到以下安全目标的环境。
(1)用户操作平台可信:用户使用的计算机以及操作系统是安全的、可信的。
(2)用户身份可信:登录和使用计算机资源(终端、服务器、网络资源)的用户身份是合法的,且标识用户身份信息的载体是唯一的和不可伪造的。
(3)用户行为可信:用户的行为是在受控的范围内使用终端、服务器以及网络资源。
(4)集中控制、分布式管理:为日常管理提供方便、易用的安全管理平台。
4 结 语
基于可信计算技术构建的抗恶意代码攻击安全结构框架以可信计算技术为基础,融合身份认证、授权访问控制、备份恢复以及审计等多种安全控制技术构成。该框架是抗恶意代码攻击的综合安全防护框架,通过各种技术的有机配合,建立了抵抗恶意攻击的层层防线,并且在系统遭到破坏时能及时发现并进行恢复,不仅能防范已知恶意代码,而且能防范未知恶意代码。
基于可信计算技术构建的抗恶意代码攻击安全结构框架中,可信安全模块是抗恶意代码攻击的根基。通过可执行代码安全控制和数据授权控制建立的可信计算基不能被绕过,能够防止恶意程序发作,对软件签名验证能够防止植入恶意代码,对数据授权访问控制能够防止恶意窃取数据,对用户和平台进行身份认证能够防止非法连接。
基于可信计算技术构建的抗恶意代码攻击安全结构框架中,可信计算技术是抗恶意代码攻击的必要条件。通过信任链的传递过程,防止实施安全机制的可信计算基被篡改,通过完整性验证防止恶意代码发作,通过完整性度量报告防止非授权连接。
基于可信计算技术构建的抗恶意代码攻击安全结构框架融合各种安全控制技术,使抗攻击效能最大化。授权访问控制技术通过全系统统一安全标识,防止非授权连接以及恶意代码植入、发作、窃密和破坏;审计技术根据用户身份标识、软件标识和平台身份标识,实现安全事件的可追溯性,有效追踪攻击行为;备份恢复技术增强系统的抗毁性和可用性。
抗恶意代码攻击结构框架不是独立于系统存在的,必须与系统一体化设计,覆盖到系统所有安全控制点,对系统进行打补丁式的安全增强。