- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于 ORACLE 的信息系统数据安全分析及防护策略
摘要:
在未来陆、海、空、天、电各维空间一体的现代战争中,制信息权将成为决定战争胜负的关键,研究如何保卫信息系统的核心——数据库,提高其安全性显得尤为重要。本文分析了目前信息系统中数据库在管理机制、系统软件、技术手段等方面存在的安全隐患。从管理机制和技术手段两方面入手,从健全完善管理、安全评估、审计等制度,加强各种加密手段、防火墙和入侵检测、备份恢复等先进有效技术手段方面进行了研究和探讨。
一、引言
随着信息技术的高速发展,信息系统在各个领域得到广泛应用。尤其在现代战争中,信息将陆、海、空、天、电各维空间联结为一体化战场,制信息权将成为作战双方争夺的焦点,并成为决定战争胜负的关键,信息系统在现代战争中的重要性越来越突出,对信息系统的防护、攻击和破坏将成为作战双方重点关注的问题。
如何保证信息系统中存储信息不被窃取和破坏,如何保证存储信息安全的可控性和容灾能力,是一个重要且亚待解决的课题。
二、信息系统中数据库面临的安全威胁
作为信息系统核心的数据库系统,集中存放了大量重要且敏感的数据。一旦数据库中数据遭到破坏或窃取,其损失难以估量。可以说信息系统数据库的安全直接影响系统的正常运转。
在未来以信息为主导的作战中,制信息权的攻防将围绕信息获取、信息传输、信息存取和处理等环节进行,一方面,数据库作为指挥信息系统的核心,是信息的重要集中地,所存储数据的重要性和价值对攻击者有强大的吸引力,往往成为攻击的主要目标。另一方面,信息系统软件和硬件环境等因素决定了数据库安全机制存在许多不足,数据库系统本身的弱点也使其成为易受攻击的目标,数据库的数据需要经常更新等其它操作,这些都可能被攻击者利用。同时,信息系统的网络化也使数据库受到攻击的空间、时间和可能性都大大增加。
通过分析可以认为数据库的安全面临着前所未有的严峻形势,以数据库为基础支撑的信息系统安全问题也日益突出。信息系统中数据库面临的安全威胁主要体现在以下几方面:软件和硬件环境出现意外,如磁盘损坏,系统崩溃等;计算机病毒可能造成系统崩溃,进而破坏数据;对数据库的不正确访问,引起数据库中数据的错误;为了某种目的,故意破坏数据库;未经授权非法访问数据库信息,窃取其中的数据;未经授权非法修改数据库中的数据,使其数据失去真实性;通过网络对数据库的访问遭到侦听;通过网络对数据库进行各种非法存取;通过网络破坏数据库系统的完整性、可用性等;对网络数据库进行拒绝式服务攻击。
三、ORACLE数据库系统安全分析
美国ORACLE公司的ORACLE系统是当前主要的数据库管理系统之一,已被广泛使用。该系统提供了多级安全管理机制,安全性上达到美国CZ级标准,但仍存在许多安全隐患和不足。
3.1 ORACLE系统的安全管理机制
ORACLE系统主要提供了多级安全管理机制。
数据库级安全。即提供用户名和口令控制对数据库的操作。每个存取ORACLE数据库的用户,在存取数据库前必须申请一个ORACLE系统用户名和口令,用户的注册信息存放在ORACLE系统的数据字典中,例如:用户是否有C0NNECT, RESOURCE或者DBA特权;用户缺省的表空间信息;在每个表空间中用户的空间限额等。每当一个用户连接一个数据库时ORACLE系统自动检查用户名和口令是否合法。
表级的安全。ORACLE系统除了在数据库级提供了安全存取机制外,在表级,行级,列级也有相应的安全存取措施。表的拥有者可以把自己拥有表的操作权授予其它用户或随时回收这些权利。
审计功能。ORACLE的审计功能是一种主要的安全措施,利用审计功能系统管理员可用来监视用户对ORACLE数据库实施的操作及数据库系统运行中的有关情况。
系统备份与恢复功能。数据备份与恢复是实现数据库系统安全运行的重要技术。尽管采取了许多措施来保证数据库系统的安全性,然而计算机系统中的软、硬件故障及操作的失误和人为的破坏仍是不可避免的,并且在网络环境中还会产生一些通信故障,如报文丢失和网络分割等,这经常造成数据库的破坏。为防止重要数据的丢失或损坏,数据库管理员应及早做好数据库备份,当系统发生故障时,管理员就能利用已有的数据备份,把数据库恢复到原来的状态,以便保持数据的完整性和一致性。
Oraole系统提供了三种备份办法:导出/导入(Export/Import)、冷备份、热备份。
3.2 ORACLE系统自身存在的安全隐患分析
ORACLE系统是外国公司开发的数据库管理系统,由于缺乏DBMS的源代码和相关资料,外人无法对 DBMS进行代码分析,更无从进行安全性分析。更危险的是在信息战的条件下敌人完全可能根据我国的购买部门、用途而故意在原有的标准DBMS上进行修改,注入各种不同的恶意代码,在特定条件下触发危害数据库安全。通过分析可以发现ORACLE系统可能存在以下安全隐患。
(1) DBMS在身份认证上留有后门,从而使敌人能够绕过正常的身份认证过程。而身份认证本质上是根据用户帐号以及相应的认证信息赋予该用户正确身份的过程,因此可能存在以下主要威胁:
存在隐藏帐号。不管数据库的安全管理员是如何设定帐号的,敌人都能够通过它们轻松进入系统,取得很高的系统权限。
存在“万能钥匙”。恶意的 DBMS 故意在身份认证模块中引入了某种形式的“万能钥匙”。不管系统配置为通过口令验证或基于物理凭证验证,敌人只要输入一组特殊的口令或插入特殊的物理凭证就能假冒任何用户的身份。
恶意模块协作。恶意代码可能触发后端的访问控制模块、处理模块以及审计模块,以协助、掩盖敌人的行动。例如通知访问控制模块提供特权、通知处理模块提升该用户的优先级使其尽快完成攻击动作,而且审计模块将不记录敌人的相关动作或故意为敌人伪造一些“正常”的操作记录。
(2) DBMS在授权上留有后门,从而敌人进行的某些操作可以绕过正常的访问控制机制。访问控制的本质是根据给定主体、客体以及访问动作的相关信息,做出是否允许访问的决定。因此恶意的访问控制模块也可能造成以下威胁:
特殊主体触发。某些访问控制的主体能够触发访问控制模块产生错误的决定。
特殊动作触发。某些访问控制的动作能够触发访问控制模块产生错误的决定。
特殊客体触发。某些访问控制的客体能够触发访问控制模块产生错误的决定。
完全绕过整个访问控制模块。敌人还可能采取措施绕过整个访问控制模块,直接进入数据处理模块,操作客体。
(3) DBMS的数据处理模块中有恶意代码,可能造成以下威胁:
能够在关键时刻自动(或由某些符合SQL语法的特殊的数据处理指令激活)改动、插入或删除数据。或自动将高级别的数据复制为低级别的数据。
通过特殊数据处理指令,触发其它模块的恶意动作。例如触发身份认证模块动态修改该 Session 对应的身份,从而由访问控制模块中取得特权,同时审计模块不记载敌人的后继攻击活动。
(4) DBMS 在审计上留有后门,从而:
不记载敌人的攻击活动。使得敌人的攻击活动不留下任何痕迹。
将攻击活动伪造为某些正常的活动。陷害好人。故意伪造审计记录,说明某人曾进行了某些恶意动作。
3.3 数据库系统日常管理中的安全隐患分析
信息系统数据库在日常维护使用中,由于数据库系统自身原因、应用软件的问题、维护使用管理制度的漏洞以及使用人员的不同情况,使数据库系统存在许多安全隐患。
(l)数据管理上存在安全隐患。为安全起见,数据库的数据必须进行定期备份,但是如何进行定期备份,备份后的数据如何存放和管理的相关制度不够完善,这些都直接关系到数据的安全。
(2)人员配置上存在安全隐患。由于系统超级管理员权限过大,而对ORACLE数据库编程和浏览的一般用户常常具有数据库管理员权限,能浏览所有数据并对数据库系统做任何修改或删除。因此如何选配系统超级管理员以及如何合理分配用户权限都直接关系到数据库的安全。
(3)数据库管理、维护人员业务能力也关系到数据库的安全。由于操作不当,或维护软件、硬件出现故障时处置错误将造成数据出错、丢失甚至数据库系统崩溃。
四、数据库系统安全策略探讨
数据库的安全策略主要是维护数据信息的完整性、保密性和可用性。虽然数据库存在各种不安全因素,但是采取科学有效的安全防护策略将极大提高数据库的安全性。各种安全防护策略一般可归纳为管理机制和技术手段两方面。
4.1 建立科学、完善的数据库管理机制
严格的科学管理可极大提高数据库的安全性。科学、完善的管理制度可堵塞许多安全上的漏洞,消除安全隐患。
制定数据库软硬件管理制度。针对数据库软硬件管理制定严格规定,有关数据库的设备及标准、软件、文档等必须按保密规定进行安全管理;数据库服务器应当安置在由技术保障单位管理和使用、有人24小时全时值守、并具备防电磁辐射设施或者干扰设备的机房内;采集设备应当安置在具备保密安全设施的场所;应用设备应安置在指定场所,并配备必要的防电磁辐射干扰设备。
制定管理人员和终端用户安全管理制度。针对管理人员和终端用户制定安全性管理规定,要求必须严格按保密规定配备作战数据库的系统管理员;系统管理员、数据维护人员和使用人员的安全管理权限严格区分;除系统管理员外,任何人严禁操作数据库服务器、网络服务器和系统管理终端。使用“角色”对终端用自进行权限管理。作战数据库的任何操作,必须通过“用户名”和“口令”的核查,并自动记录使用情况;用户及口令的建立、分配、使用和注销由使用管理工作主管部门确定并授权技术保障单位统一管理,过期用户应当及时注销,有效用户的口令应当定期更新。同时限制远程访问的超级用户权限。
制定定期的安全评估和检测的制度。通过定期的安全评估了解目前数据库安全的现状,了解安全对策的执行情况。通常,评估的内容采用基本安全对策中的项目,以及相关环境的一些安全漏洞。定期查看所有日志和日志记录机制以检测数据库使用情况。
制订完善的数据库备份制度。定期的进行数据备份是减少数据损失的有效手段,能让数据库遭到破坏(恶意或者误操作)后,恢复数据资源。同时严格按保密规定存储和使用备份的数据。
建立完善的审计制度。针对现有的数据库管理系统的审计保护功能存在不足,可实施安全对策加以改进,提高安全性:设置审计员、数据库用户、系统安全员3类,这三者相互牵制,各司其职,分别在3个地方进行审计控制。为了保证数据库系统的安全审计功能,还需要考虑到系统能够对安全侵害事件做出自动响应,提供审计自动报警功能。当系统检测到有危害到系统安全的事件发生并达到预定的阂值时,要给出报警信息,同时还会自动断开用户的连接,终止服务器端的相应线程,并阻止该用户再次登录系统。
4.2 加强先进有效技术手段的研究应用
目前,我们通常使用的操作系统平台和数据库管理系统是国外产品,其后端DBMS是不可信的。为保障数据库安全,必须在DBMS加密、存储干扰及对抗技术、入侵检测和备份恢复技术等方面进行研究,综合采用有效手段,提高数据库的安全性、可靠性。
(l)研究并采用各种加密手段。ORACLE董事长拉里·埃里森在 oracle openworid大会上,谈到了一个观点——要保护数据库安全,关键在于加密。他还认为,我们不仅要为发往互联网的数据库中的数据加密,还要为从硬盘转移到后端系统的过程中的数据加密。他还建议禁止用户在没有进行加密的情况下实施数据备份。
由于DBMS是国外产品,因此重点要研究DBMS加密。DBMS加密一般考虑在05层、DBMS内核层和DBMS外层三个不同层次实现对数据库数据的加密。在OS层加密无法辨认数据库文件中的数据关系,从而无法产生合理的密钥,对密钥合理的管理和使用也很难,所以很难实现。在DBMS内核层实现加密是指数据在物理存取之前完成加/解密工作。优点是加密功能强,并且加密功能几乎不会影响DBMS的功能,可以实现加密功能与数据库管理系统之间的无缝藕合。缺点是加密运算在服务器端进行,加重了服务器的负载,而且DBMS和加密器之间的接口需要DBMS开发商的支持。在DBMS外层实现加密。比较实际的做法是将数据库加密系统做成DBMS的一个外层工具,根据加密要求自动完成对数据库数据的加/解密处理。采用这种加密方式进行加密,加/解密运算可在客户端进行,优点是不会加重数据库服务器的负载并且可以实现网上传输的加密,缺点是加密功能会受到一些限制,与数据库管理系统之间的稠合性稍差。因此,在DBMS外层实现加密方法目前研究使用较多,可以较好减少原DBMS在身份认证等方面的安全隐患。
(2)运用防火墙和入侵检测技术构建安全增强的数据库系统。可在网络层次上采用防火墙和入侵检测技术等安全防范技术,同时考虑任何系统不可能保证完全不受攻击,所以在保证系统有效的防御措施后,还需要保证系统在遭受到攻击后,系统的自诊断、修复和重构能力,可以保证数据的完整性和可用性,即数据库系统的闰生存能力。它便系统具有弹性,能承受一定限度的攻击,在系统攻击后仍然可以为合法用户提供不间断的服务。可考虑建立一种基于容忍入侵的数据库安全体系结构,即“外层防御+中间层入侵检测+内层容忍入侵”三层防御的数据库系统,如图l所示。
容忍入侵的数据库安全体系结构由三个层次构成:外层一防御:防御的主要策略有防火墙、认证、访问控制、加密、消息过滤、功能隔离等。客户访问数据库系统时,首先要经过防火墙过滤,客户与服务器进行互相认证,必要时对机密信息进行加密。中间层一入侵检测:入侵检测系统(DIS)监视系统运行情况,分析系统日志文件和应用程序日志等信息检测入侵,并对攻击进行识别以确定攻击造成的影响。入侵检测系统己经成为安全防御系统的重要组成部分,是对防火墙的一个重要补充。内层一容忍入侵:容忍入侵技术主要考虑在入侵存在的情况下系统的生存能力,保证系统关键功能的安全性和健壮性。
(3)加强备份、恢复技术的研究及应用。数据库系统运行中,软硬件发生故障,造成系统崩溃的情况是有可能的。因此研究数据备份、恢复技术,应对系统崩溃的突发是必须的。信息战条件下数据恢复机制与传统的恢复机制有所不同。在数据库领域,传统的数据库恢复机制是为了保持事务的连续性,并不是用来处理恶意事务的。而在信息战中,在被检测到之前,恶意事务可能已完成且已提交,可能已造成破坏,因此必须加强研究信息战条件下的数据库恢复技术。
(4)研究使用存储干扰及其对抗技术应对信息攻击。存储干扰是指恶意地、悄悄地修改系统中保存的数据,以便间接干扰依赖这些数据的关键应用。例如,隐藏在DBMS或应用程序中的恶意的存储干扰软件(Jammer)在其宿主运行过程中悄悄地修改数据库中某些数据项,经过一段时间之后,系统显示我方的仓库中还有许多备有物资,而实际上早已用完了。这里的存储干扰与通讯干扰不同,秘密性是它的一个重要特性,它一旦被发现,很容易被终止。因而对抗技术的重点是如何发现Jammer的存在。
存储干扰的检测技术主要有三种:①依据一些特殊的数据完整性约束,检测软件可以很有效地校验这些约束;②将系统相关的数据依赖分布到多个程序和多个数据域,使得处于单一区域的Jammer无法伪造出与其他域中的数据一致的干扰数据;③ 引进一些伪造的检测数据(Detection Ob2ject) ,它们看起来像是应用数据的一部分,但是实际上从不使用。如果它们被更改了,判断Jammer存在的可能性就很大。另外,从防御性信息战的角度看,存储干扰技术也可以用于保护重要的数据库。它通过故意在数据库中引入一些伪造的数据目标(Bogus Values) ,能够有效地欺骗攻击者,使其无法确认哪些数据是关键数据,从而迷失攻击目标。DBMS负责确保这些伪造的数据不会返回给合法的用户或应用。如何合理地平衡系统欺骗敌人的能力和DBMS的复杂度代价是一个关键问题,尚在研究之中。
五、结束语
总之,信息战的严峻形势、数据库结构的复杂性,使数据库的安全技术面临着诸多的突破难点,目前数据库安全技术和防护策略尚不够成熟,还处在研究探讨阶段,信息战条件下数据库安全工作还需进行更多更深入的研究。