SlideShare a Scribd company logo
数据库系统安全防入侵技术综述
文章作者:林育生 曹磊 张尧弼

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 开发商的支
持。这种加密方式如图 1 所示:

定义加密要求工具

DBMS

数据库应用系统

加密器

(软件或硬件)



⑶ 在 DBMS 外层实现加密。比较实际的做法是将数据库加密系统做成 DBMS 的一个外层工具,根据加密要求自
动完成对数据库数据的加/脱密处理,如图 2 所示:

定义加密要求工具加密器

(软件或硬件)

DBMS

数据库应用系统

采用这种加密方式进行加密,加/脱密运算可在客户端进行,它的优点是不会加重数据库服务器的负载并且可以实
现网上传输的加密,缺点是加密功能会受到一些限制,与数据库管理系统之间的耦合性稍差。

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

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

加密系统

应用程序




数据库加脱密引擎




数据库服务器

加密字典

用户数据

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

数据库加/脱密引擎是数据库加密系统的核心部件,它位于应用程序与数据库服务器之间,负责在后台完成数据库
信息的加/脱密处理,对应用开发人员和操作人员 来说是透明的。数据加/脱密引擎没有操作界面,在需要时由操
作系统自动加载并驻留在内存中,通过内部接口与加密字典管理程序和用户应用程序通讯。数据库加 /脱密引擎由
三大模块组成:加/脱密处理模块、用户接口模块和数据库接口模块,如图 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 外层实现加密功能的原理为例,详细说明了如何应用数据库管理系统层次的安
全技术。

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

参考文献:
[1] 黄锦,基于防火墙日志信息的入侵检测系统的研究与实现,上海:上海交通大学硕士学位论文,2001

[2]   曹玮,CDIF:协作式入侵监测框架,上海:上海交通大学硕士学位论文,1999

[3]   刘淳,协作式入侵监测和反应框架,上海:上海交通大学硕士学位论文,1999

[4]   谷恒军,刘孟仁,计算机加密技术及其应用研究,武汉:海军工程大学硕士学位论文,200

More Related Content

Viewers also liked

解读server.xml文件
解读server.xml文件解读server.xml文件
解读server.xml文件
wensheng wei
 
mysql的字符串函数
mysql的字符串函数mysql的字符串函数
mysql的字符串函数wensheng wei
 
详细介绍什么是Java虚拟机(JVM)介绍资料
详细介绍什么是Java虚拟机(JVM)介绍资料详细介绍什么是Java虚拟机(JVM)介绍资料
详细介绍什么是Java虚拟机(JVM)介绍资料wensheng wei
 
超级入门:JAVA从零开始到HelloWorld
超级入门:JAVA从零开始到HelloWorld超级入门:JAVA从零开始到HelloWorld
超级入门:JAVA从零开始到HelloWorldwensheng wei
 
Treebeard's Unix Cheat Sheet
Treebeard's Unix Cheat SheetTreebeard's Unix Cheat Sheet
Treebeard's Unix Cheat Sheet
wensheng wei
 
Database Security Explained
Database Security ExplainedDatabase Security Explained
Database Security Explained
wensheng wei
 
Java的垃圾回收之算法
Java的垃圾回收之算法Java的垃圾回收之算法
Java的垃圾回收之算法wensheng wei
 
如何一整天有精神,保持微笑
如何一整天有精神,保持微笑如何一整天有精神,保持微笑
如何一整天有精神,保持微笑wensheng wei
 
什么是重要的事情?
什么是重要的事情?什么是重要的事情?
什么是重要的事情?wensheng wei
 
20 种提升网页速度的技巧
20 种提升网页速度的技巧20 种提升网页速度的技巧
20 种提升网页速度的技巧wensheng wei
 
保护数据库服务器加强数据库安全
保护数据库服务器加强数据库安全保护数据库服务器加强数据库安全
保护数据库服务器加强数据库安全wensheng wei
 
JavaScript高级程序设计(中文优化版)
JavaScript高级程序设计(中文优化版)JavaScript高级程序设计(中文优化版)
JavaScript高级程序设计(中文优化版)wensheng wei
 
LINUX Admin Quick Reference
LINUX Admin Quick ReferenceLINUX Admin Quick Reference
LINUX Admin Quick Reference
wensheng wei
 
LINUX System Call Quick Reference
LINUX System Call Quick ReferenceLINUX System Call Quick Reference
LINUX System Call Quick Reference
wensheng wei
 

Viewers also liked (17)

解读server.xml文件
解读server.xml文件解读server.xml文件
解读server.xml文件
 
mysql的字符串函数
mysql的字符串函数mysql的字符串函数
mysql的字符串函数
 
详细介绍什么是Java虚拟机(JVM)介绍资料
详细介绍什么是Java虚拟机(JVM)介绍资料详细介绍什么是Java虚拟机(JVM)介绍资料
详细介绍什么是Java虚拟机(JVM)介绍资料
 
超级入门:JAVA从零开始到HelloWorld
超级入门:JAVA从零开始到HelloWorld超级入门:JAVA从零开始到HelloWorld
超级入门:JAVA从零开始到HelloWorld
 
创新项目
创新项目创新项目
创新项目
 
Treebeard's Unix Cheat Sheet
Treebeard's Unix Cheat SheetTreebeard's Unix Cheat Sheet
Treebeard's Unix Cheat Sheet
 
Database Security Explained
Database Security ExplainedDatabase Security Explained
Database Security Explained
 
Subversion FAQ
Subversion FAQSubversion FAQ
Subversion FAQ
 
Java的垃圾回收之算法
Java的垃圾回收之算法Java的垃圾回收之算法
Java的垃圾回收之算法
 
如何一整天有精神,保持微笑
如何一整天有精神,保持微笑如何一整天有精神,保持微笑
如何一整天有精神,保持微笑
 
什么是重要的事情?
什么是重要的事情?什么是重要的事情?
什么是重要的事情?
 
20 种提升网页速度的技巧
20 种提升网页速度的技巧20 种提升网页速度的技巧
20 种提升网页速度的技巧
 
保护数据库服务器加强数据库安全
保护数据库服务器加强数据库安全保护数据库服务器加强数据库安全
保护数据库服务器加强数据库安全
 
JVM 学习笔记
JVM 学习笔记JVM 学习笔记
JVM 学习笔记
 
JavaScript高级程序设计(中文优化版)
JavaScript高级程序设计(中文优化版)JavaScript高级程序设计(中文优化版)
JavaScript高级程序设计(中文优化版)
 
LINUX Admin Quick Reference
LINUX Admin Quick ReferenceLINUX Admin Quick Reference
LINUX Admin Quick Reference
 
LINUX System Call Quick Reference
LINUX System Call Quick ReferenceLINUX System Call Quick Reference
LINUX System Call Quick Reference
 

Similar to 数据库系统安全防入侵技术综述

军工行业网络安全解决方案整体设计
军工行业网络安全解决方案整体设计军工行业网络安全解决方案整体设计
军工行业网络安全解决方案整体设计gb ku
 
From Principle to Practice
From Principle to PracticeFrom Principle to Practice
From Principle to PracticeJordan Pan
 
漏洞的进化(CNCERT/CC CNVD)
漏洞的进化(CNCERT/CC CNVD)漏洞的进化(CNCERT/CC CNVD)
漏洞的进化(CNCERT/CC CNVD)
Jordan Pan
 
機密圖檔與敏感資料庫資料防洩漏方案
機密圖檔與敏感資料庫資料防洩漏方案機密圖檔與敏感資料庫資料防洩漏方案
機密圖檔與敏感資料庫資料防洩漏方案
道成資訊股份有限公司
 
20210928 #118 - 給非營利組織的資安自保手冊
 20210928 #118 - 給非營利組織的資安自保手冊 20210928 #118 - 給非營利組織的資安自保手冊
20210928 #118 - 給非營利組織的資安自保手冊
Net Tuesday Taiwan
 
云计算的安全考虑
云计算的安全考虑云计算的安全考虑
云计算的安全考虑
Hanzo
 
PowerFL meets Pulsar: A Novel Communication Framework for Privacy-Preserving ...
PowerFL meets Pulsar: A Novel Communication Framework for Privacy-Preserving ...PowerFL meets Pulsar: A Novel Communication Framework for Privacy-Preserving ...
PowerFL meets Pulsar: A Novel Communication Framework for Privacy-Preserving ...
StreamNative
 
ClouDoc intro_chn_20170308
ClouDoc intro_chn_20170308ClouDoc intro_chn_20170308
ClouDoc intro_chn_20170308
sang yoo
 
云安全的意义
云安全的意义云安全的意义
云安全的意义drewz lin
 
六合彩
六合彩六合彩
六合彩
zazhong
 
香港六合彩
香港六合彩香港六合彩
云安全防护的战略思考
云安全防护的战略思考云安全防护的战略思考
云安全防护的战略思考drewz lin
 
铺开业务看应用防护
铺开业务看应用防护铺开业务看应用防护
铺开业务看应用防护
Jordan Pan
 
導入零負擔,個資防護及訊息保全大揭密
導入零負擔,個資防護及訊息保全大揭密導入零負擔,個資防護及訊息保全大揭密
導入零負擔,個資防護及訊息保全大揭密OFMKT
 
Chinese Uses of Big Data Cloud Security 漫步在雲端資安新戰場
Chinese Uses of Big Data Cloud Security 漫步在雲端資安新戰場 Chinese Uses of Big Data Cloud Security 漫步在雲端資安新戰場
Chinese Uses of Big Data Cloud Security 漫步在雲端資安新戰場
Bill Hagestad II
 
云计算时代的新安全挑战与机会
云计算时代的新安全挑战与机会云计算时代的新安全挑战与机会
云计算时代的新安全挑战与机会
ITband
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
香港六合彩香港六合彩
香港六合彩
六合彩 香港六合彩
 
数据领导者的 数据治理和隐私 保护.pdf
数据领导者的 数据治理和隐私 保护.pdf数据领导者的 数据治理和隐私 保护.pdf
数据领导者的 数据治理和隐私 保护.pdf
ChunLei(peter) Che
 

Similar to 数据库系统安全防入侵技术综述 (20)

军工行业网络安全解决方案整体设计
军工行业网络安全解决方案整体设计军工行业网络安全解决方案整体设计
军工行业网络安全解决方案整体设计
 
From Principle to Practice
From Principle to PracticeFrom Principle to Practice
From Principle to Practice
 
漏洞的进化(CNCERT/CC CNVD)
漏洞的进化(CNCERT/CC CNVD)漏洞的进化(CNCERT/CC CNVD)
漏洞的进化(CNCERT/CC CNVD)
 
機密圖檔與敏感資料庫資料防洩漏方案
機密圖檔與敏感資料庫資料防洩漏方案機密圖檔與敏感資料庫資料防洩漏方案
機密圖檔與敏感資料庫資料防洩漏方案
 
20210928 #118 - 給非營利組織的資安自保手冊
 20210928 #118 - 給非營利組織的資安自保手冊 20210928 #118 - 給非營利組織的資安自保手冊
20210928 #118 - 給非營利組織的資安自保手冊
 
云计算的安全考虑
云计算的安全考虑云计算的安全考虑
云计算的安全考虑
 
PowerFL meets Pulsar: A Novel Communication Framework for Privacy-Preserving ...
PowerFL meets Pulsar: A Novel Communication Framework for Privacy-Preserving ...PowerFL meets Pulsar: A Novel Communication Framework for Privacy-Preserving ...
PowerFL meets Pulsar: A Novel Communication Framework for Privacy-Preserving ...
 
ClouDoc intro_chn_20170308
ClouDoc intro_chn_20170308ClouDoc intro_chn_20170308
ClouDoc intro_chn_20170308
 
云安全的意义
云安全的意义云安全的意义
云安全的意义
 
六合彩
六合彩六合彩
六合彩
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
網路安全管理
網路安全管理網路安全管理
網路安全管理
 
云安全防护的战略思考
云安全防护的战略思考云安全防护的战略思考
云安全防护的战略思考
 
铺开业务看应用防护
铺开业务看应用防护铺开业务看应用防护
铺开业务看应用防护
 
導入零負擔,個資防護及訊息保全大揭密
導入零負擔,個資防護及訊息保全大揭密導入零負擔,個資防護及訊息保全大揭密
導入零負擔,個資防護及訊息保全大揭密
 
Chinese Uses of Big Data Cloud Security 漫步在雲端資安新戰場
Chinese Uses of Big Data Cloud Security 漫步在雲端資安新戰場 Chinese Uses of Big Data Cloud Security 漫步在雲端資安新戰場
Chinese Uses of Big Data Cloud Security 漫步在雲端資安新戰場
 
云计算时代的新安全挑战与机会
云计算时代的新安全挑战与机会云计算时代的新安全挑战与机会
云计算时代的新安全挑战与机会
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
数据领导者的 数据治理和隐私 保护.pdf
数据领导者的 数据治理和隐私 保护.pdf数据领导者的 数据治理和隐私 保护.pdf
数据领导者的 数据治理和隐私 保护.pdf
 

More from wensheng wei

你会柔软地想起这个校园
你会柔软地想起这个校园你会柔软地想起这个校园
你会柔软地想起这个校园wensheng wei
 
几米语录(1)
几米语录(1)几米语录(1)
几米语录(1)wensheng wei
 
Installation of Subversion on Ubuntu,...
Installation of Subversion on Ubuntu,...Installation of Subversion on Ubuntu,...
Installation of Subversion on Ubuntu,...
wensheng wei
 
高级PHP应用程序漏洞审核技术
高级PHP应用程序漏洞审核技术高级PHP应用程序漏洞审核技术
高级PHP应用程序漏洞审核技术wensheng wei
 
存储过程编写经验和优化措施
存储过程编写经验和优化措施存储过程编写经验和优化措施
存储过程编写经验和优化措施wensheng wei
 
CentOS5 apache2 mysql5 php5 Zend
CentOS5 apache2 mysql5 php5 ZendCentOS5 apache2 mysql5 php5 Zend
CentOS5 apache2 mysql5 php5 Zendwensheng wei
 
Happiness is a Journey
Happiness is a JourneyHappiness is a Journey
Happiness is a Journey
wensheng wei
 
Java JNI 编程进阶
Java JNI 编程进阶     Java JNI 编程进阶
Java JNI 编程进阶 wensheng wei
 
Linux Shortcuts and Commands:
Linux Shortcuts and Commands:Linux Shortcuts and Commands:
Linux Shortcuts and Commands:
wensheng wei
 
Java正则表达式详解
Java正则表达式详解Java正则表达式详解
Java正则表达式详解wensheng wei
 
Linux Security Quick Reference Guide
Linux Security Quick Reference GuideLinux Security Quick Reference Guide
Linux Security Quick Reference Guide
wensheng wei
 
issue35 zh-CN
issue35 zh-CNissue35 zh-CN
issue35 zh-CN
wensheng wei
 
Android模拟器SD Card映像文件使用方法
Android模拟器SD Card映像文件使用方法Android模拟器SD Card映像文件使用方法
Android模拟器SD Card映像文件使用方法wensheng wei
 
如何硬盘安装ubuntu8.10
如何硬盘安装ubuntu8.10如何硬盘安装ubuntu8.10
如何硬盘安装ubuntu8.10wensheng wei
 
ubunturef
ubunturefubunturef
ubunturef
wensheng wei
 
数据库设计方法、规范与技巧
数据库设计方法、规范与技巧数据库设计方法、规范与技巧
数据库设计方法、规范与技巧wensheng wei
 
揭秘全球最大网站Facebook背后的那些软件
揭秘全球最大网站Facebook背后的那些软件揭秘全球最大网站Facebook背后的那些软件
揭秘全球最大网站Facebook背后的那些软件wensheng wei
 
入门-Java运行环境变量的图文教程
入门-Java运行环境变量的图文教程入门-Java运行环境变量的图文教程
入门-Java运行环境变量的图文教程wensheng wei
 

More from wensheng wei (20)

你会柔软地想起这个校园
你会柔软地想起这个校园你会柔软地想起这个校园
你会柔软地想起这个校园
 
几米语录(1)
几米语录(1)几米语录(1)
几米语录(1)
 
我的简历
我的简历我的简历
我的简历
 
Installation of Subversion on Ubuntu,...
Installation of Subversion on Ubuntu,...Installation of Subversion on Ubuntu,...
Installation of Subversion on Ubuntu,...
 
高级PHP应用程序漏洞审核技术
高级PHP应用程序漏洞审核技术高级PHP应用程序漏洞审核技术
高级PHP应用程序漏洞审核技术
 
存储过程编写经验和优化措施
存储过程编写经验和优化措施存储过程编写经验和优化措施
存储过程编写经验和优化措施
 
CentOS5 apache2 mysql5 php5 Zend
CentOS5 apache2 mysql5 php5 ZendCentOS5 apache2 mysql5 php5 Zend
CentOS5 apache2 mysql5 php5 Zend
 
Happiness is a Journey
Happiness is a JourneyHappiness is a Journey
Happiness is a Journey
 
Java JNI 编程进阶
Java JNI 编程进阶     Java JNI 编程进阶
Java JNI 编程进阶
 
Linux Shortcuts and Commands:
Linux Shortcuts and Commands:Linux Shortcuts and Commands:
Linux Shortcuts and Commands:
 
Java正则表达式详解
Java正则表达式详解Java正则表达式详解
Java正则表达式详解
 
Linux Security Quick Reference Guide
Linux Security Quick Reference GuideLinux Security Quick Reference Guide
Linux Security Quick Reference Guide
 
issue35 zh-CN
issue35 zh-CNissue35 zh-CN
issue35 zh-CN
 
Android模拟器SD Card映像文件使用方法
Android模拟器SD Card映像文件使用方法Android模拟器SD Card映像文件使用方法
Android模拟器SD Card映像文件使用方法
 
如何硬盘安装ubuntu8.10
如何硬盘安装ubuntu8.10如何硬盘安装ubuntu8.10
如何硬盘安装ubuntu8.10
 
ubunturef
ubunturefubunturef
ubunturef
 
数据库设计方法、规范与技巧
数据库设计方法、规范与技巧数据库设计方法、规范与技巧
数据库设计方法、规范与技巧
 
揭秘全球最大网站Facebook背后的那些软件
揭秘全球最大网站Facebook背后的那些软件揭秘全球最大网站Facebook背后的那些软件
揭秘全球最大网站Facebook背后的那些软件
 
入门-Java运行环境变量的图文教程
入门-Java运行环境变量的图文教程入门-Java运行环境变量的图文教程
入门-Java运行环境变量的图文教程
 
Java学习路径
Java学习路径Java学习路径
Java学习路径
 

数据库系统安全防入侵技术综述

  • 1. 数据库系统安全防入侵技术综述 文章作者:林育生 曹磊 张尧弼 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)。现代防火墙产品通常混合使用这几种技术。
  • 2. ⑵ 入侵检测。入侵检测(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. 数据库管理系统层次安全技术
  • 3. 数据库系统的安全性很大程度上依赖于数据库管理系统。如果数据库管理系统安全机制非常强大,则数据库系统 的安全性能就较好。目前市场上流行的是关系式数据库管理系统,其安全性功能很弱,这就导致数据库系统的安 全性存在一定的威胁。 由于数据库系统在操作系统下都是以文件形式进行管理的,因此入侵者可以直接利用操作系统的漏洞窃取数据库 文件,或者直接利用 OS 工具来非法伪造、篡改数据库文件内容。这种隐患一般数据库用户难以察觉,分析和堵 塞这种漏洞被认为是 B2 级的安全技术措施[4]。 数据库管理系统层次安全技术主要是用来解决这一问题,即当前面两个层次已经被突破的情况下仍能保障数据库 数据的安全,这就要求数据库管理系统必须有一套强 有力的安全机制。解决这一问题的有效方法之一是数据库管 理系统对数据库文件进行加密处理,使得即使数据不幸泄露或者丢失,也难以被人破译和阅读。 我们可以考虑在三个不同层次实现对数据库数据的加密,这三个层次分别是 OS 层、DBMS 内核层和 DBMS 外 层。 ⑴ 在 OS 层加密。在 OS 层无法辨认数据库文件中的数据关系,从而无法产生合理的密钥,对密钥合理的管理和 使用也很难。所以,对大型数据库来说,在 OS 层对数据库文件进行加密很难实现。 ⑵ 在 DBMS 内核层实现加密。这种加密是指数据在物理存取之前完成加/脱密工作。这种加密方式的优点是加密 功能强,并且加密功能几乎不会影响 DBMS 的功 能,可以实现加密功能与数据库管理系统之间的无缝耦合。其缺 点是加密运算在服务器端进行,加重了服务器的负载,而且 DBMS 和加密器之间的接口需要 DBMS 开发商的支 持。这种加密方式如图 1 所示: 定义加密要求工具 DBMS 数据库应用系统 加密器 (软件或硬件) ⑶ 在 DBMS 外层实现加密。比较实际的做法是将数据库加密系统做成 DBMS 的一个外层工具,根据加密要求自 动完成对数据库数据的加/脱密处理,如图 2 所示: 定义加密要求工具加密器 (软件或硬件) DBMS 数据库应用系统 采用这种加密方式进行加密,加/脱密运算可在客户端进行,它的优点是不会加重数据库服务器的负载并且可以实 现网上传输的加密,缺点是加密功能会受到一些限制,与数据库管理系统之间的耦合性稍差。 下面我们进一步解释在 DBMS 外层实现加密功能的原理: 数据库加密系统分成两个功能独立的主要部件:一个是加密字典管理程序,另一个是数据库加/脱密引擎,其体系 结构如图 3 所示。数据库加密系统将用户对数据库 信息具体的加密要求以及基础信息保存在加密字典中,通过调 用数据加/脱密引擎实现对数据库表的加密、脱密及数据转换等功能。数据库信息的加/脱密处理是在 后台完成 的,对数据库服务器是透明的。
  • 4. 加密字典管理程序 加密系统 应用程序 数据库加脱密引擎 数据库服务器 加密字典 用户数据 按以上方式实现的数据库加密系统具有很多优点:首先,系统对数据库的最终用户是完全透明的,管理员可以 根据需要进行明文和密文的转换工作;其次,加密系 统完全独立于数据库应用系统,无须改动数据库应用系统就 能实现数据加密功能;第三,加解密处理在客户端进行,不会影响数据库服务器的效率。 数据库加/脱密引擎是数据库加密系统的核心部件,它位于应用程序与数据库服务器之间,负责在后台完成数据库 信息的加/脱密处理,对应用开发人员和操作人员 来说是透明的。数据加/脱密引擎没有操作界面,在需要时由操 作系统自动加载并驻留在内存中,通过内部接口与加密字典管理程序和用户应用程序通讯。数据库加 /脱密引擎由 三大模块组成:加/脱密处理模块、用户接口模块和数据库接口模块,如图 4 所示。其中,“数据库接口模块”的主 要工作是接受用户的操作请求,并 传递给“加/脱密处理模块”,此外还要代替“加/脱密处理模块”去访问数据库服 务器,并完成外部接口参数与加/脱密引擎内部数据结构之间的转换。“加/脱 密处理模块”完成数据库加/脱密引擎 的初始化、内部专用命令的处理、加密字典信息的检索、加密字典缓冲区的管理、SQL 命令的加密变换、查询结 果的脱密处 理以及加脱密算法实现等功能,另外还包括一些公用的辅助函数。 数据加/脱密处理的主要流程如下: 1) 对 SQL 命令进行语法分析,如果语法正确,转下一步;如不正确,则转 6),直接将 SQL 命令交数据 库服务器处理。 2) 是否为数据库加/脱密引擎的内部控制命令?如果是,则处理内部控制命令,然后转 7);如果不是则转 下一步。 3) 检查数据库加/脱密引擎是否处于关闭状态或 SQL 命令是否只需要编译?如果是则转 6),否则转下一 步。 4) 检索加密字典,根据加密定义对 SQL 命令进行加脱密语义分析。 5) SQL 命令是否需要加密处理?如果是,则将 SQL 命令进行加密变换,替换原 SQL 命令,然后转下一 步;否则直接转下一步。 6) 将 SQL 命令转送数据库服务器处理。 7) SQL 命令执行完毕,清除 SQL 命令缓冲区。
  • 5. 以上以一个例子说明了在 DBMS 外层实现加密功能的原理。 5. 结束语 本文对数据库系统安全防入侵技术进行综述,提出了数据库系统的安全体系三个层次框架,并对三个层次的技术 手段展开描述。文中还以在 DBMS 外层实现加密功能的原理为例,详细说明了如何应用数据库管理系统层次的安 全技术。 数据库系统安全框架的三个层次是相辅相承的,各层次的防范重点和所采取的技术手段也不尽相同,一个好的安 全系统必须综合考虑核运用这些技术,以保证数据的安全。 参考文献: [1] 黄锦,基于防火墙日志信息的入侵检测系统的研究与实现,上海:上海交通大学硕士学位论文,2001 [2] 曹玮,CDIF:协作式入侵监测框架,上海:上海交通大学硕士学位论文,1999 [3] 刘淳,协作式入侵监测和反应框架,上海:上海交通大学硕士学位论文,1999 [4] 谷恒军,刘孟仁,计算机加密技术及其应用研究,武汉:海军工程大学硕士学位论文,200