专家讲解数据库安全 防范黑客入侵技术综述

super163 2008-05-28 09:48:47

随着计算机技术的飞速发展,数据库的应用十分广泛,深入到各个领域,但随之而来产生了数据的安全问题。各种应用系统的数据库中大量数据的安全问题、敏感数据的防窃取和防篡改问题,越来越引起人们的高度重视。

数据库系统的安全除依赖自身内部的安全机制外,还与外部网络环境、应用环境、从业人员素质等因素息息相关,因此,从广义上讲,数据库系统的安全框架可以划分为三个层次:

⑴ 网络系统层次;

⑵ 宿主操作系统层次;

⑶ 数据库管理系统层次。

这三个层次构筑成数据库系统的安全体系,与数据安全的关系是逐步紧密的,防范的重要性也逐层加强,从外到内、由表及里保证数据的安全。下面就安全框架的三个层次展开论述。

1. 网络系统层次安全技术

从广义上讲,数据库的安全首先依赖于网络系统。随着Internet的发展和普及,越来越多的公司将其核心业务向互联网转移,各种基于网络的数据库应用系统如雨后春笋般涌现出来,面向网络用户提供各种信息服务。可以说网络系统是数据库应用的外部环境和基础,数据库系统要发挥其强大作用离不开网络系统的支持,数据库系统的用户(如异地用户、分布式用户)也要通过网络才能访问数据库的数据。网络系统的安全是数据库安全的第一道屏障,外部入侵首先就是从入侵网络系统开始的。网络入侵试图破坏信息系统的完整性、机密性或可信任的任何网络活动的集合,具有以下特点:

a) 没有地域和时间的限制,跨越国界的攻击就如同在现场一样方便;

b) 通过网络的攻击往往混杂在大量正常的网络活动之中,隐蔽性强;

c) 入侵手段更加隐蔽和复杂。

计算机网络系统开放式环境面临的威胁主要有以下几种类型:

a) 欺骗(Masquerade);

b) 重发(Replay);

c) 报文修改(Modification of message);

d) 拒绝服务(Deny of service);

e) 陷阱门(Trapdoor);

f) 特洛伊木马(Trojan horse);

g) 攻击,如透纳攻击(Tunneling Attack)、应用软件攻击等。这些安全威胁是无时、无处不在的,因此必须采取有效的措施来保障系统的安全。
...全文
66 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
super163 2008-05-28
  • 打赏
  • 举报
回复


下面我们进一步解释在DBMS外层实现加密功能的原理:

数据库加密系统分成两个功能独立的主要部件:一个是加密字典管理程序,另一个是数据库加/解密引擎。数据库加密系统将用户对数据库信息具体的加密要求以及基础信息保存在加密字典中,通过调用数据加/解密引擎实现对数据库表的加密、脱密及数据转换等功能。数据库信息的加/解密处理是在后台完成的,对数据库服务器是透明的。

按以上方式实现的数据库加密系统具有很多优点:首先,系统对数据库的最终用户是完全透明的,管理员可以根据需要进行明文和密文的转换工作;其次,加密系统完全独立于数据库应用系统,无须改动数据库应用系统就能实现数据加密功能;第三,加解密处理在客户端进行,不会影响数据库服务器的效率。

数据库加/解密引擎是数据库加密系统的核心部件,它位于应用程序与数据库服务器之间,负责在后台完成数据库信息的加/解密处理,对应用开发人员和操作人员来说是透明的。数据加/解密引擎没有操作界面,在需要时由操作系统自动加载并驻留在内存中,通过内部接口与加密字典管理程序和用户应用程序通讯。数据库加/解密引擎由三大模块组成:加/解密处理模块、用户接口模块和数据库接口模块。其中,“数据库接口模块”的主要工作是接受用户的操作请求,并传递给“加/解密处理模块”,此外还要代替“加/解密处理模块”去访问数据库服务器,并完成外部接口参数与加/脱密引擎内部数据结构之间的转换。“加/解密处理模块”完成数据库加/解密引擎的初始化、内部专用命令的处理、加密字典信息的检索、加密字典缓冲区的管理、SQL命令的加密变换、查询结果的脱密处理以及加脱密算法实现等功能,另外还包括一些公用的辅助函数。

数据加/解密处理的主要流程如下:

1) 对SQL命令进行语法分析,如果语法正确,转下一步;如不正确,则转6),直接将SQL命令交数据库服务器处理。

2) 是否为数据库加/脱密引擎的内部控制命令?如果是,则处理内部控制命令,然后转7);如果不是则转下一步。

3) 检查数据库加/脱密引擎是否处于关闭状态或SQL命令是否只需要编译?如果是则转6),否则转下一步。

4) 检索加密字典,根据加密定义对SQL命令进行加脱密语义分析。

5) SQL命令是否需要加密处理?如果是,则将SQL命令进行加密变换,替换原SQL命令,然后转下一步;否则直接转下一步。

6) 将SQL命令转送数据库服务器处理。

7) SQL命令执行完毕,清除SQL命令缓冲区。

以上以一个例子说明了在DBMS外层实现加密功能的原理。

结束语

本文对数据库系统安全防入侵技术进行综述,提出了数据库系统的安全体系三个层次框架,并对三个层次的技术手段展开描述。文中还以在DBMS外层实现加密功能的原理为例,详细说明了如何应用数据库管理系统层次的安全技术。

数据库系统安全框架的三个层次是相辅相承的,各层次的防范重点和所采取的技术手段也不尽相同,一个好的安全系统必须综合考虑核运用这些技术,以保证数据的安全。

4,451

社区成员

发帖
与我相关
我的任务
社区描述
云计算 云安全相关讨论
社区管理员
  • 云安全社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧