第1章 概述
1.1 信息系统安全研究
在数字化和智能化极速发展的现代社会,每日的信息量呈爆炸式增长。以计算机和网络为核心的信息处理系统(简称信息系统)已经与人类社会的各个领域密不可分[1-4]。通过信息系统对信息,尤其是对海量信息进行收集、加工、处理、存储和交换已成为必不可少的有效手段,而且现代社会已经对信息系统具有巨大的依赖性。信息系统涉及国家军事、政治、经济、商业、金融以及企业内部计划和个人隐私等秘密和机密信息的各个方面,因此关系着国家防卫战争的胜负和人类社会的稳定,关系着国家安危的重大问题[5,6],世界各国高度重视。信息系统安全研究已经渗透到计算机科学理论、计算机系统工程和软件工程等各个领域,人们不仅从理论高度对系统安全问题进行系统深入的研究,而且在计算机系统工程方面,包括计算机软、硬件的多个层面上探索如何保障信息系统安全的工程方法[7-10]。信息系统安全的理论研究重点在各种安全模型(security model)和密码学理论方面,而安全工程研究主要集中在开发适合具体领域安全的产品,如针对软件领域的操作系统安全、数据库系统安全、网络安全和工作流系统安全产品,其研发格外引人注目[11-13]。
纵观信息系统安全研究历史,大致可以分为三个阶段[14-16]:一是计算机诞生之前的保密学研究,它主要以通信安全保密为主;二是计算机诞生之后的计算机安全保密研究,它主要以计算机实体安全为重点;三是随着 Internet技术日益成熟,巨型信息系统广泛建立,社会信息化迅猛发展,形成了以计算机和网络为核心的信息系统安全保密研究。这三个研究阶段相互衔接和渗透,通信安全是计算机和信息系统安全的基础[17-19];计算机安全研究是现代信息系统安全研究的重要内容[20-22];信息系统安全研究实际上涵盖了前面两者的研究,并形成了新的研究体系。信息系统安全问题不仅涉及计算机理论和技术的各个方面,还涉及法律学、管理学、心理学、犯罪学、经济学、审计学和应用数学等多学科[23-25]。由于信息系统已经成为现代社会运转的基础设施(infrastructure),因此从单个安全功能或单个网络考虑安全问题已经意义不大,而必须从体系结构上全面系统地考虑安全问题,需要从系统层次的高度上对信息系统安全进行研究。但是,由于信息系统研究对象的空前复杂性,它属于复杂系统(complex system)的研究范畴,目前还没有系统而成熟的理论,其研究期待着创新思想和方法的突破[26-29]。
为了确保信息系统研究、开发和应用安全健康发展,众多国家和国际标准化组织在计算机信息系统安全需求服务分析指导、安全技术开发、系统安全评估等方面制定了许多标准及标准草案,其中以美国和欧洲的信息系统安全标准影响最大。
美国国防部(United States Department of Defense,DoD)于1985年推出了《可信计算机系统评价准则》(trusted computer system evaluation criteria,TCSEC),它是迄今为止评估计算机信息系统安全最著名的一个标准。TCSEC将计算机信息系统安全分为四个等级八个级别,由低到高依次为:D、C1、C2、B1、B2、B3、 A1和超 A1。
西欧四国(英国、法国、德国和荷兰)于1991年提出了信息技术安全评价准则(information technology security evaluation criteria,ITSEC),首次提出了信息安全的保密性、完整性和可用性概念,把可信计算概念提高到信息技术的高度上来认识。它定义了从 E0级(不满足安全品质级)到 E6级(可形式化验证级)的安全评价等级。
美国在1993年提出了《信息技术安全性评价联邦准则》(简称为 FC),它是 TCSEC的升级版本,目的在于修正 TCSEC的缺陷,同时保护已有投资。美国、加拿大、英国、法国、德国和荷兰等六个国家于1993年6月提出了一个信息安全联合公共准则(CC),并将其推进到国际标准。 CC的目的是建立一个各国都能够通用的信息安全统一的安全性评价准则,CC结合了 FC和 ITSEC的主要特征,它把安全功能需求分为9类63族,把安全保障分为7类29族。
此外,国际标准化组织(International Organization For Standardization,ISO)于1989年提出了《信息处理系统开放系统互连基本参考模型第2部分:安全体系结构》(ISO 7498-2—1989),它提供了与安全服务有关的安全机制一般描述。美国国家安全局于1993年4月提出了信息系统安全工程的能力成熟模型(capability maturity model for software,CMM),它定义了安全工程过程应该具有的特征。随着计算机网络的发展,特别是 Internet/Extranet/Intranet的应用、发展和完善,计算模式从传统的集中式计算向大规模、分布式、开放型、网络和协同计算方向发展,计算机系统的安全性研究出现了许多新问题和新挑战,系统级和应用级安全需求出现了许多新特点。我国绝大多数计算机信息系统安全主要同步采用信息安全国际标准。我国公安部主持制定、国家质量技术监督局发布的中华人民共和国国家标准《计算机信息系统安全保护等级划分准则》(GB 17859—1999)正式颁布并实施,它把信息系统安全分为5个等级:用户自主保护级、系统审计保护级、安全标记保护级、结构化保护级和访问验证保护级。
上述信息安全国际(国家)标准中的主要安全评价指标有:信息加密(cryptography)、访问控制(access control)、身份认证(authentication)、审计(audit)、入侵检测(intrusion detection)、系统恢复(recovery)、风险分析(risk analysis)和安全保障(assurance)等。这些指标涵盖了不同级别的计算安全要求。但是,上述每一项技术只能解决信息系统安全某一方面的主要问题,没有哪一项技术能够单独解决信息系统安全的所有问题[30]。从信息系统安全观点看,安全技术相互之间不存在矛盾与冲突,这个特征为安全技术的混合协同应用并实现复杂和完备的信息系统安全这一目标奠定了技术基础。
众所周知,以密码学为理论基础的信息加密技术研究历史悠久,可以追溯至第二次世界大战期间,其主要用于解决信息存贮和通信传输过程中的信息安全问题。多年来,密码学理论和应用研究取得了丰硕成果,信息加密技术也得到了快速发展和应用。然而,对信息的加密和解密往往需要付出很多的时间和很高的存储空间代价,对密钥进行安全管理是一个十分困难的问题。商用系统与安全性要求很高的军用系统相比,其用户数量大,用户对系统的访问次数频繁,访问时间不确定,而且需要较高的系统响应性能。因此,在商用系统中广泛采用加密技术会极大地影响用户体验的满意度。事实上,加密技术只能解决信息的秘密存储和秘密传输问题。从理论上说,没有不可解密的加密信息。随着计算机,尤其是超高速计算机技术的快速发展,非法获得加密数据的用户,借助超高速计算机很可能在预期的时间内对加密数据实现解密,从而造成信息存储和传输的不安全性。
身份认证[5]技术用于解决用户进入系统的身份合法性验证,即需解决“你是谁?你是系统的合法用户吗?”之类的问题,它是系统的第一道安全防线。身份认证技术通常和加密技术相结合,对用户身份标记(如用户名、用户口令等)进行加密存储和加密传输。它的目的是把企图非法注册系统进而访问系统资源的用户隔离在系统之外,即切断非法用户企图进入系统的通路。
访问控制[31-33]技术用于授予系统的合法用户访问系统资源所必需的操作权限,并防止和杜绝非授权的资源访问。对所有的用户访问请求按照预先定义的信息系统安全策略进行有效控制,即解决“你有访问系统资源的权限吗?”之类的问题,如果用户有合法的访问权限,则允许访问,否则给予否决处理,可以把它看作信息系统安全的第二道防线。用户通过身份认证并成为系统合法用户之后,系统通过访问控制的授权技术使合法用户获得系统资源访问的操作权限,并对用户权限进行有效管理(如权限授予、撤销、冻结等)。只有获得有效系统资源访问权限的用户才有可能成功地执行相应的系统资源访问操作,非授权用户不得访问系统资源。但是,已获得有效系统资源访问权限的用户未必可以随时随地实施访问操作,而是与系统访问的当前状态和历史有关,因此还可能与时间、地点等外部因素有关,因此称上述因素为访问控制约束。可以看出,访问控制过程既是静态的又是动态的,而且在有些系统中还是上下文相关的(context-related),它是经典的以及现代的信息系统安全理论中实现安全策略的核心技术之一[34],属于复杂系统研究范畴。访问控制主要通过访问授权实现,访问授权作为访问控制的主要组成部分在信息安全中起着重要作用。因此访问授权模型研究是信息安全领域研究的一个十分重要的应用基础研究,也是世界各国评价计算机信息系统安全的重要指标之一。
安全审计[35]技术用于对用户访问的历史进行分析,分为静态审计、动态审计和混合审计三种类型。安全审计的目的在于从访问历史信息中发现非法的用户访问踪迹,从而对曾经执行非法访问或滥用权限的用户的未来访问行为提出警告、阻止等处理,即它对用户访问历史的合法性进行分析,以便计划未来的访问控制。安全审计是一种“事后验证”技术。由于审计是对用户访问历史的追踪,在现代大系统或巨系统(large or huge system)中用户访问历史通常是海量数据,因此每时每刻对每一个用户访问进行审计几乎是不可能的,只能对主要的系统资源访问进行有选择的审计。值得关注的是,随着大数据计算技术的快速发展,以海量数据为基础的安全审计技术将有望实现用户访问过程的实时审计。
入侵检测[36]技术是根据安全审计分析结果对可能的非法用户企图进入并对系统资源进行非法访问的行为采取的一种预先防范措施。与安全审计技术相对应,入侵检测可以看作为一种“事前防范”技术。但是,由于非法用户访问来源的多样性和复杂性,对非法用户和恶意行为的预先辨识是一个涉及认知科学和思维科学的难题,因此入侵检测技术目前还在发展之中,其有效性仍然有限,性能改进也有待先进人工智能技术的进一步发展。
系统恢复[37]技术是当系统已经出现故障时把系统软、硬件恢复到某个正确状态(通常是故障发生前最新的正确状态)的一种技术。由于它是一种“事后补救”技术,所以它可能对已经造成的信息系统安全损失无能为力(如实时系统故障)。
风险分析和安全保障技术[38]是从管理和技术相结合的角度建立信息系统安全制度、措施等,如系统软、硬件容错,数据备份等都是安全保障技术。但是对系统的所有软、硬件系统建立容错机制无论从技术上还是经济上都是无法实现的。与社会系统的管理制度相似,信息系统安全管理制度的约束力总是有限的。
综上所述,目前研究和使用的主要8种计算机信息系统安全技术各自着力解决的安全问题侧重点不同,但其目的都是为了系统能够安全、可靠和高效地运行。一个完备有效的信息系统安全机制通常是上述多种技术的有机结合。相比之下,特别是与密码学研究相比,十多年来信息安全领域忽视了对信息系统安全的访问控制研究。国际著名的信息安全科学家 Sandhu也曾指出,对访问控制研究的忽视在全世界带有普遍性[34]。欧美国家的信息安全领域对访问控制的研究相对比较活跃,并取得了一系列理论和应用研究成果。例如,基于角色的访问控制(role-based access control,RBAC)理论和模型的提出与工程实践,欧洲中央银行信息系统访问控制方案的成功实施等即为其中的典型代表。
然而,由于信息安全技术本身是国家安全的核心技术,因此公开的具有实质性技术的研究资料非常少,世界各国在信息安全标准框架内对信息系统安全的核
展开