CISSP的成长之路(十五):系统架构和设计之安全标准
J0ker给大家介绍了CISSP CBK中提到的,同时也是现实产品中最常使用的几个保护机制。在实践中采购一个信息技术产品之前,我们一般都会先了解目标产品的安全程度。但假如由不同需求的人员来对产品进行评估,假如没有统一的标准,结果也是千差万别——这样就产生对统一标准的需求,因此世界上的许多国家和组织推出了自己的产品安全评估标准,其中使用最广泛的就是CISSP CBK中介绍到的TCSEC(橘皮书)、TNI(红皮书)、ITSEC和CC这几种。
在了解这些安全评估标准之前,我们先要了解一下基本的概念:产品和系统。我们知道,所有的安全评估标准,所针对的对象都是产品或系统,那这里所提到的产品和系统到底指的是什么?在CISSP Official Guide里面提到,“产品”,指的是某个特定的可以使用在其设计目标场合的应用程序,或在某些预定义的规则下操作的应用程序,操作系统作为一个整体来看,就是一个产品;而“系统”则是指完成某个特定目标或者在某个特定场合下操作的许多产品的集合。明白这两个概念之间的差异,对理解安全评估标准很有帮助。 说完了最基本的概念,J0ker开始给大家介绍CISSP CBK上所提到的安全评估标准: ◆功能,目标系统所具有的安全功能,比如用户验证和审计; TCSEC把评估对象的安全程度分成了4个等级:A、B、C和D,安全程度从A到D逐级下降,确定为A的产品具有最高的安全性,而D等级的产品则完全没有安全性的考虑。这四个等级的分级标准包括: ◆安全策略:目标系统的安全策略设置是强制或自主式访问控制策略
|
因为TCSEC是1960年代开始设计,并于1985年成型的标准,由于当时安全观点的局限性,TCSEC的评估目标只涉及了保密性,而没有涉及完整性和可用性的评估。因为逐渐不适合现代信息环境和新标准的纷纷推出,美国于2000年废除了TCSEC。
TNI:TNI也称为红皮书(Red Book),由于TCSEC存在评估对象只对单一系统,并且没有完整性评估的缺点,1987年提出了TNI安全标准。TNI用于评估电信和网络系统,它基于TCSEC,同样使用了TCSEC中的ABCD分级方法。
TNI中的要害功能如下:
◆完整性:TNI使用了Biba安全模型来保证数据的完整性,并使用了信息源/目标认证、加密等方法来保证信息传输的完整性
◆标签:在使用和TCSEC类似的保密性标签之外,TNI还加入了完整性标签,以进行强制访问控制
◆其他安全服务,主要可分成以下几个类型:通讯完整性,包括验证、通讯域完整性、抗抵赖性;拒绝服务防御:操作持续性、基于协议的保护和网络治理;威胁保护:数据保密性和通讯保密性。
ITSEC:在TCSEC标准推出不久,许多欧洲国家也在酝酿推出自己的安全评测标准,结果便是ITSEC的推出。ITSEC于1990年推出第一版草稿,并最终于1995年又欧盟会议批准。尽管ITSEC借用了TCSEC的许多设计思想,但因为TCSEC被认为过分死板,因此ITSEC的一个主要目标就是为安全评估提供一个更灵活的标准。ITSEC和TCSEC的主要区别在于,ITSEC不单针对了保密性,同时也把完整性和可用性作为评估的标准之一。
ITSEC的制定熟悉到IT系统安全的实现通常是要将技术和非技术手段结合起来,技术手段用来抵御威胁,而组织和治理手段则用来指导实现。因此ITSEC对目标的评估基于两个因素:有效性和准确性,有效性表明评估目标能够在多大程度上抵御威胁,而准确性则表明系统的设计和操作在多大程度上保证安全性。
为了涵盖这两个方面,ITSEC使用了“评估目标(TOE)“这一概念,它表述了目标产品的操作安全需求和面临的威胁,而另外一个概念,”安全目标(Security Objectives)“,则表述了目标产品所要满足的安全功能和评估级别。ITSEC的安全等级划分与ITSEC不同,他分为功能性等级(F)和保证性等级(E),这两个等级的具体内容如下:
功能性F:
功能性等级( F ) |
内容 |
F1-F5 |
和 TCSEC 安全等级所提供的功能相同 |
F6 |
有高完整性要求的系统和应用程序(如数据库系统) |
F7 |
有高可用性要求或非凡要求的系统 |
F8 |
有通信完整性要求的系统 |
F9 |
有高保密性要求的系统(如加密系统) |
F10 |
网络要求高的保密性和完整性 |
确定性等级E:
确定性等级( E ) |
内容 |
E0 |
无要求 |
E1 |
有安全目标和 TOE 的描述,满足安全目标的测试 |
E2 |
要求具体设计的描述,测试证据需要加以评估,配置治理,分发控制 |
E3 |
需要进行源代码和结构评估,安全机制的测试证据需要加以评估 |
E4 |
安全策略模型、需要有安全增强功能、架构设计和具体设计 |
E5 |
具体设计和源代码必须相符,并需要使用源代码进行漏洞分析 |
E6 |
TOE 的强制标准、安全策略模型的实施 |
E3级别被认为是最常用的安全产品评估标准,安全操作系统或数据库系统通常会使用F2 E3这个结合来进行评估。下面是J0ker做的一个ITSEC和TCSEC的简单对比表格:
ITSEC |
TCSEC |
E0 |
D |
F1 E1 |
C1 |
F2 E2 |
C2 |
F3 E3 |
B1 |
F4 E4 |
B2 |
F5 E5 |
B3 |
F5 E6 |
A1 |
F6 |
系统提供高完整性 |
F7 |
系统提供高可用性 |
F8 |
系统提供通信时的数据完整性 |
F9 |
系统提供高保密性 ( 如加密设备 ) |
F10 |
网络要求高的保密性和完整性 |
在1990年代的早期,TCSEC渐渐不能适应信息技术的发展,美国开始对其进行升级,但不久美国就终止了升级行动,转而和加拿大及欧洲联合制定一个国际统一的安全评估标准,这个联合行动的最终结果便是CC的制定。CC,也即常说的通用准则(Common Criteria),在1999年通过了ISO的认可,称为ISO15408。中国加入WTO之后,按照WTO的规则接受CC为信息系统产品安全评估标准,并制定了相应的国家标准GB18336。
CC保留了ITSEC的灵活性,并结合了美国联邦准则(FC)的保护轮廓(Protection Profile)及预定义安全级别。CC的要害概念有:
◆评估对象—— TOE(Target of Evaluation)
◆保护轮廓——PP (Protection Profile)
◆安全目标——ST( Security Target)
◆功能(Function)
◆保证(Assurance)
◆组件(Component)
◆包(Package)
◆评估保证级——EAL( Evaluation Assurance Level)
其中保护轮廓是CC最重要的概念,它满足了以下的要求:
◆表达一类产品或系统的用户需求
◆组合安全功能要求和安全保证要求
◆技术与需求之间的内在完备性
◆提高安全保护的针对性、有效性
◆安全标准
◆有助于以后的兼容性
◆同TCSEC级类似
CC是平时大家在工作和实践中最有可能接触到的标准,因此大家可以结合工作中的经验来记忆和理解CC的内容。CISSP考试中对安全标准的考核主要是考概念,TCSEC安全等级的内容、ITSEC和CC里面名词的识记等。最后J0ker把TCSEC、ITSEC和CC做一个比较作为本文的结束:
CC 标准 |
美国 TCSEC |
欧洲 ITSEC |
-- |
D: 最小保护 |
E0 |
EAL1- 功能测试 |
-- |
-- |
EAL2- 结构测试 |
C1: 任意安全保护 |
F1 E1 |
EAL3- 方法测试和检验 |
C2: 控制存取保护 |
F2 E2 |
EAL4- 方法设计,测试和评审 |
B1: 标识安全保护 |
F3 E3 |
EAL5- 半正式设计和测试 |
B2: 结构保护 |
F4 E4 |
EAL6- 半正式验证的设计和测试 |
B3: 安全域 |
F5 E5 |
EAL7- 正式验证的设计和测试 |
A1: 验证设计 |
F6 E6 |
CC 标准 |
美国 TCSEC |
欧洲 ITSEC |
-- |
D: 最小保护 |
E0 |
EAL1- 功能测试 |
-- |
-- |
EAL2- 结构测试 |
C1: 任意安全保护 |
F1 E1 |
EAL3- 方法测试和检验 |
C2: 控制存取保护 |
F2 E2 |
EAL4- 方法设计,测试和评审 |
B1: 标识安全保护 |
F3 E3 |
EAL5- 半正式设计和测试 |
B2: 结构保护 |
F4 E4 |
EAL6- 半正式验证的设计和测试 |
B3: 安全域 |
F5 E5 |
EAL7- 正式验证的设计和测试 |
A1: 验证设计 |
F6 E6 |