数据库系统防黑客入侵技术综述 |
1. 前言 随着计算机技术的飞速进展,数据库的 利用十分 宽泛, 深刻到各个领域,但随之而来产生了数据的安全问题 。各种 利用系统的数据库中大量数据的安全问题、敏感数据的防窃取和防窜改问题,越来越引起人们的高度 重视 。数据库系统作为信息的聚 群体,是计算机信息系统的核心部件,其安全性至关主要,关系到企业兴衰、国家安全 。 因此,如何有效地 保障数据库系统的安全,实现数据的保密性、 完全性和有效性,已经成为业界人士探究探究的主要课题之一,本文就安全防入侵技术做简要的 探讨 。 数据库系统的安全除依赖 本身内部的安全机制外,还与外部网络环境、 利用环境、从业人员素养等因素息息 有关, 因此,从广义上讲,数据库系统的安全框架 可以划分为三个 品位: ⑴ 网络系统 品位; ⑵ 宿主操作系统 品位; ⑶ 数据库治理系统 品位 。 这三个 品位构筑成数据库系统的安 整体系,与数据安全的关系是逐渐密切的, 提防的主要性也逐层 加强,从外到内、由表及里 保障数据的安全 。下面就安全框架的三个 品位铺开 阐述 。 2. 网络系统 品位安全技术 从广义上讲,数据库的安全首先倚赖于网络系统 。随着Internet的进展 遍及,越来越多的公司将其核心业务向互联网转移,各种基于网络的数据库 利用系统如雨后春笋般涌现出来,面向网络消费者提供各种信息服务 。 可以说网络系统是数据库 利用的外部环境和 根底,数据库系统要 施展其 壮大作用离不开网络系统的 支撑,数据库系统的消费者(如异地消费者、 分布式消费者)也要通过网络 威力 拜访数据库的数据 。网络系统的安全是数据库安全的第一道屏障,外部入侵首先便是从入侵网络系统开始的 。网络入侵试图 毁坏信息系统的 完全性、 机密性或可信赖的任何网络 运动的 集中, 存在以下特色[1]: a)没有地区和 工夫的 制约, 跨越国界的 突击就如同在现场一样容易; b)通过网络的 突击一般 混淆在大量 畸形的网络 运动之中, 隐秘性强; c)入侵 目的更加 隐秘和复杂 。 计算机网络系统开放式环境面临的 挟制主要有以下几 品种型[2]:a) 诱骗(Masquerade);b)重发(Replay);c)报文 批改(Modification of message);d) 回绝服务(Deny of service);e)陷阱门(Trapdoor);f)特洛伊木马(Trojan horse);g) 突击如透纳 突击(Tunneling Attack)、 利用软件 突击等 。这些安全 挟制是无时、无处不在的, 因此必须采取有效的措施来保障系统的安全 。 从技术角度讲,网络系统 品位的安全 提防技术有众多种, 大体 可以分为防火墙、入侵检测、 合作式入侵检测技术等 。 ⑴防火墙 。防火墙是 利用最广的一种 提防技术 。作为系统的第一道防线,其主要作用是监控可信赖网络和不可信赖网络中间的 拜访通道,可在内部与外部网络中间 构成一道防护屏障, 拦挡来自外部的非法 拜访并阻挠内部信息的外泄,但它 无奈 阻遏来自网络内部的非法操作 。它依据事先设定的 规定来确定是不是 拦挡信息流的进出,但 无奈动态 鉴别或自适应地调整 规定, 因此其智能化程度很有限 。防火墙技术主要有三种:数据包过滤器(packet filter)、代理(proxy)和状态 综合(stateful inspection) 。现代防火墙产品通常混合 使用这几种技术 。 ⑵入侵检测 。入侵检测(IDS-- Instrusion Detection System)是近年来进展起来的一种 提防技术,综合采纳了统计技术、 规定 步骤、网络通讯技术、人工智能、密码学、推理等技术和 步骤,其作用是监控网络和计算机系统是不是浮现被入侵或滥用的征兆 。1987年,Derothy Denning首次提出了一种检测入侵的 思维, 通过不停进展和完善,作为监控和 鉴别 突击的 标准解决 方案,IDS系统已经成为安全防备系统的主要构成 部分 。 入侵检测采纳的 综合技术可分为三大类:签名、统计和数据 完全性 综合法 。 ①签名 综合法 。主要用来监测对系统的已知弱点进行 突击的行为 。人们从 突击模式中概括出它的签名,编写到IDS系统的代码里 。签名 综合实际上是一种模板匹配操作 。 ②统计 综合法 。以统计学为 实际 根底,以系统 畸形 使用状况下 视察到的动作模式为依据来 推断某个动作是不是偏离了 畸形轨道 。 ③数据 完全性 综合法 。以密码学为 实际 根底, 可以查证文件或者对象是不是被别人 批改过 。 IDS的 品种包含基于网络和基于主机的入侵监测系统、基于 特色的和基于非 畸形的入侵监测系统、实时和非实时的入侵监测系统等[1] 。 ⑶ 合作式入侵监测技术 独立的入侵监测系统不 可以对 宽泛 产生的各种入侵 运动都做出有效的监测和 反响,为了 补偿独立运作的缺乏,人们提出了 合作式入侵监测系统的想法 。在 合作式入侵监测系统中,IDS基于一种统一的 标准,入侵监测组件中间自动地 交换信息,而且通过信息的 交换得到了对入侵的有效监测, 可以 利用于不同的网络环境[3] 。 3. 宿主操作系统 品位安全技术 操作系统是大型数据库系统的运行平台,为数据库系统提供 定然程度的安全 掩护 。目前操作系统平台大多数集中在Windows NT 和Unix,安全级别通常为C1、C2级 。主要安全技术有操作系统安全策略、安全治理策略、数据安全等方面 。 操作系统安全策略用于配置当地计算机的安全设置,包含密码策略、账户锁定策略、审核策略、IP安全策略、消费者 权力指派、加密数据的 复原代理以及其它安全选项[7] 。具体 可以体现在消费者账户、口令、 拜访权限、审计等方面 。 消费者账户:消费者 拜访系统的"身份证",惟独合法消费者才有账户 。 口令:消费者的口令为消费者 拜访系统提供一道验证 。 拜访权限:规定消费者的权限 。 审计:对消费者的行为进行跟踪和记录,便于系统治理员 综合系统的 拜访状况以及事后的 查究 使用 。 安全治理策略是指网络治理员对系统 施行安全治理所采取的 步骤及策略 。针对不同的操作系统、网络环境需求采取的安全治理策略一般也不尽 雷同,其核心是 保障服务器的安全和 调配好各类消费者的权限 。 数据安全主要体现在以下几个方面:数据加密技术、数据备份、数据存储的安全性、数据传输的安全性等 。 可以采纳的技术众多,主要有Kerberos认证、IPSec、SSL、TLS、VPN(PPTP、L2TP)等技术 。 4. 数据库治理系统 品位安全技术 数据库系统的安全性很大程度上依赖于数据库治理系统 。假如数据库治理系统安全机制十分 壮大,则数据库系统的安全性能就较好 。目前市场上 风行的是关系式数据库治理系统,其安全性 性能很弱,这就招致数据库系统的安全性存在 定然的 挟制 。 因为数据库系统在操作系统下都是以文件 模式进行治理的, 因此入侵者 可以直接利用操作系统的 漏洞窃取数据库文件,或者直接利用OS工具来非法伪造、窜改数据库文件内容 。这种隐患一般数据库消费者难以 发觉, 综合和阻塞这种 漏洞被认为是B2级的安全技术措施[4] 。 数据库治理系统 品位安全技术主要是用来解决这一问题,即目前面两个 品位已经被 打破的状况下仍能保障数据库数据的安全,这就要求数据库治理系统必须有一套强有力的安全机制 。解决这一问题的有效 步骤之一是数据库治理系统对数据库文件进行加密 解决,使得 即便数据 可怜泄露或者 迷失,也难以被人破译和浏览 。 我们 可以考量在三个不同 品位实现对数据库数据的加密,这三个 品位分别是OS层、DBMS内核层和DBMS外层 。 ⑴在OS层加密 。在OS层 无奈辨别数据库文件中的数据关系,从而 无奈产生 正当的密钥,对密钥 正当的治理和 使用也很难 。所以,对大型数据库来说,在OS层对数据库文件进行加密很难实现 。 ⑵在DBMS内核层实现加密 。这种加密是指数据在物理存取之前 实现加/脱密工作 。这种加密 模式的 长处是加密 性能强,而且加密 性能 几乎不会影响DBMS的 性能, 可以实现加密 性能与数据库治理系统中间的无缝耦合 。其缺陷是加密运算在服务器端进行,加重了服务器的负载,而且DBMS和加密器中间的接口需求DBMS开发商的 支撑 。 定义加密要求工具 DBMS 数据库 利用系统 加密器 (软件或硬件) ⑶在DBMS外层实现加密 。 比较实际的做法是将数据库加密系统做成DBMS的一个外层工具,依据加密要求自动 实现对数据库数据的加/脱密 解决: 定义加密要求工具加密器 (软件或硬件) DBMS 数据库 利用系统 采纳这种加密 模式进行加密,加/脱密运算可在客户端进行,它的 长处是不会加重数据库服务器的负载而且 可以实现网上传输的加密,缺陷是加密 性能会受到一些 制约,与数据库治理系统中间的耦合性稍差 。 下面我们进一步解释在DBMS外层实现加密 性能的原理: 数据库加密系统分成两个 性能独立的主要部件:一个是加密字典治理程序,另一个是数据库加/脱密引擎 。数据库加密系统将消费者对数据库信息具体的加密要求以及 根底信息 保留在加密字典中,通过调用数据加/脱密引擎实现对数据库表的加密、脱密及数据转换等 性能 。数据库信息的加/脱密 解决是在 后盾 实现的,对数据库服务器是透明的 。 加密字典治理程序 加密系统 利用程序 数据库加脱密引擎 数据库服务器 加密字典 消费者数据 按以上 模式实现的数据库加密系统 存在众多 长处:首先,系统对数据库的最后消费者是 彻底透明的,治理员 可以依据需求进行明文和密文的转换工作;其次,加密系统 彻底独立于数据库 利用系统, 毋庸 改变数据库 利用系统就能实现数据加密 性能;第三,加解密 解决在客户端进行,不会影响数据库服务器的效率 。 数据库加/脱密引擎是数据库加密系统的核心部件,它位于 利用程序与数据库服务器中间,负责在 后盾 实现数据库信息的加/脱密 解决,对 利用开发人员和操作人员来说是透明的 。数据加/脱密引擎没有操作界面,在需求时由操作系统自动加载并驻留在内存中,通过内部接口与加密字典治理程序和消费者 利用程序通讯 。数据库加/脱密引擎由三大模块构成:加/脱密 解决模块、消费者接口模块和数据库接口模块,如图4所示 。其中,"数据库接口模块"的主要工作是 承受消费者的操作 申请,并传递给"加/脱密 解决模块",此外还要 接替"加/脱密 解决模块"去 拜访数据库服务器,并 实现外部接口参数与加/脱密引擎内部数据 构造中间的转换 。"加/脱密 解决模块" 实现数据库加/脱密引擎的初始化、内部专用命令的 解决、加密字典信息的检索、加密字典缓冲区的治理、SQL命令的加密变换、 查问 后果的脱密 解决以及加脱密算法实现等 性能,另外还包含一些公用的辅助函数 。 数据加/脱密 解决的主要流程如下: 1) 对SQL命令进行语法 综合,假如语法正确,转下一步;如不正确,则转6),直接将SQL命令交数据库服务器 解决 。 2) 是不是为数据库加/脱密引擎的内部操纵命令?假如是,则 解决内部操纵命令, 而后转7);假如不是则转下一步 。 3) 审查数据库加/脱密引擎是不是处于关闭状态或SQL命令是不是 惟独求编译?假如是则转6),不然转下一步 。 4) 检索加密字典,依据加密定义对SQL命令进行加脱密语义 综合 。 5) SQL命令是不是需求加密 解决?假如是,则将SQL命令进行加密变换,替换原SQL命令, 而后转下一步;不然直接转下一步 。 6) 将SQL命令转送数据库服务器 解决 。 7) SQL命令执行 结束, 革除SQL命令缓冲区 。 以上以一个例子 注明了在DBMS外层实现加密 性能的原理 。 5. 完毕语 本文对数据库系统安全防入侵技术进行综述,提出了数据库系统的安 整体系三个 品位框架,并对三个 品位的技术 目的铺开 形容 。文中还以在DBMS外层实现加密 性能的原理为例, 详尽 注明了如何 利用数据库治理系统 品位的安全技术 。 数据库系统安全框架的三个 品位是相辅相承的,各 品位的 提防重点和所采取的技术 目的也不尽 雷同,一个好的安全系统必须综合考量核 使用这些技术,以 保障数据的安全 。 |