等级保护在我们国家从2004年正式推动到现在已经4年过去了,那么,什么是等级保护?等级保护是三大项内容:
- 对信息和信息系统分等级进行保护。这也是一项核心工作,最重要的工作。
- 对信息系统安全专用产品分等级进行管理,将来各个单位使用的安全产品应该是分等级的。定了三级的系统不能使用二级以下的安全产品。43号文对这方面已经做了一些初步的规定,但是详细的规定现在还没有出台。
- 对所发生的信息安全事件分等级进行响应和处置。
1
、信息和信息系统分等级实行安全保护
我们国家把信息和信息系统按照重要程度,也就是对单位的利益,社会公众利益,对国家安全的影响,三方面要素的重要程度来确定信息系统的安全等级。这个等级一共分为五级。第一级是最低的,第五级是最高的。信息安全等级保护制度是我们学习国外的先进方法,美国从1983年开始美国国防部出台了橘皮书,橘皮书把操作系统划分为四类八个等级。应该说,那是等级保护的先行者。当然这四类八个等级是根据技术程度所采用的安全机制多和少,强和弱来确定的。橘皮书名字是《可信计算机系统评测准则》。我们国家在1994年出台了国务院的147号令,《中华人民共和国计算机信息系统安全保护条例》里面已经明确的规定,在我国要实行信息系统的等级保护制度。这就是等级保护的由来。 这项工作是1994年提出,到2004年国务院的四大部局,公安部、国家保密局、国家密码局、前国务院信息化办公室,联合下了66号文,正式提出信息安全等级保护要在我国开始实施。当时,把信息安全等级划分了五个等级,起了相应的名字:
第一级:用户自主保护级
第二级:指导保护级
第三级:监督保护级
第四级:强制保护级
第五级:专控保护级
去年的43号文,相当于一个法规的出台,等级保护管理办法把这些名字都去掉了,只是叫一级、二级、三级、四级、五级,这五个级别。
2
、国家对信息安全产品的使用实行分等级管理
按照信息安全产品的使用要根据可控性、可靠性、安全性和可监督性这四个属性确定信息系统使用的安全产品等级。这四个属性在正式的文件里没有体现,43号文里没有提到这四个属性。但是43号文里指了信息系统安全专用产品应该是国内生产的,源代码这些东西应该是国内生产的。43号文里只是就安全性这个角度,给出了你使用安全产品必须是国产这样一个要求,但是还没有明确这个信息安全产品等级究竟应该怎么划分。
很多的安全厂商都说用户问到,我买了你的安全产品是不是达到了这个等级?你的安全产品是不是符合这样的等级?我给他们的回答是否定的。要看是否符合等级要看产品是否符合国家标准,如果符合了标准,那就符合安全等级。如果没有符合标准那就不符合安全等级。第三级从技术的角度应该对应着标记保护级,标记保护级里面应该要求实行最小授权,不应该再有超级管理员的身份。超级管理员必须分别为系统管理员、系统安全员和审计员。权限低的人活动都可以查询。但是管理员本人做的坏事,要把这个痕迹都擦掉,这个问题怎么解决?对于三级以上的信息系统,我们就要求这些东西是不能擦掉的,至少审计员必须是独立出来的。目前我们的安全产品虽然也设了审计员,但是超级用户还是存在的。这个问题就没有达到标记保护级的要求。这是一个漫长的过程,昨天郭处长也在讲,从现在推动,通过检查、测评、整改,真正能达到初步规范,他的预计是三年时间,我考虑对各大部委来说三年的时间可能会实现,就全国来说,三年肯定是不够的。而且我们的安全产品提升到新的水平也要过程。
3
、信息安全事件实行分等级响应处置
国家已经把信息安全事件以国标的形式进行了分类和分等级。这些分类和分等级依据国标,我们对不同的信息安全事件,由监管部门牵头组织全社会的应急响应和你单位的应急响应相结合,最大限度的减轻信息安全事件造成的损失。
等级保护的法律依据及技术标准:人民警察法,计算机信息系统安全保护条例、43号文、信息安全等级保护管理办法、 等级保护的各类文件:中办、国办的27号文、04年66号文,06年7号文,07年43号文。
等级保护技术标准:从技术的角度就必须依据国家相应的安全标准。实际上不仅仅是在技术方面,在管理方面,工程方面都应该按照国家的标准做。我们国家出台的第一个关于等级保护的标准是1999年出台的国标17859,这个标准叫做《计算机信息系统安全等级划分准则》。这里面把信息系统按照安全机制的多与少,强与弱也划分了五个等级。
第一级:用户自主保护级
第二级:系统审计保护级
第三级:安全标记保护级
第四级:结构化保护级
第五级:访问验证保护级
这五个等级和前面说的1、2、3、4、5有相通的地方,又有不同的地方。前面的五个等级怎么确定,并不是根据采取的安全机制的多少和强弱来确定等级,而是根据你的信息资产的重要程度来确定安全等级。
安全等级的确定基本依据是数据的重要程度和系统的服务功能的重要程度,由这两个重要程度决定了你的信息资产应该具备的等级。国家已经出台了一个关于定级的指南,信息系统安全保护定级指南,大家可以看一下。而且定级的工作,去年下半年开始,第一期的定级工作已经在全国结束了,当然以后还会有一些单位接着定级,来做这些工作。但是第一期最重要的部分单位定级已经问题,并且到公安部门已经备案。
17859等级划分准则由于是99年出台的,很多问题没有考虑到,这个标准实际等于是橘皮书的一个翻版。所以对一些问题考虑得还是不完善的。橘皮书主要是从信息的机密性角度给出了四类八个等级:D类(没有任何保护的)、C类(分为C1和C2级)、B类(分为B1、B2、B3)、A类和超A类。
超A类没有描述,A类有描述但是实现起来还有很多问题,尤其是在我们国家。我们国家制订这些标准的人,就把橘皮书去了头和尾,把D类、A类和超A类去掉,只留下B类和C类,就出现了前面说的这五个等级。第一级和第二级是C1级和C2级,第三级、第四级、第五级对应的是B类的B1、B2、B3。我们比橘皮书有一点很重要的进步就是提到了完整性保护的问题。虽然提了,但是没有细致的讲这个完整性应该保护到什么程度,怎么保护。
由于17859的这些不足,2002年公安部又组织了很多专家起草了公共行业安全标准,387―392。这个标准就是对17859做了一个很好的说明和补充。这条标准到06年,提升为国家标准,GB/T20269―20273标准。
第十二条在信息系统建设过程中,运营、使用单位应当按照《计算机信息系统安全保护等级划分准则》、《信息系统安全等级保护基本要求》等技术标准,参照之前的一些标准做一些等级保护措施。第十三条,提出应该按照这些标准建设安全管理制度。
这是已经出台的国家等级保护体系,有一些产品的标准,事件处理得标准,服务的标准。这些标准有的已经作为国标正式发布,相当一部分属于报批稿,没有完全正式发布。
等级保护的开展:对于一个单位来说就是这五大步骤,系统的定级、备案,这一个阶段就全国来说最重要的部分已经完成。接下来的工作是要做安全规划和设计,根据安全规划设计的结果做安全实施,然后是一个长期的运行维护过程,最后是系统的废止。
等级保护当中应用软件安全的环节是非常重要的环节,微软现在也经常讲安全问题已经不仅仅是操作系统的问题。昨天冷女士的报告当中数据都是非常有意义的。我从2003年开始就非常关注关于应用软件的安全。今天这个峰会这个议题也是我提出来的,而且我建议峰会把这个议题作为一个长期的议题坚持下去。
在等级保护过程当中,应用软件的安全实际上应当是我们信息系统安全的一个核心部分。我们在网络上做的安全防护,在操作系统上做的安全防护,在物理层面做的安全防护,实际上它们的目的都是为了维护应用的安全。所以应用软件的安全是一个核心的地位。
二、应用软件安全的重要性与地位
1
、应用系统的重要性
我们把应用系统应该看作是信息系统当中安全的核心部分。为什么这么讲?我是从风险评估的思想看待我们的应用系统。
第一,应用系统自身是非常重要的。
第二,应用系统本身存在着脆弱性。
第三,应用系统存在的威胁,存在的攻击是不容易防范的。
应用系统的重要性是不言而喻的,各个单位建设信息系统实际上就是为了应用,为了完成各自单位的信息使命,不是买了计算机以后再那儿放着好玩,而是为了应用。我们建系统目的是应用,应用由谁来完成?我们搭建了网络,安装了操作系统,我们的应用照样完不成,必须由应用软件来完成。
一个业务战略也就必然的涉及到了相关的业务流程,相关的数据,相关的通信问题,这三个方面决定了应用系统是非常重要的。
数据有直接生成各类数据还有录入的各类数据。这些数据可能存储在某个地方,也可能是在系统中流动。这些数据可能进行加工处理,处理的过程当中也是需要保护的。
直接完成所承载的业务。等级保护确定安全等级依据什么?实际上就依据了这样两项,一个是数据,第二个是所承载的业务,系统所提供的服务功能。我们现在确定安全等级就由它们来确定。你说这两个东西重要不重要?一旦它们确定了安全等级,信息系统的整体安全等级就确定了,所以它们是非常重要的东西。
我们的应用层,应用系统又是通信的发起层和最终的接受层。在网络上总是要进行终端与终端的交互,终端与服务器之间的交互,这就是一个通信的问题。不管通信过程有多么复杂,但是最终是要端到端,用户到用户。也就是说由最终的应用层发起和接受这些东西。被传输的数据就要保护机密性,完整性,这是对于用户系统来说。
我们的信息系统当中有两类数据,前面我说的都是指用户数据,为了保护这些用户数据必然会存在另外一部分数据,那就是安全数据。在CC标准里面把它叫做TFF数据。对于传输的用户数据我们要求要保护它的机密性,完整性。对于相关的安全数据就要保护它的机密性、完整性、可用性。今天不讨论CC,也不讨论数据传输通信过程中很具体的技术问题,所以就不继续往下谈了。要实现这种保护就相应的应该对通信数据的操作者有相应的一些安全要求。
2
、应用系统可能存在的脆弱性
实际上“可能”两个字我觉得应该去掉,应用系统肯定存在着脆弱性,这是不言而喻的。我把脆弱性归结为三个方面:
第一个方面是开发过程的安全问题。
第二个方面是软件本身存在的脆弱性。
第三个方面是软件可能导致管理方面的漏洞。
昨天很多专家做了报告,很多人发表论文都在谈脆弱性。实际上大多数人谈的是软件本身的脆弱性,关于开发过程的问题以及软件带来的管理问题是很少有人关注的。这方面的问题并不是不严重,我谈的东西,很多东西是我的经验,我的经历,不是我在这里看到哪些书,看到哪些专家的报告说出来的,而是我亲身经历过的事情。从2003年我就开始呼吁要加强对安全软件方面的关注,也正是因为这个原因,正是因为有了这些经历,我才提出这样的想法。
软件开发过程的安全问题:在开发过程当中开发商必然要获取甲方的一些很重要的数据。这些数据对其他人如果不进行保密的话,这种泄漏对甲方的伤害是非常大的。
开发好的源代码泄漏了,在开发的过程当中恶意的软件人员在软件中插入恶意代码或者留下后门。故意使存在各种各样的错误,这都是在开发过程中存在的问题。
开发过程过程中还存在一些技术安全问题,包括开发平台的选择,中间件的选择、开发语言的选择、是否采用了模块化的开发方法、安全机制的设置是否合理,分发过程中的安全问题、升级维护过程中的安全问题。昨天冷女士介绍的关于应用软件安全模型的问题,我是非常感兴趣的,我准备和她做更深入的交流。实际上,这些东西都会带来相应的安全问题。
点击此处阅读全文>>
本文主要内容整理自著名等级保护专家陆宝华先生在
2008中国软件安全峰会上的演讲,
欢迎下载本文资料。
浏览更多精彩文章>>
订阅软件安全电子期刊>>